Estrutura de arquivos

Arquivos são centrais para o UNIX de uma maneira não encontrada em outros sistemas operacionais. Comandos são arquivos executáveis, usualmente encontráveis em locais previsíveis na árvore de diretórios. Privilégios do sistema e permissões são controlados em grande parte através de arquivos. Dispositivos de I/O e arquivos de I/O não são distinguidos nos níveis mais altos. Até mesmo a comunicação entre processos ocorre através de entidades similares a arquivos.
O UNIX tem uma organização de diretórios hierárquica em formato de árvore conhecida como filesystem. A base desta árvore é um diretório chamado root directory. Em sistemas UNIX, todo espaço em disco disponível é combinado em uma única árvore de diretório abaixo do /, sendo que o local físico onde um arquivo reside não faz parte da especificação do arquivo UNIX.
O acesso a arquivos é organizado através de propriedades e proteções. Toda segurança do sistema depende, em grande parte, da combinação entre a propriedade e proteções setadas em seus arquivos e suas contas de usuários e grupos.

Enfatizando:

Mapeando arquivos para o disco

Um inodo é uma estrutura de dados em disco que descreve e armazena os atributos do arquivo, incluindo sua localização:

Quando uma partição de disco é inicializada, um número específico de inodes é criado. Este torna-se o número máximo de arquivos de todos os tipos, incluindo diretórios, arquivos especiais e links que podem existir no disco.

Tipos de arquivo

Arquivos comuns são arquivos contendo dados, normalmente chamados de arquivos. Estes podem ser arquivos de dados ASCII ou binários, executáveis.
Diretórios são arquivos binários consistindo de uma lista de outros arquivos que ele contém (possivelmente outros diretórios). As entradas dos diretórios são pares filename-inode. Este é o mecanismo que associa inodos e localização nos diretórios. Os dados no disco não têm o menor conhecimento de sua localização (lógica) no filesystem.
Arquivos especiais são os mecanismos utilizados para I/O de dispositivos no UNIX. Eles residem no diretório /dev e seus subdiretórios. Há dois tipos de arquivos especiais: arquivos especiais de caracteres e arquivos especiais de blocos. Os primeiros correspondem a acesso a dispositivos baseado em caracteres, que não é bufferizado. Os arquivos especiais de blocos correspondem a acesso a dispositivos com I/O de blocos. Dados são transferidos em blocos.
Links são mecanismos que permitem vários filenames referirem a um único arquivo no disco. Há dois tipos de links: hard e simbólico ou soft. Um hard link associa dois ou mais filenames com o mesmo inodo. Hard links compartilham o mesmo bloco de dados embora funcionando como entradas de diretório independentes.
Link simbólicos são pointers files que apontam para outro filename no filesystem.

Arquivos Especiais

Sockets são um tipo especial de arquivo utilizado para comunicação entre processos. São parte da funcionalidade de interconectividade TCP/IP, primeiramente disponível nos sistemas BSD, mas parte de qualquer versão moderna hoje.
Um socket pode ser pensado como pontos finais de comunicação, unidos a portas particulares do sistema, as quais processos estão conectados.
Named pipes são canais abertos pelo nome por aplicações. São características do SV que migraram para todas as versões de UNIX. Named pipes frequentemente residem no diretório /dev, e eles servem como outro mecanismo para facilitar a comunicação entre processos.

Voltar
Avançar