A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistema Operacionais Sistemas de Arquivos.

Apresentações semelhantes


Apresentação em tema: "Sistema Operacionais Sistemas de Arquivos."— Transcrição da apresentação:

1 Sistema Operacionais Sistemas de Arquivos

2 Sistema de Arquivos Não é possível gravar dados disco (HD, memory card, pen drive, CD) sem um sistema de arquivos, que é, basicamente, uma estrutura que indica como os arquivos devem ser gravados e guardados em mídias.

3 Sistema de Arquivos Através do sistema de arquivos, é que se determina o espaço utilizado no disco, além de ser o método que permite gerenciar como partes de um arquivo podem ficar "espalhadas" no dispositivo de armazenamento.

4 Sistema de Arquivos Um outro detalhe importante: é o sistema de arquivos que determina como arquivos podem ser gravados, copiados, alterados, nomeados e até apagados.

5 Sistema de Arquivos Ou seja, resumindo, toda e qualquer manipulação de dados numa mídia necessita de um sistema de arquivos para que essas ações sejam possíveis. Se não houver estrutura de armazenamento e manipulação é impossível gravar dados.

6 Introdução O sistema de arquivos é a parte mais visível do sistema operacional. Cria um recurso lógico a partir de recursos físicos através de uma interface coerente e simples, fácil de usar Mecanismo para armazenamento e acesso a dados e a programas

7 Duas partes básicas: Partição
Arquivos - armazenamento de dados e de programas Diretórios - organização e informações sobre arquivos     Partição permite - a partir do disco físico - criar discos lógicos

8 Objetivos do sistema de arquivos
Fornecer mecanismos para usuários manipular arquivos e diretórios Garantir a validade e coerência de dados Minimizar ou eliminar o risco de perda/alteração de dados Otimizar o acesso

9 Objetivos do sistema de arquivos
Fornecer suporte a operações de E/S a diferentes dispositivos Interface única para interface usuário de funções de E/S Suporte a vários usuários (multiprogramação) Uso compartilhado (proteção e acesso concorrente)

10 Requisitos mínimos: Ponto de Vista do Usuário
Cada usuário deve ser capaz de: Criar, apagar, ler e alterar arquivos Controlar as permissões de acesso a seus arquivos Estruturar o sistema de arquivos de forma a adequá-lo a suas necessidades específicas

11 Requisitos mínimos: Ponto de Vista do Usuário
Cada usuário deve ser capaz de: Transferir dados entre arquivos Realizar backup’s e recuperar arquivos em caso de problemas Nomear os arquivos de forma simbólica

12 Requisitos mínimos: Ponto de Vista do Sistema
Identificar e localizar um determinado arquivo Empregar diretório para descrever a localização de todos os arquivos e de seus atributos Gerenciar espaço físico do disco Alocar blocos livres a arquivos em criação/expansão Liberar blocos de arquivos removidos Mecanismos para localizar eficientemente blocos (setores) que compõem arquivos

13 Conceito de arquivo Menor unidade do sistema de arquivos
Espaço lógico de endereçamento contíguo Seqüência de bytes, de linhas, ou de registros Possui uma estrutura interna cuja interpretação depende do sistema operacional e do programa que o manipula Arquivos de dados - numérico, caractere, binário Programa - fonte, objeto, executável

14 Atributos de um arquivo
Informações sobre arquivos Nome: informação simbólica empregada pelo usuário para referenciar o arquivo Tipo: binário, texto, executável, caracter, bloco Localização: posição do arquivo em um determinado dispositivo E/S Tamanho: número de bytes que compõem o arquivo

15 Atributos são mantidos em uma estrutura a parte
Proteção: controla acesso de leitura, escrita e execução ao arquivo Hora e data de criação e identificação do usuário: informações destinadas a proteção, segurança e monitoração Atributos são mantidos em uma estrutura a parte Diretório

16 Operações básicas sobre arquivos
Arquivo é um tipo abstrato de dados sobre o qual se pode efetuar uma série de operações Criação (create) Escrita (write) e leitura (read) Reposicionamento em um ponto qualquer do arquivo (file seek) Remoção (delete) Abertura (open) e encerramento (close) Adicionalmente: renomeação (rename); appending, etc Geralmente correspondem a chamadas de sistema

17 Controle de acesso  Importante controlar o acesso aos arquivos devido a questões de segurança e de confidencialidade Objetivo é evitar acessos indevidos a arquivos Baseado na identificação dos usuários Sistema de autenticação padrão (login name + senha) Usuários possuem direitos de acessos

