sistemas operacionais

57
Sistemas operacionais Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Upload: noma

Post on 07-Jan-2016

16 views

Category:

Documents


0 download

DESCRIPTION

Sistemas operacionais. Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação. Sistema de arquivos. * Baseado no material da Profa. Maria Clicia Stelling de Castro - UERJ. Introdução. O sistema de arquivos é a parte mais visivel do SO - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Sistemas operacionais

Sistemas operacionais

Carlos Oberdan Rolim

Ciência da ComputaçãoSistemas de Informação

Page 2: Sistemas operacionais

Sistema de arquivos

* Baseado no material da Profa. Maria Clicia Stelling de Castro - UERJMaria Clicia Stelling de Castro - UERJ

Page 3: Sistemas operacionais

Introdução

O sistema de arquivos é a parte mais visivel do SO

Cria um recurso lógico a partir de recursos fisicos através de uma interface coerente, simples e fácil de usar

Mecanismos de armazenamento de dados e acesso a programas

Duas partes básicas

Arquivos

Armazenamento de dados e programas

Diretórios

Organização e informações de arquivos

Page 4: Sistemas operacionais

Objetivos do sistema de arquivos

Fornecer mecanismos para o usuário manipular arquivos e diretórios

Garantir a validade e coerencia dos dados

Minimizar ou eliminar o risco de perda / alteração das informações

Otimizar o acesso

Fornecer suporte a outros sistemas de arquivos

Suporte a varios usuarios (multiprogramação)

Uso compartilhado (proteção e acesso concorrente)

Page 5: Sistemas operacionais

Requisitos minimos: ponto de vista do usuario

Cada usuário deve ser capaz de:

Criar, apagar, ler e alterar arquivos

Controlar as permissões de acesso a seus arquivos

Nomear arquivos de forma simbólica

Estruturar os arquivos de forma a adequa-los a suas necessidades especificas

Criação de diretórios e subdiretórios

Realizar backups e restarurar em caso de perdas

Page 6: Sistemas operacionais

Requisitos minimos: ponto de vista do sistema

O SO deve ser capaz de :

Descrever a localização de todos os arquivos e seus atributos

Via diretório

Gerenciar espaço físico de disco

Alocar blocos

Liberar blocos de arquivos removidos

Mecanismos para localizar eficientemente blocos (setores) que compoem arquivos

Page 7: Sistemas operacionais

Arquivo: um conjunto de informações, identificado por um nome Sistema de arquivos: a parte do sistema operacional que gerencia o armazenamento de arquivos e provê facilidades de acesso a arquivos Diretório: tabela de símbolos que permite identificar informações sobre os arquivosPartição: Abstração que permite a partir do disco físico criar discos lógicos

Conceitos básicos

Page 8: Sistemas operacionais

Conceito de Arquivo

Um arquivo é um espaço de endereçamento lógico e contíguo.

Tipos:

Dados

númerico

caracter

Binário

Programa

Page 9: Sistemas operacionais

Estrutura do Arquivo

Nenhuma - seqüência de palavras ou bytes.

Estrutura de Registros Simples

Linhas

Tamanho Fixo

Tamanho Variável

Estruturas Complexas

Formatado por Documento

Quem decide o formato do arquivo é o criador do mesmo (usuário, sistema

operacional, operador).

Page 10: Sistemas operacionais

Atributos do Arquivo

Nome

Tipo

Localização

Tamanho

Proteção

Data, hora e identificador de usuário

Informações sobre os arquivos são mantidas em estruturas de diretórios, as quais são mantidas em um disco.

Page 11: Sistemas operacionais

Operações em Arquivo

Criação

Escrita

Leitura

Reposicionamento de ponteiro dentro do arquivo

Remoção

Abertura

Fechamento

Page 12: Sistemas operacionais

Armazenamento

Meios físicos de armazenamento comuns: fitas

magnéticas e discos

Organização de disco: superfícies, trilhas e setores

Page 13: Sistemas operacionais

Armazenamento

Page 14: Sistemas operacionais

Gerenciamento de Espaço em Disco

O sistema de arquivos deve ser capaz de: controlar a área de espaço livre nos discos: SO possui uma lista de espaços livres utilizar métodos de acesso às informações: modo seqüencial ou direto utilizar métodos de alocação que sejam convenientes e eficientes: métodos contíguo, encadeado ou indexado

