Seja Bem-Vindo. Este site tem recursos de leitura de texto, basta marcar o texto e clicar no ícone do alto-falante   Click to listen highlighted text! Seja Bem-Vindo. Este site tem recursos de leitura de texto, basta marcar o texto e clicar no ícone do alto-falante

Sistemas Operacionais Desktop – Aula 05 (Semana 05)

Semana 5: Sistemas de Arquivos e Armazenamento

Autor: Carlos Fernandes

E-mail para contato: carlos.fernandes@afogados.ifpe.edu.br

Objetivo da Aula: Explorar como os sistemas operacionais organizam arquivos e dispositivos de armazenamento, focando em estruturas de sistemas de arquivos, hierarquia de diretórios e ferramentas de gerenciamento de discos.


Introdução aos Sistemas de Arquivos

Os sistemas de arquivos são componentes fundamentais dos sistemas operacionais, responsáveis por organizar e gerenciar os dados armazenados em dispositivos como discos rígidos e SSDs. Eles fornecem uma estrutura lógica para armazenar e recuperar arquivos, pastas e diretórios, permitindo que os usuários acessem e manipulem seus dados de forma eficiente.

Breve introdução aos Sistemas de Arquivos e motivos para tantos modelos

Estruturas de Sistemas de Arquivos

Existem vários tipos de sistemas de arquivos, cada um com suas características e vantagens. Os mais comuns incluem:

  1. NTFS (New Technology File System):
    • Utilizado no Windows: O NTFS é o sistema de arquivos padrão para a maioria das instalações do Windows.
    • Recursos Avançados: Oferece permissões de acesso detalhadas, criptografia, compressão de arquivos e journaling para recuperação de dados após falhas.
    • Tamanho de Arquivo e Partição: Suporta arquivos grandes e partições gigantescas.
  2. FAT32 (File Allocation Table 32):
    • Compatibilidade: Embora mais antigo, o FAT32 ainda é amplamente usado em dispositivos portáteis como pendrives e cartões de memória, devido à sua ampla compatibilidade com diferentes sistemas operacionais.
    • Limitações: Não suporta arquivos maiores que 4 GB.
  3. ext4 (Fourth Extended File System):
    • Utilizado no Linux: É um dos sistemas de arquivos mais comuns no Linux, conhecido por sua estabilidade e eficiência.
    • Suporte a Partições Grandes: Oferece suporte a partições grandes e é amplamente utilizado em servidores e desktops Linux.
    • Journaling: Garante a integridade dos dados mesmo após falhas.
  4. APFS (Apple File System):
    • Utilizado no macOS: Desenvolvido pela Apple, o APFS é usado em dispositivos macOS e iOS.
    • Melhorias em Segurança e Desempenho: Oferece melhorias significativas em termos de segurança e desempenho em comparação com seu antecessor, o HFS+.

Exemplos Práticos no Dia a Dia de um Técnico de Manutenção

  1. Formatando Dispositivos:
    • Um técnico pode formatar um pendrive com FAT32 para garantir compatibilidade em diferentes sistemas operacionais.
    • Para discos rígidos no Windows, o NTFS é preferido devido às suas permissões de segurança e suporte a arquivos grandes.
  2. Gerenciamento de Partições:
    • Em um cenário onde um usuário precisa de mais espaço em uma partição, um técnico pode usar ferramentas como o Gerenciador de Disco no Windows ou GParted no Linux para redimensionar partições sem perder dados.
  3. Recuperação de Dados:
    • Em caso de falha no sistema de arquivos, ferramentas como o chkdsk no Windows ou fsck no Linux podem ser usadas para reparar erros e recuperar dados importantes.

Recursos para Aprofundamento

  • Livros: “Sistemas Operacionais: Conceitos e Técnicas” de Abraham Silberschatz, Peter Galvin e Greg Gagne é uma referência clássica para entender sistemas de arquivos.
  • Cursos Online: Plataformas como Coursera e edX oferecem cursos sobre sistemas operacionais que incluem módulos sobre gerenciamento de arquivos e discos.
  • Sites e Fóruns: Sites como Stack Overflow e Reddit (r/learnprogramming) são ótimos para discutir problemas práticos e obter dicas úteis sobre gerenciamento de sistemas de arquivos.

