Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword or section
Like this
86Activity

Table Of Contents

0 of .
Results for:
No results containing your search query
P. 1
Apostila de Sistemas Operacionais

Apostila de Sistemas Operacionais

Ratings:

5.0

(1)
|Views: 13,104 |Likes:
Published by Wesley Prata

More info:

Published by: Wesley Prata on Dec 09, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

03/21/2014

pdf

text

original

 
 SISTEMAS OPERACIONAIS
 APOSTILA por Lucília Ribeiro
“Nada lhe posso dar que já não exista em você mesmo.Não posso abrir-lhe outro mundo de imagens, além daquele que há em sua  própria alma. Nada lhe posso dar a não ser a oportunidade, o impulso, a cha- ve. Eu o ajudarei a tornar visível o seu próprio mundo, e isso é tudo.” 
(Hermann Hesse)
Versão 6 – ago/08
 
 
Sistemas Operacionais – Lucilia Ribeiro
2
 
Índice
"A alma tem terrenos infranqueáveis, onde retemos nossos sonhos dourados ou um tenebroso dragão. Assim fazemos por medo de que ambos nos escapem, temendo que nosroubem o ouro ou nos devore o dragão”
(Ralph Emerson)
ÍNDICE..................................................................................................................................................................2
 
VISÃO GERAL.....................................................................................................................................................6
 
1.1
 
INTRODUÇÃO...................................................................................................................................6
 
1.2
 
O
 
SISTEMA
 
OPERACIONAL
 
-
 
FUNCIONALIDADES....................................................................6
 
1.2.2
 
O SISTEMA OPERACIONAL VISTO COMO UM GERENTE DE RECURSOS.............................
 
1.3
 
SISTEMA
 
OPERACIONAL
 
 NA
 
VISÃO
 
DO
 
USUÁRIO....................................................................7
 
1.3.1
 
CHAMADAS DE SISTEMA.............................................................................................................
 
1.4
 
PROJETO
 
DO
 
SISTEMA
 
OPERACIONAL........................................................................................8
 
1.4.1
 
 INTERRUPÇÃO x EXCEÇÃO.........................................................................................................8
 
1.5
 
HISTÓRICO
 
DOS
 
SISTEMAS
 
OPERACIONAIS..............................................................................9
 
1.5.1
 
 DÉCADA DE 1940 (Ausência de SOs)............................................................................................9
 
1.5.2
 
 DÉCADA DE 1950 (Processamento em Batch)..............................................................................9
 
1.5.3
 
 DÉCADA DE 1960 (Processamento Time-sharing)......................................................................10
 
1.5.4
 
 DÉCADA DE 1970 (Multiprocessamento)....................................................................................10
 
1.5.5
 
 DÉCADA DE 1980 (Computadores Pessoais):.............................................................................10
 
1.5.6 
 
 DÉCADA DE 1990 (Sistemas Distribuídos): ................................................................................11
 
1.6
 
CLASSIFICAÇÃO
 
DOS
 
SISTEMAS
 
OPERACIONAIS..................................................................11
 
1.6.1
 
SISTEMAS MONOPROGRAMÁVEIS OU MONOTAREFAS........................................................11
 
1.6.2
 
SISTEMAS MULTIPROGRAMÁVEIS OU MULTITAREFAS.......................................................11
 
a)
 
Sistemas Batch....................................................................................................................................12
 
b)
 
Sistemas de Tempo Compartilhado....................................................................................................12
 
c)
 
Sistemas de Tempo Real.....................................................................................................................12
 
1.6.3
 
SISTEMAS COM MÚLTIPLOS PROCESSADORES ....................................................................13
 
1.7
 
EXERCÍCIOS....................................................................................................................................15
 
MULTIPROGRAMAÇÃO.................................................................................................................................16
 
2.1
 
INTRODUÇÃO.................................................................................................................................16
 
2.2
 
MECANISMO
 
BÁSICO....................................................................................................................16
 
2.3
 
O
 
CONCEITO
 
DE
 
PROCESSO.........................................................................................................17
 
2.4
 
ESTRUTURA
 
DO
 
PROCESSO.........................................................................................................18
 
2.4.1
 
CONTEXTO DE HARDWARE......................................................................................................19
 
2.4.2
 
CONTEXTO DE SOFTWARE.......................................................................................................19
 
2.4.3
 
 ESPAÇO DE ENDEREÇAMENTO...............................................................................................20
 
2.4.4
 
 BLOCO DE CONTROLE DE PROCESSO ...................................................................................20
 