Page 15: Sistemas operacionais

Lista de Espaços Livres

Registra o endereço de todos os blocos que estão livres no disco

mapa de bits: sistema de arquivos mantém um vetor de bits, com um bit para cada bloco de disco Exemplo:

00111011 os blocos 0, 1 e 5 estão livres mapa de bits permite controle mais compacto dos blocos de disco livres

Page 16: Sistemas operacionais

Lista de Espaços Livres

lista encadeada: sistema de arquivos mantém uma lista encadeada de blocos, a lista possui o ponteiro do primeiro bloco e

cada bloco contém um ponteiro para o próximo bloco livre o ponteiro dos n blocos livres são armazenados no primeiro bloco. Se necessário, última posição do bloco é o ponteiro para outro bloco contendo ponteiros para outros n blocos livres número n de blocos livres contíguos

Page 17: Sistemas operacionais

Métodos de Acesso

Seqüencial: blocos acessados em ordem

Direto: o arquivo é visto como uma seqüência numerada de blocos

bloco

tamanho fixo, definido pelo SO

pode ser lido ou escrito aleatoriamente

Page 18: Sistemas operacionais

Organização de arquivos

Problema:

Como armazenar diversos arquivos dentrode um único vetor de blocos lógicos ?

Cada arquivo também deve ser visto comouma seqüência de blocos lógicos.

Restrições:

flexibilidade de alocação

rapidez de acesso (seqüencial e aleatório)

eficiência no uso do espaço real em disco

Page 19: Sistemas operacionais

Organização de arquivos

0 1 2 3 4 5 6 7

?

readme.txt

0 1 2

prova.doc

0 1 2 3 4 5 6 7

aula.pdf

0 1 2 3 4

Dispositivofísico

Vetor deblocoslógicos

Arquivos

Page 20: Sistemas operacionais

Técnicas de alocação

Formas de mapear os blocos dos arquivos em posições no vetor de blocos lógicos

Alocação contígua de arquivos

Alocação em listas encadeadas

listas diretas ou listas indexadas

Alocação indexada

Page 21: Sistemas operacionais

Alocação contígua de arquivos

Cada arquivo ocupa um conjunto de blocos lógicos consecutivos.

Não há blocos vazios entre os blocos de um mesmo arquivo.

Para cada arquivo, o diretório informa seu bloco de início e o no de blocos.

Page 22: Sistemas operacionais

Alocação contígua

readme.txt 010 003

prova.doc 002 008

Aula.pdf 017 005

arquivo inicio #blocos

0 1 2 3 4 5 6 7

Page 23: Sistemas operacionais

Alocação contígua

Page 24: Sistemas operacionais

Alocação contígua

Vantagens:

Simplicidade de implementação.

Rapidez de acesso aos arquivos:

todos os blocos do arquivo estão próximos.

Facilidade de acesso seqüencial e aleatório:

sequencial: basta ler os blocos consecutivos

aleatório: posições internas podem ser facilmente calculadas a partir da posição do bloco inicial.

Page 25: Sistemas operacionais

Alocação contígua

Desvantagens:

Pouca flexibilidade no crescimento dos arquivos.

Tamanho máximo do arquivo deve ser conhecido no momento da alocação.

Ocorrência de fragmentação externa.

Necessidade de desfragmentação periódica.

Page 26: Sistemas operacionais

Fragmentação externa

Espaços vazios entre blocos de arquivos.

À medida que o sistema evolui:

arquivos são criados e removidos

mais espaços vazios aparecem.

os espaços vazios ficam menores.

Alocar novos arquivos torna-se difícil !

Page 27: Sistemas operacionais

Evolução da fragmentação

t

aloca aloca

aloca aloca

Agora, como alocar um arquivo com 4 blocos ?

remove remove

remove

Page 28: Sistemas operacionais

Desfragmentação

Mover arquivos para reagrupar os fragmentos em espaços maiores

Visa permitir alocar arquivos maiores

Deve ser feita periodicamente

Uso de algoritmos para minimizar movimentação de arquivos (rapidez)

Page 29: Sistemas operacionais

