CCT-UFCA/Ciência da Computação/Sistemas Operacionais/Gerenciamento de Dados: Desempenho e Arquivos
Aparência
Sistemas de Arquivos: Conceitos e Estruturas
[editar | editar código]Os sistemas de arquivos organizam e armazenam dados em dispositivos de armazenamento, como discos rígidos ou SSDs.
- Conceitos Básicos:
- Um sistema de arquivos é uma estrutura lógica que permite organizar e armazenar dados de maneira estruturada para fácil acesso e gerenciamento.
- Ele usa diretórios para organizar arquivos em uma hierarquia.
- Estruturas Típicas:
- Blocos: Unidades de armazenamento físico.
- Inodes: Estruturas que armazenam metadados, como permissões, tamanho e localização do arquivo.
- Superbloco: Contém informações sobre o sistema de arquivos em geral.
Exemplo: O NTFS (Windows) utiliza uma tabela mestre de arquivos (MFT) para rastrear informações sobre os arquivos, enquanto o ext4 (Linux) usa inodes.
Organização e Gerenciamento de Arquivos
[editar | editar código]O sistema operacional organiza e gerencia arquivos para garantir um acesso estruturado e seguro.
- Operações Básicas:
- Criar: Aloca espaço para o arquivo e atualiza as tabelas de diretórios.
- Ler/Escrever: Acessa ou modifica os dados no dispositivo de armazenamento.
- Excluir: Libera o espaço ocupado pelo arquivo.
- Estruturas de Diretórios:
- Plano Simples: Todos os arquivos estão em um único nível.
- Hierárquico: Estrutura em árvore, permite múltiplos níveis de diretórios.
Exemplo: Sistemas Unix/Linux utilizam uma estrutura hierárquica com um diretório raiz /.
- Controle de Acesso:
- Sistemas de arquivos aplicam permissões de acesso (ex.: leitura, escrita, execução) baseadas em usuários e grupos.
Exemplo: No Linux, comandos como ls, cp e chmod são usados para gerenciar arquivos e permissões.
Técnicas de Acesso e Armazenamento de Dados
[editar | editar código]Diferentes técnicas são usadas para otimizar o acesso aos dados armazenados.
- Métodos de Acesso:
- Sequencial: Os dados são lidos em sequência.
- Exemplo: Arquivos de log.
- Direto (Aleatório): Os dados podem ser acessados diretamente por endereçamento.
- Exemplo: Bancos de dados.
- Sequencial: Os dados são lidos em sequência.
- Técnicas de Armazenamento:
- Alocação Contígua: Os arquivos são armazenados em blocos consecutivos.
- Vantagem: Alta velocidade de leitura.
- Desvantagem: Fragmentação externa.
- Alocação Encadeada: Cada bloco contém um ponteiro para o próximo.
- Vantagem: Ótimo para arquivos grandes.
- Desvantagem: Difícil acesso aleatório.
- Alocação Indexada: Um bloco de índice rastreia todos os blocos alocados ao arquivo.
- Vantagem: Acesso direto eficiente.
- Alocação Contígua: Os arquivos são armazenados em blocos consecutivos.
Exemplo: No ext4 (Linux), alocação contígua é preferida para pequenos arquivos para reduzir a fragmentação.
Políticas de Desempenho e Otimização
[editar | editar código]O desempenho do sistema de arquivos pode ser otimizado por meio de políticas específicas:
- Cache de Arquivos:
- O sistema armazena temporariamente dados frequentemente acessados na memória principal.
Exemplo: Linux utiliza um buffer cache para acelerar operações de E/S.
- Pré-busca (Read-Ahead):
- O sistema antecipa dados que serão acessados e os carrega na memória antes que sejam necessários.
Exemplo: Discos rígidos modernos utilizam pré-busca para reduzir o tempo de leitura.
- Balanceamento de Carga:
- Divide operações de E/S entre diferentes dispositivos de armazenamento para evitar sobrecarga.
Backup, Recuperação e Integridade dos Dados
[editar | editar código]A proteção contra perda de dados é uma das responsabilidades do sistema operacional.
- Backup:
- Criação de cópias dos dados para recuperação em caso de falha.
- Tipos de Backup:
- Completo: Copia todos os dados.
- Incremental: Copia apenas dados alterados desde o último backup.
- Recuperação:
- O sistema operacional deve ser capaz de restaurar dados após falhas.
Exemplo: Sistemas de arquivos como ext4 possuem técnicas de journaling para manter consistência.
- Integridade:
- Sistemas modernos utilizam somas de verificação (checksums) para garantir que os dados não foram alterados ou corrompidos.
Exemplo: O ZFS (Zettabyte File System) utiliza checksums avançados para verificar e corrigir erros automaticamente.
Referências
[editar | editar código]- https://cin.ufpe.br/~jcbf/if677/2015-1/slides/Aula_11_Arquivos_Parte_I.pdf
- https://1library.org/article/gerenciamento-de-arquivos-fun%C3%A7%C3%B5es-de-um-sistema-operacional.y6eklwon
- https://www.redhat.com/pt-br/topics/data-storage
- https://sempreupdate.com.br/linux/tutoriais/otimizacao-de-desempenho-no-linux-com-gerenciamento-de-processos-em-tempo-real/
- https://blog.datastorage.com.br/post/backup-de-sistemas-operacionais-garantindo-a-recuperacao-rapida-em-casos-de-falha