Capítulo 11 – Sistemas de Arquivos - GESTÃO - … · Sistemas Operacionais Prof. Esp. André...
Transcript of Capítulo 11 – Sistemas de Arquivos - GESTÃO - … · Sistemas Operacionais Prof. Esp. André...
1
Sistemas OperacionaisProf. Esp. André Luís BeliniBacharel em Sistemas de InformaçõesMBA em Gestão Estratégica de Negócios
Capítulo 11 – Sistemas de Arquivos
2
2
3
Introdução
• O armazenamento e a recuperação de informações sãoatividades essenciais para qualquer tipo de aplicação.
• Um processo deve ser capaz de ler e gravar de forma permanente grande volume de dados em dispositivoscomo fitas e discos, além de poder compartilhá-los com outros processos.
• A maneira pela qual o sistema operacional estrutura e organiza estas informações é por intermédio do sistemade arquivos.
4
Arquivo
• Um arquivo é constituído por informações logicamenterelacionadas. Essas informações podem representarinstruções ou dados.
• Um arquivo é um conjunto de registros definidos pelosistema de arquivos, tornando seu conceito abstrato egeneralista.
• Um arquivo é identificado por um nome, composto poruma sequência de caracteres.
• Em alguns S.O., a identificação de um arquivo écomposta por duas partes separadas por um ponto. Aparte após o ponto é a extensão do arquivo.
3
5
Organização de arquivos
• A organização de arquivos consiste em como os seusdados estão internamente armazenados. A estrutura dosdados pode variar em função do tipo de informaçãocontida no arquivo.
• No momento da criação de um arquivo, seu criador podedefinir qual a organização adotada. Esta organizaçãopode ser uma estrutura suportada pelo S.O. ou definidapela própria aplicação.
6
• A forma mais simples de organização de arquivos éatravés de uma sequência não estruturada de bytes(próximo slide). Nesse tipo de organização, o sistema dearquivos não impõe nenhuma estrutura lógica para osdados. 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 paracriar diferentes estruturas de dados, porém todo ocontrole de acesso ao arquivo é de inteiraresponsabilidade da aplicação.
4
7
Organização de Arquivos
Byte
(a) Organização não-estruturada
Ana Cláudia Teresa
Beatriz Camila Daniele Patrícia Tina Vanessa
Isabela Maria
Registro
(b) Organização Indexada
8
Métodos de Acesso
• Em função de como o arquivo está organizado, osistema de arquivos pode recuperar registros dediferentes maneiras.
• Inicialmente, nos primeiros S.O., estavam limitados àleitura dos registros na ordem em que eram gravados ea gravação de novos registros só era possível no final doarquivo.
• Esse tipo de acesso era chamando de sequencial, erapróprio da fita magnética.
5
9
Acesso direto
• Permite a leitura/gravação de um registro diretamente nasua posição. Este método é realizado através do número doregistro, que é a sua posição relativa ao início do arquivo.
• No acesso direto não existe restrição à ordem em que osregistros são lidos ou gravados.
• O acesso direto pode ser combinado com o acessosequencial. Com isso é possível acessar diretamente umregistro qualquer de um arquivo e, a partir deste, acessarsequencialmente os demais.
• Um método mais sofisticado, que tem como base o acessodireto, é o chamado acesso indexado ou acesso por chave.Para este acesso, o arquivo deve possuir uma área deíndice onde existam ponteiros para diversos registros.
10
Acesso direto
Registro0
Registro1
Registro2
Registron
Deslocamento dedois registros
6
11
Operações de Entrada / Saída
• O sistema de arquivos disponibiliza um conjunto derotinas que permite às aplicações realizarem operaçõesde E/S, como tradução de nomes em endereços, leiturae gravação de dados e criação/eliminação de arquivos.
Dispositivos
Rotinas de E/ S
Aplicação
Operações de entrada/saída
12
Atributos
• Cada arquivo possui informações denominadasatributos. Os atributos variam dependendo do sistemade arquivos, porém alguns, como tamanho do arquivo,proteção, identificação do criador e data da criação,estão presentes em quase todos os sistemas.
• Atributos como não podem ser modificados.
7
13
Diretórios
• A estrutura de diretórios é como o sistema organiza logicamenteos diversos arquivos contidos em um disco. O diretório é umaestrutura de dados que contém entradas associadas aosarquivos onde cada entrada armazena informações comolocalização física, nome, organização e demais atributos.
• Quando um arquivo é aberto, o S.O. procura a sua entrada naestrutura de diretórios, armazenando as informações sobreatributos e localização do arquivo em uma tabela mantida namemória principal.
• Essa tabela contém todos os arquivos abertos, sendofundamental para aumentar o desempenho das operações com arquivos.
• É importante que ao término do uso de arquivos estes sejamfechados, ou seja, que se libere o espaço na tabela de arquivosaberta.
14
Estrutura de diretórios de nível único
IdentificaçãoProteção
OrganizaçãoLocalização
Atributos
Diretórios Arquivos
8
15
Estrutura de diretórios com dois níveis
Usuário1
Usuário2
Usuário3
Usuárion
Arquivo1
Arquivo2
Arquivo3
Arquivo1
Arquivo1
Arquivo2
Arquivo3
User File Directory(UFD)
Arquivos
16
Estrutura de diretórios em árvore
Usuário1
Usuário2
Usuário3
Usuárion
Diretório Raiz
Diretório1
Diretório2
Arquivo1
Arquivo1
Diretório1
Arquivo1
Arquivo2
Arquivo1
Arquivo2
Arquivo1
Arquivo1
Arquivo2
9
17
Path de um arquivo
Disco C:/
IvanIvanCarlos Paulo
Teste Pessoal
Soma.exe
18
Gerência de Espaço Livre em Disco
• A criação de arquivos em disco exige que o S.O. tenha ocontrole de quais áreas ou blocos no disco estão livres.
• A forma mais simples de implementar uma estrutura deespaços livres é através de uma tabela denominadamapa de bits (bit map). Cada entrada na tabela éassociada a um bloco do disco representado por um bit,podendo assumir valor igual a 0 (bloco livre) ou 1 (blocoocupado).
• Uma segunda maneira de realizar este controle é comuma estrutura de lista encadeada de todos os blocoslivres do disco.
10
19
• Para que isto seja possível, cada bloco possui uma áreareservada para armazenamento do endereço dopróximo bloco. A partir do primeiro bloco livre é, então,possível o acesso sequencial aos demais de formaencadeada.
• Este esquema apresenta algumas restrições seconsiderarmos que, além do espaço utilizado no blococom informação de controle, o algoritmo de busca deespaço livre sempre deve realizar uma pesquisasequencial na lista.
• Uma outra solução leva em consideração que blocoscontíguos são geralmente alocados ou liberadossimultaneamente.
20
Alocação de espaço em disco
11001101
11100000
.
.
.
01110100
10000111
(a) Mapa de bits
Início
(b) Lista encadeada
Bloco Contador
4 2
10 1
25 20
13 7
50 5
© Tabela de blocos livres
11
21
Gerência de alocação de espaço em disco
Alocação contígua:
• A alocação contígua consiste em armazenar um arquivoem blocos sequencialmente dispostos no disco.
• O acesso a arquivos dispostos contiguamente no disco ébastante simples tanto para a forma sequencial quantopara a direta. Seu principal problema é a alocação deespaço livre para novos arquivos. Caso um arquivo devaser criado com determinado tamanho, é necessárioexistir uma quantidade suficiente de blocos contíguos nodisco para realizar a alocação.
22
Principais estratégias
• First-Fit: O primeiro segmento livre com tamanhosuficiente para alocar o arquivo é selecionado
• Best-Fit: seleciona o menor segmento livre disponívelcom tamanho suficiente para armazenar o arquivo.
• Worst-Fit: O maior segmento é alocado. Mais uma vez abusca em toda a lista se faz necessária, a menos queexista uma ordenação por tamanho.
12
23
Desfragmentação
Área de trabalho
24
Alocação Encadeada
• Na alocação encadeada, um arquivo pode ser organizadocomo um conjunto de blocos ligados logicamente no disco,independente da sua localização física. Cada bloco devepossuir um ponteiro para o bloco seguinte do arquivo, eassim sucessivamente.
Início
0 1 2
3 4 5
6 7 8
9 10 11
12 13 14
Arquivo Bloco
A.TXT 6
. . . . . .
. . . . . .
. . . . . .
. . . . . .
13
25
Alocação Indexada
• A alocação indexada soluciona uma das principaislimitações da alocação encadeada, que é aimpossibilidade do acesso direto aos blocos dosarquivos. O princípio desta técnica é manter os ponteirosde todos os blocos do arquivo em uma única estruturadenominada bloco de índice
• A alocação indexada, além de permitir o acesso diretoaos blocos do arquivo, não utiliza informações decontrole nos blocos de dados, como existente naalocação encadeada.
26
Alocação Indexada
0 1 2
3 4 5
6 7 8
9 10 11
12 13 14
Bloco deíndice
310117
14
27
Proteção de Acesso
• Qualquer sistema de arquivos deve possuir mecanismospróprios para proteger o acesso às informações gravadasem disco e fitas, além de possibilitar o compartilhamentode arquivos entre usuários.
• O tipo de acesso a arquivos é implementado mediante aconcessão ou não dos diferentes acessos que podem serrealizados, como leitura (read), gravação (write),execução (execute) e eliminação (delete).
28
Senha de acesso
• A associação de uma senha de acesso a um arquivo éum mecanismo bastante simples.
• Como cada arquivo possui apenas uma senha, o acessoé liberado ou não na sua totalidade. Isto significa que nãoé possível determinar quais tipos de operação podem ounão ser concedidas. Outra desvantagem deste método éa dificuldade de compartilhamento de arquivos, pois,além do dono do arquivo, todos os demais usuáriosteriam que conhecer a senha de acesso.
15
29
Grupos de usuários
• A proteção baseada em grupos de usuários éimplementada por diversos S.O.
• Este tipo de proteção tem como princípio a associação decada usuário do sistema a um grupo. Os grupos deusuários são organizados logicamente com o objetivo decompartilhar arquivos e diretórios – os usuários quedesejam compartilhar arquivos entre si devem pertencera um mesmo grupo.
30
Proteção por grupos de usuários
DADOS.TXT
Owner
Group
All
LeituraEscrita
ExecuçãoEliminação
Leitura
16
31
Lista de Controle de Acesso
• A lista de Controle de Acesso (ACL) consiste em umalista associada a cada arquivo, onde são especificadosquais os usuários e os tipos de acesso permitidos.
• Nesse caso, quando um usuário tenta acessar umarquivo, o S.O. verifica se a lista de controle autoriza aoperação desejada.
32
Lista de Controle de Acesso
Usuário: MaiaAcesso: Leitura + Escrita
Usuário: MachadoAcesso: Leitura
Usuário: MaiaAcesso: Leitura + Escrita + Execução
Usuário: MachadoAcesso: Eliminação
17
33
Implementação de Caches
• O acesso a disco é bastante lento se comparado aoacesso à memória principal, devido à arquitetura dosdiscos magnéticos. Este é o principal motivo dasoperações de E/S com discos serem um problema para odesempenho do sistema.
• Para minimizar esse problema, a maioria dos S.O.implementa a técnica de buffer cache.
• Neste esquema, o S.O. reserva uma área da memóriapara que se tornem disponíveis caches utilizados emoperações de acesso ao disco.
Prof. André Luís Belini E-mail: [email protected]
Blog: http://profandreluisbelini.wordpress.com/