Estratégias de desfragmentação

Situação inicial

Moveu 6 blocos

Moveu 4 blocos

Moveu 2 blocos

Page 30: Sistemas operacionais

Estratégias de alocação

First-fit: usar o primeiro espaço livre

maior rapidez de alocação

pouca preocupação com fragmentos

Best-fit: usar o menor espaço livre

usar o melhor possível os espaços em disco

fragmentos residuais são pequenos

Worst-fit: usar o maior espaço livre

fragmentos residuais são maiores (mais úteis)

Page 31: Sistemas operacionais

Alocando um arquivo c/ 2 blocos

Worst-fit

Best-fit

First-fit

Situação inicial

Page 32: Sistemas operacionais

Alocação encadeada

Os arquivos são armazenados como listas de blocos

cada bloco aponta para o próximo

diretório aponta para o bloco inicial

os blocos podem estar espalhados

Base de funcionamento da FAT

sistema de arquivos Windows

Page 33: Sistemas operacionais

Alocação encadeada

readme.txt 010 003

prova.doc 002 008

Aula.pdf 017 005

arquivo inicio #blocos

Page 34: Sistemas operacionais

Alocação encadeada

Page 35: Sistemas operacionais

Alocação encadeada

Vantagens

não há fragmentação externa

todo o disco pode ser usado

tamanho dos arquivos pode ser mudado facilmente

Desvantagens

acesso aleatório é mais demorado

maior fragilidade em caso de problemas

Page 36: Sistemas operacionais

Alocação indexada

Baseada em tabelas de blocos

um bloco especial guarda a tabela de blocos do arquivo: index-node (i-node)

diretório aponta para os i-nodes

blocos podem estar espalhados

Base de funcionamento do UNIX

Page 37: Sistemas operacionais

• Os INODES contêm informações a respeito de arquivos e diretórios no sistema de arquivos. • A única coisa que inode não contém é onome do arquivo. • O INODE contém informações sobre as permissões do arquivo, contagem de links, blocos duplicados, blocos ruins, associações de tamanho, e ponteiros para os blocos de dados.• O INODE possui também apontadores para os blocos de dados dos arquivos.• EX:Solaris , cada INODE possui 16 destes apontadores. Os apontadores de 0 a 11 apontam para os 12 primeiros blocos de dados do arquivo (blocosdiretos). Os apontadores 12 e 13 apontam para blocos indiretos

Alocação indexada

Page 38: Sistemas operacionais

Alocação indexada

readme.txt 010 003

prova.doc 002 008

Aula.pdf 017 005

arquivo inicio #blocos

I-node

Page 39: Sistemas operacionais

Alocação Indexada

Page 40: Sistemas operacionais

Alocação indexada

Vantagens

não há fragmentação externa

todo o disco pode ser usado

acesso rápido

robustez em caso de problemas

Desvantagens

gerência mais complexa

espaço em disco perdido com os i-nodes

Page 41: Sistemas operacionais

Fragmentação interna

Arquivos são alocados em blocos:

Os blocos têm tamanho fixo.

Entre 512 bytes e 8 Kbytes.

Um bloco não pode ser alocado parcialmente.

Se usarmos blocos de 4096 bytes:

um arquivo de 5700 bytes ocupará 2 blocos.

2492 bytes serão perdidos no último bloco.

Em média, perde-se 1/2 bloco por arquivo.

Page 42: Sistemas operacionais

Tamanho dos blocos

A escolha do tamanho dos blocos é importante para a eficiência do sistema.

Blocos pequenos:

menor perda por fragmentação interna

mais blocos por arquivo: maior custo de gerência

Blocos grandes:

maior perda por fragmentação interna

menos blocos por arquivo: menor custo de gerência

Page 43: Sistemas operacionais

Sistema de Diretórios Acesso à arquivos a partir do nome Mapeamento: nome do arquivo x blocos diretório Diretório arquivo especial, armazena

registros de tamanho fixo = entradas de diretório informações relacionadas

ao dispositivo físico: nome, localização, tamanho, modo de alocação à organização lógica: nome, tipo do arquivo,

proprietário, código de proteção Outras informações: posição corrente, proteção,

contabilidade de uso, tempo, data, identificação do processo

Page 44: Sistemas operacionais