2.5
 
ESTADOS
 
DO
 
PROCESSO..............................................................................................................20
 
2.6
 
MUDANÇA
 
DE
 
ESTADO
 
DO
 
PROCESSO.....................................................................................21
 
2.7
 
CRIAÇÃO
 
E
 
ELIMINAÇÃO
 
DE
 
PROCESSOS................................................................................22
 
2.8
 
PROCESSOS
 
INDEPENDENTES,
 
SUBPROCESSOS
 
E
 
THREADS..............................................23
 
2.9
 
PROCESSOS
 
PRIMEIRO
 
(
 FOREGROUND
)
 
E
 
SEGUNDO
 
PLANO
 
(
 BACKGROUND
)................24
 
2.10.
 
PROCESSOS
 
LIMITADOS
 
POR 
 
CPU
 
(CPU-
 BOUND
)
 
E
 
POR 
 
E/S
 
(
 I/O-BOUND
)..........................24
 
2.11
 
SELEÇÃO
 
DE
 
PROCESSOS.............................................................................................................24
 
2.11.1
 
 FILAS PARA SELEÇÃO DE PROCESSOS..............................................................................24
 
2.11.2
 
 ESCALONADORES..................................................................................................................25
 
2.12
 
EXERCÍCIOS....................................................................................................................................25
 
PROGRAMAÇÃO CONCORRENTE..............................................................................................................27
 
3.1
 
INTRODUÇÃO.................................................................................................................................27
 
3.2
 
DEFINIÇÃO......................................................................................................................................27
 
3.3
 
SINCRONIZAÇÃO...........................................................................................................................27
 
3.4
 
ESPECIFICAÇÃO
 
DE
 
CONCORRÊNCIA
 
EM
 
PROGRAMAS.......................................................29
 
3.5
 
PROBLEMAS
 
DE
 
COMPARTILHAMENTO
 
DE
 
RECURSOS.......................................................30
 
 
 
Sistemas Operacionais – Lucilia Ribeiro
3
3.6
 
EXCLUSÃO
 
MÚTUA.......................................................................................................................32
 
3.7
 
SOLUÇÕES
 
DE
 
HARDWARE.........................................................................................................32
 
3.7.1
 
 DESABILITAÇÃO DAS INTERRUPÇÕES....................................................................................32
 
3.7.2
 
 INSTRUÇÃO TEST-AND-SET LOCKED (TSL)............................................................................33
 
3.8
 
SOLUÇÕES
 
DE
 
SOFTWARE...........................................................................................................33
 
3.8.1
 
 PRIMEIRO ALGORITMO: ESTRITA ALTERNÂNCIA.................................................................33
 
3.8.2
 
SEGUNDO ALGORITMO:............................................................................................................34
 
3.8.3
 
TERCEIRO ALGORITMO: ...........................................................................................................35
 
3.8.4
 
QUARTO ALGORITMO: ..............................................................................................................35
 
3.8.5
 
 ALGORITMO DE PETERSON......................................................................................................36 
 
3.9
 
PROBLEMA
 
DO
 
PRODUTOR-CONSUMIDOR 
OU
SINCRONIZAÇÃO
 
CONDICIONAL..........37
 
3.10
 
SEMÁFOROS....................................................................................................................................38
 
3.10.1
 
 EXCLUSÃO MÚTUA UTILIZANDO SEMÁFOROS................................................................38
 
3.10.2
 
SINCRONIZAÇÃO CONDICIONAL UTILIZANDO SEMÁFOROS.........................................39
 
3.11
 
TROCA
 
DE
 
MENSAGENS...............................................................................................................40
 
3.12
 
PROBLEMAS
 
CLÁSSICOS
 
DE
 
SINCRONIZAÇÃO......................................................................41
 
3.12.1
 
 PROBLEMA DOS FILÓSOFOS GLUTÕES.............................................................................41
 
3.12.2
 
 PROBLEMA DO BARBEIRO DORMINHOCO........................................................................41
 
3.13
 
EXERCÍCIOS....................................................................................................................................42
 
DEADLOCK........................................................................................................................................................44
 
4.1
 
INTRODUÇÃO.................................................................................................................................44
 
4.2
 
EXEMPLOS
 
DE
 
DEADLOCKS........................................................................................................44
 
4.2.1
 
 DEADLOCK DE TRÁFEGO.........................................................................................................44
 
4.2.2
 
 DEADLOCK SIMPLES DE RECURSOS ......................................................................................44
 
