Sistemas Operacionais
Por: crevis • 15/5/2016 • Artigo • 51.268 Palavras (206 Páginas) • 337 Visualizações
Notas sobre
Sistemas Operacionais
Peter Jandl Jr.
ii
Jandl, Peter, Jr.
Notas sobre Sistemas Operacionais/Peter Jandl Jr.
Apostila
1. Sistemas operacionais: Computadores : Processamento de
dados : 005.43
2004
Hist´orico
1.1 Fev2004 Revis˜ao Geral. Threads. Escalonamento por prioridades. Escalonamento
com m´ultiplas filas.
1.0 Ago1999 Vers˜ao Inicial.
(C) 2004 Prof. Peter Jandl Jr.
Vers˜ao 1.1 Fevereiro/2004
Este documento foi preparado utilizando LATEX2".
iii
”O homem pode se tornar culto
pela cultura dos outros,
mas s´o pode se tornar s´abio
pelas pr´oprias experiˆencias.”
(Prov´erbio ´Arabe)
iv
Sum´ario
Pref´acio 1
1 Introdu¸c˜ao 3
1.1 Definindo os sistemas operacionais . . . . . . . . . . . . . . . 3
1.2 Objetivos de um sistema operacional . . . . . . . . . . . . . . 6
1.3 Breve hist´orico . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.1 O in´icio . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.2 D´ecada de 1940 . . . . . . . . . . . . . . . . . . . . . . 7
1.3.3 D´ecada de 1950 . . . . . . . . . . . . . . . . . . . . . . 9
1.3.4 D´ecada de 1960 . . . . . . . . . . . . . . . . . . . . . . 11
1.3.5 D´ecada de 1970 e 1980 . . . . . . . . . . . . . . . . . . 13
1.3.6 D´ecada de 1990 . . . . . . . . . . . . . . . . . . . . . . 14
1.3.7 D´ecada de 2000 . . . . . . . . . . . . . . . . . . . . . . 15
1.4 Tipos de sistemas operacionais . . . . . . . . . . . . . . . . . 15
1.5 Recursos e ambiente operacional . . . . . . . . . . . . . . . . 17
2 Processos 21
2.1 O que ´e um processo computacional . . . . . . . . . . . . . . 21
2.1.1 Subdivis˜ao dos processos . . . . . . . . . . . . . . . . 22
2.2 Ocorrˆencia de processos . . . . . . . . . . . . . . . . . . . . . 23
2.2.1 Processos seq¨uenciais . . . . . . . . . . . . . . . . . . . 24
2.2.2 Processos Paralelos . . . . . . . . . . . . . . . . . . . . 24
2.3 Estado dos processos . . . . . . . . . . . . . . . . . . . . . . . 25
2.4 PCB e tabelas de processos . . . . . . . . . . . . . . . . . . . 28
2.4.1 PCB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4.2 Tabelas de processos . . . . . . . . . . . . . . . . . . . 30
2.5 Opera¸c˜oes sobre processos . . . . . . . . . . . . . . . . . . . . 30
2.6 Fun¸c˜oes do n´ucleo de sistema operacional . . . . . . . . . . . 31
2.7 Competi¸c˜ao por recursos . . . . . . . . . . . . . . . . . . . . . 32
2.7.1 Regi˜oes cr´iticas . . . . . . . . . . . . . . . . . . . . . . 32
2.7.2 C´odigo reentrante . . . . . . . . . . . . . . . . . . . . 33
2.8 Protocolos de acesso . . . . . . . . . . . . . . . . . . . . . . . 33
2.8.1 Solu¸c˜ao com instru¸c˜oes TST ou TSL . . . . . . . . . . 36
v
vi SUM´ ARIO
2.8.2 Situa¸c˜oes de corrida . . . . . . . . . . . . . . . . . . . 37
2.8.3 Requisitos 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
...