SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

33
SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton WWW.DUTTON.COM.BR/ALUNO 1

Transcript of SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

Page 1: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 1

SISTEMAS OPERACIONAIS

Sistemas de ArquivosProf. André Dutton

Page 2: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 2

SISTEMAS DE ARQUIVO

Os sistemas de arquivos estruturam a informação guardada em uma unidade de armazenamento (HD, PenDrive e outros), podendo ser representada de forma textual ou graficamente utilizando um gerenciador de arquivos. A maioria dos sistemas operacionais possuem seu próprio sistema de arquivos.

Page 3: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 3

O SISTEMA DE ARQUIVOS.

O habitual é utilizar dispositivos de armazenamento de dados que permitem o acesso aos dados como uma corrente (cadeia) de blocos de um mesmo tamanho, às vezes chamados setores, usualmente de 512 bytes de largura. O software do sistema de arquivos é responsável pela organização destes setores em arquivos e diretórios e mantém um registo de que setores pertencem a que arquivos e quais não têm sido utilizados

Page 4: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 4

ESTRUTURA

A estrutura de diretórios costuma ser hierárquica, ramificada ou "em árvore", ainda que pode ser plana. Em alguns sistemas de arquivos os nomes de arquivos são estruturados, com sintaxes especiais para extensão de arquivos e números de versão. Em outros, os nomes de arquivos são simplesmente correntes de texto (ou strings de texto, em inglês) e os metadados da cada arquivo são alojados separadamente.

Page 5: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 5

