Sistemas operacionais

Sistemas operacionais

(Parte 1 de 2)

 

SISTEMAS OPERACIONAIS – NOTAS DE AULA

GERÊNCIA DO SISTEMA DE ARQUIVOS

ÍNDICE:

1. Introdução2. Arquivos3. Diretórios4. Gerência de Espaço Livre em Disco5. Gerência de Alocação de Espaço em Disco6. Proteção de Acesso7. Compressão de Dados8. Implementação de Caches9. Bibliografia10. Lista de Exercícios

1 de 21

 

SISTEMAS OPERACIONAIS – NOTAS DE AULA

1.

INTRODUÇÃO

O armazenamento e a recuperação de informações é uma atividade essencial paraqualquer tipo de aplicação. Um processo deve ser capaz de ler e gravar de formapermanente grande volume de dados em dispositivos como fitas e discos, além de poder compartilhá-los com outros processos. A maneira pela qual o sistema operacionalestrutura e organiza estas informações é através da implementação de arquivos.Os arquivos são gerenciados pelo sistema operacional de maneira a facilitar oacesso dos usuários ao seu conteúdo. A parte do sistema responsável por essa gerênciaé denominada

sistema de arquivos

. O sistema de arquivos é a parte mais visível de umsistema operacional, pois a manipulação de arquivos é uma atividade freqüentementerealizada pelos usuários, devendo sempre ocorrer de maneira uniforme, independentedos diferentes dispositivos de armazenamento.

2.ARQUIVOS

Um

arquivo

é constituído por informações logicamente relacionadas. Estasinformações podem representar instruções ou dados. Um arquivo executável, por exemplo, contém instruções compreendidas pelo processador, enquanto um arquivo dedados pode ser estruturado livremente como um arquivo texto ou de forma mais rígidacomo um banco de dados relacional. Na realidade, um arquivo é um conjunto de registrosdefinidos pelo sistema de arquivos, tornando seu conceito abstrato e generalista. A partir dessa definição, o conteúdo do arquivo pode ser manipulado seguindo conceitospreestabelecidos.Os arquivos são armazenados pelo sistema operacional em diferentes dispositivosfísicos, como fitas magnéticas, discos magnéticos e discos ópticos. O tipo de dispositivono qual o arquivo é armazenado deve ser isolado pelo sistema operacional, de forma queexista uma independência entre os arquivos a serem manipulados e o meio dearmazenamento.Um arquivo é identificado por um nome, composto por uma seqüência de caracteres.Em alguns sistemas de arquivos é feita distinção entre caracteres alfabéticos maiúsculose minúsculos. Regras como extensão máxima do nome e quais são os caracteres válidostambém podem variar.Em alguns sistemas operacionais, a identificação de um arquivo é composta por duaspartes separadas com um ponto. A parte após o ponto é denominada extensão do arquivoe tem como finalidade identificar o conteúdo do arquivo. Assim é possível convencionar 

2 de 21

 

SISTEMAS OPERACIONAIS – NOTAS DE AULA

que uma extensão TXT identifica um arquivo texto, enquanto EXE indica um arquivoexecutável. Na tabela abaixo, são apresentadas algumas extensões de arquiv0

ARQUIVO

DESCRIÇÃO

ARQUIVOBAS

ARQUIVO fonteem basic

ARQUIVOCOB

ARQUIVO fonteem cobol

ARQUIVOEXE

ARQUIVO executavel

ARQUIVOOBJ

ARQUIVO objeto

ARQUIVOTXT

ARQUIVO texto

ARQUIVOPAS

ARQUIVO fonte em pascal

2.1.Organização de Arquivos

A

de arquivos

consiste em como os seus dados estão internamentearmazenados. A estrutura dos dados pode variar em função do tipo de informação contidano arquivo. Arquivos texto possuem propósitos completamente distintos de arquivosexecutáveis, conseqüentemente, estruturas diferentes podem adequar-se melhor a umtipo do que a outro.No momento da criação de um arquivo, seu criador pode definir qual a organizaçãoadotada. Esta organização pode ser uma estrutura suportada pelo sistema operacional oudefinida pela própria aplicação.A forma mais simples de organização de arquivos é através de uma seqüência não-estruturada de bytes (fig.1a). Neste tipo de organização, o sistema de arquivos não impõenenhuma estrutura lógica para os dados. A aplicação deve definir toda a organização,estando livre para estabelecer seus próprios critérios. A grande vantagem deste modelo éa flexibilidade para criar diferentes estruturas de dados, porém todo o controle de acessoao arquivo é de inteira responsabilidade da aplicação.Alguns sistemas operacionais possuem diferentes organizações de arquivos. Nestecaso, cada arquivo criado deve seguir um modelo suportado pelo sistema de arquivos. Asorganizações mais conhecidas e implementadas são a seqüencial, relativa e indexada(fig. 1b). Nestes tipos de organização, podemos visualizar um arquivo como um conjuntode registros. Os registros podem ser classificados em registros de tamanho fixo, quandopossuírem sempre o mesmo tamanho, ou registros de tamanho variável.

3 de 21

SISTEMAS OPERACIONAIS – NOTAS DE AULA

Figura 1: Organização de arquivos

