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...

7
1 Sistem as Operacionais 1/2004 Cristina Duarte Murta Departamento de Informática UFPR CDM 2 Conteúdo da aula S istem as de A rquivos Interface Im plem entação CDM 3 S istem as de A rquivos 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 D esem penho CDM 4 S istem as de A rquivos Provê m ecanism os para arm azenam ento e acesso online a dados e program as dos usuários e do S O 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 A rquivo Arquivo unidade lógica de arm azenam ento coleção de inform ação arm azenada na m emória secundária independente do m eio físico discos e fitas m agnéticos,discos óticos tipos de arquivos D ados:num éricos,alfanum éricos,binários Program as CDM 6 Conceito de A rquivo estrutura dos arquivos de acordo com o tipo:texto,fonte,objeto,executável arquivos de dados com estruturas sim ples ou com plexas quem decide:aplicação,S GBD ,S O ,etc. exemplos U nix,W indow s:um único tipo arquivo é um a seqüência de bytes DEC VM S :3 tipos IBM :m uitos tipos SO faz o m apeam ento dos arquivos no m eio físico

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...

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