Descritor de Arquivo

Transcrição

Descritor de Arquivo
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

Documentos relacionados

Diretório

Diretório 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 diferent...

Leia mais

Gerência de Arquivos

Gerência de Arquivos pode usar esta obra para fins comerciais. Se você alterar, transformar ou criar com base nesta obra, você poderá distribuir a obra resultante apenas sob a mesma licença, ou sob uma licença similar ...

Leia mais