Buscar

Aula02a-memosecun

Prévia do material em texto

1
Arquitetura da gerência de arquivos
Sistema de arquivos lógicos
Organização de arquivos
Sistema de arquivos básico
Controle de entrada/saída
Dispositivos físicos
API de acesso a arquivos
aplicaçãoaplicação
�Visão física: cabeças, 
trilhas, setores
�Aciona comandos de leitura/escrita
nos dispositivos.
�Mostra o arquivo como um vetor
de blocos de mesmo tamanho.
2
Memória secundária- Discos 
� A informação é gravada em uma ou mais 
superfícies, e armazenada em trilhas na superfície. 
� Cada trilha é normalmente dividida em setores. 
� Um setor é a menor porção endereçável do disco. 
Quando um READ precisa de um byte em 
particular, o setor inteiro é lido
3
Memória secundária- Cilindro 
� Um cilindro é o conjunto de trilhas que estão na mesma 
posição em cada disco. Por exemplo: o cilindro 0 é o conjunto 
de todas as trilhas 0 dos sub-discos que compõem o disco 
rígido.
� Vantagem ���� toda a informação contida num cilindro pode 
ser obtida sem movimentação da cabeça de R/W. 
� A movimentação, chamada seeking, é normalmente a parte 
mais lenta da operação de acesso. O tempo desse movimento é
chamado tempo de busca (seek time).
4
Memória secundária- Discos 
� Organização de Trilhas
� Setores (clusters)
� Blocos
5
Memória secundária- Discos 
Visões da organização de trilhas em setores
� Visão lógica ����os setores são adjacentes. 
� Fisicamente���� Pode não ser uma boa forma de organização a de 
setores fisicamente adjacentes .
� após ler os dados de um setor, pode ser necessário processar os dados. 
� Se dois setores logicamente adjacentes também estão fisicamente 
adjacentes, pode-se perder a leitura do próximo setor (pois o disco continua 
em movimento de rotação), e teria que esperar uma outra rotação inteira 
do disco para acessar o setor perdido. 
� Técnica intercalação(interleaving)���� vários setores físicos são colocados 
entre setores logicamente consecutivos. 
0 1 2 3 4 5 6 7
Visão física Visão lógica
6
Memória secundária- Discos 
Cluster 
� Um cluster (também chamado de agrupamento) é a menor parte 
reconhecida pelo sistema operacional, e pode ser formado por vários 
setores. 
� Um arquivo com um número de bytes maior que o tamanho do cluster, ao 
ser gravado no disco, é distribuído em vários clusters. 
� Um cluster não pode conter dados de mais um arquivo.
� Considerando que um cluster associado a um arquivo foi encontrado, todos 
os seu setores podem ser acessados sem necessidade de um acesso
adicional.
� Essa organização por setores/clusters é gerenciada através de uma File
Alocation Table (FAT). 
� Nessa tabela,cada entrada dá a localização física do cluster associado a 
um certo arquivo lógico.
7
Memória secundária- Discos 
Organização de trilhas em blocos definidos pelo usuário
� Em alguns sistemas, pode-se organizar as trilhas do disco não por 
setores, mas por blocos, onde o tamanho do bloco é definido pelo 
usuário. 
� Neste caso, a quantidade de dados transferidos em uma operação de 
leitura/escrita é dada pelo tamanho do bloco. 
Fator de bloco ���� número de registros por bloco em um arquivo.
� se tivermos registros de 300 bytes, podemos definir blocos de 300 bytes 
(ou um valor múltiplo de 300). Assim, não teremos "quebra" de 
registros entre blocos.
Vantagens X desvantagens
� vantagem: permite ao programador escolher a organização dos dados, de 
forma a explorar melhor a capacidade do disco e otimizar o acesso. 
� desvantagem: exige do programador um conhecimento da organização dos 
dados. 8
Memória secundária
Fragmentação
� Fragmentação interna consiste em espaço não utilizado nos 
cluster/blocos de um arquivo.
� Exemplo: Se um arquivo é alocado em blocos:
� Se usarmos blocos de 4096 bytes, um arquivo de 5700 bytes ocupará 2 
blocos (um bloco não pode ser alocado parcialmente) 
� 2492 bytes serão perdidos no último bloco.
� Fragmentação externa � Espaços vazios entre cluster/blocos 
de arquivos.
� A medida que o sistema evolui registros/arquivos são criados e 
removidos
� mais espaços vazios aparecem.
� Um agrupamento de clusters/blocos é chamado um extent .
9
Memória secundária
arquivo inicio #blocos
Organização de discos em blocos ����Alocação contígua
•Cada arquivo ocupa um conjunto de blocos lógicos, consecutivos.
•Não há blocos vazios entre os blocos de um mesmo arquivo.
•Para cada arquivo, o diretório informa seu bloco de início e o no de blocos.
Vantagens:
–Simplicidade de implementação.
–Rapidez de acesso aos arquivos � todos os blocos 
do arquivo estão próximos.
–Facilidade de acesso seqüencial e aleatório:
•sequencial: basta ler os blocos consecutivos
•aleatório: posições internas podem ser 
facilmente calculadas a partir da posição do 
bloco inicial.
Desvantagens:
–Pouca flexibilidade no crescimento dos 
arquivos.
–Tamanho máximo do arquivo deve ser 
conhecido no momento da alocação.
–Necessidade de desfragmentação periódica.
0 1 2 3 4 5 6 7 8 9
readme.txt 010 003
apostila.doc 002 008
10
Memória secundária
Organização de discos em blocos ����Alocação encadeada
•Os arquivos são armazenados como listas de blocos
•cada bloco aponta para o próximo
•diretório aponta para o bloco inicial
•os blocos podem estar espalhados
•Base de funcionamento de arquivos Windows
readme.txt 010 003
apostila.doc 002 008
arquivo inicio #blocos
Vantagens
•não há fragmentação externa 
(arquivo fisicamente separado)
•todo o disco pode ser usado
•tamanho dos arquivos pode ser 
mudado facilmente
Desvantagens
•acesso aleatório é mais 
demorado
•maior fragilidade em caso de 
problemas
11
Memória secundária
Organização de discos em blocos ����Alocação indexada
•Baseada em tabelas de blocos
–um bloco especial guarda a tabela de blocos do arquivo: index-node (i-node)
–diretório aponta para os i-nodes
–blocos podem estar espalhados
•Base de funcionamento do UNIX Vantagens
•não há fragmentação externa
•todo o disco pode ser usado
•acesso rápido
•robustez em caso de 
problemas
Desvantagens
•gerência mais complexa
•espaço em disco perdido com 
os i-nodes
readme.txt 010 003
apostila.doc 002 008
Aula.pdf 017 005
arquivo inicio #blocos
I-node
12
Organização de discos 
Overhead (espaço sem dados)
O processo de formatação provoca a inclusão de informações extras. 
� discos organizados por setor:
� Overhead���� marcas de início/fim de setor, marcas de 
sincronização, se o setor é válido ou danificado, entre outras, são 
inseridas no processo de formatação. Esse overhead é invisível para 
o usuário. 
� discos organizados por bloco:
� Overhead���� marcas de sub-blocos e inter-blocos devem ser 
adicionadas em cada bloco. 
� um número maior de informação que não é “dado” pode ser 
colocada no disco, quando comparado ao esquema de organização 
por setores. 
13
Memória secundária
Organização de discos - Exemplo
� Seja um disco organizado em blocos onde cada trilha tem capacidade de 
armazenamento de 20.000 bytes e o overhead/bloco é de 300 bytes. 
Queremos armazenar um arquivo contendo registros de 100 bytes. 
Quantos registros podem ser armazenados, se o fator de bloqueamento é 10 ?
Se 10 registros de 100 bytes são armazenados por bloco, cada bloco terá
1.000 bytes de dados, mas usará 1.300 bytes no total, devido ao overhead. 
Então, o número de blocos que podem ser colocados em uma trilha é
dado por: 
20.000/1.300 = 15.38 = 15, portanto 15 blocos, ou 150 registros.
Quantos registros podem ser armazenados, se o fator de bloqueamento é 60?
Se são 60 registros de 100 bytes, cada bloco armazena 6.000 bytes de dados 
e 6.300 no total. Então, o número de blocos por trilha fica: 
20.000/6.300 = 3.17, portanto, 3 blocos, ou 180 registros 
14
Memória secundária
Exercício 
� Se um arquivo tem apenas 500 bytes, com clusters de 3 
setores de 512 bytes, qual é a perda?
� Solução: 
� Um cluster é a menor porção alocável para um arquivo. 
Se o número de bytes do arquivo não é múltiplo do 
tamanho do cluster, entãohá uma perda (a perda 
ocorre na última extensão do arquivo).
� 3 setores de 512=1536
� Como o tamanho do arquivo é 500bytes �a perda é de 
1536-500=1.036 bytes.
15
Memória secundária
Organização de discos
� A escolha do tamanho dos blocos/clusters é importante 
para a eficiência do sistema.
� Blocos pequenos:
� menor perda por fragmentação interna
� mais blocos/clusters por arquivo: maior custo de gerência
� Melhor quando o disco contém pequenos arquivos e/ou 
arquivos a serem acessados aleatoriamente (acesso direto).
� Blocos grandes:
� maior perda por fragmentação interna
� menos blocos por arquivo: menor custo de gerência
� Melhor quando o disco contém arquivos grandes a serem 
processados seqüencialmente.
� O tamanho do cluster é definido pelo administrador do sistema.

Continue navegando