Sistemas Operacionais: Conceitos e Mecanismos

Os sistemas operacionais são elementos fundamentais para o funcionamento de praticamente qualquer sistema de computação, dos minúsculos sistemas embarcados e telefones celulares aos gigantescos centros de processamento de dados das grandes empresas. Apesar da imensa diversidade de sistemas operacionais existentes, eles tentam resolvem problemas de mesma natureza e seguem basicamente os mesmos princípios.

Conhecer Sistemas Operacionais a fundo não é algo reservado a hackers, mas importante para todo profissional de computação, pois os mecanismos implementados pelo sistema operacional afetam diretamente o comportamento e o desempenho das aplicações. Além disso, o sistema operacional é uma peça chave na configuração de serviços de rede e na segurança do sistema.

Existem muitos livros de sistemas operacionais disponíveis no mercado, quase todos excelentes, escritos por profissionais reconhecidos mundialmente. Entretanto, bons livros de Sistemas Operacionais podem custar centenas de reais, o que os torna inacessíveis a uma parcela significativa da população. Este livro seria apenas mais uma opção nas livrarias, não fosse por um pequeno detalhe: foi concebido como um Livro Aberto, desde seu início. Um livro aberto (do inglês Open Book) é um livro amplamente disponível na Internet em formato digital, sem custo.

Este livro é o resultado de vários anos de trabalho como professor da disciplina de Sistemas Operacionais na UFPR, UTFPR e PUCPR. Embora eu o tenha redigido sozinho, ele nunca teria se tornado uma realidade sem a ajuda e o apoio de muitas pessoas. A todas elas, muito obrigado!

Este livro está disponível sob a licença Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported. Em resumo, você deve creditar a obra da forma especificada pelo autor ou licenciante (mas não de maneira que sugira que estes concedem qualquer aval a você ou ao seu uso da obra). Você não pode usar esta obra para fins comerciais. Se você alterar, transformar ou criar com base nesta obra, você poderá distribuir a obra resultante apenas sob a mesma licença, ou sob uma licença similar à presente.

Livro completo:

Capítulos individuais e material complementar:

Capítulo texto slides vídeo
Páginas iniciais, sumário socm-00.pdf
Parte I: Introdução
1: Conceitos básicos socm-01.pdf socm-slides-01.pdf socm-video-01.mkv
2: Estrutura de um SO socm-02.pdf socm-slides-02.pdf socm-video-02.mkv
3: Arquiteturas de SOs socm-03.pdf socm-slides-03.pdf socm-video-03.mkv
Parte II: Gestão de tarefas
4: O conceito de tarefa socm-04.pdf socm-slides-04.pdf socm-video-04.mkv
5: Implementação de tarefas socm-05.pdf socm-slides-05.pdf socm-video-05.mkv
6: Escalonamento de tarefas socm-06.pdf socm-slides-06.pdf socm-video-06.mkv
7: Tópicos em gestão de tarefas socm-07.pdf socm-slides-07.pdf socm-video-07.mkv
Parte III: Interação entre tarefas
8: Comunicação entre tarefas socm-08.pdf socm-slides-08.pdf socm-video-08.mkv
9: Mecanismos de comunicação socm-09.pdf socm-slides-09.pdf socm-video-09.mkv
10: Coordenação entre tarefas socm-10.pdf socm-slides-10.pdf socm-video-10.mkv
11: Mecanismos de coordenação socm-11.pdf socm-slides-11.pdf socm-video-11.mkv
12: Problemas clássicos socm-12.pdf socm-slides-12.pdf socm-video-12.mkv
13: Impasses socm-13.pdf socm-slides-13.pdf socm-video-13.mkv
Parte IV: Gestão da memória
14: Hardware de memória socm-14.pdf socm-slides-14.pdf socm-video-14.mkv
15: Uso da memória socm-15.pdf socm-slides-15.pdf socm-video-15.mkv
16: Alocação de memória socm-16.pdf socm-slides-16.pdf socm-video-16.mkv
17: Paginação em disco socm-17.pdf socm-slides-17.pdf socm-video-17.mkv
18: Tópicos em gestão de memória socm-18.pdf socm-slides-18.pdf socm-video-18.mkv
Parte V: Gestão de entrada/saída
19: Hardware de entrada/saída socm-19.pdf socm-slides-19.pdf socm-video-19.mkv
20: Software de entrada/saída socm-20.pdf socm-slides-20.pdf socm-video-20.mkv
21: Discos rígidos socm-21.pdf socm-slides-21.pdf socm-video-21.mkv
Parte VI: Gestão de arquivos
22: O conceito de arquivo socm-22.pdf socm-slides-22.pdf socm-video-22.mkv
23: Uso de arquivos socm-23.pdf socm-slides-23.pdf socm-video-23.mkv
24: Sistemas de arquivos socm-24.pdf socm-slides-24.pdf socm-video-24.mkv
25: Diretórios e atalhos socm-25.pdf socm-slides-25.pdf socm-video-25.mkv
Parte VII: Segurança
26: Conceitos básicos de segurança socm-26.pdf
27: Fundamentos de criptografia socm-27.pdf
28: Autenticação socm-28.pdf
29: Controle de acesso socm-29.pdf
30: Mecanismos de auditoria socm-30.pdf
Parte VIII: Virtualização
31: O conceito de virtualização socm-31.pdf
32: Tipos de máquinas virtuais socm-32.pdf
33: Construção de máquinas virtuais socm-33.pdf
34: Virtualização na prática socm-34.pdf

Os capítulos e slides da parte de Segurança estão migrando para um novo livro-texto sobre Segurança Computacional. Eles podem ser encontrados nesta página.

Não respondo e-mails pedindo respostas das questões. Tomei esta decisão devido ao grande número de estudantes que me escrevem pedindo “respostas prontas” dos exercícios, para entregar a seus professores. A maioria das respostas podem ser encontradas facilmente no texto e/ou em outros livros de Sistemas Operacionais.

Quem ministra aulas de laboratório de Sistemas Operacionais pode ter interesse em ler minha tese de professor titular na PUCPR sobre aulas práticas de SO (ou um artigo resumindo a tese, publicado no SBC WEI 2002). Pode também dar uma olhada nos projetos que desenvolvo com meus alunos, nesta página.

Discussão sobre livros abertos:

Exemplos de livros de computação abertos: