Sistemas Operacionais
Por: Rodrigo.Claudino • 11/2/2018 • 51.274 Palavras (206 Páginas) • 594 Visualizações
...
de um protocolo de acesso . . . . . . . . . . 40
2.9 A solu¸c˜ao de Dekker . . . . . . . . . . . . . . . . . . . . . . . 40
2.10 A solu¸c˜ao de Peterson . . . . . . . . . . . . . . . . . . . . . . 43
2.11 Deadlocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.11.1 Diagramas de processos e recursos . . . . . . . . . . . 46
2.11.2 Condi¸c˜oes para ocorrˆencia de deadlocks . . . . . . . . 49
2.11.3 Recupera¸c˜ao de deadlocks . . . . . . . . . . . . . . . . 50
2.11.4 Preven¸c˜ao de deadlocks . . . . . . . . . . . . . . . . . 51
2.11.5 Estados seguros e inseguros . . . . . . . . . . . . . . . 51
2.11.6 Algoritmo do banqueiro . . . . . . . . . . . . . . . . . 53
2.12 Comunica¸c˜ao de processos . . . . . . . . . . . . . . . . . . . . 53
2.12.1 Buffers e opera¸c˜oes de sleep e wakeup . . . . . . . . . 54
2.12.2 Sem´aforos . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.12.3 Mem´oria compartilhada . . . . . . . . . . . . . . . . . 58
2.12.4 Outros mecanismos de IPC . . . . . . . . . . . . . . . 60
2.13 Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
2.13.1 Modelos de multithreading . . . . . . . . . . . . . . . . 64
2.13.2 Benef´icios do uso . . . . . . . . . . . . . . . . . . . . 64
3 Escalonamento de Processos 67
3.1 Objetivos do escalonamento . . . . . . . . . . . . . . . . . . . 68
3.2 N´iveis de escalonamento . . . . . . . . . . . . . . . . . . . . . 69
3.3 Escalonamento preemptivo e n˜ao preemptivo . . . . . . . . . 69
3.4 Qualidade do escalonamento . . . . . . . . . . . . . . . . . . . 71
3.5 Algoritmos de escalonamento . . . . . . . . . . . . . . . . . . 72
3.5.1 Escalonamento FIFO (First In First Out) . . . . . . . 73
3.5.2 Escalonamento HPF (Highest Priority First) . . . . . 74
3.5.3 Escalonamento SJF (Shortest Job First) . . . . . . . . 76
3.5.4 Escalonamento HRN (Highest Response-Ratio Next) . 77
3.5.5 Escalonamento SRT (Shortest Remaining Time) . . . 79
3.5.6 Escalonamento RR (Round-Robin) . . . . . . . . . . . 80
3.5.7 Escalonamento MQ (Multilevel Queues) . . . . . . . . 83
3.5.8 Escalonamento MFQ (Multilevel Feedback Queues) . . 84
3.6 Compara¸c˜ao dos algoritmos de escalonamento . . . . . . . . . 87
4 Gerenciamento de Mem´oria 89
4.1 Primeiras considera¸c˜oes . . . . . . . . . . . . . . . . . . . . . 89
4.2 Multiprograma¸c˜ao . . . . . . . . . . . . . . . . . . . . . . . . 92
4.3 Organiza¸c˜ao da mem´oria . . . . . . . . . . . . . . . . . . . . . 95
4.4 Defini¸c˜ao de gerenciamento de mem´oria . . . . . . . . . . . . 97
4.5 Cria¸c˜ao de programas . . . . . . . . . . . . . . . . . . . . . . 99
4.5.1 Espa¸cos l´ogicos e f´isicos . . . . . . . . . . . . . . . . . 101
4.5.2 Compiladores (compilers) . . . . . . . . . . . . . . . . 103
SUM´ ARIO vii
4.5.3 Ligadores (linkers) . . . . . . . . . . . . . . . . . . . . 107
4.5.4 Carregadores (loaders) . . . . . . . . . . . . . . . . . . 110
4.5.5 Relocadores (swappers) . . . . . . . . . . . . . . . . . 111
4.6 Mem´oria virtual . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.7 Modelos de gerenciamento de mem´oria . . . . . . . . . . . . . 118
4.7.1 Monoprogramado com armazenamento real . . . . . . 118
4.7.2 Particionamento fixo . . . . . . . . . . . . . . . . . . . 120
4.7.3 Particionamento vari´avel . . . . . . . . . . . . . . . . . 122
4.7.4 Pagina¸c˜ao . . . . . . . . . . . . . . . . . . . . . . . . . 123
4.7.5 Segmenta¸c˜ao . . . . . . . . . . . . . . . . . . . . . . . 128
4.7.6 Pagina¸c˜ao versus Segmenta¸c˜ao . . . . . . . . . . . . . 131
4.7.7 Pagina¸c˜ao e segmenta¸c˜ao combinadas . . . . . . . . . 132
4.7.8 Tabelas de p´aginas . . . . . . . . . . . . . . . . . . . . 134
4.7.9 Algoritmos de troca de p´aginas . . . . . . . . . . . . . 139
5 Gerenciamento de I/O 143
5.1 M´odulos de I/O . . . . . . . . . . . . . . . . . . . . . . . . . . 143
5.2 Opera¸c˜ao de M´odulos de I/O . . . . . . . . . . . . . . . . . . 145
5.2.1 I/O Programado . . . . . . . . . . . . . . . . . . . . . 145
5.2.2 I/O com interrup¸c˜oes . . . . . . . . . . . . . . . . . . 148
5.2.3 I/O com Acesso Direto `a Mem´oria (DMA) . . . . . . 150
5.3 Tipos de dispositivos de E/S . . . . . . . . . . . . . . . . . . 152
5.3.1 Conex˜ao de Dados dos I/O . . . . . . . . . . . . . . . 152
5.3.2 Tipos de Transferˆencia de I/O . . . . . . . . . . . . . 153
5.3.3 Conex˜oes ponto a ponto e multiponto com I/Os . . . . 154
5.4 Dispositivos perif´ericos t´ipicos . . . . . . . . . . . . . . . . . . 155
5.4.1
...