Sie sind auf Seite 1von 21

SISTEMAS OPERACIONAIS NOTAS DE AULA

GERNCIA DO SISTEMA DE ARQUIVOS

NDICE:

1. Introduo 2. Arquivos 3. Diretrios 4. Gerncia de Espao Livre em Disco 5. Gerncia de Alocao de Espao em Disco 6. Proteo de Acesso 7. Compresso de Dados 8. Implementao de Caches 9. Bibliografia 10. Lista de Exerccios

1 de 21

SISTEMAS OPERACIONAIS NOTAS DE AULA

1.

INTRODUO
O armazenamento e a recuperao de informaes uma atividade essencial para qualquer tipo de aplicao. Um processo deve ser capaz de ler e gravar de forma permanente grande volume de dados em dispositivos como fitas e discos, alm de poder compartilh-los com outros processos. A maneira pela qual o sistema operacional estrutura e organiza estas informaes atravs da implementao de arquivos. Os arquivos so gerenciados pelo sistema operacional de maneira a facilitar o acesso dos usurios ao seu contedo. A parte do sistema responsvel por essa gerncia denominada sistema de arquivos. O sistema de arquivos a parte mais visvel de um sistema operacional, pois a manipulao de arquivos uma atividade freqentemente realizada pelos usurios, devendo sempre ocorrer de maneira uniforme, independente dos diferentes dispositivos de armazenamento.

2. ARQUIVOS
Um arquivo constitudo por informaes logicamente relacionadas. Estas informaes podem representar instrues ou dados. Um arquivo executvel, por exemplo, contm instrues compreendidas pelo processador, enquanto um arquivo de dados pode ser estruturado livremente como um arquivo texto ou de forma mais rgida como um banco de dados relacional. Na realidade, um arquivo um conjunto de registros definidos pelo sistema de arquivos, tornando seu conceito abstrato e generalista. A partir dessa definio, o contedo do arquivo pode ser manipulado seguindo conceitos preestabelecidos. Os arquivos so armazenados pelo sistema operacional em diferentes dispositivos fsicos, como fitas magnticas, discos magnticos e discos pticos. O tipo de dispositivo no qual o arquivo armazenado deve ser isolado pelo sistema operacional, de forma que exista uma independncia entre os arquivos a serem manipulados e o meio de armazenamento. Um arquivo identificado por um nome, composto por uma seqncia de caracteres. Em alguns sistemas de arquivos feita distino entre caracteres alfabticos maisculos e minsculos. Regras como extenso mxima do nome e quais so os caracteres vlidos tambm podem variar. Em alguns sistemas operacionais, a identificao de um arquivo composta por duas partes separadas com um ponto. A parte aps o ponto denominada extenso do arquivo e tem como finalidade identificar o contedo do arquivo. Assim possvel convencionar

2 de 21

SISTEMAS OPERACIONAIS NOTAS DE AULA

que uma extenso TXT identifica um arquivo texto, enquanto EXE indica um arquivo executvel. Na tabela abaixo, so apresentadas algumas extenses de arquivos:
Extenso ARQUIVO. BAS ARQUIVO.COB ARQUIVO.EXE ARQUIVO.OBJ ARQUIVO.TXT ARQUIVO.PAS Descrio Arquivo fonte em BASIC Arquivo fonte em COBOL Arquivo executvel Arquivo objeto Arquivo texto Arquivo fonte em PASCAL

2.1.

Organizao de Arquivos A organizao de arquivos consiste em como os seus dados esto internamente

