Descritor de Arquivo

Propaganda
Fundamentos de Sistemas
Operacionais
Sistema de Arquivos - II
Prof. Galvez
Implementação de Arquivos
 Arquivos são implementados através da criação, para cada
arquivo no sistema, de uma estrutura de dados
 Descritor de Arquivo: registro onde é mantido as
informações sobre o arquivo. Contém:
 Nome do Arquivo
 Extensão do nome do arquivo
 Tamanho em Bytes
 Data/Hora último acesso/alteração
 Usuário que criou o arquivo
 Lista de usuários autorizados a acessa-lo.
 Localização no disco (local da gravação), etc
Tabelas de Descritores de Arquivos
 Descritores de arquivos são armazenados no próprio disco.
 mesmo disco lógico (partição)
 Problema de desempenho.
 Acesso ao disco para ler o descritor de arquivos é lento
 Solução é manter descritor em memória enquanto o
arquivo estiver em uso
 Indicação se arquivo está em uso normalmente é feito
pelo próprio usuário (aplicação) através de chamadas do
tipo open e close
. Sistema de arquivos mantém os descritores de arquivos em
memória em uma estrutura de dados do sistema operacional
 Tabela de Descritores de Arquivos Abertos (TDAA)
Tabelas de Descritores de Arquivos Abertos (TDAA)
 As entradas da TDAA contém informações que não variam
conforme o processo está acessando o arquivo.
Informações relacionadas com arquivos são de dois tipos:
Não variam conforme o processo que está acessando o
arquivo – tamanho do arquivo
Dependem do processo que está acessando o arquivo –
posição corrente (acesso a parte diferente em dado instante)
Informações dependentes do processo são armazenadas em
uma tabela à parte mantida pelo processo (TAAP- Tabela de
Arq. Abertos por Processo), que contém no mínimo:
posição corrente no arquivo, tipo de acesso (apenas leitura
ou leitura e escrita), apontador para a entrada correspondente
da TDAA





Emprego conjunto das tabelas TAAP e TDAA
Arquivo B Arquivo A
PosCor=
12
Leitura
PosCor=5
5
Leitura
&
Tabela
de Arquivos
Esc
Abertos por Processo (TAAP)
do processo 0
PosCor=10
Leitura
Tabela de Arquivos
Abertos por Processo (TAAP)
do processo 1
Descritor Arquivo
A
Descritor Arquivo
B
Tabela de
Arquivos Abertos (TDAA)
Alocação de Espaço em Disco
 Como alocar espaço em disco de forma que os arquivos sejam
armazenados de forma eficiente e que permita acesso rápido?
 Duas formas básicas:
 Contígua (alocação contigua)
 Não Contígua (alocação encadeada e alocação indexada)
Alocação Contigua
 Arquivo é uma sequência de blocos lógicos contíguos
alocados no momento da criação
 Endereços no disco são lineares
 bloco lógico i e i+1 são armazenados fisicamente em
sequência
 Reduz a necessidade de seek já que blocos estão na
mesma trilha (pior hipotese troca de cilindro)
 Arquivo é descrito através de uma entrada na forma:
 Bloco físico inicial
 Tamanho do arquivo em blocos
Esquema de Alocação Contigua
Alocação Encadeada
 Soluciona os problemas da alocação contígua
 Relação a dimensionamento do tamanho e crescimento de
arquivos
 Alocação é baseada em uma unidade de tamanho fixo (bloco
lógico)
 Arquivo é uma lista encadeada de blocos
 Cada bloco contém um ponteiro para o próximo bloco
 Arquivo é descrito em uma entrada na forma:
 Bloco inicial do arquivo
 Bloco final do arquivo ou tamanho do arquivo em blocos
Esquema de Alocação Encadeada
Prós e Contras da Alocação Encadeada
 Elimina a fragmentação externa
 Arquivos podem crescer indefinidamente
 Não há necessidade de compactar o disco
 O acesso a um bloco implica em percorrer a lista encadeada
 Afeta o desempenho
 Adequado para acesso sequencial a arquivos
Alocação Indexada
 Busca resolver o problema de “ponteiros esparramados” pelo
disco que a alocação encadeada provoca
 Mantém, por arquivo, uma tabela de indices. Cada entrada
dessa tabela contém o endereço de um dos blocos físicos que
formam o arquivo.
 O índice é mantido em um bloco
Esquema de Alocação Indexada
Qual o Melhor Método de Alocação?
 Depende do tipo de acesso que o sistema faz a seus arquivos
 Sequêncial versus randômico
 Fator adicional
 Evolução tecnológica (novos hardwares) e de desempenho
forçam a coexistência de diferentes sistemas de arquivos
 Necessidade de “fazer conviver” diferentes sistemas de
arquivos em um mesmo computador
 Suporte a múltiplos sistemas de arquivos
Suporte a Múltiplos Sistemas de Arquivos
 Fazer com que o sistema operacional suporte diversos
sistemas de arquivos diferentes simultaneamente
 Solução inspirada na gerência de periféricos
 Parte independente do dispositivo
 Serviços idênticos independente do tipo de sistema de
arquivos
 Parte dependente do dispositivo
 Interface padrão
Virtual File System (VFS)
CD-ROM
Partição raw
Disquete
Organização da Cache de Disco
 Objetivo é manter na memória principal uma certa quantidade
de blocos do disco
 Não adiciona nem elimina funcionalidades ao sistema de
arquivos
 Função é melhorar o desempenho do sistema de arquivos
 Não confundir com a cache do processador
 Normalmente a cache de disco é mantida em uma área da
memória principal e é controlada pelo sistema operacional
 Pode ser global ou exclusiva (uma por sistema de arquivo
suportado)
Políticas de Atualização da Cache
 Quando atualizar o disco após um bloco presente na
cache ter sido alterada?
 Posterga ao máximo
 Atualiza a cada intervalo de tempo
 Atualiza imediatamente no disco
 Atualiza imediatamente apenas informações
sensíveis a consistência do sistema do arquivo
Gerenciamento de Espaço Livre
 Necessário manter a informação de blocos livres e
ocupados
 Métodos básicos
 Mapa de bits (bitmap)
 Forma simples de gerenciar o espaço em disco. Cada
bloco do disco possui um bit indicando se o bloco está
livre ou ocupado
 Lista de blocos livres
Os blocos livres são organizados em uma lista
Diretórios
 Problema: Quantidade (grande) de arquivos implica na
necessidade de organizá-los
 Sistema de arquivos oferece duas formas de organização
 Partição: divide um disco em discos lógicos (virtuais),
mas não resolve a organização de arquivos dentro desse
disco lógico. Temos no mínimo uma em um sistema
 Diretório
Conceito de Diretório
 Estrutura de dados que contém informações sobre arquivos
 Atributos básicos: nome, tipo, ...
 Localização: dispositivo físico, end. Início, tamanho,...
 Controle de acesso: proprietário, informações de acesso,
ações permitidas,...
 Utilização: data criação/modificação, nro. de processos
que o usam, locking,...
 Diretório é um arquivo pertencente ao sistema operacional
 Tipos de operações em um diretório
 Pesquisar, Criar e remover arquivos, Listar, Atualizar, etc
Implementação de Diretório
 Diretórios são arquivos especiais cujo contéudo é manipulado
pelo sistema operacional
 Sendo um arquivo:
 Utiliza os mesmos mecanismos de alocação, liberação e
localização de blocos do disco que arquivos “comuns”
 Possuem um descritor de arquivo
Final
de
Sistema de Arquivos
Download