18 Solução típica: Lista de acesso e grupo  

19 Listas de acesso  Consiste em associar a cada arquivo e/ou diretório uma lista de acesso que determina que tipos de acessos são permitidos para cada usuário Maior inconveniente é o tamanho da lista Uma solução consiste em: Criar classes de usuários - e.g.: proprietário, grupo, universo Tipos de acessos - e.g: read, write, modify, execute

20 Exemplo: SISTEMAS UNIX
Cada objeto oferece 3 bits (rwx) para três domínios diferentes: owner, group e others Problema de flexibilidade Quando um usuário pertence a vários grupos ele é identificado por um grupo primário e o arquivo (/etc/groups) mantém todos os grupos a que ele pertence Exemplo: r w x r- - r paulo professor Mai 30 22:19 windbind.pdf 

21 Estrutura interna dos arquivos
Forma como os dados são dispostos em um arquivo Cada tipo de arquivo possui uma estrutura interna apropriada a sua finalidade Em geral a estrutura interna é transparente ao sistema operacional. Executáveis são organizados em segmentos de código e dados

22 Arquivos de imagens são organizados em termos de pixels
Alguns sistemas operacionais suportam nomes de arquivos onde o tipo é indicado e.g.: Windows (arquivos .doc, .pdf, .xls, .ppt, etc) 

23 Métodos de acesso Forma pela qual o conteúdo de um arquivo é acessado
Estrutura lógica de um arquivo em função da forma de acesso Conceito de registro: coleção de campos que mantém uma relação entre si Métodos elementares de acesso: Acesso seqüencial Acesso relativo

24 Acesso seqüencial  Acesso a um arquivo é feito através de primitivas (chamadas de sistema) do tipo read e write Cada chamada de sistema read retorna ao processo os dados seguintes àqueles que foram lidos na chamada anterior Método não adequado a todas aplicações e.g.: acesso e atualização a cadastros de funcionários

25 Acesso relativo  Provê uma chamada de sistema específica para indicar o ponto em que um arquivo deve ser lido/escrito   Implementado através da abstração de posição corrente no arquivo

26 Outros tipos de acesso  Os métodos seqüênciais e relativos não resolvem todos os tipos de acesso e.g.: localizar um registro a partir do contéudo Necessidades de métodos de acesso mais sofisticados, tais como seqüencial indexado, indexado, direto, hash, etc Normalmente implementados por programas específicos Baseados nos métodos de acesso seqüêncial e relativo

27 Implementação de arquivos
Arquivos são implementados através da criação, para cada arquivo no sistema, de uma estrutura de dados Descritor de arquivo é um registro que mantém Informações sobre o arquivo

28 Informações típicas (atributos):
Nome do arquivo Tamanho em bytes Data e hora da criação, do último acesso, da última modificação Identificação do usuário que criou o arquivo Listas de controle de acesso Local do disco físico onde o contéudo do arquivo foi colocado  

29 Alocação espaço em disco
Como alocar espaço em disco de forma que os arquivos sejam armazenados de forma eficiente e que permita acesso rápido Três métodos: Contigüo Encadeado Indexado

30

31 Alocação contígua  Arquivo é uma seqüência de blocos contíguos alocados no momento da criação Endereços no disco são lineares bloco lógico i e i+1 são armazenados fisicamente em seqüência Reduz a necessidade de seek já que blocos estão na mesma trilha No pior caso necessita apenas a troca de cilindro Arquivo é descrito através de uma entrada na forma: Bloco físico inicial Tamanho do arquivo em bloco

32 Alocação contígua

33 Problemas com alocação contígua
Problema 1: encontrar espaço para um novo arquivo Gera fragmentação externa Necessidade de compactação

34 Problema 2: determinar o espaço necessário a um arquivo
Arquivos tendem a crescer, e se não há espaço contíguo disponível? Aborta execução do programa com erro Recopia o programa para uma zona maior Pré-alocar um espaço máximo para o arquivo Fragmentação interna

35 Alocação encadeada Soluciona problemas da alocação contígua
Alocação é baseada em uma unidade de tamanho fixo (bloco) Arquivo é uma lista encadeada de blocos Cada bloco contém um ponteiro para o próximo bloco Arquivo é descrito em uma entrada na forma: Bloco inicial do arquivo Bloco final do arquivo ou tamanho do arquivo em blocos  