armazenados. A estrutura dos dados pode variar em funo do tipo de informao contida no arquivo. Arquivos texto possuem propsitos completamente distintos de arquivos executveis, conseqentemente, estruturas diferentes podem adequar-se melhor a um tipo do que a outro. No momento da criao de um arquivo, seu criador pode definir qual a organizao adotada. Esta organizao pode ser uma estrutura suportada pelo sistema operacional ou definida pela prpria aplicao. A forma mais simples de organizao de arquivos atravs de uma seqncia noestruturada de bytes (fig.1a). Neste tipo de organizao, o sistema de arquivos no impe nenhuma estrutura lgica para os dados. A aplicao deve definir toda a organizao, estando livre para estabelecer seus prprios critrios. A grande vantagem deste modelo a flexibilidade para criar diferentes estruturas de dados, porm todo o controle de acesso ao arquivo de inteira responsabilidade da aplicao. Alguns sistemas operacionais possuem diferentes organizaes de arquivos. Neste caso, cada arquivo criado deve seguir um modelo suportado pelo sistema de arquivos. As organizaes mais conhecidas e implementadas so a seqencial, relativa e indexada (fig. 1b). Nestes tipos de organizao, podemos visualizar um arquivo como um conjunto de registros. Os registros podem ser classificados em registros de tamanho fixo, quando possurem sempre o mesmo tamanho, ou registros de tamanho varivel.

3 de 21

SISTEMAS OPERACIONAIS NOTAS DE AULA

Figura 1: Organizao de arquivos 2.2. Mtodos de Acesso Em funo 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 magnticas. Com isso, o acesso era restrito a leitura dos registros na ordem em que eram gravados, e a gravao de novos registros s era possvel no final do arquivo. Este tipo de acesso, chamado de acesso seqencial, era prprio da fita magntica, que, como meio de armazenamento, possua esta limitao. Com o advento dos discos magnticos, foi possvel a introduo de mtodos de acesso mais eficientes. O primeiro a surgir foi o acesso direto, que permite a leitura/gravao de um registro diretamente na sua posio. Este mtodo realizado atravs do nmero do registro, que a sua posio relativa ao incio do arquivo. No acesso direto no existe restrio ordem em que os registros so lidos ou gravados, sendo sempre necessria a especificao do nmero do registro. importante notar que o acesso direto somente possvel quando o arquivo definido com registros de tamanho fixo.

Figura 2: Acesso direto

4 de 21

SISTEMAS OPERACIONAIS NOTAS DE AULA

O acesso direto pode ser combinado com o acesso seqencial. Com isso possvel acessar diretamente um registro qualquer de um arquivo e, a partir deste, acessar seqencialmente os demais. Um mtodo de acesso mais sofisticado, que tem como base o acesso direto, o chamado acesso indexado ou acesso por chave. Para este acesso, o arquivo deve possuir uma rea de ndice onde existam ponteiros para os diversos registros. Sempre que a aplicao desejar acessar um registro, dever ser especificada uma chave atravs da qual o sistema pesquisar na rea de ndice o ponteiro correspondente. A partir desta informao realizado um acesso direto ao registro desejado. 2.3. Operaes de Entrada/Sada O sistema de arquivos disponibiliza um conjunto de rotinas que permite s aplicaes realizarem operaes de E/S, como traduo de nomes em endereos, leitura e gravao de dados e criao/eliminao de arquivos. Na realidade, as rotinas de E/S tm como funo disponibilizar uma interface simples e uniforme entre a aplicao e os diversos dispositivos. A figura 3 ilustra a comunicao entre aplicao e dispositivos de maneira simplificada.

Figura 3: Operaes de entrada/sada A tabela abaixo apresenta algumas destas rotinas encontradas na maioria das implementaes de sistemas de arquivos:

5 de 21

SISTEMAS OPERACIONAIS NOTAS DE AULA

Rotina CREATE OPEN READ WRITE CLOSE DELETE

Descrio Criao de arquivo Abertura de um arquivo Leitura de um arquivo Gravao em um arquivo Fechamento de um arquivo Eliminao de um arquivo

2.4.

Atributos Cada arquivo possui informaes de controle denominadas atributos. Os atributos

