Você está na página 1de 27

Prof.

Carlos Magno Nery de Oliveira

Arquitetura de Sistemas Operacionais


Francis Berenger Machado / Luiz Paulo Maia

Captulo 3
Concorrncia

2 Concorrncia
Introduo

Concorrncia o princpio bsico para projeto e implementao dos sistemas operacionais multiprogramveis onde possvel o processador executar instrues em paralelo com operaes de E/S.
2

2 Concorrncia
Monoprogramveis x Multiprogramveis

E/ S

E/ S

UCP

livre

UCP

tempo (a) Sistema Monoprogramvel (b) Sistema Multiprogramvel

tempo

A concorrncia possibilita a utilizao concorrente da UCP por diversos programas sendo implementada de maneira que, quando um programa perde o uso do processador e depois retorna para continuar o processamento, seu estado deve ser idntico ao do momento em que foi interrompido. 3

2 Concorrncia
Interrupo e Exceo

O mecanismo de interrupo fundamental para a implementao da multiprogramao, pois em funo desse mecanismo que o sistema operacional sincroniza a execuo de todas as suas rotinas e dos programas dos usurios, alm de controlar dispositivos. A diferena entre interrupo e exceo dada pelo tipo de evento ocorrido.
4

2 Concorrncia
Interrupo e Exceo

A interrupo sempre gerada por um


evento externo ao programa. P. ex.:

ocorre quando o processador para de


executar um programa para tratar uma

outra rotina, como o trmino de uma


operao de E/S.
5

2 Concorrncia
Interrupo e Exceo

A exceo resultado direto da execuo de uma instruo do prprio programa.

2 Concorrncia
Interrupo e Exceo

Uma interrupo sempre gerada por algum evento externo ao programa e, neste caso, independe da instruo que est sendo executada. Ao final da execuo de cada instruo, a unidade de controle verifica a ocorrncia de algum tipo de interrupo. Neste caso, o programa em execuo interrompido e o controle desviado para uma rotina responsvel por tratar o evento ocorrido, denominada rotina de tratamento de interrupo. Para que o programa possa posteriormente voltar a ser executado, necessrio que, no momento da interrupo, um conjunto de informaes sobre a sua execuo seja preservado. Essas informaes consistem no contedo de registradores, que devero ser restaurados para a continuao do programa.

2 Concorrncia
Interrupo e Exceo

Mecanismo de interrupo e exceo 8

2 Concorrncia
Interrupo e Exceo

Outra diferena que a exceo gerada por um evento sncrono, enquanto que a interrupo gerada por um evento assncrono.
9

2 Concorrncia
Interrupo e Exceo

Evento sncronos so resultados

direto da execuo do programa


corrente. Tais eventos so previsveis e, por definio, s podem ocorrer um nico de cada vez.
10

2 Concorrncia
Interrupo e Exceo

Eventos assncronos no so relacionados


instruo do programa corrente. Esses eventos, por serem imprevisveis, podem ocorrer mltiplas vezes, como no caso de diversos dispositivos de E/S informarem ao processador que esto prontos para receber ou transmitir dados.
11

2 Concorrncia
Operaes de Entrada/Sada

Nos primeiros sistemas computacionais, a comunicao entre o processador e os dispositivos de E/S era controlada por um conjunto de instrues de entrada/sada.
12

2 Concorrncia
Operaes de Entrada/Sada

Nesse modelo a comunicao

entre processador e dispositivos


E/S era direta e criava uma

dependncia entre eles.


13

2 Concorrncia
Operaes de Entrada/Sada

Mais tarde surgiu o

CONTROLADOR ou
INTERFACE, que

UCP

Memria Principal

permitiu ao
processador agir de maneira mais independente.
Dispositivos de E/ S Controlador

14

2 Concorrncia
Operaes de Entrada/Sada

Trs tcnicas utilizando o controlador:

Busy wait processador sincronizava-se


com o perifrico;

Polling o S.O. realiza testes em intervalos


de tempo; E/S controlada por interrupo o prprio controlador interrompe o processador.
15

2 Concorrncia
Operaes de Entrada/Sada

E/S controlada por interrupo muito


mais eficiente que a controlada por

programa, pois permite vrias operaes


de E/S e o processador no precisa

esperar o trmino da operao.


16

2 Concorrncia
Operaes de Entrada/Sada

Para solucionar o problema de muitas


intervenes do processador devido

ao grande volume de dados,


implementou-se a tcnica de

Direct Memory Access (DMA)


17

2 Concorrncia
Operaes de Entrada/Sada

A tcnica de DMA permite que um bloco


seja transferido entre a memria principal

e os dispositivos de E/S, sem interveno


do processador, exceto no incio e

trmino da operao.
18

2 Concorrncia
Operaes de Entrada/Sada

A extenso do conceito

UCP

Memria Principal

de DMA possibilitou o
surgimento do CANAL
Canal de E/ S

DE E/S, introduzido
pela IBM.

Controlador

Controlador

Dispositivos de E/ S

Dispositivos de E/ S

19

2 Concorrncia
Buffering

A tcnica de BUFFERING consiste na utilizao de uma rea na memria principal para transferncia de dados entre os dispositivos de E/S e a memria
Memria Principal

gravao UCP leitura Buffer

gravao Controlador leitura

20

2 Concorrncia
Buffering

O buffering permite minimizar o problema da disparidade da velocidade de processamento existente entre o processador e os dispositivos de E/S, esta tcnica permite manter, na maior parte do tempo, processador e dispositivos de E/S ocupados.
21

2 Concorrncia
Spooling

A tcnica de SPOOLING foi introduzida para aumentar o grau de concorrncia e a eficincia dos sistemas operacionais.
Sistema Operacional

Programa

Arquivo de Spool

Impressora

22

2 Concorrncia
Spooling

No momento em que um comando de impresso executado, as informaes que sero impressas so gravadas antes em um arquivo em disco, conhecido como arquivo de spool, liberando imediatamente o programa para outras atividades. Posteriormente, o sistema operacional encarrega-se em direcionar o contedo do arquivo de spool para a impressora.
23

2 Concorrncia
Reentrncia

Comum em sistemas multiprogramveis, a REENTRNCIA a capacidade de um cdigo executvel (reentrante) ser

compartilhado por diversos usurios, exigindo que apenas uma cpia do programa esteja na memria.
24

2 Concorrncia
Reentrncia

usurio A

usurio C

cdigo reentrante
usurio B rea de dados do usurio A rea de dados do usurio B rea de dados do usurio C rea de dados do usurio D usurio D

Memria Principal

25

2 Concorrncia
Proteo do Sistema

Se considerarmos que diversos usurios

esto compartilhando os mesmos recursos


como memria, processador e dispositivos

de E/S, deve existir uma preocupao em


garantir a confiabilidade e a integridade dos programas e dados dos usurios, alm do prprio sistema operacional.
26

2 Concorrncia
Proteo do Sistema

O prprio sistema operacional deve


possuir mecanismos de proteo que controlem o acesso concorrente aos diversos recursos do sistema.
27

Você também pode gostar