sexta-feira, 18 de dezembro de 2009

Gerencimento de Volumes Logicos - Parte 5.

Tabela de grupos de cilindros

O grupo de cilindros é uma coleção de um ou mais cilindros do disco. Um cilindro é a coleção das trilhas formadas pelo posicionamento dos cabeçotes nos multiplos pratos. Cada grupo de cilindro contem a copia do superbloco primario, uma tabela com informações da estrutura do grupo de cilindros, uma tabela de inode e blocos de dados. Todos as informações de acesso ao arquivo e seus dados são controlados pelo grupo de cilindros.
Informações contidas na tabela de grupo de cilindros:
- numero de inodes e de blocos de dados
- mapa dos inodes usados
- mapa dos blocos livres
- ponteiro do ultimo bloco usado
- ponteiro do ultimo fragmento usado
- ponteiro do inode
- numero de fragmentos disponiveis
Tabelas e inodes

Inode é uma tabela que contem informações sobre um arquivo. Um inode contem informações sobre:
- tamanho do arquivo
- dono
- grupo
- data e horario de criação
- ultimo aceso e ultima modificação
- permissões
- numeros de links
- tipo de arquivo
- endereço para os blocos de dados

Os inodes de cada grupo de cilindros são armazenados na tabela de inodes dentro do grupo de cilindros.
O inode contem 15 ponteiros que endereçam os blocos de dados. Quando o arquivo é criado, é feito uma entrada em um desses endereços, o mesmo acontece se o arquivo for aumentado. Se o arquivo for reduzido, os ponteiros são realocados, o endereço dos blocos de dados são retirados do inode e coloado na lista de blocos livres da file system.
O tamanho do inode é de 128 bytes. Cada ponteiro ocupa 4 bytes. Os blocos de dados podem ter 4 ou 8 Kbytes. Os primeiros 12 ponteiros que são conhecidos como blocos diretos apontam diretamento para os blocos de dados do arquivo, podendo o arquivo atingir um tamanho de 96 Kbytes (se os blocos de dados forem 8 Kbytes).
Se o arquivo for maior, o inode ocupara o 13º ponteiro, endereçando um bloco de 4 ou 8 Kbytes (blocos indiretos) ou qual contera 1024 ou 2048 endereços de blocos de dados. Asssim um arquivo podera atingir o tamanho de 16480 Mbytes.
Se o arquivo for mairo que 16480 Mbytes, o inode ocupara  o 14º ponteiro, endereçando um bloco de 4 ou 8 Kbytes o qual contera 1024 ou 2048 endereços ( blocos indiretos duplos ) que apontara um para um bloco 4 ou 8 Kbytes de blocos de dados. Assim um arquivo podera atingir o tamanho de aproximadamente 33 Gbytes. 
O 15º ponteiro esta reservado para uso futuro.
Blocos de dados

O resto do espaço da file system é ocupado por blocos de dados também chamados por blocos de armazenamento. Esses blocos podem ser de 4 ou 8  kb de tamanho e constituem a minima porção que pode ser lida ou gravada em uma file system.
Em arquivos comuns, os blocos de dados contem os dados do arquivo.
Em diretorios, os blocos de dados contem as entradas dos arquivos.
Os arquivos especiais não tem  blocos de dados.

FRAGMENTAÇÃO
Um bloco de dados é dividido em fragmentos de 1, 2, 4 ou 8 Kbytes. O  fragmento é a minima porção que pode  ser acessada em um file system. Os fragmentos são utilizados quando um arquivo não ocupa um bloco em sua totalidade. Um fragmento é alocado sometne no final do arquivo. Um arquivo usara fragmento contido em um unico bloco. Um bloco pode conter fragmento de mais de um arquivo. Multiplos fragmentos podem ser usados por um unico arquivo e serao continuos dentro do bloco.

Supondo os arquivos
A com 512, B com 1 K e C com 3 K:

A - 512 bytes   _
B - 1 K __
C - 3 K ______

Se tivermos usando um disco cujos blocos sejam de 8 Kb e os fragmentos também de 8 Kb, teriamos:

_|______________ -> arquivo A = 8 Kb
__|_____________ -> arquivo B = 8 Kb
______|_________ -> arquivo C = 8 Kb

O total de blocos usados por esses 3 arquivos seria de 24 Kb.

Se tivermos utilizando um disco cujos blocos sejam de 8 Kb e os fragmentos de 1 Kb, teriamos

A|_B|_____C|_____ -> O total de blocos utilizados por esses 3 arquivos seria de 5 Kb.

abraços e até a proxima.

Nenhum comentário:

Postar um comentário