Solução e Explicação Detalhada: Aula 14 - Sistemas de Arquivos
Abaixo estão as respostas esperadas e o embasamento teórico para os exercícios propostos na Aula 14.
Solução da Questão 1 - 1. O V-Node / Inode (Básico 1)
**Explicação Detalhada do Assunto:**
Se no seu PC existe a pasta `Docs/foto.jpg`, no fundo, o Linux não rastreia o texto "foto.jpg" para pular de cluster em cluster.
O FS usa de índices numéricos ultra-rápidos: os **Inodes**.
> [!info] Expectativa de Resposta
O aluno deve inferir com clareza que o conceito de *1. O V-Node / Inode* determina o desempenho global e não pode ser ignorado nas linguagens compiladas. Para níveis intermediários e desafio, exige-se consciência das integrações entre RAM, CPU e Kernel.
Solução da Questão 2 - 2. Journaling (A Prova contra Quedas) (Básico 2)
**Explicação Detalhada do Assunto:**
Mudar um arquivo é uma transação: Apagar o velho, escrever o novo, mudar o Inode.
E se faltar luz na etapa 2? A partição **corromperia inteiramente** para sempre (Problema antigo do FAT32).
FSs modernos (NTFS, EXT4) usam **Journaling**. Antes de aplicar qualquer mudança no Inode oficial, eles "anotam a intenção do que vão fazer" num Diário Oculto (Journal). Se a luz cai, ao ligar o PC, ele lê o diário oculto incompleto, reverte o estrago e devolve sua máquina salva! É a essência do conceito *Atomicidade*.
> [!info] Expectativa de Resposta
O aluno deve inferir com clareza que o conceito de *2. Journaling (A Prova contra Quedas)* determina o desempenho global e não pode ser ignorado nas linguagens compiladas. Para níveis intermediários e desafio, exige-se consciência das integrações entre RAM, CPU e Kernel.
Solução da Questão 3 - 3. Buffers e Page Cache (Por que Linux é Rápido) (Intermediário 1)
**Explicação Detalhada do Assunto:**
"Escrever no disco" via SysCall C++ `write()` ou `fwrite()` raramente vai pro HD!
O Linux usa de forma abusiva toda a **RAM ociosa do seu computador** como um gigantesco *Cache File*. Ele capta suas writes e diz "Gravei amigão!" mas jogou na RAM (Page Cache). Posteriormente ele realiza os envios reais para o Hardware agrupados (*Flush / Sync*).
Essa mágica salva a Morte do seu SSD (menos gravações simultâneas em desgaste das celulas NAND) e simula uma ilusão de lentidão zero ao usuário.
> [!info] Expectativa de Resposta
O aluno deve inferir com clareza que o conceito de *3. Buffers e Page Cache (Por que Linux é Rápido)* determina o desempenho global e não pode ser ignorado nas linguagens compiladas. Para níveis intermediários e desafio, exige-se consciência das integrações entre RAM, CPU e Kernel.
Solução da Questão 4 - Resumo Prático (Intermediário 2)
**Explicação Detalhada do Assunto:**
- Ao usar C/C++, chame o instrínseco `fsync()` se seu App for um Banco de Dados ou Software Crítico Bancário forçando a Cache RAM descarregar a força e salvar permanentemente no silício do disco.
- Nunca dependa da nomenclatura C: `/usr/foto.jpg`. Leia descritores de arquivo, file-pointers e fluxos binários se for transitar redes em baixo nível.
> [!info] Expectativa de Resposta
O aluno deve inferir com clareza que o conceito de *Resumo Prático* determina o desempenho global e não pode ser ignorado nas linguagens compiladas. Para níveis intermediários e desafio, exige-se consciência das integrações entre RAM, CPU e Kernel.
Solução da Questão 5 - 1. O V-Node / Inode (Desafio)
**Explicação Detalhada do Assunto:**
Se no seu PC existe a pasta `Docs/foto.jpg`, no fundo, o Linux não rastreia o texto "foto.jpg" para pular de cluster em cluster.
O FS usa de índices numéricos ultra-rápidos: os **Inodes**.
> [!info] Expectativa de Resposta
O aluno deve inferir com clareza que o conceito de *1. O V-Node / Inode* determina o desempenho global e não pode ser ignorado nas linguagens compiladas. Para níveis intermediários e desafio, exige-se consciência das integrações entre RAM, CPU e Kernel.