2.2.Métodos de Acesso

Em função de como o arquivo está organizado, o sistema de arquivos pode recuperar registros de diferentes maneiras. Inicialmente, os primeiros sistemas operacionais sóarmazenavam arquivos em fitas magnéticas. Com isso, o acesso era restrito a leitura dosregistros na ordem em que eram gravados, e a gravação de novos registros só erapossível no final do arquivo. Este tipo de acesso, chamado de

acesso seqüencial 

, erapróprio da fita magnética, que, como meio de armazenamento, possuía esta limitação.Com o advento dos discos magnéticos, foi possível a introdução de métodos deacesso mais eficientes. O primeiro a surgir foi o

acesso direto

, que permite aleitura/gravação de um registro diretamente na sua posição. Este método é realizadoatravés do número do registro, que é a sua posição relativa ao início do arquivo. Noacesso direto não existe restrição à ordem em que os registros são lidos ou gravados,sendo sempre necessária a especificação do número do registro. É importante notar queo acesso direto somente é possível quando o arquivo é definido com registros detamanho fixo

Figura 2: Acesso direto

4 de 2

SISTEMAS OPERACIONAIS – NOTAS DE AULA

O acesso direto pode ser combinado com o acesso seqüencial. Com isso é possívelacessar diretamente um registro qualquer de um arquivo e, a partir deste, acessar seqüencialmente os demais.Um método de acesso mais sofisticado, que tem como base o acesso direto, é ochamado

acesso indexado

ou

acesso por chave

. Para este acesso, o arquivo devepossuir uma área de índice onde existam ponteiros para os diversos registros. Sempreque a aplicação desejar acessar um registro, deverá ser especificada uma chave atravésda qual o sistema pesquisará na área de índice o ponteiro correspondente. A partir destainformação é realizado um acesso direto ao registro desejado.

2.3.Operações de Entrada/Saída

O sistema de arquivos disponibiliza um conjunto de rotinas que permite às aplicaçõesrealizarem operações de E/S, como tradução de nomes em endereços, leitura e gravaçãode dados e criação/eliminação de arquivos. Na realidade, as rotinas de E/S têm comofunção disponibilizar uma interface simples e uniforme entre a aplicação e os diversosdispositivos. A figura 3 ilustra a comunicação entre aplicação e dispositivos de maneirasimplificada.Figura 3: Operações de entrada/saídaA tabela abaixo apresenta algumas destas rotinas encontradas na maioria dasimplementações de sistemas de arquivos:

5 de 21

 

SISTEMAS OPERACIONAIS – NOTAS DE AULA

Rotina

Descrição

CREATE

Criação de arquivo

OPEN

Abertura de um arquivo

READ

Leitura de um arquivo

WRITE

Gravação em um arquivo

CLOSE

Fechamento de um arquivo

DELETE

Eliminação de um arquivo

2.4.Atributos

Cada arquivo possui informações de controle denominadas

atributos

. Os atributosvariam dependendo do sistema de arquivos, porém alguns, como tamanho do arquivo,proteção, identificação do criador e data de criação estão presentes em quase todos ossistemas.Alguns atributos especificados na criação do arquivo não podem ser modificados emfunção de sua própria natureza, como organização e data/hora de criação. Outros sãoalterados pelo próprio sistema operacional, como tamanho e data/hora do último backuprealizado. Existem ainda atributos que podem ser modificados pelo próprio usuário, comoproteção do arquivo, tamanho máximo e senha de acesso. Na tabela abaixo, sãoapresentados os principais atributos presentes nos sistemas de arquivos:

 

Atributo

Descrição

Tamanho

Especifica o tamanho do arquivo

Proteção

Código de proteção de acesso

Proprietário

Identifica o criador do arquivo

Criação

Data e hora de criação do arquivo

Senha

Senha necessária para acessar o arquivó

Organização

Indica a organização lógica dos registros

Backup

Data e hora do último backup realizado

3.DIRETÓRIOS

A estrutura de

diretórios

é como o sistema organiza logicamente os diversos arquivoscontidos em um disco. O diretório é uma estrutura de dados que contém entradas

6 de 21

SISTEMAS OPERACIONAIS – NOTAS DE AULA

que, além do espaço utilizado no bloco com informação de controle, o algoritmo de buscade espaço livre sempre deve realizar uma pesquisa seqüencial na lista.Uma outra solução leva em consideração que blocos contíguos são geralmentealocados ou liberados simultaneamente. Podemos, desta forma, enxergar o disco comoum conjunto de segmentos de blocos livres. Com base neste conceito, é possível manter uma tabela com o endereço do primeiro bloco de cada segmento e o número de blocoslivres contíguos que se seguem. Esta técnica de gerência de espaço livre é conhecidacomo tabela de blocos livres (figura 8c). Figura 8: Alocação de espaço em disco

5.GERÊNCIA DE ALOCAÇÃO DE ESPAÇO EM DISCO

Da mesma forma que o sistema operacional gerencia os espaços livres no disco, agerência dos espaços alocados aos arquivos é de fundamental importância em umsistema de arquivos. A seguir as principais técnicas são apresentadas.

5.1.Alocação Contígua

A

(Parte 1 de 2)

Comentários