Sistema de Diretórios

Operações realizadas num diretório busca, criação, remoção, listar conteúdo, cópias para backup

Estruturas de diretório organizam os arquivos presentes no sistema

Page 45: Sistemas operacionais

Diretório de um Único Nível

diretório

arquivos

Page 46: Sistemas operacionais

Diretórios de Dois Níveis Cada usuário tem seu próprio diretório de arquivo de usuário (UFD) Cada diretório de usuário tem uma estrutura similar Diretório de arquivo mestre (MFD) Isola usuários

Problema: compartilhamento de arquivos, se for permitido path name

a cat bo a a xcat y

user 1 user 2 user 3MFD

UFD

Page 47: Sistemas operacionais

Diretório Estruturado em Árvore

Possui um diretório raíz Diretórios dos usuários são intermediários Podem criar seus próprios subdiretórios e organizar seus arquivos raiz bin progspell

mail copy maila a p

prt exp last firstx

test

Page 48: Sistemas operacionais

Diretório Estruturado em Árvore

Path name completo: define o caminho da raíz ao arquivo relativo: define o caminho do diretório corrente ao arquivo

Apagar diretório depende da política de decisão só se diretório estiver vazioAssumir que deve apagar todos os arquivos e subdiretórios que estiverem contidos Default: não há compartilhamento de arquivos ou subdiretórios

Page 49: Sistemas operacionais

Diretório em Grafo Acíclico

Permite compartilhamento de arquivos e subdiretórios Generalização do esquema de diretório estruturado em árvore

raiz spell dict

a x list mail pr list word

rad w7 count

Page 50: Sistemas operacionais

Diretório em Grafo Acíclico

Compartilhamento pode ser implementado por link: é criado um ponteiro,para outro arquivo ou subdiretório duplicar informações: pode gerar inconsistências de informação lista de referências ao arquivo: entradas no diretório ou links simbólicos

Page 51: Sistemas operacionais

Diretório em Grafo Acíclico

Eliminação de um arquivo ou diretório retirada do link: não afeta o arquivo, arquivo ou diretório é eliminado se todos os links forem removidos retirada da referência da lista de referências

arquivo só é eliminado quando a lista estiver vazia é preciso somente de um contador de referências, se contador = 0, arquivo pode ser eliminado

Page 52: Sistemas operacionais

Diretório em Grafo Geral

Permite a formação de ciclos, existe diversos caminhos para um mesmo arquivo ou diretório Estruturas semelhantes as do grafo acíclico para o compartilhamento Garbage Collection

raiz spell dict

a x list mail pr list word

rad w7 list word

hyp

Page 53: Sistemas operacionais

Proteção de Arquivos

Contra danos físicos (confiabilidade) acessos impróprios (proteção)

Confiabilidade: cópia de arquivos com intervalos regulares Proteção resultado direto da habilidade de acessar arquivos

Page 54: Sistemas operacionais

Proteção de Arquivos

Níveis de Proteção de Sistemas não permitem o acesso a outros usuários, não precisam de proteção (default) têm proteção completa, proibindo o acesso têm livre acesso sem nenhuma proteção

Abordagens muito extremas Proteção através de um controle de acesso

Page 55: Sistemas operacionais

Proteção de Arquivos

Proteção através de controle de acesso login + senha (password) dependendo da operação sobre arquivos

leitura, escrita e execução têm livre acesso sem nenhuma proteção Usuários com necessidades de acesso diferentes lista de acesso associada a cada arquivo ou diretório

Page 56: Sistemas operacionais

Proteção de Arquivos

Lista de acesso pode ser muito grande dependendo da forma de implementação Redução do tamanho da lista

operações de leitura, escrita e execução classificação dos usuários em grupos proprietário: usuário que criou o arquivo grupo: vários usuários que compartilham e necessitam de acesso similar ao arquivo universo: todos os outros usuários

Page 57: Sistemas operacionais

Proteção de Arquivos

Classificação: três campos para definir a proteção Cada campo = coleção de bits que controlam o acesso, a cada bit está associado uma permissão Exemplo: Unix like

três campos com três bits ( 0 = negado, 1 = permitido)

r = acesso de leitura w = acesso de escrita x = acesso de execução