Sistemas de arquivos Discos Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2017 1 / 34
Sumário 1 Introdução 2 Mecanismos de armazenamento 3 Estrutura dos discos 4 Organização dos discos 2 / 34
Introdução 1 Introdução 2 Mecanismos de armazenamento 3 Estrutura dos discos 4 Organização dos discos 3 / 34
Introdução Denições Arquivos Unidades lógicas de informação criadas por processos. (...) Também são uma espécie de espaço de endereçamento. [Tanenbaum and Machado Filho, 1995] Memória secundária Espaço de endereçamento em arquivos. Sistemas de arquivos Unidade do sistema operacional que trata de: Estruturar; Nomear; Acessar; Proteger; Implementar os arquivos. Persistência O armazenamento dos arquivos não pode ser afetado pelo término do processo. 4 / 34
Introdução Mecanismo do disco Figura 1.1: Movimento da cabeça do disco [Galvin et al., 2013] 5 / 34
Introdução Gerência de arquivos O sistema operacional é responsável por fazer a gerência de arquivos; Para conseguir realizar suas tarefas é necessário interagir com o mecanismo do hardware; Abstração: ao solicitar um arquivo, você não está preocupado onde ele está armazenado dentro do disco; Organização dos arquivos no sistema operacional: facilidade/diculdade de acesso. 6 / 34
Introdução Gerenciador de arquivos Quando salvamos o arquivo no disco, estamos executando as seguintes tarefas: 1 O programa pede ao sistema operacional para escrever o conteúdo de uma arquivo; 2 O sistema operacional repassa a tarefa para o gerenciador de arquivos (le manager), que é um subconjunto do SO; 3 O gerenciador de arquivos busca em uma tabela informações sobre o arquivo; 4 O gerenciador de arquivos busca em uma tabela a localização física do setor que deve conter o byte (cilindro, trilha, setor); 5 O gerenciador de arquivos instrui o processador de I/O (que libera a CPU de cuidar do processo de transferência) sobre a posição do byte na RAM, e onde ele deve ser colocado no disco; 6 O processador de I/O formata o dado apropriadamente, e decide o melhor momento de escrevê-lo no disco. 7 / 34
Mecanismos de armazenamento 1 Introdução 2 Mecanismos de armazenamento 3 Estrutura dos discos 4 Organização dos discos 8 / 34
Mecanismos de armazenamento Discos magnéticos [Galvin et al., 2013] Principal mecanismo de armazenamento: Os discos podem girar entre 60 e 250 vezes por segundo. Taxa de transferência Taxa de uxo de dados entre o disco e o computador; Tempo de posicionamento (random acess time) Tempo para mover o disco entre o cilindro desejado (tempo de seek) e o tempo para rotacionar a cabeça até encontrar o setor desejado (latência); Crash da cabeça Acontece quando a cabeça do disco faz contato com a superfície. 9 / 34
Mecanismos de armazenamento Outros barramentos Discos conectados via barramento: EIDE, ATA, SATA, USB, Fibre Channel, SCSI, SAS, Firewire; Comunicação entre o barramento e a controladora do disco; O tipo de barramento afeta bastante a taxa de transferência. Figura 2.1: Barramento SAS x SATA 1 1 http://www.serialstoragewire.org/articles/2007_07/itinsights24.html 10 / 34
Mecanismos de armazenamento Disco rígido HD Cilindros de metal com vários pratos; Unidades de medida importantes: Espaço de armazenamento; Taxa de rotação. Performance [Galvin et al., 2013]: Taxa de transferência 6 GB/s (teórica); Taxa efetiva 1GB/s (real); Tempo médio de seek Cálculo baseado em 1 3 Latência média 1 da latência. 2 das trilhas; 11 / 34
Mecanismos de armazenamento Tempo de acesso HD Latência de acesso = Tempo médio de acesso = tempo médio de seek + latência média [Galvin et al., 2013] Discos rápidos: 3ms + 2ms = 5ms Discos lentos: 9ms + 5.56ms = 14.56ms Tempo médio para I/O: Tempo médio de acesso (total de dados a transferir / taxa de transferência) + overhead da controladora RPM Tempo de seek (ms) Latência média (ms) 4.200 9,0 7,1 5.400 8,0 5,6 7.200 6,0 4,2 10.000 4,5 3,0 15.000 3,0 2,0 Tabela 2.1: Latência dos discos rígidos [Guide, 2016] 12 / 34
Mecanismos de armazenamento Latência A utilização de outros barramentos pode melhorar bastante a latência; Análise importante: custo x benefício; Discos maiores possuem um tempo maior de latência, pois o caminho que o cabeço tem que percorrer é maior. Barramento Tempo de seek (ms) Latência média (ms) 2,5 SAS 73GB 3,3 2 3,5 SAS 146GB 3,9 2 3,5 FC 146GB 3,9 2 Tabela 2.2: Latência em outros baramentos 2 2 http://savepoint.blog.br/postgresql-discos-cia/ 13 / 34
Mecanismos de armazenamento Discos do estado sólido SSD Memória não volátil utilizada como disco rígido; Diversos mecanismos de armazenamento, mas em geral diminui de tamanho com o tempo; O disco é tão rápido que o barramento pode ser um gargalo. Assim, podem ser conectados diretamente à interface PCI; Não possui latência rotacional ou tempo de seek; 14 / 34
Mecanismos de armazenamento SSD Tempo Figura 2.2: Tempo de escrita SSD [Xssist, 2016] 15 / 34
Mecanismos de armazenamento Figura 2.3: Fitas para armazenamento 3 16 / 34 Fitas magnéticas Primeiro formato de armazenamento; Armazena grandes quantidades de informação; Tempo de acesso 1000 vezes mais lento que o disco [Galvin et al., 2013]; Tipicamente utilizadas para backup.
Estrutura dos discos 1 Introdução 2 Mecanismos de armazenamento 3 Estrutura dos discos 4 Organização dos discos 17 / 34
Estrutura dos discos Organização da estrutura Os discos normalmente são endereçados como arrays unidimensionais que utilizam blocos lógicos; Os blocos são mapeados no disco sequencialmente; Organização em setores e trilhas; Tracks e bad sectors; É possível ainda adicionar discos; Comunicação por diferentes barramentos: SCISI, FC, etc. 18 / 34
Estrutura dos discos Conjuntos de discos É possível conectar os discos uns nos outros criando array de discos; Mecanismos para criação de array de discos [Galvin et al., 2013]: Portas de comunicação exclusiva; Memória, algum software de controle; RAID, hot spare, hot swap; Armazenamento compartilhado; Implementações especícas para o compartilhamento de recursos (replicação, cluster, etc.) Utilização de um ou mais mecanismos, além de combinações entre eles. 19 / 34
Estrutura dos discos Storage Area Network SAN Denição: um ou mais array de discos conectado(s); Facilidade de adicionar e remover dispositivos de armazenamento. Figura 3.1: Exemplo de SAN [Galvin et al., 2013] 20 / 34
Estrutura dos discos Network Attached Storage NAS Denição: um mecanismo de armazenamento conectado pela rede ao invés de um barramento local; Alguns protocolos: NFS, CIFS e iscsi. Figura 3.2: Exemplo de NAS [Galvin et al., 2013] 21 / 34
Organização dos discos 1 Introdução 2 Mecanismos de armazenamento 3 Estrutura dos discos 4 Organização dos discos 22 / 34
Organização dos discos Formatação Denição: dividir o disco em pedaços pequenos para leitura e escrita por parte da controladora do disco; Antes de armazenar os dados no disco, o sistema operacional precisa gravar seus próprios registros; Bloco Menor unidade de armazenamento; Particionar Dividir o disco em grupos de blocos, organizados dentro dos cilindros; Sistema de arquivos Algoritmo de organização dos blocos; Formatação lógica Construir o sistema de arquivos. Tratamento especial das partições do sistema operacional; O tamanho do bloco faz diferença. 23 / 34
Organização dos discos Utilização de espaço Figura 4.1: Utilização de espaço e taxa de transferência [Hirata, 2002] 24 / 34
Organização dos discos Boot Windows Figura 4.2: Mecanismo de boot do Windows [Galvin et al., 2013] 25 / 34
Organização dos discos Acessando os dados Também é parte importante pensar onde será carregado o sistema operacional; Partições especiais; O arquivo é identicado por uma série de atributos; Endereço lógico mapeado para endereço físico; Diferentes algoritmos de armazenamento/recuperação de endereços lógicos: sistemas de arquivos; Conceito de descritor de arquivo. 26 / 34
Organização dos discos Acesso ao arquivo Figura 4.3: Acesso ao arquivo utilizando inodes [Hirata, 2002] 27 / 34
Organização dos discos RAID Redundant Array of Inexpensive Disks RAID; Aumenta o tempo médio de falha; Diminui bastante o tempo médio de recuperação; O tempo médio de perda tem como base os dois fatores acima; objetivo principal: aumentar a capacidade de armazenamento e a segurança; 28 / 34
Organização dos discos RAID Implementações RAID 1 Mirroring ou shadowing: duplica o conteúdo nos vários discos; RAID 1 + 0 Stripped mirrors ou mirrored stripes (0+1) maior performance e conabilidade; RAID 4, 5 e 6 Paridade de bloco. Utiliza muito menos redundância. 29 / 34
Organização dos discos RAID Níveis Figura 4.4: Níveis de RAID [Galvin et al., 2013] 30 / 34
Organização dos discos RAID Striping Figura 4.5: Striping no RAID [Galvin et al., 2013] 31 / 34
Organização dos discos OBRIGADO!!! PERGUNTAS??? 32 / 34
Organização dos discos Galvin, P. B., Gagne, G., and Silberschatz, A. (2013). Operating system concepts. John Wiley & Sons, Inc. Guide, P. (2016). Latency. Disponível em: http://www.pcguide.com/ref/hdd/perf/perf/ spec/poslatency-c.html Acessado em 17/05/2016. Hirata, R. (2002). Otimizando servidores web de alta demanda. Master's thesis, UNICAMP. Tanenbaum, A. S. and Machado Filho, N. (1995). Sistemas operacionais modernos, volume 3. Prentice-Hall. Xssist (2016). [ssd] intel x25-e 64gb g1, 4kb random iops, iometer benchmark. 33 / 34
Organização dos discos Disponível em: http://www.xssist.com/blog/intel%20x25-e% 2064GB%20G1,%204KB%2070%2030%20RW%20Random%20IOPS, %20iometer%20benchmark.htm Acessado em 17/05/2016. 34 / 34