60
Sistema de Arquivos Ambientes Operacionais Prof. Simão Sirineo Toscani [email protected] www.inf.pucrs.br/~stoscani

Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Sistema de Arquivos

Ambientes OperacionaisProf. Simão Sirineo Toscani

[email protected]/~stoscani

Page 2: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Gerência de Arquivos

l É um dos serviços mais visíveis do SO.

l Arquivos são normalmente implementados a partir de discos magnéticos.

l Como um acesso a disco demora cerca de 10000 vezes mais que um acesso à memória, são necessárias estruturas de dados e algoritmos que otimizem os acessos ao disco.

Page 3: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Arquivo

l Coleção de dados relacionados entre si

l Referenciados através de nomes

l Possuem atributos como:• tipo

• momento da criação

• tamanho• nome do criador

Page 4: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Tipos de Arquivosl Cada arquivo possui uma estrutura interna,

conforme sua aplicação:• Um arquivo texto (.doc) é composto por uma

sequência de caracteres organizados em linhas e parágrafos

• um programa executável é uma seqüência de bytes representando instruções em código de máquina

• um programa fonte é uma seqüência de caracteres que representam comandos de uma linguagem de programação (arquivos tipo “somente texto”, que não admitem qualquer tipo de formatação especial)

Page 5: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Sistemas Baseados em Fita

l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas:• Arquivos muito grandes não cabiam em uma fita

• Arquivos pequenos geravam desperdício de espaço

l Criação de sistemas multi-volume, para suprir necessidades de arquivos grandes

l Utilização de diretórios permitiram armazenar diversos arquivos em uma única fita

Page 6: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Sistemas Baseados em Fitas

l Diretório: criado para localizar a partição em que se encontra cada arquivo na fita.

l Cada entrada do diretório contém um nome de arquivo e sua posição na fita.

Page 7: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Sistemas Baseados em Fital Leitura de arquivo:

• localizar e carregar a fita indicada pelo usuário

• localizar no diretório a entrada correspondente ao arquivo

• posicionar a fita no ponto correspondente ao início do arquivo

• iniciar a leitura

• terminar a leitura quando encontrar a marca de fim de arquivo

Page 8: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Sistemas Baseados em Disco

l Um disco é dividido em trilhas

l O número de trilhas é particular de cada dispositivo

l Cada trilha dividida em setores

l Setor a menor unidade de informação que pode ser lida ou escrita em um disco

Page 9: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Sistemas Baseados em Disco

l Acesso a um setor:• informar face, trilha e setor desejado

• as cabeças de leitura e gravação são deslocadas até a trilha correta (tempo de seek),

• o cabeçote da face correta é selecionado eletronicamente

• esperar até o setor desejado passar por baixo do cabeçote (tempo de latência)

Page 10: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Sistemas Baseados em Disco

l Normalmente, uma unidade de disco rígido éformada por vários discos superpostos (no máximo 8 discos, com a tecnologia atual)

l Cilindro: é formado pelas trilhas que estão na mesma posição, porém em diferentes faces (no caso de 8 discos superpostos cada cilindro é formado por 16 trilhas).

l Não é necessário deslocar as cabeças para acessar trilhas de um mesmo cilindro

Page 11: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Sistemas Baseados em Disco

l Hoje em dia, o SO trata o disco como um vetor de blocos, cada bloco corresponde a um setor.

l Vantagem do disco sobre a fita:• possibilidade de acessar facilmente qualquer

setor a qualquer momento (a fita permite apenas o acesso seqüencial)

Page 12: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Sistemas Baseados em Discos

l Os discos possuem diretórios

l Os diretórios são armazenados no próprio disco, normalmente em um endereço fixo

l Isto possibilita a remoção do disco sem perda das informações correspondentes aos arquivos

Page 13: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Suporte a Arquivos

l Chamadas de sistema permitem as seguintes operações sobre arquivos:• criar um arquivo

• escrever no arquivo

• ler o arquivo

• remover o arquivo

• reposicionar o ponto de acesso ao arquivo

Page 14: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Operações em Arquivos

l Criar um arquivo:• necessita de dois passos:

• encontrar e alocar espaço suficiente no disco,• adicionar uma entrada no diretório para conter as

informações referentes ao arquivo (nome, localização, ...)

Page 15: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Operações em Arquivos

l Escrever no Arquivo:• para escrever em uma arquivo o usuário deve

fornecer o nome do arquivo e o bloco com a informação a ser escrita

