600 likes | 716 Views
Sistemas Operacionais. 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;
E N D
Sistemas Operacionais 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.
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 Arquitetura da gerência de arquivos aplicação aplicação
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
0 1 2 3 4 5 6 7 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 Visão física Visão lógica
Sistema de arquivos básico • Aciona comandos de leitura/escritanos drivers de dispositivos. • Mostra o dispositivo como um vetorde blocos de mesmo tamanho. • Pode efetuar buffering e caching: • Buffering - otimizar acessos reais em escrita. • Caching - otimizar acessos reais em leitura. • Blocos lógicos entre 512 bytes e 8 Kbytes
Buffering & caching processo processo buffer cache kernel 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 dentrode um único vetor de blocos lógicos? • Cada arquivo também deve ser visto comouma 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
readme.txt prova.doc aula.pdf 0 1 2 0 1 2 3 4 5 6 7 0 1 2 3 4 Organização de arquivos Arquivos ? 0 1 2 3 4 5 6 7 Vetor deblocoslógicos Dispositivofí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.
readme.txt 010 003 prova.doc 002 008 Aula.pdf 017 005 0 1 2 3 4 5 6 7 Alocação contígua arquivo inicio #blocos
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 remove aloca aloca t 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çãoencadeada • 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
readme.txt 010 003 prova.doc 002 008 Aula.pdf 017 005 Alocação encadeada arquivo inicio #blocos
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çãoindexada • 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 • 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.
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.