4.2.3
 
 DEADLOCK EM SISTEMAS DE SPOOLING..............................................................................44
 
4.2.4
 
 ADIAMENTO INDEFINIDO.........................................................................................................45
 
4.3
 
RECURSOS.......................................................................................................................................45
 
4.4
 
QUATRO
 
CONDIÇÕES
 
 NECESSÁRIAS
 
PARA
 
DEADLOCKS....................................................46
 
4.5
 
O
 
MODELO
 
DO
 
DEADLOCK..........................................................................................................46
 
4.6
 
MÉTODOS
 
PARA
 
LIDAR 
 
COM
 
DEADLOCKS..............................................................................47
 
4.7
 
O
 
ALGORITMO
 
DO
 
AVESTRUZ....................................................................................................48
 
4.8
 
DETECÇÃO
 
DE
 
DEADLOCKS........................................................................................................48
 
4.8.1
 
 DETECÇÃO DO DEADLOCK COM UM RECURSO DE CADA TIPO.......................................48
 
4.8.2
 
 DETECÇÃO DO DEADLOCK COM VÁRIOS RECURSOS DE CADA TIPO.............................49
 
4.9
 
RECUPERAÇÃO
 
DE
 
DEADLOCKS................................................................................................50
 
4.9.1
 
 RECUPERAÇÃO ATRAVÉS DA PREEMPÇÃO...........................................................................50
 
4.9.2
 
 RECUPERAÇÃO ATRAVÉS DE VOLTA AO PASSADO..............................................................50
 
4.9.3
 
 RECUPERAÇÃO ATRAVÉS DE ELIMINAÇÃO DE PROCESSOS..............................................50
 
4.10
 
TENTATIVAS
 
DE
 
EVITAR 
 
O
 
DEADLOCK...................................................................................51
 
4.10.1
 
 ESTADOS SEGUROS E INSEGUROS.....................................................................................51
 
4.10.2
 
 ALGORITMO DO BANQUEIRO PARA UM ÚNICO TIPO DE RECURSO............................51
 
4.11
 
PREVENÇÃO
 
DE
 
DEADLOCKS.....................................................................................................52
 
4.11.1
 
 ATACANDO O PROBLEMA DA EXCLUSÃO MÚTUA...........................................................52
 
4.11.2
 
 ATACANDO O PROBLEMA DA POSSE E DA ESPERA.........................................................52
 
4.11.3
 
 ATACANDO O PROBLEMA DA CONDIÇÃO DE NÃO-PREEMPÇÃO.................................52
 
4.11.4
 
 ATACANDO O PROBLEMA DA ESPERA CIRCULAR...........................................................52
 
4.12
 
EXERCÍCIOS....................................................................................................................................53
 
GERÊNCIA DO PROCESSADOR...................................................................................................................55
 
5.1
 
INTRODUÇÃO.................................................................................................................................55
 
5.2
 
FUNÇÕES
 
BÁSICAS........................................................................................................................55
 
5.3
 
CRITÉRIOS
 
DE
 
ESCALONAMENTO.............................................................................................55
 
5.4
 
ESTRATÉGIAS
 
DE
 
ESCALONAMENTO.......................................................................................56
 
5.5
 
ESCALONAMENTO
 
FIRST
 
COME
 
FIRST
 
SERVED
 
(FCFS)
OU
FIFO.........................................56
 
5.6
 
ESCALONAMENTO
 
MENOR 
 
JOB
 
PRIMEIRO
OU
SJF
 
(S
HORTEST
J
OB
F
IRST
).............................57
 
5.7
 
ESCALONAMENTO
 
PRÓXIMA
 
TAXA
 
DE
 
RESPOSTA
 
MAIS
 
ALTA
OU
HRRN.......................57
 
5.8
 
ESCALONAMENTO
 
MENOR 
 
TEMPO
 
REMANESCENTE
OU
SRT.............................................58
 
5.9
 
ESCALONAMENTO
 
CIRCULAR 
OU
ROUND
 
ROBIN
 
(RR).........................................................58
 
5.10
 
ESCALONAMENTO
 
POR 
 
PRIORIDADES.....................................................................................59
 
5.11
 
ESCALONAMENTO
 
POR 
 
MÚLTIPLAS
 
FILAS.............................................................................59
 
5.12
 
ESCALONAMENTO
 
DE
 
TEMPO
 
REAL.........................................................................................60
 
5.12.1
 
 ESCALONAMENTO DE TEMPO REAL ESTÁTICOS.............................................................61
 

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->