Índice
Capítulo 1 Visão geral do sistema de computador 1
1.1 Conceitos básicos de sistemas operacionais 1
1.1.1 O conceito de sistema operacional 1
1.1.2 Características dos sistemas operacionais 2
1.1.3 Objetivos e funções dos sistemas operacionais 3
1.1.4 Exercícios selecionados nesta seção 5
1.1.5 Respostas e Análise 6
1.2 Histórico de desenvolvimento do sistema operacional 8
1.2.1 Estágio de operação manual (nenhum sistema operacional neste estágio) 8
1.2.2 Estágio de processamento em lote (os sistemas operacionais começaram a aparecer) 8
1.2.3 Sistema operacional de tempo compartilhado 9
1.2.4 Sistema operacional em tempo real 10
1.2.5 Sistemas operacionais de rede e sistemas de computadores distribuídos 10
1.2.6 Sistema operacional de computador pessoal 10
1.2.7 Exercícios selecionados nesta seção 10
1.2.8 Respostas e Análise 12
1.3 Ambiente do sistema operacional 15
1.3.1 Modo de operação do processador 15
1.3.2 O conceito de interrupções e exceções 16
1.3.3 Chamada de Sistema 17
1.3.4 Exercícios selecionados nesta seção 18
1.3.5 Respostas e Análise 21
1.4 Estrutura do Sistema Operacional 25
1.5 Inicialização do sistema operacional 28
1.6 Máquina Virtual 29
1.6.1 Conceitos básicos de máquinas virtuais 29
1.6.2 Exercícios selecionados nesta seção 30
1.6.3 Respostas e Análise 32
1.7 Dificuldades neste capítulo 33
Capítulo 2 Processos e Threads 35
2.1 Processos e Threads 35
2.1.1 Conceito e características do processo 36
2.1.2 Estados e transições do processo 37
2.1.3 Composição dos processos 38
2.1.4 Controle de Processo 39
2.1.5 Comunicação de Processo 40
2.1.6 Threads e modelos multithreading 41
2.1.7 Resumo desta seção 45
2.1.8 Exercícios selecionados nesta seção 46
2.1.9 Respostas e Análises 52
2.2 Agendamento do Processador 60
2.2.1 O conceito de agendamento 60
2.2.2 Objetivos de agendamento 61
2.2.3 Implementação do agendamento 62
2.2.4 Algoritmos de escalonamento típicos 64
2.2.5 Troca de Processos 68
2.2.6 Resumo desta seção 68
2.2.7 Exercícios selecionados nesta seção 69
2.2.8 Respostas e Análise 76
2.3 Sincronização e Exclusão Mútua 85
2.3.1 Conceitos básicos de sincronização e exclusão mútua 85
2.3.2 Métodos básicos para implementação de exclusão mútua em seções críticas 86
2.3.3 Bloqueio Mutex 89
2.3.4 Semáforo 90
2.3.5 Pipeline 93
2.3.6 Problema clássico de sincronização 94
2.3.7 Resumo desta seção 101
2.3.8 Exercícios selecionados nesta seção 101
2.3.9 Respostas e Análise 113
2.4 Impasse 133
2.4.1 O conceito de deadlock 133
2.4.2 Prevenção de Deadlock 135
2.4.3 Prevenção de Deadlock 136
2.4.4 Detecção e resolução de deadlock 140
2.4.5 Resumo desta seção 141
2.4.6 Exercícios selecionados nesta seção 142
2.4.7 Respostas e Análises 148
2.5 Dificuldades neste capítulo 157
Capítulo 3 Gerenciamento de Memória 159
3.1 Conceitos de gerenciamento de memória 159
3.1.1 Princípios básicos e requisitos de gerenciamento de memória 159
*3.1.2 Cobertura e troca 164
3.1.3 Método de gestão de alocação contínua 164
3.1.4 Gerenciamento básico de memória de paginação 167
3.1.5 Gerenciamento básico de memória de segmento 171
3.1.6 Gerenciamento de páginas de segmentos 173
3.1.7 Resumo desta seção 174
3.1.8 Exercícios selecionados nesta seção 174
3.1.9 Respostas e Análises 182
3.2 Gerenciamento de memória virtual 203
3.2.1 Conceitos básicos de memória virtual 203
3.2.2 Método de Gerenciamento de Solicitação de Paginação 194
3.2.3 Alocação de quadros de página 196
3.2.4 Algoritmo de Substituição de Página 207
3.2.5 Jitter e Conjunto de Trabalho 201
3.2.6 Arquivos mapeados na memória 201
3.2.7 Fatores que afetam o desempenho da memória virtual 202
3.2.8 Tradução de Endereços 203
3.2.9 Resumo desta seção 205
3.2.10 Exercícios selecionados nesta seção 205
3.2.11 Respostas e Análises 215
3.3 Dificuldades neste capítulo 227
Capítulo 4 Gerenciamento de Arquivos 228
4.1 Noções básicas do sistema de arquivos 228
4.1.1 Conceitos básicos de arquivos 228
4.1.2 Bloco de controle de arquivo e nó de índice 229
4.1.3 Operações de arquivo 231
4.1.4 Proteção de Arquivos 232
4.1.5 Estrutura lógica do arquivo 233
4.1.6 Estrutura Física dos Arquivos 235
4.1.7 Resumo desta seção 239
4.1.8 Exercícios selecionados nesta seção 240
4.1.9 Respostas e Análises 246
4.2 Diretório 253
4.2.1 Conceitos básicos do Diretório 253
4.2.2 Estrutura de diretório 254
4.2.3 Operações de Diretório 256
*4.2.4 Implementação de diretório 256
4.2.5 Compartilhamento de arquivos 256
4.2.6 Resumo desta seção 258
4.2.7 Exercícios selecionados nesta seção 258
4.2.8 Respostas e Análises 262
4.3 Sistema de arquivos 265
4.3.1 Estrutura do sistema de arquivos 265
4.3.2 Layout do sistema de arquivos 266
4.3.3 Gerenciamento de espaço livre na memória externa 267
4.3.4 Sistema de Arquivos Virtual 270
4.3.5 Particionamento e Instalação 271
4.3.6 Resumo desta seção 272
4.3.7 Exercícios selecionados nesta seção 273
4.3.8 Respostas e Análises 274
4.4 Dificuldades neste capítulo 275
Capítulo 5 Gerenciamento de Entrada/Saída (E/S) 276
5.1 Visão geral do gerenciamento de E/S 276
5.1.1 Dispositivos de E/S 276
5.1.2 Modo de controle de E/S 278
5.1.3 Hierarquia de Software de E/S 280
5.1.4 Interface de E/S do aplicativo 281
5.1.5 Resumo desta seção 282
5.1.6 Exercícios selecionados nesta seção 282
5.1.7 Respostas e Análises 285
5.2 Software de independência de dispositivo 288
5.2.1 Software independente de dispositivo 288
5.2.2 Cache e Buffer 288
5.2.3 Alocação e Reciclagem de Equipamentos 291
5.2.4 Tecnologia de Spooling (Tecnologia de Spooling) 293
5.2.5 Interface do driver de dispositivo 294
5.2.6 Resumo desta seção 295
5.2.7 Exercícios selecionados nesta seção 295
5.2.8 Respostas e Análises 299
5.3 Discos e SSDs 303
5.3.1 Disco 304
5.3.2 Gerenciamento de disco 304
5.3.3 Algoritmo de Agendamento de Disco 306
5.3.4 Unidade de Estado Sólido 309
5.3.5 Resumo desta seção 310
5.3.6 Exercícios selecionados nesta seção 310
5.3.7 Respostas e Análises 314
5.4 Dificuldades neste capítulo 319
Referências 320
......