• O SO procura a localização do final do arquivo no disco, escreve o bloco e atualiza o ponteiro de final de arquivo

Page 16: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Operações em Arquivos

l Ler o Arquivo:• o usuário executa uma chamada de sistema

fornecendo o nome do arquivo e a posição da memória principal para onde as informações do bloco serão copiadas

Page 17: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Operações em Arquivos

l Remover o Arquivo:• pesquisa o diretório e remove a entrada

correspondente ao arquivo. Libera o espaço em disco ocupado pelo arquivo

Page 18: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Operações em Arquivos

l Reposicionar o arquivo:• consiste em localizar a entrada no diretório

correspondente ao arquivo e modificar o valor do ponteiro que indica a posição corrente do arquivo

Page 19: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Operações em Arquivos

l Todas as operações sobre um arquivo envolvem uma pesquisa no diretório em busca da entrada correspondente ao arquivo desejado.

l Cada entrada do diretório corresponde a um descritor de arquivo

l O descritor contém todas as informações necessárias para a manipulação do arquivo

Page 20: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Tabela de Descritores de Arquivos Abertos (TDAA)

l O acesso a um arquivo é feito através do seu descritor

l Para evitar a pesquisa freqüente ao disco, o SO mantém na memória uma Tabela de Descritores de Arquivos Abertos

l O arquivo é aberto quando ele começa a ser utilizado (desse modo, todas as informações sobre os arquivos em uso são mantidas na memória principal)

Page 21: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

TDAA e TAAPl Um mesmo arquivo pode ser utilizado simultaneamente por

vários processos (i.é, uma mesma entrada da TDAA pode ser utilizada por vários processos)

l Por isso, cada entrada da TDAA contém uma indicação de quantos processos estão utilizando o arquivo correntemente

l O mesmo arquivo pode estar sendo acessado por diferentes processos em pontos diferentes e com direitos de acesso diferentes

l Por isso, cada processo contém uma tabela extra com informações apenas sobre os arquivos abertos por esse processo. Essa tabela é denominada Tabela de Arquivos Abertos por Processo (TAAP)

Page 22: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Tabela de Arquivos Abertos por Processo (TAAP)

l No mínimo, a TAAP contém em cada entrada as seguintes informações:• Posição corrente no arquivo;

• Tipo de acesso (apenas leitura ou leitura e escrita);

• Apontador para a entrada correspondente na TDAA.

Page 23: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

TDAA e TAAP

TDAAPos. Cor. 12Leitura

TAAP do processo 0

Pos. Cor. 10Leitura

TAAP do processo 1

Pos. Cor. 55Leit. & Escr.

Arquivo A

Arquivo B

0

1

2

3

0

2

2 4

0

1

0

Tanto a TDAA como as TAAP devem ficar na memória do sistema operacional, fora do acesso dos processos de usuário.

Page 24: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Métodos de Acesso

l Acesso seqüencial

l Acesso direto

l Acesso indexado

Page 25: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Acesso Seqüencial

l Uma leitura sempre acessa o próximo registro e avança um ponteiro sobre o arquivo

l O ponteiro indica qual a próxima posição a ser lida ou escrita

Page 26: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Acesso Seqüencial

Arquivo

A

B

C

D

E

F

Ler Arquivo

...

A

Ler Arquivo

B

Ler Arquivo

C

Page 27: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Acesso Direto

l O arquivo é uma seqüência numerada de registros (blocos)

l Qualquer registro pode ser diretamente lido ou escrito

Page 28: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Acesso Direto

Arquivo

A

B

C

D

E

F

Ler Arquivo, posição 2

...

C

Ler Arquivo, posição 4

E

Ler Arquivo, posição 0

A

Page 29: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Acesso indexado

l Envolve a construção de índices nos descritores de arquivos

l Usa como base o serviço de acesso direto

Page 30: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Gerência do Espaço Livre

l Espaço em disco é limitado, por isto énecessário reaproveitar todo o espaço disponível

l Lista de setores livres: mantida pelo SO para controlar os espaços livres no disco

Page 31: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Métodos de Alocação

l Contígua

l Encadeada

l Indexada

Page 32: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Alocação Contígua

l Cada arquivo ocupa um conjunto de blocos (setores) contíguos no disco

l Para localizar um arquivo basta saber o número do primeiro setor e o tamanho do arquivo em blocos

l Para acessar o arquivo de forma seqüencial, o SO mantém o número do último bloco acessado

Page 33: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Alocação Contígua

l Dificulta o processo de localizar espaço livre para novos arquivos