variam dependendo do sistema de arquivos, porm alguns, como tamanho do arquivo, proteo, identificao do criador e data de criao esto presentes em quase todos os sistemas. Alguns atributos especificados na criao do arquivo no podem ser modificados em funo de sua prpria natureza, como organizao e data/hora de criao. Outros so alterados pelo prprio sistema operacional, como tamanho e data/hora do ltimo backup realizado. Existem ainda atributos que podem ser modificados pelo prprio usurio, como proteo do arquivo, tamanho mximo e senha de acesso. Na tabela abaixo, so apresentados os principais atributos presentes nos sistemas de arquivos:
Atributos Tamanho Proteo Proprietrio Criao Senha Organizao Backup Descrio Especifica o tamanho do arquivo Cdigo de proteo de acesso Identifica o criador do arquivo Data e hora de criao do arquivo Senha necessria para acessar o arquivo Indica a organizao lgica dos registros Data e hora do ltimo backup realizado

3. DIRETRIOS
A estrutura de diretrios como o sistema organiza logicamente os diversos arquivos contidos em um disco. O diretrio uma estrutura de dados que contm entradas
6 de 21

SISTEMAS OPERACIONAIS NOTAS DE AULA

associadas aos arquivos onde cada entrada armazena informaes como localizao fsica, nome, organizao e demais atributos. Quando um arquivo aberto, o sistema operacional procura a sua entrada na estrutura de diretrios, armazenando as informaes sobre atributos e localizao do arquivo em uma tabela mantida na memria principal. Esta tabela contm todos os arquivos abertos, sendo fundamental para aumentar o desempenho das operaes com arquivos. importante que ao trmino do uso de arquivos, este seja fechado, ou seja, que se libere o espao na tabela de arquivos abertos. A implementao mais simples de uma estrutura de diretrios chamado de nvel nico (single-level directory). Neste caso, somente existe um nico diretrio contendo todos os arquivos do disco. Este modelo bastante limitado, j que no permite que usurios criem arquivos com o mesmo nome, o que ocasionaria um conflito no acesso aos arquivos.

Figura 4: Estrutura de diretrios de nvel nico Como o sistema de nvel nico bastante limitado, uma evoluo do modelo foi a implementao de uma estrutura onde para cada usurio existiria um diretrio particular denominado User File Directory (UFD). Com esta implementao, cada usurio passa a poder criar arquivos com qualquer nome, sem a preocupao de conhecer os demais arquivos do disco. Para que o sistema possa localizar arquivos nessa estrutura, deve haver um nvel de diretrio adicional para controlar os diretrios individuais dos usurios. Este nvel,

7 de 21

SISTEMAS OPERACIONAIS NOTAS DE AULA

denominado Master File Directory (MFD), indexado pelo nome do usurio, onde cada entrada aponta para o diretrio pessoal.

Figura 5: Estrutura de diretrios com dois nveis A estrutura de diretrios com dois nveis anloga a uma estrutura de dados em rvore, onde o MFD a raiz, os galhos so os UFD e os arquivos so as folhas. Neste tipo de estrutura, quando se referencia um arquivo, necessrio especificar, alm do seu nome, o diretrio onde se localiza. Esta referncia chamada de path (caminho). Como exemplo, caso o usurio PAULO necessite acessar um arquivo prprio chamado DOCUMENTO.TXT, este pode ser referenciado como /PAULO/DOCUMENTO.TXT. Cada sistema de arquivos possui sua prpria sintaxe para especificao de diretrios e arquivos. Sob o ponto de vista do usurio, a organizao dos seus arquivos em um nico diretrio no permite uma organizao adequada. A extenso do modelo de dois nveis para um de mltiplos nveis permitiu que os arquivos fossem logicamente melhor organizados. Este novo modelo, chamado estrutura de diretrios em rvore (treestructured directory), adotado pela maioria dos sistemas.

8 de 21

SISTEMAS OPERACIONAIS NOTAS DE AULA

