Sistema operacional - Sistema de arquivos
Arquivo
Um arquivo é uma coleção nomeada de informações relacionadas que são gravadas no armazenamento secundário, como discos magnéticos, fitas magnéticas e discos ópticos. Em geral, um arquivo é uma sequência de bits, bytes, linhas ou registros cujo significado é definido pelo criador e usuário do arquivo.
Estrutura do Arquivo
Uma estrutura de arquivo deve estar de acordo com um formato necessário que o sistema operacional possa entender.
Um arquivo possui uma determinada estrutura definida de acordo com seu tipo.
Um arquivo de texto é uma sequência de caracteres organizados em linhas.
Um arquivo de origem é uma sequência de procedimentos e funções.
Um arquivo de objeto é uma sequência de bytes organizados em blocos que são compreensíveis pela máquina.
Quando o sistema operacional define diferentes estruturas de arquivo, ele também contém o código para oferecer suporte a essas estruturas de arquivo. Unix e MS-DOS suportam um número mínimo de estruturas de arquivos.
Tipo de arquivo
O tipo de arquivo refere-se à capacidade do sistema operacional de distinguir diferentes tipos de arquivo, como arquivos de texto, arquivos de origem e arquivos binários, etc. Muitos sistemas operacionais suportam muitos tipos de arquivos. Sistemas operacionais como MS-DOS e UNIX possuem os seguintes tipos de arquivos -
Arquivos comuns
- Esses são os arquivos que contêm informações do usuário.
- Podem ter texto, bases de dados ou programa executável.
- O usuário pode aplicar várias operações em tais arquivos, como adicionar, modificar, excluir ou até mesmo remover o arquivo inteiro.
Arquivos de diretório
- Esses arquivos contêm uma lista de nomes de arquivos e outras informações relacionadas a esses arquivos.
Arquivos especiais
- Esses arquivos também são conhecidos como arquivos de dispositivo.
- Esses arquivos representam dispositivos físicos como discos, terminais, impressoras, redes, unidade de fita, etc.
Esses arquivos são de dois tipos -
Character special files - os dados são tratados caractere por caractere, como no caso de terminais ou impressoras.
Block special files - os dados são tratados em blocos, como no caso de discos e fitas.
Mecanismos de acesso a arquivos
O mecanismo de acesso a arquivos refere-se à maneira como os registros de um arquivo podem ser acessados. Existem várias maneiras de acessar arquivos -
- Acesso sequencial
- Acesso direto / aleatório
- Acesso sequencial indexado
Acesso sequencial
Acesso sequencial é aquele em que os registros são acessados em alguma sequência, ou seja, as informações do arquivo são processadas em ordem, um registro após o outro. Este método de acesso é o mais primitivo. Exemplo: os compiladores geralmente acessam os arquivos dessa maneira.
Acesso direto / aleatório
Organização de arquivos de acesso aleatório fornece, acessando os registros diretamente.
Cada registro tem seu próprio endereço no arquivo com a ajuda do qual pode ser acessado diretamente para leitura ou escrita.
Os registros não precisam estar em nenhuma sequência dentro do arquivo e não precisam estar em locais adjacentes na mídia de armazenamento.
Acesso sequencial indexado
- Este mecanismo é construído com base no acesso sequencial.
- Um índice é criado para cada arquivo que contém ponteiros para vários blocos.
- O índice é pesquisado sequencialmente e seu ponteiro é usado para acessar o arquivo diretamente.
Alocação de espaço
Os arquivos são espaços em disco alocados por sistema operacional. Os sistemas operacionais são implantados seguindo três maneiras principais de alocar espaço em disco para arquivos.
- Alocação Contígua
- Alocação vinculada
- Alocação Indexada
Alocação Contígua
- Cada arquivo ocupa um espaço de endereço contíguo no disco.
- O endereço de disco atribuído está em ordem linear.
- Fácil de implementar.
- A fragmentação externa é um grande problema com esse tipo de técnica de alocação.
Alocação vinculada
- Cada arquivo carrega uma lista de links para blocos de disco.
- O diretório contém link / ponteiro para o primeiro bloco de um arquivo.
- Sem fragmentação externa
- Efetivamente usado em arquivo de acesso sequencial.
- Ineficiente em caso de arquivo de acesso direto.
Alocação Indexada
- Fornece soluções para problemas de alocação contígua e vinculada.
- Um bloco de índice é criado com todos os ponteiros para arquivos.
- Cada arquivo tem seu próprio bloco de índice que armazena os endereços do espaço em disco ocupado pelo arquivo.
- O diretório contém os endereços dos blocos de índice de arquivos.