aula 03 concorrência - wordpress.com · forçado no seu fluxo de execução. • estes eventos...

12
1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 03 Concorrência 2

Upload: others

Post on 14-Nov-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aula 03 Concorrência - WordPress.com · forçado no seu fluxo de execução. • Estes eventos são conhecidos como interrupção ou exceção, e podem ser consequência da utilização

1

Sistemas OperacionaisProf. Esp. André Luís BeliniBacharel em Sistemas de InformaçõesMBA em Gestão Estratégica de Negócios

Aula 03

Concorrência

2

Page 2: Aula 03 Concorrência - WordPress.com · forçado no seu fluxo de execução. • Estes eventos são conhecidos como interrupção ou exceção, e podem ser consequência da utilização

2

Concorrência

• Sistemas operacionais podem ser vistos como umconjunto de rotinas executadas de forma concorrente eordenada.

• A possibilidade do processador executar instruções aomesmo tempo que outras operações, como, porexemplo, operações de E/S, permite que diversastarefas sejam executadas concorrentemente pelosistema.

• O conceito de concorrência é o princípio básico para oprojeto e a implementação dos sistemasmultiprogramáveis.

3

Sistemas Monoprogramáveis X Sistemas Multiprogramáveis

• Os sistemas multiprogramáveis surgiram a partir delimitações nos S.O. monoprogramáveis.» Principais problemas:

• Recursos computacionais, como processador, memóriae dispositivos de E/S, eram utilizados de maneira poucoeficiente.

• Muitos desses recursos de alto custo permaneciammuitas vezes ociosos por longos períodos de tempo.

• Nos sistemas monoprogramáveis somente umprograma pode estar em execução por vez,permanecendo o processador dedicado,exclusivamente, a essa tarefa. Exemplo: DOS

4

Page 3: Aula 03 Concorrência - WordPress.com · forçado no seu fluxo de execução. • Estes eventos são conhecidos como interrupção ou exceção, e podem ser consequência da utilização

3

5

Sist. Monoprogramável x Sist. Multiprogramável

2

(a) Sistema Monoprogramáveltempo tempo

E/S E/S

UCP UCPlivre 11

1

(b) Sistema Multiprogramável

• A subutilização de memória é outro fator a serconsiderado num S.O. monoprogramável.

• Nos sistemas multiprogramáveis, vários programaspodem estar residentes em memória, concorrendo pelautilização do processador.

• Quando um programa solicita uma operação de E/S,outros programas podem utilizar o processador.

• Dessa forma, a UCP permanece menos tempo ociosa.• A utilização concorrente da UCP deve ser implementada

de maneira que, quando um programa perde o uso doprocessador e depois retorna para continuar oprocessamento, seu estado deve ser idêntico ao domomento em que foi interrompido.

6

Page 4: Aula 03 Concorrência - WordPress.com · forçado no seu fluxo de execução. • Estes eventos são conhecidos como interrupção ou exceção, e podem ser consequência da utilização

4

Interrupções e Exceções

• Durante a execução de um programa podem ocorreralguns eventos inesperados, ocasionando um desvioforçado no seu fluxo de execução.

• Estes eventos são conhecidos como interrupção ouexceção, e podem ser consequência da utilização dedispositos de E/S ou da execução de instruções dopróprio programa.

• A diferença entre interrupção e exceção é dada pelo tipode evento ocorrido, no entanto, alguns autores efabricantes não fazem essa distinção.

7

• Uma interrupção é sempre gerada por algum eventoexterno ao programa e, nesse caso, independe dainstrução que está sendo executada. Exemplos: E/S

• Uma exceção é semelhante a uma interrupção, sendo aprincipal diferença, o motivo pelo qual foi gerada. Aexceção é resultado direto da execução de umainstrução do próprio programa, como a divisão de umnúmero por zero ou a ocorrência de overflow em umaoperação aritmética.

• A exceção é gerada por um evento síncrono.• A interrupção é gerada por um evento assíncrono

8

Page 5: Aula 03 Concorrência - WordPress.com · forçado no seu fluxo de execução. • Estes eventos são conhecidos como interrupção ou exceção, e podem ser consequência da utilização

5

9

Interrupção e Exceção

Operação de Entrada / Saída

• Nos primeiros sistemas computacionais, a comunicaçãoentre processador e periféricos era controlada por umconjunto de instruções especiais, denominadasinstruções de entrada/saída, executadas pelo próprioprocessador.

• O surgimento do controlador de interface permitiu aoprocessador agir de maneira independente dosdispositivos de E/S.

• Com a utilização do controlador, existem duas maneirasatravés das quais o processador gerencia as operaçõesde E/S

10

Page 6: Aula 03 Concorrência - WordPress.com · forçado no seu fluxo de execução. • Estes eventos são conhecidos como interrupção ou exceção, e podem ser consequência da utilização

6

• Primeira: Processador sincroniza com o periférico para oinicio da transferência de dados e, após, ficava testandopermanentemente o estado do periférico para saberquando a operação tinha terminado. Essa técnicamantinha o processador por muito tempo ocupado.

• Segunda: Após o início da transferência dos dados oprocessador permanece livre para realizar outrastarefas. Dessa forma, em determinados intervalos detempo, o processador deveria testar o dispositivo de E/Spara verificar o término da operação.

