O Sistema de Arquivos
Por: liareis • 20/5/2018 • Resenha • 4.472 Palavras (18 Páginas) • 300 Visualizações
SISTEMA DE ARQUIVOS
SISTEMAS DE ARQUIVOS
Requisitos essenciais para o armazenamento de informações de longo prazo:
• Deve ser possível armazenar uma quantidade muito grande de informações.
• A informação deve sobreviver ao término do processo usando-o.
• Múltiplos processos devem poder acessar a informação simultaneamente.
Arquivos são unidades lógicas de informação criadas por processos. Trata-se de mais uma abstração criada pelo SO:
•Processo, abstração relacionada ao processador
• Espaço de endereçamento, abstração da memória física
• Arquivos, abstração do espaço de armazenamento
Nomeação de Arquivos[pic 1]
ESTRUTURA DE ARQUIVOS[pic 2]
[pic 3]
Figura 4.1(a) o arquivo nessa figura é uma sequência desestrutura de bytes.
Figura 4.1(b) Nesse modelo, um arquivo é uma sequência de registros de tamanho fixo cada um com alguma estrutura interna.
Figura 4.1(c) Nessa organização, um arquivo é constituído de uma árvore de registros, não necessariamente todos de mesmo tamanho, cada um contendo um campo chave em uma posição fixa no registro. A árvore é ordenada pelo campo chave para que se busque mais rapidamente por uma chave específica.
Tipos de arquivos
• Regulares: contêm informação do usuário
• ASCII: legíveis e facilitam conectar a saída de umprograma à entrada de outro
• Binário: seguem alguma estrutura interna conhecidapelos programas que os usam
• Diretórios: mantêm a estrutura do sistema de arquivos
• Arquivos especiais de caracteres são relacionados a E/S e usados para modelar dispositivos de E/S, como terminais, impressora e redes.
• Arquivos especiais de bloco são usados para modelar discos.
Tipos de arquivo
[pic 4]
[pic 5]
Por exemplo, na Figura 4.2(a) vemos um arquivo binário executável simples de uma versão do UNIX. Embora tecnicamente o arquivo seja uma sequência de bytes, o sistema operacional somente executará um arquivo se ele tiver um formato apropriado. O arquivo possui cinco panes: cabeçalho, texto, dados, bits de realocação e tabela de símbolos. O cabeçalho começa com o chamado número mágico, que identifica o arquivo como executável (para impedir a execução acidental de um arquivo que não seja desse formato). Então vem o tamanho das várias panes do arquivo, o endereço no qual a execução deve inicializar e alguns bits de sinalização. Após o cabeçalho estão o texto e os dados do programa propriamente ditos, que são carregados na memória e realocados usando os bits de realocação. A tabela de símbolos é usada para depuração. Nosso segundo exemplo de arquivo binário é o repositório (archive), também do UNIX. Ele consiste em urna coleção de procedimentos de biblioteca (módulos) compilados, mas não ligados. Cada um deles é prefaciado por um cabeçalho indicando seu nome, data de criação, proprietário, código de proteção e tamanho. Assim como nos arquivos executáveis, os cabeçalhos dos módulos são totalmente preenchidos com números binários. Enviá-los para a impressora produziria uma completa confusão.
Acesso aos arquivos
- Sequencial
- Acesso aleatório
Os primeiros sistemas operacionais forneciam somente um tipo de acesso aos arquivos: o acesso sequencial. Nesses sistemas, um processo poderia ler todos os bytes ou registros em um arquivo, partindo do início, mas nunca saltando e lendo fora de ordem. Contudo, arquivos sequenciais poderiam voltar ao ponto de partida e ser lidos quantas vezes fossem necessária. Arquivos sequenciais eram convenientes quando o meio de armazenamento era a fita magnética em vez do disco.
Quando os discos começaram a serem usados para armazenar arquivos, tornou-se possível ler bytes ou registros de um arquivo fora da ordem em que apareciam no disco ou, então, ter acesso aos registros pela chave em vez de pela posição. Arquivos cujos bytes ou registros possam ser lidos em qualquer ordem são chamados de arquivos de acesso aleatório, necessários para muitas aplicações. Arquivos de acesso aleatório são essenciais em aplicações como, por exemplo, sistemas de bancos de dados. Se um cliente de uma companhia aérea liga e quer reservar um lugar em um determinado vôo, o programa de reservas deve ter acesso ao registro do vôo sem ter de ler antes os registros de milhares de outros vôos. Dois métodos podem ser usados para especificar a partir de onde a leitura começa. No primeiro, toda operação read indica a posição do arquivo em que se inicializa a leitura. No segundo, uma operação especial, seek, é fornecida para estabelecer a posição atual. Depois de um seek, o arquivo pode ser lido sequencialmente a partir de sua posição atual. O último método é usado no UNIX e no Windows.
Atributos de Arquivos
[pic 6]
[pic 7]
Os primeiros quatro atributos são sobre a proteção do arquivo e informam quem pode ter acesso a ele e quem não pode. Todos os tipos de esquemas são possíveis. Em determinados sistemas, o usuário deve apresentar uma senha para ter acesso a um arquivo; nesse caso, a senha deve ser um dos atributos. As flags são bits ou campos pequenos que controlam ou habilitam alguma característica mais específica. Arquivos ocultos, por exemplo, não aparecem na listagem de todos os arquivos. A flag de arquivamento é um bit que controla se foi feita ou não uma cópia de segurança do arquivo recentemente. O programa que faz cópias de segurança desliga esse bit, e o sistema operacional liga-o quando o arquivo for alterado. Desse modo, o programa de backup pode determinar quais arquivos precisam ser salvos. A flag de temporário permite que um arquivo seja marcado para remoção automática, quando o processo que o criou terminar. O tamanho do registro, a posição da chave e o tamanho dos campos-chave existem somente em arquivos cujos registros possam ser consultados usando urna chave. Eles fornecem a informação necessária para encontrar as chaves. Os vários atributos de momento indicam quando o arquivo foi criado, quando fui a última vez que tiveram acesso a ele e quando foi modificado pela Ultima vez. Esses campos são úteis para vários fins. Por exemplo, um arquivo-fonte que tenha sido modificado depois da criação do arquivo-objeto correspondente precisa ser recompilado. Esses campos dão a informação necessária para isso.
...