Você está na página 1de 17

1

Aula 03 - Concorrncia
2

1. Introduo
Sistemas operacionais podem ser vistos como
um conjunto de rotinas executadas
concorrentemente de forma ordenada
Princpio bsico para o projeto e implementao
de Sistemas Multiprogramveis

E/S E/S 1

UCP livr e UCP 1 2 1

tem po tem po
(a) Sistema Monoprogramvel (b) Sistema Multiprogramvel
3

1. Introduo (cont.)

Caractersticas da execuo de programas


Caractersticas Prog1 Prog2 Prog3
Utilizao da CPU Alta Baixa Baixa
Operaes de Entrada e Sada Poucas Muitas Muitas
Tempo de Processamento 5 mim 15 min 10 min
Memria utilizada 50 kb 100 kb 80 kb
Utilizao de disco No No Sim
Utilizao de terminal No Sim No
Utilizao de impressora No No Sim
4

1. Introduo (cont.)

Quanto tempo ir levar para a


execuo dos 3 programas em
um sistema monoprogramado?

E se fosse em um sistema
multiprogramado?
5

Monoprogramao X Multiprogramao
Monoprogramao Multiprogramao

Utilizao da CPU 17% 33%


Utilizao da memria 30% 67%
Utilizao de disco 33% 67%
Utilizao de impressora 33% 6%
Tempo total de 30 min 15 min.
processamento
Taxa de throughput 6 prog/hora 12 prog/hora
6

2. Interrupo
Mecanismo pelo qual componentes distintos do
processador (E/S, memria) podem interromper a
sequncia normal de execuo de instrues do
processador
uma transferncia de controle para o SISTEMA
OPERACIONAL em resposta a um evento de
hardware ou software
Por exemplo:
Usurio tecla CTRL + C
Instruo faz diviso por 0 (zero)
Dados chegam do disco ou da interface de rede
Temporizador expira (Permite ao SO realizar certas
funes a intervalos de tempos regulares)
7

2. Interrupo (cont.)
Como ocorre o
tratamento da
interrupo?
Lembrando que:
Unidade de controle, ao final
da execuo de cada
instruo, verifica a
ocorrncia de alguma
interrupo
8

2. Interrupo (cont.)
9

2. Interrupo (cont.)
Mtodos utilizados para o tratamento de
interrupes:
Vetor de tratamento de interrupes
indexado pelo nmero do dispositivo, fornecido com a
solicitao da interrupo
Vetor contm endereo da rotina de tratamento da
interrupo do dispositivo que est sendo interrompido
(Windows, UNIX)
Registrador de status
Armazena o tipo de evento ocorrido
Existe uma nica rotina de tratamento de interrupo que
testa o contedo do registador e trata a interrupo de
maneira adequada
10

2. Interrupo (cont.)
Exemplo de configurao comum IRQ 8 - Relgio do CMOS (fixo)
de endereos em um PC da era IRQ 9 - Placa de vdeo
Pentium 7: IRQ 10 - Livre
IRQ 0 - Sinal de clock da placa- IRQ 11 - Controlador USB
me (fixo) IRQ 12 - Porta PS/2
IRQ 1 - Teclado (fixo) IRQ 13 - Coprocessador
IRQ 2 - Cascateador de IRQs aritmtico (fixo)
(fixo) IRQ 14 - IDE Primria
IRQ 3 - Porta serial 2 IRQ 15 - IDE Secundria
IRQ 4 - Porta serial 1
IRQ 5 - Livre
IRQ 6 - Drive de disquetes Cada IRQs possui uma linha
IRQ 7 - Porta paralela fsica que a liga ao processador
(impressora)
11

3. Operaes de entrada e sada


Responsvel por movimentar
os dados entre os dispositivos
perifricos que controla e seu
buffer de armazenamento local Memria
Principal
UCP
Controlador responsvel por
um tipo especfico de
dispositivo
Contem buffer local e
conjunto de registradores de
uso especfico Controlador

SO tem um driver de
dispositivo para cada
controlador de dispositivo
Dispositivos de E/ S
12

3. Operaes de entrada e sada


(cont.)
Driver (SOFTWARE) de dispositivo entende o controlador
Para iniciar operao de I/O, o driver de dispositivo carrega
os registradores apropriados dentro do controlador de
dispositivo
Controlador examina o contedo de seus registradores para saber
o que fazer
1. Controlador inicia a transferncia dos dados dos dispositivos
para o seu buffer local
2. Transferncia concluda, controlador informa driver atravs de
uma interrupo
3. Driver retorna controle para o SO passando dados ou ponteiro
para os dados se for leitura ou status no caso de escrita
4. Rotina do SO responsvel por obter dados da memria
principal ou armazenar dados na memria principal I/O
dirigida por interrupo
1. Dado no buffer do controlador, SO deve transferir para memria
13

3. Operaes de entrada e sada


(cont.)
I/O dirigida por interrupo adequada para pequenas
quantidades de dados
Para maiores quantidades de dados usa-se DMA (direct
memory acess - acesso direto memria)
controlador transfere um bloco inteiro de dados diretamente da
memria para seu prprio buffer ou a partir dele para a
memria, sem interveno da CPU
Somente uma interrupo gerada por bloco, para informar ao
driver de dispositivo que a operao foi concluda, em vez de uma
interrupo por byte gerada pelos dispositivos de baixa
velocidade
Enquanto o controlador de dispositivo est executando essas
operaes, a CPU fica disponvel para processar outras tarefas
CONTROLADOR REALIZA A TRANSFERNCIA ENTRE O
PERIFRICO E A MEMRIA PRINCIPAL
14

4. Buffering
Tcnica que permite a utilizao de rea na
memria principal para a transferncia de dados
entre os dispositivos de E/S e a memria

Memria
Principal

gravao gravao
UCP Controlador
Buffer
leitura leitura
15

5. Spolling
Tcnica que utiliza uma rea em disco como se
fosse um grande buffer (dados podem ser lidos
ou gravados em disco, enquanto programas so
executados concorrentemente)

Sistema Operacional

Programa Arquivo Impressora


de Spool
16

6. Reentrncia
Capacidade de um cdigo
executvel (cdigo reentrante)
ser compartilhado por vrios
usurios, exigindo que apenas
uma cpia do programa esteja usurio A usurio C
em memria (sistemas
multiprogramados) cdigo reentrante
usurio B usurio D
rea de dados do usurio A

rea de dados do usurio B

rea de dados do usurio C

rea de dados do usurio D

Memria Principal
17

Bibliografia
SILBERSCHATZ, Abraham, GALVIN, Peter,
GAGNE, Greg. Fundamentos de Sistemas
Operacionais. 8. Ed. Rio de Janeiro : LTC,
2010.
MACHADO, Francis B.; MAIA, Luiz Paulo.
Arquitetura de Sistemas Operacionais. 3
ed. Rio de Janeiro : LTC, 2002.

Você também pode gostar