l Usa os algoritmos:• first-fit: utiliza o primeiro espaço grande o

suficiente que for encontrado

• best-fit: utiliza espaço livre que deixa a menor sobra

• worst-fit: maior sobra

Page 34: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Alocação Contígua

l No momento da criação, é difícil determinar o número de blocos a serem alocados para o arquivo

l É difícil aumentar o tamanho do arquivo

Page 35: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Alocação Encadeada

l Cada arquivo corresponde a uma lista encadeada de blocos, estando os mesmos em qualquer local do disco

l Diretório possui apenas o endereço do bloco inicial e o número de blocos (ou endereço do último bloco)

l Cada bloco possui o endereço do bloco seguinte (ponteiros associados a cada bloco)

Page 36: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Alocação Encadeada

l Os arquivos podem ser criados com tamanho zero

l Inserções em arquivos resultam na retirada de blocos da lista de livres e inserção dos mesmos na lista que forma o arquivo

Page 37: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Alocação Encadeada

l Não permite acesso direto a um bloco

l Eficiente na implementação de acesso seqüencial

l Não confiável: caso ocorra algum problema com um bloco, boa parte do arquivo é perdida, pois cada bloco possui um link para o setor seguinte

Page 38: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Alocação Indexada

l Cada arquivo possui um bloco de índices

l O diretório possui o endereço do bloco de índices de cada arquivo

l Para acessar um bloco específico do arquivo é necessário acessar o bloco de índices para determinar o seu endereço físico no disco

l Os arquivos podem ser criados com tamanho zero

Page 39: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Alocação IndexadaDisco

BlocoFísico

0

1

2

3

4

5

6

7

8

9

10

12

11

13

BL 0

BL 1

BL 2

BL 3

BL 4

BL 5

Descritor

Indices:

Tamanho: 6

8

5

1

7

11

30

1

2

3

4

5

6

7

8

9

Page 40: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Alocação Indexada

l Permite acesso direto

l Ocupa-se um setor inteiro para índices

l Para arquivos grandes são necessários vários setores de índices

Page 41: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Tamanho da tabela de índicesl Uma questão importante é o tamanho da tabela de

índices. O número de entradas na tabela define o tamanho máximo de um arquivo no sistema.

l Se cada bloco físico tem 4 Kbytes, para que o tamanho máximo de um arquivo seja 4 Gbytes, é necessário uma tabela de índices com “4 Gbytes ÷ 4 Kbytes” entradas, ou seja, 1.048.576 entradas (o que é um exagero)

l Por outro lado, uma tabela de índices com apenas 5 entradas seria suficiente para um arquivo de 20 Kbytes (este é o tamanho médio dos arquivos em sistemas de propósito geral)

Page 42: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Tamanho da tabela de índices

l A solução típica que compatibiliza eficiência na representação de arquivos pequenos e tamanho máximo satisfatório para arquivos grandes éempregar níveis de indireção na indexação.

l O slide a seguir mostra o uso de índices(apontadores diretos e indiretos) no sistema Unix

Page 43: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

0

1

2

3

4

5

6

7

8

9

10

11

12

... ...

Bloco de dados (4 Kbytes)

... Bloco de apontadores

( 1024 apontadores de 4 bytes)

...

...

...

...

...

...

...

...

...

...

...

...

1024 * 4K

1024 * 1024 * 4K

...

...

1024 * 1024 * 1024 * 4K

...

10 * 4K

... ...

Page 44: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Sistema de Diretórios

l Diretório de nível único

l Diretório de dois níveis

l Diretórios em forma de árvore

Page 45: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Diretório de Nível Único

l Todos os arquivos fazem parte do mesmo diretório

l Problemas de organizaçãono caso de muitos arquivos. É necessário nome único para cada arquivo

Page 46: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Diretório de Dois Níveis

l Criam-se diretórios separados para cada usuário

l No diretório principal mantem-se apenas os endereços dos diretórios dos usuários

l Proteção contra acessos indevidos

Page 47: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Diretórios Estruturados em Árvore

l Os usuários podem criar seus próprios sub-diretórios para organizar seus arquivos

l A árvore possui um diretório raiz

l Cada arquivo possui um pathname(nome do arquivo composto pelos nomes de diretórios que formam o caminho da raiz até ele)

Page 48: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Formas de Implementar Diretórios l Basicamente, um diretório contém um conjunto

de descritores (que apontam para outros diretórios ou para arquivos de dados)

l A forma mais simples de implementar diretórios é considerá-los como arquivos especiais, cujo conteúdo é manipulado pelo próprio SO

