sistema de arquivos · 2010. 3. 30. · sistemas baseados em fita l inicialmente, cada arquivo era...
TRANSCRIPT
![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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/33.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/34.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/38.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/41.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/42.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/43.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/44.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/45.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/46.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/47.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/48.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/49.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/50.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/51.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/52.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/53.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/54.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/55.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/56.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/57.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/58.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/59.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022060915/60a8aa88f2826d34e9493a99/html5/thumbnails/60.jpg)
FIM