36 Alocação encadeada

37 Prós e contras da alocação encadeada
Elimina a fragmentação externa porém gera fragmentação interna Arquivos podem crescer indefinidamente já que não há uma relação física entre blocos físicos e lógicos O acesso a um bloco i implica em percorrer a lista encadeada - afeta o desempenho Adequado para acesso seqüencial a arquivos Espaço necessário no bloco para armazenamento de ponteiros e.g.: Para acessar 4 Gbytes necessita 232 ponteiros (4 bytes), ou seja, 0.78% de um setor de 512 bytes

38 FAT: variação de alocação encadeada
File Alocation Table (FAT) - esquema adotado pelo DOS Unidade de alocação é o cluster (conjunto de setores) Arquivo é formado por um conjunto de cluster FAT é uma tabela de encadeamento de clusters Uma entrada na FAT para cada cluster do disco (sistema de arquivos) Composta por um ponteiro (end. de um cluster) Arquivo é descrito por uma seqüência de entradas na FAT, cada entrada apontando para a próxima entrada

39 Alocação indexada  Busca resolver o problema de ponteiros espalhados pelo disco que a alocação encadeada provoca Mantém, por arquivo, um índice de blocos que o compõe O índice é mantido em um bloco Diretório possui um ponteiro para o bloco onde está o índice associado a um determinado arquivo

40 Alocação indexada 

41 Prós e contras da alocação indexada
Permite o acesso randômico a blocos independentes de sua posição relativa no arquivo Tamanho máximo do arquivo é limitado pela quantidade de entradas suportadas pelo bloco

42 Organização da cache de disco
Objetivo é manter na memória principal uma certa quantidade de blocos do disco Não adiciona nem elimina funcionalidades ao sistema de arquivos - melhora o desempenho do sistema de arquivos Normalmente a cache de disco é mantida em uma área da memória principal e é controlada pelo sistema operacional

43 Funcionamento da cache de disco
Em uma requisição de E/S verifica se o bloco está na cache Sim: realiza o acesso a partir dessa cópia em memória Não: realiza o acesso a partir do disco e carrega o bloco para a cache A modificação de valores é feito em blocos na cache Problema da perda de informações e da consistência do sistema de arquivos em caso de pane do sistema (falta de energia)

44 Gerência de espaço livre
Necessidade de alocar espaço livre do disco a arquivos Muitos sistemas operacionais vêm o disco como uma seqüência de blocos e não de setores A unidade de gerência do espaço físico passa a ser o bloco

45 Mapa de bits Forma simples de gerenciar o espaço em disco
A cada bloco do disco está associado um bit indicando se o bloco está livre ou ocupado

46 Lista de blocos livres Os blocos livres são organizados em uma lista
A lista é mantida no próprio disco Problema é o tamanho da lista Paliativo: A medida que o espaço em disco é ocupado a lista diminui de tamanho liberando espaço do disco

47 O conceito de diretório
Estrutura de dados que contém informações sobre arquivos Atributos Localização Propriedades Diretório é um arquivo do sistema operacional Fornece um mapeamento entre o nome de um arquivo e o arquivo propriamente dito Existem duas formas básicas para se organizar um diretório Linear Em árvore

48 Diretório linear Mais simples, o diretório corresponde a uma lista de todos os arquivos do disco Desvantagem: Problema de nomeação e agrupamento 2 ou mais usuários não podem ter arquivos com o mesmo nome

49 Diretório linear a dois níveis
Existência de um diretório principal que contém uma entrada para cada usuário cadastrado no sistema Entrada corresponde a um subdiretório

50 Diretório em árvore Generealização do conceito de subdiretórios permitindo aos usuários criar livremente os seus próprios subdiretórios

51 Sistema de Arquivos FAT16
FAT é a sigla para File Allocation Table (ou tabela de alocação de arquivos). Quando um arquivo é salvo num HD por exemplo, o FAT divide a área do disco em pequenos blocos. Assim, um arquivo pode (e ocupa) vários blocos, mas eles não precisam estar numa seqüência. Os blocos de determinados arquivos podem estar em várias posições diferentes. Daí a necessidade de uma tabela para indicar cada bloco.

52 Sistema de Arquivos FAT16
Ao trabalharmos com HDs (e outros discos) é necessário prepará-los, fazendo uma formatação física. Este processo, divide os discos em trilhas (uma espécie de caminho circular) e setores (subdivisões de cada trilha, com geralmente 512 bytes). Um conjunto de trilhas recebe o nome de cilindro.

