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

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

Sistemas Operacionais Sistema Operacionais Sistemas de Arquivos.

Apresentações semelhantes


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

1 Sistemas Operacionais Sistema Operacionais Sistemas de Arquivos

2 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais Duas partes básicas: –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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais Requisitos mínimos: Ponto de Vista do Usuário Cada usuário deve ser capaz de: Transferir dados entre arquivos Realizar backups e recuperar arquivos em caso de problemas Nomear os arquivos de forma simbólica

12 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais –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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais Solução típica: –Lista de acesso e grupo

19 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais

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 Sistemas Operacionais Alocação contígua

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

34 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais Alocação encadeada

37 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais Alocação indexada

41 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais Diretório em árvore Generealização do conceito de subdiretórios permitindo aos usuários criar livremente os seus próprios subdiretórios

51 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 2048 Gbytes, ou 2 Terabytes.

58 Sistemas Operacionais Comparação FAT16 x FAT32

59 Sistemas Operacionais 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 Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais New Technology File System, conhecido pela sigla NTFS sistema de arquivos HPFS (High Performance File System)

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

64 Sistemas Operacionais 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 Sistemas Operacionais O OS/2 foi o sistema operacional concorrente do Windows 95 lançado pela IBM. É pouco conhecido, porém é tecnicamente muito superior ao Windows 95. Embora muito eficiente este sistema de arquivos caiu em desuso juntamente com o OS/2, sendo suportado atualmente somente pelo Linux.

66 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais 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 Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais registro de LOG ser completo >> Journal é acessado com muito mais freqüência desempenho em relação ao ReiserFS Journal se corromper

77 Sistemas Operacionais 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 Sistemas Operacionais 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 Sistemas Operacionais Sistema de Arquivos EXT EXT1992 EXT21993 EXT32001 EXT42006

80 Sistemas Operacionais 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 Sistemas Operacionais / 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 Sistemas Operacionais /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 Sistemas Operacionais /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 "Sistemas Operacionais Sistema Operacionais Sistemas de Arquivos."

Apresentações semelhantes


Anúncios Google