Conclusão

A compreensão dos sistemas de arquivos é essencial para técnicos de manutenção, pois permite resolver problemas comuns de armazenamento e otimizar o desempenho dos sistemas operacionais. Com o conhecimento das diferentes estruturas de sistemas de arquivos e ferramentas de gerenciamento, os técnicos podem garantir que os dados sejam armazenados de forma segura e eficiente.

Citações:

  1. https://guialinux.uniriotec.br/sistemas-de-arquivos/
  2. https://pt.wikipedia.org/wiki/Sistema_de_ficheiros
  3. https://tecnoblog.net/responde/qual-a-diferenca-entre-ntfs-fat32-e-exfat/
  4. https://instrutoraugustodesa.com.br/sistemas-de-arquivos-no-windows-e-linux/
  5. https://www.freecodecamp.org/portuguese/news/o-que-e-o-sistema-de-arquivos-tipos-de-sistemas-de-arquivos-de-computador-e-como-funcionam-explicados-com-exemplos/
  6. https://www.kingston.com/br/blog/personal-storage/understanding-file-systems
  7. https://blog.casadodesenvolvedor.com.br/diferencas-do-windows-linux-e-macos/
  8. https://4infra.com.br/o-que-e-sistema-de-arquivos/

Hierarquia de Diretórios

A hierarquia de diretórios é uma estrutura organizacional fundamental nos sistemas operacionais, permitindo que os usuários armazenem e acessem arquivos de forma lógica. Em sistemas como o Windows e o Linux, essa hierarquia começa com uma raiz, seguida por pastas e subpastas que contêm arquivos.

Hierarquia de Diretórios no Windows

No Windows, a hierarquia de diretórios começa com uma letra de unidade, geralmente C:\, que representa a raiz de uma unidade de disco. Abaixo dessa raiz, existem pastas como Documentos, Imagens e Downloads, que são usadas para organizar arquivos de forma lógica. Subpastas podem ser criadas dentro dessas pastas para uma organização ainda mais detalhada.

Exemplo no Windows:

  • A raiz de uma unidade pode ser C:\.
  • Pastas como Documentos, Imagens e Downloads são comuns.
  • Subpastas podem ser usadas para organizar ainda mais os arquivos, como C:\Documentos\Trabalho.

Hierarquia de Diretórios no Linux

No Linux, a hierarquia começa com o diretório raiz /, que é o ponto mais alto da árvore de diretórios. Abaixo do diretório raiz, existem vários diretórios principais, cada um com uma função específica. Diretórios como /home, /usr e /var são fundamentais para o funcionamento do sistema.

Estrutura de Diretórios no Linux:

Diretório

Descrição

/

Diretório raiz

/bin

Arquivos binários essenciais

/boot

Arquivos de inicialização do sistema

/dev

Dispositivos do sistema

/etc

Arquivos de configuração do sistema

/home

Pastas pessoais dos usuários

/lib

Bibliotecas do sistema

/media

Sistemas de arquivos montados automaticamente

/mnt

Sistemas de arquivos montados manualmente

/opt

Aplicativos adicionais do usuário

/proc

Informações do sistema de arquivos

/root

Pasta pessoal do usuário root

/run

Arquivos de sistema em execução

/sbin

Binários do sistema executáveis pelo superusuário

/srv

Dados de serviço

/sys

Arquivos de dispositivo virtual do kernel

/tmp

Arquivos temporários

/usr

Arquivos do usuário

/var

Dados variáveis do sistema

Subdiretórios como /home/usuario/Documentos são usados para organizar arquivos pessoais dos usuários.