53 A formatação física já vem de fábrica e pode ser alterada se o usuário quiser dividir o disco em partições. Depois deve- se fazer uma formatação lógica, que nada mais é do que "instalar" o sistema de arquivos no dispositivo de armazenamento.

54 O sistema de arquivos FAT não trabalha diretamente com cada setor, mas sim com um grupo de setores. Esse grupo é chamado de cluster (ou unidade de alocação). Se por exemplo, um disco com setor de 512 bytes, tiver 5 KB de tamanho, ele terá 10 setores e 5 clusters, se cada cluster ocupar dois setores.

55 Sendo assim, quando o FAT precisar acessar um determinado setor, primeiro ele descobre em qual cluster ele se encontra. É válido citar que tanto o FAT quanto o FAT32 trabalham de acordo com este princípio.

56 O sistema FAT exige que cada cluster do disco seja usado somente para um único arquivo, ou seja, num mesmo cluster, não pode haver informações sobre mais de um arquivo. Isso pode até parecer óbvio, mas gera um problema: desperdício.

57 Sistema de Arquivos FAT32
FAT32 - A versão OSR-2 do Windows 95 (conhecido também como Windows "B") trouxe um novo sistema de arquivos chamado de FAT32. Uma evolução natural da antiga FAT16, ela permite 32 bits de endereçamento de dados, permitindo clusters de apenas 4 kbytes, mesmo em partições maiores que 2 GB. O tamanho máximo de uma partição com FAT32 é de Gbytes, ou 2 Terabytes.

58 Comparação FAT16 x FAT32

59 Sistema de Arquivos VFAT
VFAT é a sigla para Virtual File Allocation Table. Trata-se de um sistema introduzido no Windows 95. Ele possui as mesmas características do sistema FAT, mas pode suportar nome de arquivos longos. O sistema de arquivos FAT só trabalha com nomes no estilo 8.3 (8 caracteres para o nome e 3 para a extensão, como "palavras.txt").Com o VFAT, é possível ter nomes de arquivos com até 256 caracteres mais 3 para a extensão. O sistema FAT32 herdou todas as características do VFAT.

60 Sistemas de arquivos NTFS
NTFS é a sigla para New Technology File System. Desde a época do DOS, a Microsoft vinha utilizando o sistema de arquivos FAT FAT apresenta algumas limitações, principalmente no quesito segurança. Microsoft lançou o sistema de arquivos NTFS, usado inicialmente em versões do Windows para servidores.

61 Este sistema de arquivos é usado pelo Windows NT
Este sistema de arquivos é usado pelo Windows NT. Nele, os clusters são de apenas 512 bytes, sendo o espaço em disco desperdiçado quase nenhum. Somente os Windows NT / 2000 / 2003 / 2008/ XP / Vista / 7, são capazes de entender este formato de arquivos, e a opção de formatar o HD em NTFS é dada durante a instalação

62 New Technology File System, conhecido pela sigla NTFS
sistema de arquivos HPFS (High Performance File System)

63 Confiança (fazendo-o ser tolerante a falhas)
Segurança Arrays RAID Rede

64 Sistema de Arquivos HPFS
O HPFS é o sistema de arquivos utilizado pelo OS/2, com recursos que se aproximam muito dos permitidos pelo NTFS como nome de arquivos com até 254 caracteres incluindo espaços, partições de até 512GB unidades de alocação de 512 bytes.

65 O OS/2 foi o sistema operacional concorrente do Windows 95 lançado pela IBM. É pouco conhecido, porém é tecnicamente muito superior ao Windows Embora muito eficiente este sistema de arquivos caiu em desuso juntamente com o OS/2, sendo suportado atualmente somente pelo Linux.

66 Sistemas de Arquivos no Linux
Todo sistema operacional precisa de um sistema de arquivos e o Linux não é exceção à regra, pois afinal de contas um sistema de arquivos serve para fornecer ao sistema operacional toda a uma estrutura para ler, gravar e executar arquivos. Dependendo do tipo de sistema de arquivos pode se ter determinados recursos.

67 Hoje em dia, o Linux tem uma gama muito grande de opções de sistema de arquivos: Desde o velho EXT2 até os atuais com suporte a Journaling, como o EXT3, ReiserFS e XFS.