11

• Com o mecanismo de interrupção, as operações de E/Spuderam ser realizadas de forma mais eficiente.

• O controlador interrompe o processador para avisar dotérmino de uma operação.

• Com esse mecanismo, o processador, após a execuçãode um comando de leitura ou gravação, permanece livrepara o processamento de outras tarefas.

• A operação de E/S controlada por interrupção é muitomais eficiente que a controlada por programa, já queelimina a necessidade do processador esperar pelotérmino da operação, além de permitir que várias outrasoperações de E/S sejam executadas simultaneamente.

12

Page 7: Aula 03 Concorrência - WordPress.com · forçado no seu fluxo de execução. • Estes eventos são conhecidos como interrupção ou exceção, e podem ser consequência da utilização

7

13

Controlador

MemóriaPrincipalUCP

Controlador

Dispositivos de E/S

DMA

• A técnica de DMA (Direct Memory Access) foiimplementada para resolver um problema criado pelainterrupção, pois a transferência de um grande volumede dados exigia muitas interrupções do processador,fato que reduzia sua eficiência.

• Com o DMA, foi possível transferir um bloco de dados,entre a memória principal e dispositivos de E/S, sem aintervenção do processador, exceto no início e no finalda transferência.

• Quando o sistema deseja ler ou gravar um bloco dedados, o processador informa ao controlador sualocalização, o dispositivo de E/S, a posição inicial namemória de onde os dados serão lidos ou gravados e otamanho do bloco.

14

Page 8: Aula 03 Concorrência - WordPress.com · forçado no seu fluxo de execução. • Estes eventos são conhecidos como interrupção ou exceção, e podem ser consequência da utilização

8

• Com essas informações, o controlador realiza atransferência entre o periférico e a M.P., e oprocessador é interrompido somente ao final daoperação.

• A área de memória utilizada pelo controlador, na técnicade DMA, é chamada de buffer de entrada e saída.

15

16

Canal de E/S

MemóriaPrincipalUCP

Canal de E/S

Controlador

Dispositivos de E/S

Controlador

Dispositivos de E/S

Page 9: Aula 03 Concorrência - WordPress.com · forçado no seu fluxo de execução. • Estes eventos são conhecidos como interrupção ou exceção, e podem ser consequência da utilização

9

Buffering

• A técnica de buffering consiste na utilização de umaárea na memória principal, denominada buffer, para atransferência de dados entre os dispositivos de E/S e amemória.

• Esta técnica permite que uma operação de leitura odado seja transferido primeiramente para o buffer,liberando imediatamente o dispositivo de entrada pararealizar nova leitura.

• O buffering permite minimizar o problema da disparidadeda velocidade de processamento existente entre oprocessador e os dispositivos de E/S.

• O objetivo desta técnica é manter, na maior parte dotempo, processador e dispositivos de E/S ocupados

17

18

Buffering

MemóriaPrincipal

UCP Buffer

gravação gravação

leitura leitura

Controlador

Page 10: Aula 03 Concorrência - WordPress.com · forçado no seu fluxo de execução. • Estes eventos são conhecidos como interrupção ou exceção, e podem ser consequência da utilização

10

Spooling

• Como a velocidade de operação dos dispositivos de E/Sé muito menor que a do processador, era comum que aUCP permanecesse ociosa à espera de programas edados de entrada ou pelo término de uma impressão.

• A solução foi armazenar os vários programas e seusdados, também chamados de jobs, em uma fitamagnética e, em seguida, submetê-los aprocessamento.

• Dessa forma, o processador poderia executarsequencialmente cada job, diminuindo o tempo deprocessamento e transição entre eles. Da mesma forma,em vez de um job gravar suas saídas diretamente naimpressora, poderia direcioná-las para uma outra fita,que depois seria impressa integralmente.

19

20

Spooling

Programa ImpressoraArquivode Spool

Sistema OperacionalSistema Operacional

Page 11: Aula 03 Concorrência - WordPress.com · forçado no seu fluxo de execução. • Estes eventos são conhecidos como interrupção ou exceção, e podem ser consequência da utilização

11

Reentrância

• É comum, em sistemas multiprogramáveis, váriosusuários utilizarem os mesmos aplicativossimultaneamente.

• Se cada usuário que utilizasse esses aplicativostrouxesse o código executável para a memória, haveriadiversas cópias de um mesmo programa na MP, o queocasionaria disperdício de espaço.

• Reentrância é a capacidade de um código executávelser compartilhado por diversos usuários, exigindoapenas uma cópia do programa em M.P.

• A reentrância permite que cada usuário possa estar emum ponto diferente do código reentrante, manipulandodados próprios, exclusivos de cada usuário.

21

22

Reentrância

Memória Principal

código reentrante

área de dados do usuário A

usuário A usuário C

usuário B usuário D

área de dados do usuário B

área de dados do usuário C

área de dados do usuário D

Page 12: Aula 03 Concorrência - WordPress.com · forçado no seu fluxo de execução. • Estes eventos são conhecidos como interrupção ou exceção, e podem ser consequência da utilização

12

Prof. André Luís Belini E-mail: [email protected]

Blog: http://profandreluisbelini.blogspot.com/