Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Sistemas operacionais, Notas de estudo de Informática

cursos de informatica

Tipologia: Notas de estudo

2012

Compartilhado em 02/04/2012

sidnei-ferreira-3
sidnei-ferreira-3 🇧🇷

1 documento

1 / 13

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
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 represe
ntar 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 conceitospre
estabelecidos.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 dearmazen
amento.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
pf3
pf4
pf5
pf8
pf9
pfa
pfd

Pré-visualização parcial do texto

Baixe Sistemas operacionais e outras Notas de estudo em PDF para Informática, somente na Docsity!

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

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 represe ntar 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 conceitospre estabelecidos.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 dearmazen amento.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 arquiv

ARQUIVO DESCRIÇÃO

ARQUIVO BAS ARQUIVO fonteem basic ARQUIVO COB ARQUIVO fonteem cobol ARQUIVO EXE ARQUIVO executavel ARQUIVO OBJ ARQUIVO objeto ARQUIVO TXT ARQUIVO texto ARQUIVO PAS 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 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 dasimplem entações de sistemas de arquivos:

5 de 21

SISTEMAS OPERACIONAIS – NOTAS DE AULA

Rotina (^) Descrição

CREATE Criação de arquivo

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

alocação contígua

consiste em armazenar um arquivo em blocos seqüencialmentedispostos no

disco. Neste tipo de alocação, o sistema localiza um arquivo através

doendereço do primeiro bloco e da sua extensão em blocos.

11 de 21

SISTEMAS OPERACIONAIS – NOTAS DE AULA

Figura 9: Alocação contíguaO acesso a arquivos dispostos contiguamente no

disco é bastante simples tanto paraa forma seqüencial quanto para a direta.

Seu principal problema é a alocação de espaçolivre para novos arquivos.

Caso um arquivo deva ser criado com determinado tamanho, énecessário

existir uma quantidade suficiente de blocos contíguos no disco para realizar

aalocação.Para este tipo de alocação, podemos enxergar o disco como um

grande vetor, ondeos elementos podem ser considerados segmentos com

tamanhos diferentes de blocoscontíguos. Estes segmentos estão dispostos

alternadamente entre segmentos ocupados(blocos alocados) e segmentos

livres (blocos livres). No momento em que o sistemaoperacional deseja

alocar espaço para armazenar um novo arquivo, pode existir mais deum

segmento livre disponível com o tamanho exigido. Neste caso, é necessário

quealguma estratégia de alocação seja adotada para selecionar qual

o segmento na lista deblocos livres deve ser escolhido. Analisaremos a

seguir as principais estratégias:

First-fitNeste caso, o primeiro segmento livre com tamanho suficiente para

alocar oarquivo é selecionado. A busca na lista é seqüencial, sendo

interrompida tão logose localize um segmento com tamanho adequado.

Best-fit

12 de 21

SISTEMAS OPERACIONAIS – NOTAS DE AULA

representa um caractere vazio):

ADAMSvvvvvvvvvv

Ao ser codificada, ela toma o seguinte aspecto:

ADAMSv

Números com muitos zeros também podem ser encurtados por meio de um

códigopara indicar quantos zeros devem ser acrescentados para recompor o

número original.Por exemplo, se a entrada original for

a entrada codificada será:

Termos repetidos

também podem ser comprimidos. Um método possível utilizasímbolos para

representar as palavras mais comuns em uma base de dados. Por exemplo,

em uma base de dados de alunos universitários, palavras como aluno,

curso,professor, sala de aula, nota e departamento podem ser substituídos por

um

únicocaractere. Evidentemente, o sistema deve ser capaz de distinguir entre

dadoscomprimidos e não comprimidos.A

compressão de front-end

é utilizada nos sistema de gerenciamento de bases dedados para a

compressão de índices. Por exemplo, uma base de dados de alunos ondeos

nomes são relacionados em ordem alfabética poderia ser comprimida

conforme atabela abaixo

Lista origina

Lista comprimida

Smith, Bett Smith, Bett Smith, Gin 7Gin Smith, Donal 7Donald Smithberger, John 5berger, John Smithbren, Ali 6ren, Ali Smithco, Rache 5co, Rachel Smither, Kevi 5er, Kevin

Smithers, Renn

7s, Renn

Snyder, Katherin 1nyder, Katherine

A compressão de dados implica uma compensação: ganha-se espaço dearmazenagem mas perde-se tempo de processamento. Não se esqueça: para todos osmétodos de compressão

de dados, o sistema deve ser capaz de distinguir entre dadoscomprimidos e dados originais. 8.IMPLEMENTAÇÃO DE CACHES

18 de 21 SISTEMAS OPERACIONAIS – NOTAS DE AULA O acesso a disco é bastante lento se comparado ao acesso à memória principal,devido à arquitetura dos discos magnéticos. Este é o principal motivo das operações deE/S com discos serem um problema para o desempenho do sistema.Com o objetivo de minimizar este problema, a maioria dos sistemas de arquivosimplementa uma técnica denominada

Como arquivos podem ser organizados?

Diferencie os métodos de acesso a registros seqüencial,

direto e indexado.

Qual a função das system calls de E/S?

Quais as diferentes formas de implementação de

uma estrutura de diretório?

Descreva as vantagens e desvantagens das técnicas para ge

rência deespaços livres.

O que é alocação contígua de blocos e quais benefícios a

desfragmentação pode proporcionar quando esta técnica

é utilizada?

Descreva as vantagens e desvantagens das técnicas de

alocação encadeadae indexada na gerência de alocação de

espaço em disco?

Quais os tipos de proteção de acesso a arquivos existentes

e quais suas principais vantagens?

O que é a técnica denominada buffer cache?

21 de 21