Transcript
Page 1: 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 –agrupamento •agrupamento lóg ic o d e a rqu iv o s por prop riedades –Exemplo: tod

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

Page 2: 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 –agrupamento •agrupamento lóg ic o d e a rqu iv o s por prop riedades –Exemplo: tod

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

Page 3: 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 –agrupamento •agrupamento lóg ic o d e a rqu iv o s por prop riedades –Exemplo: tod

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

Page 4: 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 –agrupamento •agrupamento lóg ic o d e a rqu iv o s por prop riedades –Exemplo: tod

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

Page 5: 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 –agrupamento •agrupamento lóg ic o d e a rqu iv o s por prop riedades –Exemplo: tod

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

Page 6: 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 –agrupamento •agrupamento lóg ic o d e a rqu iv o s por prop riedades –Exemplo: tod

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

Page 7: 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 –agrupamento •agrupamento lóg ic o d e a rqu iv o s por prop riedades –Exemplo: tod

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


Top Related