Descreve conceitos e mecanismos básicos, cobrindo tópicos normalmente abordados na área. Escrito em linguagem de fácil leitura, rico em ilustrações e em exercícios, Sistemas operacionais traz também um capítulo inédito sobre virtualização. Para ilustrar as teorias apresentadas, Linux e Windows são empregados como estudo de caso. Abrange todo o conteúdo geralmente ministrado em um semestre de uma disciplina de graduação.
1. Introdução 1.1 Conceito básico 1.2 Objetivos do sistema operacional 1.3 Sistema operacional na visão do usuário 1.4 Sistema operacional na visão de projeto 1.5 Histórico de sistemas operacionais 1.6 Exercícios
2. Multiprogramação 2.1 Mecanismo básico 2.2 O conceito de processo 2.3 Ciclos de um processo 2.4 Relacionamento entre processos 2.5 Estados de um processo 2.6 Gerência de filas 2.7 Mecanismo de interrupções 2.8 Programação entre processos 2.9 Exercícios
3. Programação concorrente 3.1 Motivação 3.2 Especificações do paralelismo 3.3 Problema da seção crítica 3.4 Mecanismos básicos de exclusão mútua 3.5 Mutex 3.6 Semáforos 3.7 Monitores 3.8 Mensagens 3.9 Visão geral e comparação 3.10 Deadlock 3.11 Exercícios
4. Gerência do processador 4.1 Bloco descritor de processo 4.2 Chaveamento de contexto 4.3 Threads 4.4 Escalonadores 4.5 Algoritmos de escalonamento 4.6 Exercícios
5. Entrada e saída 5.1 Princípios básicos de hardware 5.2 Princípios básicos de software de entrada e saída 5.3 Dispositivos periféricos típicos 5.4 Exercícios
6. Gerência de memória 6.1 Memória lógica e memória física 6.2 Partições fixas 6.3 Partições variáveis 6.4 Swapping 6.5 Paginação 6.6 Segmentação 6.7 Segmentação paginada 6.8 Exercícios
7. Memória virtual 7.1 Implementação de memória virtual 7.2 Alocação de memória 7.3 Substituição de páginas na memória 7.4 Algoritmos de substituição de páginas na memória 7.5 Estudo de casos: arquitetura Intel 7.6 Exercícios
8. Sistemas de arquivos 8.1 Conceitos básicos 8.2 Arquivos 8.3 Implemementação de arquivos 8.4 Múltiplos sistemas de arquivos 8.5 Organização de cache 8.6 Gerência de espaço livre 8.7 Diretórios 8.8 Implementação de diretórios 8.9 Organização interna de uma partição 8.10 Sistemas de arquivos jornalizados 8.11 Exercícios
9. Linux 9.1 Histórico, distribuições e versões 9.2 Arquitetura de sistemas operacionais 9.3 O conceito de processo no linux 9.4 Escalonamento em Linux 9.5 Gerência de memória 9.6 Sistema de arquivos 9.7 Gerência de entrada e saída 9.8 Exercícios
10. Windows 10.1 Histórico 10.2 Diretrizes do projeto 10.3 Arquitetura do Windows: visão geral 10.4 Processos e threads 10.5 Gerência de memória 10.6 Sistemas de arquivos 10.7 Gerência de entrada e saída 10.8 O serviço de active directory 10.9 O serviço de cluster 10.10 Exercícios
11. Virtualização 11.1 Fundamentação teórica 11.2 Máquinas virtuais 11.3 Virtualização total e paravirtualização 11.4 Ferramentas de virtualização: exemplos 11.5 Casos de uso 11.6 Considerações finais 11.7 Exercícios
|