Sistemas d e A rquivos€¦ · •o m e sm o a rqu ivo po d e te r no m es d ife ren tes...
Transcript of Sistemas d e A rquivos€¦ · •o m e sm o a rqu ivo po d e te r no m es d ife ren tes...
1
Sistemas O peracionais1/2004
Cristina Duarte MurtaDepartamento de Informática
UFPR
CDM 2
Conteúdo da aula
• Sistem as de Arquivos
– Interface
– Implementação
CDM 3
Sistemas de Arquivos• Interface
– Conceito de arquivo
– M étodos de acesso
– Estrutura de diretórios
– Proteção
• Im plem entação
– M étodos de alocação de espaço
– Eficiência e Desempenho
CDM 4
Sistemas de Arquivos
• Provê mecanismos para armazenamento e acesso onlinea dados e programas dos usuários e do SO
• Requisitos– prover arm azenam ento de grande quantidade de inform ação
– prover arm azenam ento não volátil (além do tem po de vida do processo)
– perm itir acesso concorrente
• Consiste em partes distintas– Coleção de arquivos
– Estrutura de diretórios
– Partições
CDM 5
Conceito de Arquivo
• Arquivo– unidade lógica de armazenamento
– coleção de informação armazenada na memória secundária
• independente do meio físico– discos e fitas magnéticos, discos óticos
• tipos de arquivos– Dados: numéricos, alfanuméricos, binários
– Programas
CDM 6
Conceito de Arquivo
• estrutura dos arquivos– de acordo com o tipo: texto, fonte, objeto, executável
– arquivos de dados com estruturas simples ou complexas
– quem decide: aplicação, SGBD, SO , etc.
– exemplos
•Unix, W indows: um único tipo – arquivo é um a seqüência de bytes
•DEC VM S: 3 tipos
•IBM : muitos tipos
• SO faz o mapeamento dos arquivos no meio físico
2
CDM 7
Atributos dos arquivos• N ome: significativo para humanos…• Identificador: identifica o arquivo de forma única no SO• Tipo: necessário em sistemas que implementam diferentes tipos de arquivos
• Localização: apontador para a localização do arquivo no dispositivo
• Tamanho: atual, máximo• Proteção: informação para controle de acesso ao arquivo para operações de leitura, escrita e execução
• Data, hora e identificação do proprietário– dados para monitoração de uso, proteção e segurança
• O utros atributos: tipo de acesso, oculto, sistema, etc.
• Estas informações são mantidas na estrutura de diretórios, que é armazenada no dispositivo
CDM 8
O perações sobre os arquivos
• um arquivo é um TAD
– operações• create
• write
• read
• file seek
• delete
• truncate
• renam e
• append
• copy
• open
• close
• tabelas de arquivos abertos– por processo
– para o SO
• info específica por processo– apontador de leitura e escrita
– perm issão de acesso
• info do SO– open count por arquivo
– localização no disco
CDM 9
Armazenamento de Arquivos
• Armazenamento em disco– tam anho do bloco: definido pelo tam anho de um setor
– todas as operações de E/S no disco são realizadas em unidades deum bloco
– todos os blocos são do m esm o tam anho
– registros lógicos variam em tam anho
• UN IX– arquivos: stream s de bytes
– cada byte é individualm ente endereçável
– blocos físicos de 512 bytes (por exem plo)
– arquivo é um a seqüência de blocos
• todos os sistemas de arquivos experimentam fragmentação interna => qto > o bloco, > a fragmentação
CDM 10
M étodos de Acesso• Acesso Sequencial
– m étodo de acesso m ais com um
– baseado no m odelo de acesso sequencial na fita
– operações• read next, write next, reset
• Acesso Direto n = número do bloco– perm ite acesso aleatório ao arquivo
– baseado no m odelo de acesso aleatório a disco
– operações
• read n, write n, position to n, read next, write next
• O utros métodos de acesso: – indexados: exem plo: IBM ISAM
CDM 11
Estrutura de Diretórios
Uma coleção de nodos contendo informação sobre todos os arquivos– sistem as de arquivos são m uito extensos
– m ilhões de arquivos e terabytes de dados
– a estrutura de diretórios e os arquivos ficam no disco
– backups são m antidos em fitas
organização é feita em duas etapas1. partição dos discos (discos virtuais)
• partições, m inidiscos, volum es
• auxiliam a estrutura lógica do diretório
• podem ser m enores ou m aiores do que um disco
2. conteúdo ou diretório da partição• contém info sobre todos os arquivos na partição
CDM 12
O rganização típica de um sistem a de arquivos
3
CDM 13
Informação nos Diretórios
• Diretórios registram info sobre todos os arquivos armazenados na partição– nome
– tipo
– endereço
– tamanho corrente
– tamanho máximo
– data do último acesso
– data da última atualização
– dono
– info para proteção
CDM 14
O perações no Diretório
• Diretório– traduz os nomes dos arquivos em entradas para o diretório
• operações– busca por um arquivo– criar um arquivo– apagar um arquivo– listar um diretório– renomear um arquivo– percorrer todo o sistema de arquivos
• Salvar o conteúdo e a estrutura do sistem a de arquivos
• Back-up
CDM 15
O rganização lógica do diretório
• questões– eficiência
• localizar rapidam ente um arquivo
– nomeação • conveniência para os usuários
• dois usuários podem ter arquivos com o m esm o nom e
• o m esm o arquivo pode ter nom es diferentes
– agrupamento • agrupam ento lógico de arquivos por propriedades
– Exem plo: todos program as em Pascal, todos os jogos,etc.
CDM 16
Diretório em nível único
• Um único diretório para todos os usuários
Problem as: nom eação e agrupam ento
CDM 17
Diretório em dois níveis
• Um diretório separado para cada usuário
• nom e do usuário + nom e do arquivo = nom e do cam inho• operações sobre arquivos são realizadas apenas no diretório do usuário: m ais eficientes
• pode ter arquivos com m esm o nom e para usuários distintos• sem agrupam ento
CDM 18
Diretórios em estrutura de árvores
4
CDM 19
Diretórios em estrutura de árvores
• estrutura mais comum para diretórios
• caminho a partir da raiz
• busca eficiente– no diretório corrente
• agrupamento
• diretório corrente (de trabalho)– cham ada de sistem a para m udar diretório corrente
– cam inhos absolutos e relativos
• cd /pub
• m ore beer
• não permite compartilhamento de arquivos e diretórios
CDM 20
Diretório em grafo acíclico
CDM 21
Diretório em grafo acíclico• permite compartilhar subdiretórios e arquivos
– para trabalho em grupo
– perm ite m anter agrupam entos sem ânticos
• o arquivo compartilhado não é cópia– dois ou m ais cam inhos diferentes para o m esm o arquivo
– nom es diferentes referem -se ao m esm o arquivo
• implementação– UN IX: link -apontador para outro arquivo ou subdiretório
– ignora links quando percorre a árvore de diretórios
– arquivo apagado: links para arquivo inexistente
CDM 22
Proteção
• confiabilidade: habilidade de manter o sistema seguro quanto a problemas físicos ou falhas – obtida com redundância
• proteção– previne acesso indevido
• mecanismos– proibir acesso: proteção com pleta
– perm itir acesso irrestrito: sem proteção
– perm itir acesso controlado
• cenário: operações X arquivos X usuários
– o dono/criador do arquivo deve poder controlar • o que pode ser feito e por quem
– tipos de acesso• Read, W rite, Execute, Append, Delete, List
CDM 23
Listas de acesso e grupos• M odo de acesso: read, write, execute• Três classes de usuários• R W X
a) owner access 7 ⇒ 1 1 1R W X
b) groups access 6 ⇒ 1 1 0R W X
c) public access 1 ⇒ 0 0 1
• Definir acesso para cada arquivo e subdiretório
owner group public
chmod 761 game
CDM 24
Im plem entação do sistem a de arquivos
• questões de projeto do sistema de arquivos– com o o sistem a será visto pelo usuário
• estrutura de diretórios, definição de arquivo, atributos, operações perm itidas, etc.
• implementação– m apeam ento do sistem a de arquivos lógico aos dispositivos físicos
– tarefas• relacionar os blocos dos discos aos arquivos
• im plem entar índice dos arquivos
• alocar espaço em disco
• recuperar espaço liberado
• interface com outros subsistem as do SO
• o sistem a de arquivos reside na m em ória secundária -discos
5
CDM 25
M étodos de alocação de espaço no disco
• problema: como alocar espaço no disco de forma que– o espaço seja utilizado eficientemente
– os arquivos possam ser acessados rapidamente
• 3 métodos mais conhecidos– alocação contígua
– alocação ligada
– alocação indexada
CDM 26
Alocação contígua• cada arquivo ocupa um conjunto contíguo de blocos no disco• vantagens
– sim ples: a entrada no diretório para cada arquivo consiste apenas da localização inicial (# bloco) e do núm ero de blocos do arquivo
– eficiente: exige núm ero m ínim o de seeks para ler sequencialm enteum arquivo
– perm ite acesso aleatório
• desvantagens
– fragmentação externa• é difícil encontrar espaço para um novo arquivo
• algoritm os de alocação dinâm ica: first fit e best fit
• algoritm os para com pactação do espaço livre (m uito caro)
– arquivos não podem crescer• estratégia: copiar o arquivo em um novo espaço, m aior
• torna o sistem a lento
CDM 27
Alocação contígua
CDM 28
Alocação Ligada
• cada arquivo é uma lista ligada de blocos que podem estar em qualquer posição no disco
• cada bloco contém um apontador para o próximo– bloco: 512 bytes -4 (apontador) = 508 bytes
• entradas no diretório– contém apontador para o prim eiro bloco do arquivo
• vantagens– não há fragm entação externa
– não há problem a em alterar o tam anho do arquivo
– com pactação nunca é necessária
• desvantagens– desem penho péssim o para acesso aleatório
– acesso sequencial m enos eficiente do que alocação contígua
– espaço requerido para apontadores• solução: agrupar blocos em clusters
CDM 29
Alocação Ligada (Cont.)
CDM 30
Alocação Indexada
• cada arquivo tem um índice de blocos– FAT -File Allocation Table
– array de endereços de blocos de disco
– a i-ésim a entrada do array aponta para o i-ésim o bloco
• o diretório contém o endereço do índice de blocos• resolve o problema do acesso aleatório
índice de blocos
6
CDM 31
Exemplo de Alocação Indexada
CDM 32
Alocação Indexada (Cont.)• vantagens
– acesso aleatório sem fragmentação externa
• desvantagens– precisa de índice de blocos: gasta mais espaço– overhead de consulta ao índice
• problema– qual deve ser o tamanho do índice de blocos?
• o m enor possível: um para cada arquivo
– soluções• lista ligada de blocos
• m últiplos níveis
• esquem a híbrido
CDM 33
Im plem entação do sistem a de arquivos
• exemplos de sistemas de arquivos– Unix -UFS Unix File System
– W indows N T: formatos FAT, FAT32, N TFS
– High Sierra: CD-ROM s
– Floppy-disk file system
• File control block– estrutura que contém todas as informações sobre um arquivo• propriedade, perm issões, localização, etc.
– inode no Unix File System
CDM 34
Implementação de diretórios
• Diretório– Arquivo contendo a lista com tuplas
– (nom e do arquivo, FCB)
• Como indexar os arquivos– lista linear: desem penho ruim
• custo linear para procurar um arquivo
– árvore B
– tabelas hash
• Gerenciamento do espaço livre– lista de blocos livres
CDM 35
UN IX inode
CDM 36
Eficiência
• Discos: maior gargalo (bottleneck) para o desem penho do sistema– é o componente mais lento do sistema
• Eficiência quanto ao uso do espaço depende de– algoritmos de alocação de espaço e de diretórios
– tipos de dados mantidos para cada arquivo no diretório de arquivos
– tamanho do bloco
7
CDM 37
Desempenho
• M emory-mapped files– Parte do arquivo é copiada no espaço de endereçam ento do processo
– escrever no arquivo é escrever na m em ória
• Caches– cache nos controladores de disco: arm azenam um a trilha inteira
– cache de disco na m em ória principal: arm azena blocos lidos recentem ente
– cache de páginas: arm azena páginas de arquivos e processos (não orientado para blocos)
• acesso sequencial: LRU é inadequado
• free-behind e read-ahead (prefetching): técnicas para otim izar acesso sequencial