l Diretórios passam a ser arquivos cujo conteúdo é definido pelo SO e cujo acesso, por parte de usuários, é controlado

Page 49: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Formas de Implementar Diretórios

l Um diretório pode ser organizado na forma de:• um conjunto de descritores de arquivos

• um conjunto de endereços de descritores de arquivos

Page 50: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Diretório organizado como um conjunto de descritores de arquivos

l O diretório contém diretamente os registros descritores (de arquivos ou diretórios)

l Desvantagens:• (1) os nomes ficam fortemente vinculados aos

descritores de arquivos (impede, p.ex., que se use mais de um nome para um mesmo arquivo);

• (2) os diretórios tendem a ser maiores e estão mais sujeitos a inconsistências, pois estão espalhadas por todo o disco.

Page 51: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Diretório organizado como um conjunto de descritores de arquivos

"etc"

"usr"

"bin"

atributoslocalização

atributoslocalização

atributoslocalização

conteúdo doarquivo "/usr"

conteúdo doarquivo "/bin"

"passwd"

"hosts"

atributoslocalização

atributoslocalização

conteúdo doarquivo "/etc/passwd"

conteúdo doarquivo "/etc/hosts"

(retângulos de cantos agudos representam diretórios e retângulos de cantos arrendodados representam arquivos de dados)

Page 52: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Diretório organizado como um conjunto de endereços de descritores

l Cada entrada do diretório contém um par: um nome de arquivo (ou de diretório) e um ponteiro para o descritor correspondente

l Neste esquema, é comum reservar uma parte do disco para armazenar exclusivamente os descritores de arquivos

l Esses blocos reservados constituem um vetor de descritores, no qual cada descritor pode ser perfeitamente identificado pela posição nesse vetor.

Page 53: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Diretório organizado como um conjunto de endereços de descritores

"etc"

"usr"

"bin"

2

3

conteúdo doarquivo "/usr"

conteúdo doarquivo "/bin"

"passwd"

"hosts"

4

5

conteúdo do "/"

conteúdo do "/etc"

atributoslocalização

atributoslocalização

atributoslocalização

atributoslocalização

atributoslocalização

atributoslocalização

0

1

2

3

4

5

conteúdo doarquivo "/etc/passwd"

conteúdo doarquivo "/etc/hosts"

1

sistema de arquivos flat

Supõe-se que o primeiro descritor do vetor de descritores (índice 0) descreve o diretório raiz da árvore

Page 54: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Proteção dos Arquivos

l Confiabilidade: é proteção física• obtêm-se criando cópias dos arquivos

l Proteção: é precaução contra acessos indevidos• obtêm-se impossibilitando o acesso por

outros usuários• tipos de acesso: leitura, gravação e execução

(envolvem acesso a arquivo); criação e remoção (envolvem acesso a diretório)

Page 55: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Questões de Implementaçãol Definição de como o sistema de arquivos vai

ser visto pelo usuário (conjunto de arquivos lógicos): • definição de arquivos e seus atributos• operações permitidas• estrutura de diretórios

l Definição dos algoritmos e estruturas de dados a serem usados para mapear o sistema de arquivos lógicos nos dispositivos físicos utilizados pelo sistema de arquivos

Page 56: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Questões de Implementação

l Conceitualmente, um sistema de arquivos é dividido em três níveis de serviço:• serviço de disco

• serviço de arquivo básico

• serviço de de diretório

Page 57: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Níveis de Serviço

l Serviço de disco: responsável pela leitura e escrita de setores diretamente no disco, sem se preocupar com a organização dos arquivos

l Serviço de arquivo básico: lida com a abstração de arquivos, compostos por um conjunto de registros (blocos). Operações básicas do tipo leitura e escrita a partir de uma determinada posição do arquivo

Page 58: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Níveis de Serviço

l Serviço de diretório: preocupa-se com a identificação e proteção de arquivos descritos a partir de diretórios, de forma que eles sejam acessados de forma segura e conveniente.

l Os diretórios mapeiam nomes simbólicos em identificadores numéricos utilizados pelo serviço de arquivos (camada de baixo)

Page 59: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

Níveis de Serviço

Serviço de Disco

Serviço de Arquivo Básico

Serviço de Diretório

Usuários

Page 60: Sistema de Arquivos · 2010. 3. 30. · Sistemas Baseados em Fita l Inicialmente, cada arquivo era gravado em uma única fita. Haviam dois problemas: • Arquivos muito grandes não

FIM