Figura 6: Estrutura de diretrios em rvore Na estrutura em rvore, cada usurio pode criar diversos nveis de diretrios, tambm chamados de subdiretrios. Cada diretrio pode conter arquivos ou outros diretrios. O nmero de nveis de uma estrutura em rvore dependente do sistema de arquivos de cada sistema operacional. No OpenVMS so possveis oito nveis de diretrios. Um arquivo, nesta estrutura em rvore, pode ser especificado unicamente atravs de um path absoluto, descrevendo todos os diretrios percorridos a partir da raiz (MFD) at o diretrio no qual o arquivo est ligado. Na figura 7, o path absoluto do arquivo SOMA.EXE /PAULO/PROGRAMAS. Na maioria dos sistemas, os diretrios tambm so tratados como arquivos, possuindo identificao e atributos, como proteo, identificador do criador e data de criao.

9 de 21

SISTEMAS OPERACIONAIS NOTAS DE AULA

Figura 7: Path de um arquivo

4. GERNCIA DE ESPAO LIVRE EM DISCO


A criao de arquivos em disco exige que o sistema operacional tenha o controle de quais reas ou blocos no disco esto livres. Este controle realizado utilizando-se alguma estrutura de dados que armazena informaes que possibilitam ao sistema de arquivos gerenciar o espao livre do disco. Nesta estrutura, geralmente uma lista ou tabela, possvel identificar blocos livres que podero ser alocados a um novo arquivo. Neste caso, o espao removido da estrutura para que no seja reutilizado. No momento em que um arquivo eliminado, todos os seus blocos so liberados para a lista de espaos livres. A forma mais simples de implementar uma estrutura de espaos livres atravs de uma tabela denominada mapa de bits (bit map). Cada entrada na tabela associada a um bloco do disco representado por um bit, podendo assumir valor igual a 0 (indicando bloco livre) ou 1 (indicando bloco alocado). Na figura 8a, podemos observar um exemplo desta implementao que apresenta como principal problema um excessivo gasto de memria, j que para cada bloco do disco deve existir uma entrada na tabela. Uma segunda maneira de realizar este controle com uma estrutura de lista encadeada de todos os blocos livres do disco. Para que isto seja possvel, cada bloco possui uma rea reservada para armazenamento do endereo do prximo bloco. A partir do primeiro bloco livre , ento, possvel o acesso seqencial aos demais de forma encadeada (figura 8b). Este esquema apresenta algumas restries se considerarmos
10 de 21

SISTEMAS OPERACIONAIS NOTAS DE AULA

que, alm do espao utilizado no bloco com informao de controle, o algoritmo de busca de espao livre sempre deve realizar uma pesquisa seqencial na lista. Uma outra soluo leva em considerao que blocos contguos so geralmente alocados ou liberados simultaneamente. Podemos, desta forma, enxergar o disco como um conjunto de segmentos de blocos livres. Com base neste conceito, possvel manter uma tabela com o endereo do primeiro bloco de cada segmento e o nmero de blocos livres contguos que se seguem. Esta tcnica de gerncia de espao livre conhecida como tabela de blocos livres (figura 8c).

Figura 8: Alocao de espao em disco

5. GERNCIA DE ALOCAO DE ESPAO EM DISCO

Da mesma forma que o sistema operacional gerencia os espaos livres no disco, a gerncia dos espaos alocados aos arquivos de fundamental importncia em um sistema de arquivos. A seguir as principais tcnicas so apresentadas.

5.1.

Alocao Contgua A alocao contgua consiste em armazenar um arquivo em blocos seqencialmente

dispostos no disco. Neste tipo de alocao, o sistema localiza um arquivo atravs do endereo do primeiro bloco e da sua extenso em blocos.

11 de 21

SISTEMAS OPERACIONAIS NOTAS DE AULA

Figura 9: Alocao contgua

