Ir para o conteúdo

CCT-UFCA/Ciência da Computação/Sistemas Operacionais/Gerenciamento de Dados: Desempenho e Arquivos

De Wikiversidade

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:
    1. Sequencial: Os dados são lidos em sequência.
      • Exemplo: Arquivos de log.
    2. Direto (Aleatório): Os dados podem ser acessados diretamente por endereçamento.
      • Exemplo: Bancos de dados.
  • 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.
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]
  1. https://cin.ufpe.br/~jcbf/if677/2015-1/slides/Aula_11_Arquivos_Parte_I.pdf
  2. https://1library.org/article/gerenciamento-de-arquivos-fun%C3%A7%C3%B5es-de-um-sistema-operacional.y6eklwon
  3. https://www.redhat.com/pt-br/topics/data-storage
  4. https://sempreupdate.com.br/linux/tutoriais/otimizacao-de-desempenho-no-linux-com-gerenciamento-de-processos-em-tempo-real/
  5. https://blog.datastorage.com.br/post/backup-de-sistemas-operacionais-garantindo-a-recuperacao-rapida-em-casos-de-falha