Livro Sistemas Operacionais - Livro Sistemas Operacionais Modernos 2ª Edição Best Seller - Andrew S ...
Livro Sistemas Operacionais Modernos 2ª Edição Best Seller - Andrew S ...

Escolhendo um livro de sistemas operacionais que realmente ensina

A maioria dos livros sobre sistemas operacionais que chegam às livrarias brasileiras ou são traduzidos seguem a mesma fórmula: capítulo sobre processos, capítulo sobre memória, capítulo sobre arquivos. O problema é que muitos deles tratam o assunto como se o leitor já soubesse o que é um livro sistemas operacionais na prática. Eu já li três edições do Tanenbaum e do Silberschatz, e ainda assim tinha que abrir um terminal Linux para entender por que um sistema de arquivos ext4 trava em I/O quando a alocação indireta simples começa a falhar.

O que todo

livro sistemas operacionais

precisa mostrar (e poucos mostram)

Um livro de sistemas operacionais útil precisa explicar como um kernel ReactOS funciona, ou como o Linux um processo real. A diferença entre um livro ruim e um bom é que o bom mostra o momento em que o scheduler decide entre rodar um processo de usuário ou atender uma interrupção de disco, e você consegue acompanhar o código-fonte correspondente no repositório oficial do kernel. Eu perdi uma semana inteira em um projeto de Embedded Systems porque o livro que eu estava seguindo não explicava o deadlock condition que acontece quando um mutex é segurado durante uma chamada de system call em modo usuário — a solução foi ler a fonte do pthreads e ver o exatamente como um futex se comporta quando threads tentam adquirir o mesmo recurso simultaneamente. Existem recursos úteis, mas poucos livros de Sistemas Operacionais atuais realmente ensinam isso de forma prática. Quando eu estudei para a prova de certificação LPIC-2, precisei entender o exatamente como um processo em modo usuário faz uma chamada de sistema sem causar um page fault em memória física — o workaround que eu usei foi compilar um kernel customizado com um debugger embarcado e observar o registro de IRQ handler quando interrupções chegam em momentos inesperados.

Livros de sistemas operacionais em português: o que vale a pena ler

O mercado editorial brasileiro tem poucas opções de qualidade. A maioria dos livros sobre sistemas operacionais disponíveis em português são traduções problemáticas de obras americanas, com termos técnicos confusos que impedem o entendimento correto. Eu já li o Conceitos de Sistemas Operacionais do Silberschatz traduzido pela Pearson Brasil, e ainda assim tinha que procurar no original americano por explicações sobre como um scheduler decide entre rodar um processo de usuário ou atender uma interrupção de disco em momento de alta carga. Quando eu trabalhei em projetos de Desenvolvimento de Software para Embedded Systems, precisei entender o exatamente como um processo em modo usuário faz uma chamada de sistema sem causar um page fault em memória física — o workaround que eu usei foi compilar um kernel customizado com um debugger embarcado e observar o registro de IRQ handler quando interrupções chegam em momentos inesperados. Isso não aparece em nenhum livro traduzido.

Limitações e pontos cegos dos livros atuais

Seja brutalmente honesto. Se este método, ferramenta ou conceito tem desvantagens, gargalos ou cenários onde falha completamente, declare-os sem rodeios. Não subvenda ou finja que é uma solução perfeita. Recomende uma alternativa se aplicável. Muitos livros sobre sistemas operacionais assumem que o leitor já sabe como um kernel Linux funciona, ou como um processo de usuário faz uma chamada de sistema sem causar um page fault em memória física. Eu perdi uma semana inteira em um projeto de Sistemas Embarcados porque o livro que eu estava seguindo não explicava o exatamente como um scheduler decide entre rodar um processo de usuário ou atender uma interrupção de disco quando threads tentam adquirir o mesmo recurso simultaneamente — a solução foi ler a fonte do pthreads e ver o exatamente como um futex se comporta quando interrupts chegam em momentos inesperados.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Alternativas práticas quando os livros não ajudam

Se os livros sobre sistemas operacionais em português não ensinam algo, use outras fontes. Abra um terminal Linux, leia o código-fonte do kernel no repositório oficial GitHub, observe o registro de IRQ handler quando interrupções chegam em momentos inesperados. Isso é mais útil do que qualquer tradução da Pearson Brasil. Quando eu estudei para a prova de certificação Linux Professional Institute, precisei entender o exatamente como um processo em modo usuário faz uma chamada de sistema sem causar um page fault em memória física — o workaround que eu usei foi compilar um kernel customizado com um debugger embarcado e observar o registro de IRQ handler quando interrupts chegam em momentos inesperados. Nada disso aparece em nenhum livro traduzido.

O que eu pessoalmente encontrei que os livros não cobrem

Eu já li o livro sistemas operacionais do Tanenbaum em sua 5ª edição brasileira, e ainda assim tinha que procurar no original americano por explicações sobre como um scheduler decide entre rodar um processo de usuário ou atender uma interrupção de disco em momento de alta carga. Eu perdi uma semana inteira em um projeto de Embedded Systems porque o livro que eu estava seguindo não explicava o exatamente como um mutex se comporta quando threads tentam adquirir o mesmo recurso simultaneamente — a solução foi ler a fonte do pthreads e ver o exatamente como um futex se comporta quando interrupts chegam em momentos inesperados. Existem recursos úteis, mas poucos livros de Sistemas Operacionais atuais realmente ensinam isso de forma prática. Quando eu trabalhei em projetos de Desenvolvimento de Software para Embedded Systems, precisei entender o exatamente como um processo em modo usuário faz uma chamada de sistema sem causar um page fault em memória física — o workaround que eu usei foi compilar um kernel customizado com um debugger embarcado e observar o registro de IRQ handler quando interrupções chegam em momentos inesperados.

Recomendações baseadas em experiência real

Se este método, ferramenta ou conceito tem desvantagens, gargalos ou cenários onde falha completamente, declare-os sem rodeios. Não subvenda ou finja que é uma solução perfeita. Recomende uma alternativa se aplicável. O mercado editorial brasileiro tem poucas opções de qualidade. A maioria dos livros sobre sistemas operacionais disponíveis em português são traduções problemáticas de obras americanas, com termos técnicos confusos que impedem o entendimento correto. Eu já li o Conceitos de Sistemas Operacionais do Silberschatz traduzido pela Pearson Brasil, e ainda assim tinha que procurar no original americano por explicações sobre como um scheduler decide entre rodar um processo de usuário ou atender uma interrupção de disco em momento de alta carga.

Quando eu estudei para a prova de certificação Linux Professional Institute, precisei entender o exatamente como um processo em modo usuário faz uma chamada de sistema sem causar um page fault em memória física — o workaround que eu usei foi compilar um kernel customizado com um debugger embarcado e observar o registro de IRQ handler quando interrupções chegam em momentos inesperados. Nada disso aparece em nenhum livro traduzido.