O acesso a arquivos dispostos contiguamente no disco bastante simples tanto para a forma seqencial quanto para a direta. Seu principal problema a alocao de espao livre para novos arquivos. Caso um arquivo deva ser criado com determinado tamanho, necessrio existir uma quantidade suficiente de blocos contguos no disco para realizar a alocao. Para este tipo de alocao, podemos enxergar o disco como um grande vetor, onde os elementos podem ser considerados segmentos com tamanhos diferentes de blocos contguos. Estes segmentos esto dispostos alternadamente entre segmentos ocupados (blocos alocados) e segmentos livres (blocos livres). No momento em que o sistema operacional deseja alocar espao para armazenar um novo arquivo, pode existir mais de um segmento livre disponvel com o tamanho exigido. Neste caso, necessrio que alguma estratgia de alocao seja adotada para selecionar qual o segmento na lista de blocos livres deve ser escolhido. Analisaremos a seguir as principais estratgias: First-fit Neste caso, o primeiro segmento livre com tamanho suficiente para alocar o arquivo selecionado. A busca na lista seqencial, sendo interrompida to logo se localize um segmento com tamanho adequado. Best-fit

12 de 21

SISTEMAS OPERACIONAIS NOTAS DE AULA

A alocao best-fit seleciona o menor segmento livre disponvel com tamanho suficiente para armazenar o arquivo. A busca em toda lista se faz necessria para a seleo do segmento, a no ser que a lista esteja ordenada por tamanho. Worst-fit Neste caso, o maior segmento alocado. Mais uma vez a busca em toda a lista se faz necessria, a menos que exista uma ordenao por tamanho. Independente da estratgia utilizada, a alocao contgua apresenta um problema chamado fragmentao dos espaos livres. Como os arquivos so criados e eliminados freqentemente, os segmentos livres vo se fragmentando em pequenos pedaos por todo o disco. O problema pode tornar-se crtico quando um disco possui blocos livres disponveis, porm no existe um segmento contguo em que o arquivo possa ser alocado. O problema da fragmentao pode ser contornado atravs de rotinas que reorganizem todos os arquivos no disco de maneira que s exista um nico segmento de blocos livres. Este procedimento, denominado desfragmentao, geralmente utiliza uma rea de trabalho no prprio disco ou em fita magntica. Existe um grande consumo de tempo neste tipo de operao. importante tambm ressaltar que a desfragmentao um procedimento com efeito temporrio e deve, portanto, ser realizada periodicamente.

Figura 10: Desfragmentao Podemos concluir que a alocao contgua apresenta alguns inconvenientes, sendo o principal problema a determinao do espao em disco necessrio a um arquivo. Nem sempre, no momento da criao de um arquivo, possvel determinar qual o seu tamanho em definitivo, podendo posteriormente existir a necessidade de extenso. Por esta operao ser complexa na alocao contgua, a pr-alocao de espao uma soluo que, apesar de resolver o problema, pode ocasionar que parte do espao alocado permanea ocioso por um longo perodo de tempo.

13 de 21

SISTEMAS OPERACIONAIS NOTAS DE AULA

5.2.

Alocao Encadeada Na alocao encadeada, um arquivo pode ser organizado como um conjunto de

blocos ligados logicamente no disco, independente da sua localizao fsica. Cada bloco deve possuir um ponteiro para o bloco seguinte do arquivo e assim sucessivamente.

Figura 11: Alocao encadeada A fragmentao dos espaos livres, apresentada anteriormente, no ocasiona nenhum problema na alocao encadeada, pois os blocos livres alocados para um arquivo no precisam necessariamente estar contguos. O que ocorre neste mtodo a fragmentao de arquivos, que a quebra do arquivo em diversos pedaos denominados extents. A fragmentao resulta no aumento do tempo de acesso aos arquivos, pois o mecanismo de leitura/gravao do disco deve se deslocar diversas vezes sobre sua superfcie para acessar cada extent (excessivo tempo de seek). Para otimizar o tempo das operaes de E/S neste tipo de sistema, importante que o disco seja periodicamente desfragmentado. Apesar de ter propsitos diferentes, o procedimento de desfragmentao idntico ao j apresentado na alocao contgua. A alocao encadeada s permite que se realize acesso seqencial aos blocos dos arquivos. Isto constitui uma das principais desvantagens desta tcnica, j que no possvel o acesso direto aos blocos. Alm disso, essa tcnica desperdia espao nos blocos com o armazenamento de ponteiros. 5.3. Alocao Indexada A alocao indexada soluciona uma das principais limitaes da alocao encadeada, que a impossibilidade do acesso direto aos blocos dos arquivos. O princpio

