Sistemas Título da Apresentação Operacionais Sub--título (se necessário) Sub Prof.:Luiz Carlos R. Falchi Junior Sistema de arquivos • Dispositivos com tecnologias variadas: CD-ROM, DAT, HD, Floppy, ZIP; SCSI, IDE, ATAPI; sistemas de arquivos em rede. • Interfaces de acesso uniforme: visão homogênea dos dispositivos; transparência para as aplicações. Arquitetura da gerência de arquivos aplicação aplicação API de acesso a arquivos Sistema de arquivos lógicos Organização de arquivos Sistema de arquivos básico Controle de entrada/saída Dispositivos físicos Dispositivos e Drivers • Dispositivo físico: armazenamento dos dados estruturados em blocos de bytes (~ 512 bytes) CD-ROM, hard disk, floppy, fitas • Driver de dispositivo: acesso em baixo nível aos dispositivos gerencia interrupções e DMA mapeia acessos a trilhas/setores/cabeças em operações sobre portas de E/S do dispositivo Visão dos Dispositivos • Visão física: cabeças, trilhas, setores • Visão lógica: vetor de blocos idênticos • Função do sistema de arquivos básico 0 1 2 3 4 5 6 7 Visão física Visão lógica Sistema de arquivos básico • Aciona comandos de leitura/escrita nos drivers de dispositivos. • Mostra o dispositivo como um vetor de blocos de mesmo tamanho. Blocos lógicos entre 512 bytes e 8 Kbytes • Pode efetuar buffering e caching: Buffering - otimizar acessos reais em escrita. Caching - otimizar acessos reais em leitura. Buffering & caching processo processo buffer kernel cache disco disco buffering caching Escalonamento de disco • Acesso ao disco por vários processos acessam áreas distintas; dispositivo lento (disco); desempenho de I/O pode ser péssimo. • Acesso ao disco deve ser escalonado escolher ordem de atendimento dos pedidos de acesso aos discos; buscar o melhor desempenho. Exemplos de escalonamento Ruim Bom Organização de arquivos • Problema: Como armazenar diversos arquivos dentro de um único vetor de blocos lógicos? Cada arquivo também deve ser visto como uma seqüência de blocos lógicos. • Restrições: flexibilidade de alocação rapidez de acesso (seqüencial e aleatório) eficiência no uso do espaço real em disco Organização de arquivos readme.txt prova.doc aula.pdf Arquivos 0 1 2 0 1 2 3 4 5 6 7 0 1 2 3 4 ? 0 1 2 3 4 5 6 7 Vetor de blocos lógicos Dispositivo físico Técnicas de alocação • Formas de mapear os blocos dos arquivos em posições no vetor de blocos lógicos • Alocação contígua de arquivos • Alocação em listas encadeadas listas diretas ou listas indexadas • Alocação indexada Alocação contígua de arquivos • Cada arquivo ocupa um conjunto de blocos lógicos consecutivos. • Não há blocos vazios entre os blocos de um mesmo arquivo. • Para cada arquivo, o diretório informa seu bloco de início e o no de blocos. Alocação contígua arquivo 0 inicio #blocos readme.txt 010 003 prova.doc 002 008 Aula.pdf 017 005 1 2 3 4 5 6 7 Alocação contígua • Vantagens: Simplicidade de implementação. Rapidez de acesso aos arquivos: todos os blocos do arquivo estão próximos. Facilidade de acesso seqüencial e aleatório: seqüencial: basta ler os blocos consecutivos aleatório: posições internas podem ser facilmente calculadas a partir da posição do bloco inicial. Alocação contígua • Desvantagens: Pouca flexibilidade no crescimento dos arquivos. Tamanho máximo do arquivo deve ser conhecido no momento da alocação. Ocorrência de fragmentação externa. Necessidade de desfragmentação periódica. Fragmentação externa • Espaços vazios entre blocos de arquivos. • À medida que o sistema evolui: arquivos são criados e removidos mais espaços vazios aparecem. os espaços vazios ficam menores. Alocar novos arquivos torna-se difícil ! Evolução da fragmentação aloca aloca remove remove t aloca remove aloca Agora, como alocar um arquivo com 4 blocos ? Desfragmentação • Mover arquivos para reagrupar os fragmentos em espaços maiores • Visa permitir alocar arquivos maiores • Deve ser feita periodicamente • Uso de algoritmos para minimizar movimentação de arquivos (rapidez) Estratégias de desfragmentação Situação inicial Moveu 6 blocos Moveu 4 blocos Moveu 2 blocos Estratégias de alocação • First-fit: usar o primeiro espaço livre maior rapidez de alocação pouca preocupação com fragmentos • Best-fit: usar o menor espaço livre usar o melhor possível os espaços em disco fragmentos residuais são pequenos • Worst-fit: usar o maior espaço livre fragmentos residuais são maiores (mais úteis) Alocando um arquivo c/ 2 blocos Situação inicial First-fit Best-fit Worst-fit Alocação encadeada • Os arquivos são armazenados como listas de blocos cada bloco aponta para o próximo diretório aponta para o bloco inicial os blocos podem estar espalhados • Base de funcionamento da FAT sistema de arquivos Windows Alocação encadeada arquivo inicio #blocos readme.txt 010 003 prova.doc 002 008 Aula.pdf 017 005 Alocação encadeada • Vantagens não há fragmentação externa todo o disco pode ser usado tamanho dos arquivos pode ser mudado facilmente • Desvantagens acesso aleatório é mais demorado maior fragilidade em caso de problemas Alocação indexada • Baseada em tabelas de blocos um bloco especial guarda a tabela de blocos do arquivo: index-node (i-node) diretório aponta para os i-nodes blocos podem estar espalhados • Base de funcionamento do UNIX Alocação indexada arquivo inicio #blocos readme.txt 010 003 prova.doc 002 008 Aula.pdf 017 005 I-node Alocação indexada • Vantagens não há fragmentação externa todo o disco pode ser usado acesso rápido robustez em caso de problemas • Desvantagens gerência mais complexa espaço em disco perdido com os i-nodes Fragmentação interna • Arquivos são alocados em blocos: Os blocos têm tamanho fixo. Entre 512 bytes e 8 Kbytes. Um bloco não pode ser alocado parcialmente. • Se usarmos blocos de 4096 bytes: um arquivo de 5700 bytes ocupará 2 blocos. 2492 bytes serão perdidos no último bloco. • Em média, perde-se 1/2 bloco por arquivo. Tamanho dos blocos • A escolha do tamanho dos blocos é importante para a eficiência do sistema. • Blocos pequenos: menor perda por fragmentação interna mais blocos por arquivo: maior custo de gerência • Blocos grandes: maior perda por fragmentação interna menos blocos por arquivo: menor custo de gerência Unidade lógica e Física • Física – é a denominação de um hardware de armazenamento em memória de massa, como um disco rígido, um CD, Pendrive. Formatação Lógica e Física • Formatação Física Refere-se ao modo físico real como os dados são armazenados na mídia, sob o ponto de vista do computador. Geralmente um disco rígido já vem formatado fisicamente de fábrica e não há necessidade e nem é recomendável formatá-lo novamente. Caso seja necessário fazer alguma formatação física, recomenda-se usar o formatador físico do fabricante do disco rígido. Formatação Lógica e Física • Formatação Lógica Refere-se à visão do usuário sobre a forma como os dados são armazenados. Não tem uma correspondência um para um como as unidades físicas e é nomeada com uma letra, como: drive ‘D’, drive ‘C’. Uma unidade lógica pode se estender por várias unidades físicas. Por exemplo, dispositivos lógicos localizados em vários discos rígidos. Unidade lógica e Física Unidade Física Unidade Lógica Sistemas de Arquivos Windows • Para se utilizar um disco rígido, é necessário que ele tenha sido formatado fisicamente, sendo assim partimos para a formatação lógica que tem a função de criar partições no disco rígido. • As partições são chamadas de unidades lógicas e são estas partições lógicas que contem os sistemas de arquivos do sistema operacional. Por exemplo: FAT; NTFS. Sistemas de Arquivos Windows • Dados ( partes de programas ou dados propriamente ditos). Devem ser armazenados em um sistema de memória de massa (nome genérico para qualquer dispositivo capaz de armazenar dados para uso posterior) São armanezados em formas de arquivos e a maneira com que os arquivos são armazenados e manipulados varia de acordo com o sistema operacional. Sistemas de Arquivos Windows • Não é possível gravar dados num HD ou um disquete sem um sistema de arquivos. Estrutura que indica como os arquivos devem ser gravados e guardados em mídias; Determina o espaço utilizado no disco; Gerencia como partes de um arquivo podem ficar “espalhadas” no dispositivo de armazenamento; Determina como os arquivos podem ser gravados, copiados, alterados, nomeados e até apagados. Sistemas de Arquivos Windows • Características comuns Suportam nomes longos de arquivo (Fat32 - NTFS) (até 255 caracteres); Preservam letras maiúsculas e minúsculas e caracteres acentuados nos nomes de arquivos; Não são sensíveis à caixa. Sistemas de Arquivos Windows DOS Windows 98 Windows Me Windows NT Windows 2000 Windows XP Suporte a segurança de dados Suporte a compressão de dados Suporta arquivos individuais com mais de 4 Gb Auditoria Journaling FAT32 (MS-DOS 7 ou superior) NTFS Sistemas de Arquivos Windows • Fat - File Allocation Table (Tabela de Alocação de Arquivos). Fat 16 (1977) - Utilizado com a primeira Versão do Dos. • Funcionamento: A Fat indica em que cluster um arquivo começa, ou seja, onde esta o primeiro byte de um arquivo. Um cluster é formado por um ou mais setores físicos, geralmente em cada setor de 512 bytes. (depende do tamanho do disco). Sistemas de Arquivos Windows • Exemplo: Arquivo - 1KB Disco - clusters de 2KB • Resultado: Como um cluster pode ser ocupado por apenas um arquivo, no caso deste arquivo você estaria desperdiçando 1KB • Problema: Disperdício Sistemas de Arquivos Windows • Quando um arquivo é maior que o tamanho do cluster, ele tem que ser dividido em múltiplos pedaços. • Resultado: Quando for necessário acessar o arquivo aumentará o tempo de leitura. • Problema: Diminuindo a performance do disco. Sistemas de Arquivos Windows • Fat 32 (1996) Menos disperdício (diminuição do tamanho dos clusters); Permite que discos rígidos de até 2 terabytes sejam reconhecidos e acessados diretamente; Mais lento do que o Fat16. Limitação de tamanho de arquivos 4GB Sistemas de Arquivos Windows • A tabela abaixo ilustra o maior tamanho de partição e o menor tamanho de cluster disponível. Tamanho da partição Tamanho de Cluster do Fat 16 Tamanho de Cluster do Fat 32 32 MB 2 KB - 128 MB 2 KB - 256 MB 4 KB - 512 MB 8 KB 4 KB 1 GB 16 KB 4 KB 2 GB 32 KB 4 KB 3 GB – 7GB - 4 KB 8GB – 16 GB - 8 KB 16 GB – 32 GB - 16 KB Maior que 32 GB - 32 KB Sistemas de Arquivos Windows • NTFS - New Technology File System; • Funcionamento: A alocação de arquivos em um volume NTFS está intimamente ligada com a Tabela Mestra de Arquivos (MFT - Master File Table), um arquivo presente em toda partição NTFS. Sistemas de Arquivos Windows • Atributo Padrão de Informações Neste atributo estão contidas informações sobre quando o arquivo foi criado, modificado, ou acessado pela última vez, bem como os atributos de arquivos que já existiam no FAT, por exemplo, somente leitura (read-only) e arquivo escondido (hidden). • Atributo de Nome do Arquivo Como o próprio nome já sugere, este atributo armazena os nomes do arquivo, além do nome padrão de no máximo 255 caracteres, o NTFS armazena aqui o nome compatível com o MS-DOS (no formato 8.3, ou seja, 8 caracteres seguidos de um ponto e uma extensão composta por 3 caracteres). Sistemas de Arquivos Windows • Atributo de Dados Aqui é armazenado o conteúdo do arquivo: arquivos pequenos e diretórios podem caber totalmente neste atributo dentro da Tabela Mestra de Arquivos (melhorando a performance) mas na maioria dos casos apenas uma pequena parte do arquivo fica neste atributo - e um indicador é posto apontando para o restante dos dados localizados em outra parte do disco rígido (fora da MFT). • Atributo Descritor de Segurança Este atributo contém as configurações de segurança do arquivo. Sistemas de Arquivos Windows • Confiabilidade O NTFS foi criado para ser o mais confiável possível e necessitar do mínimo possível de manutenção ao sistema de arquivos. • Expansibilidade Um sistema de arquivos feito para servidores não pode se dar ao luxo de suportar apenas os discos rígidos mais comuns. Ao contrário do FAT, que somente suporta partições de 4Gb, o NTFS foi desenhado para suportar discos de até 16 exabytes (264 bytes). • Eficiência O FAT desperdiçava enormes quantidades de espaço em disco. Com o NTFS, esses desperdícios foram evitados ao máximo. Sistemas de Arquivos Windows • Permissionamento Existem dois tipos de objetos para os quais você pode dar permissão no NTFS: • contas de usuário • Grupos • Apesar das contas de usuários ou grupos possuírem um nome, o NTFS as referencia usando um identificador único para cada conta criada: o SID (Security Identifier). Por esse motivo, se você apagar uma conta de usuário e criar uma nova com exatamente o mesmo nome, esta não herdará as permissões da primeira. Sistemas de Arquivos Windows • Tolerância a Falhas Uma transação é executada em sua totalidade ou ela simplesmente não é executada: o responsável por esse mecanismo é o arquivo de metadados $LogFile, comumente chamado de Log de Transações. Quando o sistema volta depois de uma interrupção no serviço, o seguinte processo é executado: 1) O sistema analisa o log e verifica o que precisa ser corrigido no volume; 2) As transações marcadas como completas do final do log de transações até o último ponto de controle são refeitas; 3) Todas as transações não completadas desde o último ponto de controle são desfeitas. Sistemas de Arquivos Windows • Suporte a Compressão de dados Partições NTFS têm um avançado sistema de compressão de arquivos (que pode ser feita em arquivos, pastas ou partições) que permite economizar espaço em disco quando necessário. A compressão é realizada em tempo real e o usuário não nota diferença alguma após a conversão ser finalizada. Sistemas de Arquivos Windows • Para ativar a compressão de dados; você deve clicar com o botão da direita do mouse e escolher a opção Propriedades. Clique na opção Compactar disco para economizar espaço (quando for compactar uma partição) clique no botão Avançados > Compactar o conteúdo para economizar espaço e clique em OK. Sistemas de Arquivos Windows • Os arquivos e pastas compactados aparecerão na cor azul e você poderá utilizá-los normalmente. • A compressão dos arquivos não afeta a sua cópia para outros sistemas operacionais ou disquete: quando você copia um arquivo compactado, este é automaticamente descompactado durante o processo de cópia. Sistemas de Arquivos Windows • Cotas de Disco Uma das novidades mais esperadas do NTFS 5 foi justamente a de cotas de disco: com ela o administrador pode restringir a quantia de espaço em disco disponível para os usuários em cada volume. As cotas são por usuário. Sistemas de Arquivos Windows • Suporte a segurança de dados – Uma das principais vantagens da partição NTFS é o seu suporte à segurança de dados: • Exemplo: você pode impedir que um usuário acesse determinados arquivos, pastas ou até mesmo partições nos seus próprios computadores. Para isso você deve ter o WinNT, Win2000 ou WinXP Professional (o WinXP Home não permite isso). Sistemas de Arquivos Windows • Auditoria Partições NTFS tem uma vantagem adicional sobre a FAT32: ela permite a auditoria do usuário. Com isso, pode-se saber a que horas ele se iniciou o seu trabalho no Windows, o que ele fez, quais arquivos foram modificados, que programas foram executados, entre outras informações . Sistemas de Arquivos Windows • Journaling Journaling é um recurso muito importante para manter a integridade de arquivos quando o sistema operacional falha ou quando algum problema ocorre durante uma operação; Com ele o Windows armazena um log aonde são armazenadas todas as modificações realizadas pelo hard-disk. Assim, em caso de falhas o Windows consegue manter a integridade dos arquivos uma vez que ele tenha armazenado todas as informações necessárias para isso. • Com o journaling, o uso de partição NTFS minimiza o problema de arquivos corrompidos quando há algum problema no computador (falta de energia, por exemplo). Sistemas de Arquivos Windows • Convertendo FAT para NTFS O “NT” permite através do utilitário de linha de comando CONVERT.EXE converter partições FAT para NTFS, sem perder dados. • Para isto faça o seguinte: Efetue logon como Administrador; Selecione Iniciar|Prompt de comando; Irá aparecer uma janela com prompt de comando; Execute o comando "convert <unidade>: /fs:ntfs". • Reinicie o computador. Durante a inicialização do seu computador, o sistema irá converter a partição FAT para NTFS., Sistemas de Arquivos Windows • NTFS com compressão: só em emergências O uso de partições NTFS com compressão deve ser evitado ao máximo devido à sua lentidão e alto índice de uso da CPU. Embora em alguns testes específicos essa partição mostrou ser mais rápida do que as demais, em geral ela é muito mais lenta do que a FAT32 e NTFS sem compressão. Ela é recomendada APENAS para quem precisa de espaço em disco.