Exemplos Práticos no Dia a Dia de um Técnico de Manutenção

  1. Organização de Arquivos:
    • Um técnico pode usar a hierarquia de diretórios para organizar arquivos de forma lógica, facilitando a localização e recuperação de dados importantes.
    • No Windows, criar pastas dentro de Documentos para diferentes projetos ajuda a manter os arquivos organizados.
    • No Linux, usar subdiretórios dentro de /home/usuario para armazenar arquivos pessoais é uma prática comum.
  2. Gerenciamento de Diretórios:
    • Em um cenário onde um usuário precisa acessar arquivos de configuração do sistema, um técnico pode usar o diretório /etc no Linux para localizar esses arquivos.
    • No Windows, pastas como C:\Windows\System32 contêm arquivos importantes do sistema.
  3. Resolução de Problemas:
    • Se um usuário relatar que não consegue encontrar um arquivo, um técnico pode ajudar a localizar o arquivo usando a hierarquia de diretórios e ferramentas de busca como o Finder no Windows ou o comando find no Linux.

Recursos para Aprofundamento

  • Livros: “Sistemas Operacionais: Conceitos e Técnicas” de Abraham Silberschatz, Peter Galvin e Greg Gagne é uma referência clássica para entender a estrutura de diretórios.
  • Cursos Online: Plataformas como Coursera e edX oferecem cursos sobre sistemas operacionais que incluem módulos sobre gerenciamento de arquivos e diretórios.
  • Sites e Fóruns: Sites como Stack Overflow e Reddit (r/learnprogramming) são ótimos para discutir problemas práticos e obter dicas úteis sobre gerenciamento de diretórios.

Conclusão

A compreensão da hierarquia de diretórios é essencial para técnicos de manutenção, pois permite organizar e gerenciar arquivos de forma eficiente. Com o conhecimento das diferentes estruturas de diretórios em sistemas operacionais como Windows e Linux, os técnicos podem resolver problemas comuns e otimizar o uso dos recursos do sistema.

Citação:

  1. https://guialinux.com.br/explorando-a-estrutura-de-diretorios-do-linux/
  2. https://guialinux.uniriotec.br/sistemas-de-arquivos/
  3. https://www.certificacaolinux.com.br/diretorios-linux/
  4. https://www.certificacaolinux.com.br/diretorios-e-arquivos/
  5. https://www.linuxando.com/tutorial.php?t=A+estrutura+de+diret%C3%B3rios+Linux_6
  6. https://diolinux.com.br/sistemas-operacionais/estrutura-de-diretorios-do-linux-fhs.html
  7. https://www.vivaolinux.com.br/artigo/Hierarquia-do-Sistema-de-Arquivos-GNU-Linux
  8. https://pt.linkedin.com/pulse/hierarquia-de-diret%C3%B3rios-do-linux-gabriel-neves-oazaf

Gerenciamento de Blocos e Indexação

O gerenciamento de blocos é uma técnica fundamental nos sistemas de arquivos, responsável por organizar os dados em um disco em unidades de tamanho fixo chamadas blocos. Esses blocos são alocados em diferentes partes do disco, e a indexação é usada para manter um registro dos blocos onde cada arquivo está armazenado, facilitando a localização e recuperação dos dados.

Sistemas Operacionais Arquivos

Gerenciamento de Blocos

O gerenciamento de blocos é essencial para sistemas de arquivos, pois os discos são dispositivos orientados a blocos. As operações de leitura e escrita de dados são sempre feitas em blocos, nunca em bytes individuais2. Cada bloco possui um tamanho fixo, geralmente entre 512 bytes e 8 Kbytes, e não pode ser alocado parcialmente3.

Funções da Camada de Gerência de Blocos:

  1. Interagir com Drivers de Dispositivos: Realiza operações de leitura e escrita de blocos de dados.
  2. Mapeamento entre Blocos Físicos e Lógicos: Converte endereços lógicos em endereços físicos no disco.
  3. Caching de Blocos: Armazena temporariamente blocos frequentemente acessados para melhorar o desempenho.

Indexação

A indexação é um mecanismo que permite ao sistema de arquivos localizar rapidamente os blocos onde um arquivo está armazenado. Isso é feito por meio de estruturas de dados que mapeiam os nomes dos arquivos para os endereços dos blocos no disco. No NTFS, por exemplo, a Master File Table (MFT) atua como um índice central para todos os arquivos no sistema de arquivos2.