14 de 21

SISTEMAS OPERACIONAIS NOTAS DE AULA

desta tcnica manter os ponteiros de todos os blocos do arquivo em uma nica estrutura denominada bloco de ndice. A alocao indexada, alm de permitir o acesso direto aos blocos do arquivo, no utiliza informaes de controle nos blocos de dados, como existente na alocao encadeada.

Figura 12: Alocao indexada

6. PROTEO DE ACESSO

Considerando que os meios de armazenamento so compartilhados entre diversos usurios, de fundamental importncia que mecanismos de proteo sejam implementados para garantir a proteo individual de arquivos e diretrios. Qualquer sistema de arquivos deve possuir mecanismos prprios para proteger o acesso s informaes gravadas em discos e fitas, alm de possibilitar o compartilhamento de arquivos entre usurios, quando desejado. Em geral, o tipo de acesso a arquivos implementado mediante a concesso ou no dos diferentes acessos que podem ser realizados, como leitura (read), gravao (write), execuo (execute) e eliminao (delete). O acesso de leitura est relacionado com qualquer tipo de operao em que o arquivo possa ser visualizado, como a exibio do seu contedo, edio atravs de um editor de textos ou at mesmo a cpia para criao de um novo arquivo. O acesso de gravao est relacionado alterao no contedo do arquivo, como incluso ou alterao de registros. O acesso de execuo s tem sentido quando associado a arquivos executveis ou arquivos de comandos, indicando o direito de execuo do arquivo. Finalmente, o acesso de eliminao expressa a permisso para eliminao do arquivo.
15 de 21

SISTEMAS OPERACIONAIS NOTAS DE AULA

O controle de acesso operaes realizadas com diretrios possui diferenas em relao s operaes com arquivos. Controle da criao/eliminao de arquivos nos diretrios, visualizao do seu contedo e eliminao do prprio diretrio so operaes que tambm devem ser protegidas. Existem diferentes mecanismos e nveis de proteo, cada qual com suas vantagens e desvantagens para cada tipo de sistema, um modelo mais adequado do que outro. A seguir temos trs diferentes mecanismos de proteo, presentes na maioria dos sistemas de arquivos.

6.1.

Senha de Acesso A associao de uma senha de acesso a um arquivo um princpio bastante simples.

O controle de acesso se resume ao usurio ter o conhecimento da senha e, conseqentemente, ter a liberao do acesso ao arquivo concedida pelo sistema. Como cada arquivo possui apenas uma senha, o acesso liberado ou no na sua totalidade. Isso significa que no possvel determinar quais tipos de operao podem ou no ser concedidas. Outra desvantagem deste mtodo a dificuldade de compartilhamento de arquivos, pois, alm do dono do arquivo, todos os demais usurios teriam que conhecer a senha de acesso. 6.2. Grupos de Usurio A proteo baseada em grupos de usurios implementada por diversos sistemas operacionais. Este tipo de proteo tem como princpio a associao de cada usurio do sistema a um grupo. Os grupos de usurios so organizados logicamente com o objetivo de compartilhar arquivos e diretrios os usurios que desejam compartilhar arquivos entre si devem pertencer a um mesmo grupo. Esse mecanismo implementa trs nveis de proteo ao arquivo: owner (dono), group (grupo) e all (todos). Na criao do arquivo, o usurio especifica se o arquivo deve ser acessado somente pelo seu criador, pelos usurios do grupo ao qual ele pertence ou por todos os usurios do sistema. Nessa especificao necessrio associar o tipo de acesso (leitura, escrita, execuo e eliminao) aos trs nveis de proteo. Vejamos um exemplo na figura 13, onde a proteo do arquivo DADOS.TXT libera completamente o acesso para o dono, permite somente o compartilhamento para leitura dentro do grupo e no libera qualquer tipo de acesso para os demais usurios do sistema. Em geral, somente o dono ou usurios privilegiados que podem modificar a proteo dos arquivos.

