Você está na página 1de 3

UNIVERSIDADE FEDERAL DE VIÇOSA - Campus Rio Paranaíba

Curso: SISTEMAS DE INFORMAÇÃO


Matéria: Sistemas Operacionais
Aluno: Rafhael Babos da Purificação – Matrícula: 577

INode

Um inode é, na realidade, uma estrutura de dados que possui informações sobre


um determinado arquivo ou diretório como, por exemplo, dono, grupo, tipo e
permissões de acesso. O inode é exclusivo somente para o dispositivo (partição) dentro
do qual ele está contido. Portanto, para identificar unicamente um arquivo, o kernel
deve ter o número de dispositivo e o inode do arquivo. Um arquivo possui um único
inode, não importa por quantos nomes este arquivo é identificado no sistema. Logo, é o
conjunto de inodes que indica o número de arquivos/diretórios que o sistema possui.
Na maioria dos sistemas apenas cerca de 1 por cento do espaço de
armazenamento do sistema de arquivos é usado para inodes, isso limita o número de
arquivos de um sistema pode manter. Como um novo arquivo é criado, inodes novos
também são criados, se o usuário tenta criar muitos arquivos, o limite de
armazenamento pode ser alcançado, impedindo a criação de novos arquivos. Que cada
nodo é criado, é atribuído um número, este número permanece o mesmo quando o disco
em que o arquivo está localizado é desfragmentado, mesmo que isso resulte em
desfragmentar o arquivo a ser movido, se o arquivo é movido manualmente, o número
também permanece o mesmo. O sistema operacional mantém um banco de dados de
inode. esta base de dados usada pelo computador para controlar e acessar as
informações em cada inode arquivos também pode ser aberta acessando o nodo através
do banco de dados.
Na imagem abaixo vemos a estrutura de um Inode (estrutura UNIX), composta
pelos blocos diretos, os blocos indiretos e os blocos duplamente indiretos:
Links simbólicos e hard links

“Vamos começar então executando o seguinte comando e temos o resultado:

$ ls -i
231362 exerc.txt
274305 guardar.log

Aqui nós temos 2 arquivos e os números antes do nome é o inode de cada um.
Vamos aproveitar o embalo e entender os conceitos de link simbólico e hard link que
são comentários ao usar o comando ln para a criação de links. Quando usamos o
comando "ln -s" estamos criando um link simbólico para um determinado arquivo. Esse
tipo de link segue os padrões Windows, que é criado um tipo de arquivo especial que
contém somente o caminho ou o nome do arquivo original. Veja o exemplo.

$ ls -lhi
231362 -rw-r--r-- 1 slaypher slaypher 293 2007-06-11 19:58 exerc.txt
274305 -rw-r--r-- 1 root root 1.1K 2007-05-04 02:23 guardar.log

Com isso temos uma listagem mais detalhada dos nossos arquivos. O que vamos
fazer é criar um link simbólico para o arquivo exerc.txt que chamaremos de exercicio1,
para isso basta usando o seguinte comando:

$ ln -s exerc.txt exercicio1
$ ls -lhi
231362 -rw-r--r-- 1 slaypher slaypher 293 2007-06-11 19:58 exerc.txt
257637 lrwxrwxrwx 1 slaypher slaypher 9 2007-06-19 00:28 exercicio1 ->
exerc.txt
274305 -rw-r--r-- 1 root root 1.1K 2007-05-04 02:23 guardar.log

Temos o seguinte resultado, de início vemos que a letra "l" está definida no
nosso exercício1, indicando que ele é um link. Mas agora vem o que já não é surpresa
pra você, o tamanho desse link são 9 bytes, ou seja, o tamanho do nome do arquivo que
criamos o link. Outro detalhe importante é que esse link possui um inode diferente do
arquivo original, ou seja, trata-se oficialmente de um arquivo diferente, mas que serve
como "apontador" para aquele que contém descrito dentro dele. Agora vamos criar um
hard link usando o seguinte comando:

$ ln exerc.txt exercicio2
$ ls -lhi
282450 -rw-r--r-- 2 slaypher slaypher 293 2007-06-19 00:35 exerc.txt
257637 lrwxrwxrwx 1 slaypher slaypher 9 2007-06-19 00:28 exercicio1 ->
exerc.txt
282450 -rw-r--r-- 2 slaypher slaypher 293 2007-06-19 00:35 exercicio2
274305 -rw-r--r-- 1 root root 1.1K 2007-05-04 02:23 guardar.log

Bingo! Observe agora que o link exercicio2 e o nosso arquivo original exerc.txt
possuem o mesmo inode, então trata-se exatamente do mesmo arquivo.
Com isso podemos criar em diretórios distintos hard links para um mesmo
arquivo, mas que tenham permissões diferentes para cada usuário, definindo políticas
bem específicas sobre um determinado arquivo sem ter que ficar enviando cópias para
cada usuário após uma mudança, por exemplo.
Você pode brincar e entender melhor o funcionamento do inode copiando,
movendo e renomeando arquivos, tenho certeza que entenderá melhor o funcionamento
do seu sistema de arquivos.”(Explicação sobre Links simbólicos e Hard Links retirada
do artigo de Carlos Vinícius Braga dos Santos).

Curiosidades:

Como sabemos, a formatação rápida trata apenas de "apagar" os índices da


partição, pois bem, os inodes estão nessa jogada, pois o que ocorre é a "quebra" dos
ponteiros para os arquivos, indicando que estão livres, ou seja, espaço disponível em
disco, mesmo se os dados ainda estarem gravados no HD.
Os inodes possuem um limite, por isso é possível “lotar” um HD, esgotando os
inodes disponíveis, criando “vários” arquivos pequenos. Outro detalhe importante é que
normalmente na formatação de uma partição, quando estou, por exemplo, instalando um
novo sistema, ele questiona o tamanho para os nossos inodes (4k – 2k – 1k), que
normalmente defino para 4k, levando em conta que estou formatando como ReiserFS.
Isso implica justamente na quantidade de inodes disponíveis e no limite do tamanho dos
arquivos e partições que eles poderão trabalhar, se eu usar o padrão de 4k, terei um
limite de 2T para arquivos e de 16T para a partição, agora se usar 1k para inode, terei o
limite do tamanho de arquivo para 16G e da partição para 2T.

Referências:

INode Wikipédia:
http://pt.wikipedia.org/wiki/N%C3%B3-i

“Você sabe o que é INode?”, Carlos Vinícius Braga dos Santos:


http://forum.pcproject.com.br/voce-sabe-o-que-e-inode/7062#post40491

Você também pode gostar