Técnicas de Alocação de Arquivos

Existem várias técnicas de alocação de arquivos que utilizam o gerenciamento de blocos:

  1. Alocação Contígua: Os dados do arquivo são armazenados em blocos consecutivos no disco. Isso facilita o acesso sequencial e direto, mas pode levar à fragmentação externa se não houver espaço contíguo suficiente3.
  2. Alocação Encadeada: Cada bloco contém um ponteiro para o próximo bloco do arquivo. Isso permite que os blocos estejam espalhados pelo disco, mas pode ser lento para acessos aleatórios4.
  3. Alocação Indexada: Usa uma tabela de índices para localizar os blocos de um arquivo. Isso permite um acesso rápido e eficiente, mas requer espaço adicional para a tabela de índices4.

Ferramentas de Gerenciamento de Discos

Existem várias ferramentas disponíveis para gerenciar discos e sistemas de arquivos:

  1. Gerenciador de Disco no Windows: Permite criar, formatar e gerenciar partições.
  2. fdisk e parted no Linux: Utilizados para criar e manipular partições no Linux.
  3. Disk Utility no macOS: Ferramenta para formatar e reparar discos.

Exemplos Práticos no Dia a Dia de um Técnico de Manutenção

  1. Formatação de Dispositivos:
    • Um técnico pode usar o Gerenciador de Disco no Windows para formatar um pendrive com FAT32 para garantir compatibilidade em diferentes sistemas operacionais.
    • No Linux, o comando mkfs.ext4 pode ser usado para formatar uma partição com o sistema de arquivos ext4.
  2. Gerenciamento de Partições:
    • Em um cenário onde um usuário precisa de mais espaço em uma partição, um técnico pode usar ferramentas como o EaseUS Partition Master no Windows ou GParted no Linux para redimensionar partições sem perder dados.
  3. Recuperação de Dados:
    • Em caso de falha no sistema de arquivos, ferramentas como o chkdsk no Windows ou fsck no Linux podem ser usadas para reparar erros e recuperar dados importantes.

Recursos para Aprofundamento

  • Livros: “Sistemas Operacionais: Conceitos e Técnicas” de Abraham Silberschatz, Peter Galvin e Greg Gagne é uma referência clássica para entender sistemas de arquivos e gerenciamento de discos.
  • Cursos Online: Plataformas como Coursera e edX oferecem cursos sobre sistemas operacionais que incluem módulos sobre gerenciamento de arquivos e discos.
  • Sites e Fóruns: Sites como Stack Overflow e Reddit (r/learnprogramming) são ótimos para discutir problemas práticos e obter dicas úteis sobre gerenciamento de sistemas de arquivos.

Conclusão

A compreensão do gerenciamento de blocos e da indexação é fundamental para técnicos em manutenção, pois permite resolver problemas comuns de armazenamento e otimizar o desempenho dos sistemas operacionais. Com o conhecimento das diferentes técnicas de alocação de arquivos e ferramentas de gerenciamento, os técnicos podem garantir que os dados sejam armazenados de forma segura e eficiente.

Citações:

  1. https://www.controle.net/faq/sistema-de-armazenamento-baseado-em-blocos-ou-block-based-storage
  2. https://wiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm%3Asocm-24.pdf
  3. http://www.univasf.edu.br/~andreza.leite/aulas/SO/Arquivos.pdf
  4. https://wiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm%3Asocm-slides-24.pdf
  5. https://www.gta.ufrj.br/~cruz/courses/eel770/slides/13_arquivos.pdf
  6. https://www.dcce.ibilce.unesp.br/~aleardo/cursos/fsc/cap11.php
  7. https://www.kingston.com/br/blog/personal-storage/understanding-file-systems
  8. https://pt.wikipedia.org/wiki/Bloco_(armazenamento_de_dados)

Fim da aula 05

Click to listen highlighted text!