16 de 21

SISTEMAS OPERACIONAIS NOTAS DE AULA

Figura 13: Proteo por grupos de usurios 6.3. Lista de Controle de Acesso A Lista de Controle de Acesso (Access Control List ACL) consiste em uma lista associada a cada arquivo, onde so especificados quais os usurios e os tipos de acesso permitidos. Nesse caso, quando um usurio tenta acessar um arquivo, o sistema operacional verifica se a lista de controle autoriza a operao desejada. O tamanho dessa estrutura de dados pode ser bastante extenso se considerarmos que um arquivo pode ter seu acesso compartilhado por diversos usurios. Alm deste fato, existe um overhead adicional, se comparado com o mecanismo de proteo por grupo de usurios, devido pesquisa seqencial que o sistema dever realizar na lista sempre que um acesso for solicitado. Em determinados sistemas de arquivos possvel encontrar tanto o mecanismo de proteo por grupos de usurios quanto o de lista de controle de acesso, oferecendo, desta forma, uma maior flexibilidade ao mecanismo de proteo de arquivos e diretrios.

Figura 14: Lista de controle de acessos

7. COMPRESSO DE DADOS
Compresso de dados uma tcnica utilizada para economizar espao nos arquivos. Os trs mtodos de compresso de dados nas bases de dados so: caracteres repetidos, termos repetidos e compresso de front end. Os registros com caracteres repetidos podem ser abreviados. Por exemplo, dados em um campo de tamanho fixo podem incluir um pequeno nome seguido de vrios
17 de 21

SISTEMAS OPERACIONAIS NOTAS DE AULA

caracteres vazios; esse campo pode ser substitudo por outro de tamanho varivel e um cdigo especial para indicar quantos caracteres vazios foram truncados. Digamos que a cadeia de caracteres ADAMS tenha o seguinte aspecto quando armazenada em um campo de 15 caracteres (v representa um caractere vazio): ADAMSvvvvvvvvvv Ao ser codificada, ela toma o seguinte aspecto: ADAMSv10 Nmeros com muitos zeros tambm podem ser encurtados por meio de um cdigo para indicar quantos zeros devem ser acrescentados para recompor o nmero original. Por exemplo, se a entrada original for 300000000 a entrada codificada ser: 3#8 Termos repetidos tambm podem ser comprimidos. Um mtodo possvel utiliza smbolos para representar as palavras mais comuns em uma base de dados. Por exemplo, em uma base de dados de alunos universitrios, palavras como aluno, curso, professor, sala de aula, nota e departamento podem ser substitudos por um nico caractere. Evidentemente, o sistema deve ser capaz de distinguir entre dados comprimidos e no comprimidos. A compresso de front-end utilizada nos sistema de gerenciamento de bases de dados para a compresso de ndices. Por exemplo, uma base de dados de alunos onde os nomes so relacionados em ordem alfabtica poderia ser comprimida conforme a tabela abaixo:
Lista original Smith, Betty Smith, Gino Smith, Donald Smithberger, John Smithbren, Ali Smithco, Rachel Smither, Kevin Smithers, Renny Snyder, Katherine Lista comprimida Smith, Betty 7Gino 7Donald 5berger, John 6ren, Ali 5co, Rachel 5er, Kevin 7s, Renny 1nyder, Katherine