68 História Os sistemas de arquivos utilizados atualmente no Linux são avançados e tem vários recursos, mas não foi sempre assim. Nas primeiras versões do kernel, o sistema de arquivos utilizado era o EXT. Extremamente frágil e com muitas limitações, como por exemplo, permissão para criação de partições de somente até 2GB e fácil desfragmentação. A partir do EXT2 a limitação de 2GB para partições caiu por terra, já que ele permite criação de partições de até 4Terabytes!

69 Sistema de Arquivos EXT2
Sem dúvida alguma o EXT2 foi uma evolução e tanto em relação ao EXT (suporte a regras de permissões bem definidas) Estrutura do EXT2: Boot Block Inodes Diretórios Links

70 Ao contrário do Windows, que trata dispositivos de hardware como tal, o Linux trata tudo como arquivo. Os dispositivos de hardware ficam todos no diretório /dev Outra característica é o recurso de montagem acessar partições de diversos tipos, como FAT, FAT32, iso9660 e outras

71 Um grande problema do EXT2 é a sua baixa tolerância a falhas em caso de quedas de energia ou desligamento inadequado, sendo talvez até mais frágil do que a FAT32 do Windows FSCK Journaling

72 Journaling limitações do EXT2
capacidade de acompanhar as mudanças que serão feitas nos arquivos antes de serem efetivadas Estes registros são gravados numa área separada do sistema de arquivos, chamada “Journal” ou “registros de LOG” FSCK

73 Nesta categoria de sistemas de arquivos existem algumas opções como EXT3, ReiserFS e JFS, sendo que os mais utilizados são o EXT3 e o ReiserFS

74 Sistemas de Arquivos ReiserFS
ReiserFS > seu desempenho blocos dinâmicos modo como ele armazena os registros metadata (estrutura de controle de um arquivo, ou seja, onde é especificado seu tamanho, permissões, data de criação, modificação, etc..) recuperar o arquivo, mas os dados contidos nele podem ficar truncados ou mesmo perdidos

75 Sistema de Arquivos EXT3
EXT3 é o sucessor natural do EXT2 sistema de arquivos para Linux mais utilizado atualmente suporte para tecnologia Journaling diferencia-se do modo de trabalho em Journaling do ReiserFS uma perda de dados do arquivo é reduzida

76 registro de LOG ser completo >> Journal é acessado com muito mais freqüência
desempenho em relação ao ReiserFS Journal se corromper

77 Sistema de Arquivos EXT4
EXT4 é o sucessor natural do EXT4 Sistema de arquivos lançado em 2006 Suporta sitemas de arquivos de 1 exabyte 1024 giga = 1 tera 1024 tera = 1 peta 1024 peta = 1 exa Começa a ser o sistema de arquivos padrão de muitas distros

78 Sistema de Arquivos EXT4
Checagem no Journaling, garantindo uma restauração mais rápida e a prova de falhas. Desfragmentação On-Line Checagem rápida do file-system Atrasar a Alocação dos Blocos Pré-alocação de Nível de Arquivo

79 Sistema de Arquivos EXT

80 Linux e NTFS sistemas de arquivos para Linux >> versatilidade, segurança e compatibilidade com outros sistemas de arquivos NTFS: Proprietário, fechado distribuições que vem com o kernel 2.6.x e superiores leitura e gravação (com restrições) Existem projetos como o Linux-NTFS / Captive / NTFS-3G

81 / Diretório raiz do sistema de arquivos
/                Diretório raiz do sistema de arquivos. é abaixo dele que se situam todos os outros. /bin           Arquivos executáveis de comandos essenciais. /boot         Arquivos estáticos necessários a inicialização do sistema. /etc            Arquivos de configuração do sistema. /home       Lugar onde ficam os diretórios locais dos usuários.

82 /lib             Arquivos de bibliotecas essenciais ao sistema, utilizadas pelos programas em /bin.
/mnt          Usualmente é o ponto de montagem de dispositivos na máquina. /proc          Informações do kernel e dos processos. /root           Diretório local do superusuário.

83 /sbin Arquivos essenciais ao sistema
/sbin          Arquivos essenciais ao sistema. Normalmente só o superusuário tem acesso a estes arquivos. /tmp          Diretório de arquivos temporários. /usr           Arquivos pertencentes aos usuários. (é a segunda maior hierarquia de diretórios presente no Linux, só perdendo para o diretório raiz). /var           Diretório onde são guardadas informações variáveis sobre o sistema


Carregar ppt "Sistema Operacionais Sistemas de Arquivos."

Apresentações semelhantes


Anúncios Google