SISTEMAS DE ARQUIVOS HIERÁRQUICOS Nos sistemas de arquivos hierárquicos, usualmente, declara-se a localização precisa de um arquivo com uma corrente de texto (string de texto, em inglês) chamada "rota" ou "caminho" — ou path em inglês —. A nomenclatura para rotas - ou caminho - varia ligeiramente de sistema em sistema, mas mantêm pelo geral uma mesma estrutura. Uma rota vem dada por uma sucessão de nomes de diretórios e subdiretórios, ordenados hierarquicamente de esquerda a direita e separados por algum caractere especial que costuma ser uma barra ('/') ou barra invertida ('\') e pode terminar no nome de um arquivo presente ao último ramo de diretórios especificada.

Page 6: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 6

CARACTERÍSTICAS DOS SISTEMAS DE ARQUIVOSSegurança ou permissões

listas de controle de acesso (ACLs)

Mecanismo para evitar a fragmentação

Capacidade de enlaces simbólicos (symbolic links) ou duros (hard links)

Integridade do sistema de arquivos (Journaling)

Suporte para arquivos dispersos

Suporte para quotas de discos

Suporte de crescimento do sistema de arquivos nativo

Page 7: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 7

Page 8: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 8

Arquivos de texto Windows por padrão são codificados em ASCII e não em Unicode.

Arquivos de texto Unix por padrão são codificados em Unicode e não em ASCII.

Page 9: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 9

TIPOS DE ARQUIVOS

Geralmente os Sistemas Operacionais suportam vários tipos de arquivos. O Unix e o Windows, por exemplo, suportam diretórios e arquivos organizados em sequência de bytes, sequência de registros e árvores, conhecidos como arquivos regulares. O Unix, em especial, suporta além dos tipos regulares, arquivos de dispositivo de caracteres e de blocos. Os arquivos de dispositivo de caracteres são utilizados para modelar dispositivos de E/S, tais como terminais, redes, impressoras. Já os arquivos de dispositivo de blocos dão suporte aos dispositivos de armazenamento em massa tais como discos e 'pen-drives'.

Page 10: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 10

NOMES DE ARQUIVOS

Nomear os arquivos é uma tarefa importante, pois será através do nome que um arquivo será encontrado no sistema de arquivos. Por exemplo, uma aplicação cria um arquivo chamado "dados.txt" e com esse nome outras aplicações poderão acessar este mesmo arquivo.

O tipo do arquivo pode ser indicado na extensão do mesmo, que é uma última parte escrita após um ponto(.) no nome do arquivo. Alguns sistemas operacionais utilizam essa extensão para automatizar as ações referentes aquele arquivo. Por exemplo, no Windows um arquivo com extensão '.txt' é interpretado como um documento de texto, e ao executá-lo o sistema já procura uma aplicação que trata este tipo de arquivo, como um editor de texto.

Page 11: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 11

OPERAÇÕES COM ARQUIVOS Criação: criação sem escrita de dado algum.

Destruição: remoção do arquivo para liberação do espaço.

Abertura: abertura do arquivo, para colocar na memória os atributos e a lista de endereços para tornar as operações posteriores mais rápidas.

Fechamento: remover as referências do arquivos da memória principal.

Leitura: abertura do arquivo para leitura do seu conteúdo.

Escrita: processo de escrita do arquivo. Geralmente a escrita começa a partir de onde estiver o ponteiro, caso esse ponteiro esteja no final do arquivo ou durante a escrita o final for atingido, o arquivo aumentará de tamanho.

Concatenação: forma de escrita que só permite adicionar dados no final do arquivo

Busca: chamada que coloca o ponteiro em uma posição específica do arquivo. Depois dessa chamada, dados podem ser lidos/escritos a partir daquela posição.

Ver atributos: essa chamada verifica certos atributos como permissões, por exemplo. Às vezes é necessário escrever em um arquivo, porém é necessário verificar se esse arquivo possui permissão de escrita.

Definir atributos: Serve para definir ou alterar os atributos de certos arquivos. Flags de proteção podem ser definidas com essa chamada.

Renomeação: Chamada de sistema para renomear um arquivo.

Page 12: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 12

IMPLEMENTAÇÃO DE ARQUIVOS A criação de arquivos exige que o sistema operacional tenha controle de quais áreas ou blocos no disco estão livres. É importante o controle de quais blocos de discos estão relacionados a quais arquivos. Este gerenciamento pode ser feito, principalmente de varias formas: Alocação contígua, alocação por lista encadeada, alocação indexada e alocação combinada .

Page 13: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 13

ALOCAÇÃO CONTÍGUA

É o esquema mais simples de alocar e armazenar os arquivos no disco. Consiste em armazenar um arquivo em blocos sequencialmente dispostos. Neste tipo, o sistema localiza um arquivo através do endereço do primeiro bloco e da sua extensão em blocos.

A alocação contígua é amplamente utilizada em CD-ROMS e em discos apenas para leitura. Neles o tamanho do arquivo é conhecido anteriormente e nunca vai ser alterado.

Page 14: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 14

ALOCAÇÃO POR LISTA ENCADEADA Alocação encadeada consiste em manter os arquivos, cada um, como uma lista encadeada de blocos de disco. Dessa forma uma parte de cada bloco é usada como ponteiro para o próximo bloco. O restante do bloco é usado para dados.

Uma vantagem desse tipo de alocação é que o tamanho do arquivo não precisa ser conhecido antes de sua criação, já que cada bloco terá um ponteiro para o próximo bloco. Assim o fato de o disco estar fragmentado não ocasiona problemas para a criação do arquivo.

O problema deste tipo de alocação é o tempo de leitura extremamente lento. O acesso deverá ser sempre sequencial. Assim para acessar um bloco intermediário será necessário percorrer o arquivo desde o inicio.

Page 15: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 15

ALOCAÇÃO INDEXADA

Alocação indexada é uma forma de resolver o problema do tempo de leitura da alocação por lista encadeada. Isso é feito por meio de uma tabela de endereços dos blocos ocupados pelo arquivo. Para cada novo bloco alocado, inclui-se mais um novo item na tabela.

Usando alocação indexada, o acesso aleatório fica mais fácil, pois não é necessário percorrer todos os blocos de forma sequencial, o endereço de cada bloco fica armazenado na tabela de alocação.

A desvantagem desta abordagem é que a tabela alocação deverá ser mantida na memória principal e dependendo do tamanho dos blocos do disco ocupará muito espaço de memória o tempo todo.

Page 16: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 16

ALOCAÇÃO COMBINADA

Outra abordagem é a alocação combinada, envolvendo o uso de blocos de índices e de encadeamento dos mesmos. Essa técnica combina a baixa ocupação de espaço em memória da técnica de lista encadeada e o bom desempenho da técnica de tabela de índices.

No método de alocação combinada é usado uma técnica chamada de níveis de indireção na indexação. Nesta técnica, parte de um bloco é utilizado para apontar diretamente blocos de dados, chamado de apontadores diretos, e outra parte é utilizada pode ser utilizada para apontadores para blocos, chamado de apontadores indiretos. Se usarmos outros níveis de apontadores, podemos estender essa mesma técnica para apontadores duplamente indiretos e apontadores triplamente indiretos.

Esta abordagem é tipicamente utilizada na implementação do sistema de arquivos Unix, chamada de I-nodes. Um I-node (index-node) são os metadados, armazenado em estrutura de dados própria, que relaciona atributos e os endereços dos blocos de um arquivo.

Page 17: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 17

VIRTUAL FILE SYSTEM

VFS é uma camada de abstração entre a aplicação e as implementações do sistema de arquivos. O VFS pode, por exemplo, ser usado para acessar dispositivos de armazenamento locais e de rede de forma transparente, sem que a aplicação cliente perceba a diferença.

O propósito principal de um VFS é permitir que as várias aplicações clientes possam acessar diversos tipos de sistemas de arquivos concretos de uma maneira uniforme.

Page 18: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 18

Mapa Conceitual ilustrando o conceito de múltiplos sistemas de arquivos

Page 19: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 19

CACHE DE SISTEMAS DE ARQUIVOS Uma cache de disco pode ser definida como parte da memória RAM ou memória buffer cache, utilizada para acelerar o acesso aos dados que estão sendo mais frequentemente requeridos. Para isso a cache de disco pode ser implementado de duas formas principais:

1 - Através da memória RAM inserida no próprio disco rígido.

2 - Utilização de parte da memória RAM.

Representação da localização da memória Buffer Cache:

Page 20: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 20

VANTAGENS E DESVANTAGENS DA BUFFER CACHE

1. Minimização do número de transferências entre o disco e a memória (cache hits);

2. O acesso a disco é tratado de uma forma uniforme.Existe apenas uma interface para acessar os dados de um disco;

3. Ajudar a manter a coerências dos blocos. Se dois processos tentam acessar o mesmo bloco a buffer cache ordena os acessos;

4. Torna o sistema mais vulnerável a acidentes de parada total (falta de energia, por exemplo) ("crashes");

5. Torna a transferência de grandes quantidades de informação mais lenta.

Page 21: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 21

BUFFERS

O número de buffers é configurável de acordo com a memória disponível e o tipo de utilização do sistema. Cada buffer é constituido de 2 partes:

1 - Zona que contém a cópia de um bloco do disco.O mesmo buffer pode guardar blocos de discos diferentes em instantes diferentes.

2 - Cabeçalho que contém informação de controle sobre esse buffer.

Page 22: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 22

Page 23: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 23

GERÊNCIA DE ESPAÇO LIVRE

O monitoramento de espaço livre em um disco é realizado principalmente através de dois diferentes métodos:lista encadeada e mapa de bits.Esses métodos são descritos abaixo.

Page 24: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 24

Page 25: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 25

CONCEITOS DE DIRETÓRIOS

O diretório é uma estrutura de dados que contém entradas associadas aos arquivos onde são armazenadas informações como localização física, nome, organização e demais atributos; Ou seja, um diretório (ou subdiretório) é simplesmente outro arquivo, mas é tratado de modo especial; Todos os diretórios têm um bit em cada entrada de diretório que define a entrada como um arquivo (0) ou um subdiretório (1); Chamadas ao sistema especiais criam e excluem diretórios; Quando um arquivo é aberto, o SO procura a sua entrada na estrutura de diretórios, armazenando as informações sobre atributos e localização do arquivo em uma tabela mantida na memória principal; Há, basicamente, 2 organizações possíveis p/ as entradas:

(a) cada entrada contém o nome do arquivo, seus atributos e os endereços no disco onde ele está armazenado;

(b) nome do arquivo e um ponteiro para outra estrutura de dados onde podem ser encontrados os atributos do arquivos.

Page 26: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 26

IMPLEMENTAÇÃO DE DIRETÓRIOS Independente da forma adotada para a implementação de arquivos, a principal função do diretório é mapear o nome ASCII do arquivo na informação necessária à localização do dado. Cada sistema operacional possui uma forma própria de entrada de diretório; Serão Apresentados os formatos dos sistemas operacionais MS-DOS e UNIX.

Page 27: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 27

DIRETÓRIOS NO MS-DOS

No MS-DOS, diretórios podem conter outros diretórios, o que leva a uma estrutura hierárquica para o sistema de arquivos; O MS-DOS utiliza uma entrada de diretórios de 32 bytes, contendo o nome do arquivo, seus atributos e o número do primeiro bloco do disco.

Page 28: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 28

SISTEMAS DE ARQUIVOS FAT

Desenvolvido em 1976, utilizado pela primeira vez no INTEL 8086

Limita o nome do arquivo em 14 caractere Nnnnnnn.xxx

Mais tarde FAT 12- 16 – e 32

Com o Windows 98 o FAT32 foi implantado permitindo nomes mais longos.

Page 29: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 29

Page 30: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 30

Page 31: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 31

SISTEMAS DE ARQUIVOS NTFSSegurança de controle de acessoPermite maiores partições no discoSistema de caracteres UnicodeCaminho de até 32767 caracteres.Suporta Case Sensitive, no entanto, essacaracterística é perdida devido à Win32API;Suporte à rede;Compressão de arquivos;Tamanho de blocos 512bytes até 64Kb;Baseado no conceito de transações tarefa é cumprida até o fim ou é abortada;Suporte à criptografia de arquivos driver EFS (encrypting file system); chave de 128 bits;

Page 32: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 32

Page 33: SISTEMAS OPERACIONAIS Sistemas de Arquivos Prof. André Dutton .

WWW.DUTTON.COM.BR/ALUNO 33

REFERENCIAS

http://pt.wikibooks.org/wiki/Sistemas_operacionais/Sistemas_de_arquivos#Conceitos_de_arquivos

http://www.ieeta.pt/~lau/Sosd9697/BufferCache.pdf

http://www.webopedia.com/TERM/D/disk_cache.html

http://www.superspeed.com/desktop/supercache.php

Morimoto, Carlos. Cache de Disco (ou Buffer de disco). Disponível em http://www.guiadohardware.net/termos/cache-de-disco-ou-buffer-de-disco.