A compresso de dados implica uma compensao: ganha-se espao de armazenagem mas perde-se tempo de processamento. No se esquea: para todos os mtodos de compresso de dados, o sistema deve ser capaz de distinguir entre dados comprimidos e dados originais.

8. IMPLEMENTAO DE CACHES
18 de 21

SISTEMAS OPERACIONAIS NOTAS DE AULA

O acesso a disco bastante lento se comparado ao acesso memria principal, devido arquitetura dos discos magnticos. Este o principal motivo das operaes de E/S com discos serem um problema para o desempenho do sistema. Com o objetivo de minimizar este problema, a maioria dos sistemas de arquivos implementa uma tcnica denominada buffer cache. Neste esquema, o sistema operacional reserva uma rea da memria para que se tornem disponveis cache utilizados em operaes de acesso ao disco. Quando uma operao realizada, seja leitura ou gravao, o sistema verifica se a informao desejada se encontra no buffer cache. Em caso positivo, no necessrio o acesso ao disco. Caso o bloco requisitado no se encontre no cache, a operao de E/S realizada e o cache atualizado. Como existe uma limitao no tamanho do cache, cada sistema adota polticas para substituio de blocos como a FIFO ou a LRU. Apesar de esta implementao melhorar o desempenho do sistema, aspectos de segurana devem ser levados em considerao. No caso de blocos de dados permanecerem por um longo perodo de tempo na memria principal, a ocorrncia de problemas de energia pode ocasionar a perda de tarefas j realizadas e consideradas j salvas em disco. Existem duas maneiras distintas de tratar este problema. No primeiro caso, o sistema operacional possui uma rotina que executa periodicamente em um intervalo de tempo, atualizando em disco todos os blocos modificados do cache. Uma segunda alternativa , toda vez que um bloco do cache for modificado, que seja realizada imediatamente uma atualizao no disco (write-through caches). Analisando comparativamente as duas tcnicas, podemos concluir que a primeira implica menor quantidade de operaes de E/S, porm o risco de perda de dados maior. Apesar de tal probabilidade ser pequena, pode ocorrer que dados atualizados de um arquivo e ainda no cache sejam perdidos no caso de faltar energia. Isto j no aconteceria nos caches do tipo write-through, em funo do seu prprio funcionamento, porm o aumento considervel nas operaes de E/S tornam este mtodo menos eficiente. Atualmente, a maioria dos sistemas operacionais utiliza a primeira tcnica de otimizao.

9.

BIBLIOGRAFIA

MACHADO, F. B., MAIA, L. P., Arquitetura de Sistemas Operacionais, 3a edio, Ed. LTC, 2002, Rio de Janeiro

19 de 21

SISTEMAS OPERACIONAIS NOTAS DE AULA

TANENBAUM, A., Sistemas Operacionais Modernos, 5a edio, Ed. Makron Books, 2003, Rio de Janeiro FLYNN, Ida M., McHOES, Ann M., Introduo aos Sistemas Operacionais, 1a edio, Ed. Pioneira Thomson Learning, 2002, So Paulo

20 de 21

SISTEMAS OPERACIONAIS NOTAS DE AULA

10. LISTA DE EXERCCIOS 1. 2. 3. 4. 5. 6.


O que um arquivo? Como arquivos podem ser organizados? Diferencie os mtodos de acesso a registros seqencial, direto e indexado. Qual a funo das system calls de E/S? Quais as diferentes formas de implementao de uma estrutura de diretrio? Descreva as vantagens e desvantagens das tcnicas para gerncia de espaos livres.

7.

O que alocao contgua de blocos e quais benefcios a desfragmentao pode proporcionar quando esta tcnica utilizada?

8.

Descreva as vantagens e desvantagens das tcnicas de alocao encadeada e indexada na gerncia de alocao de espao em disco?

9.

Quais os tipos de proteo de acesso a arquivos existentes e quais suas principais vantagens?

10.

O que a tcnica denominada buffer cache?

21 de 21

Das könnte Ihnen auch gefallen