Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de...

23
rquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência 1 Arquitetura de Sistemas Arquitetura de Sistemas Operacionais Operacionais Flávio Medeiros Flávio Medeiros Capítulo 3 Capítulo 3 Concorrência Concorrência

Transcript of Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de...

Page 1: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 1

Arquitetura de Sistemas Arquitetura de Sistemas OperacionaisOperacionais

Flávio MedeirosFlávio Medeiros

Capítulo 3Capítulo 3ConcorrênciaConcorrência

Page 2: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 2

Sumário

• Introdução• Interrupção e exceção• Operações de E/S• Buffering• Spooling• Reentrância• Proteção do sistema

Page 3: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 3

Introdução

• Concorrência– Princípio básico para o projeto de e a

implementação de sistemas multiprogramáveis– Através da concorrência que diversas tarefas

podem ser executadas em paralelo

• Limitações nos sistemas monoprogramáveis– Disparidade no tempo que o processador executa

instruções e o tempo das operações de entrada e saída

– Ex.: Leitura de um registro na memória leva em torno de 0,0015 seg., enquanto a execução de 100 instruções leva em torno de 0,0001 seg.

Page 4: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 4

Introdução

• Outras limitações dos sistemas monoprogramáveis

– Subutilização da memória principal, caso o programa sendo executado não a ocupe por completo

– Subutilização dos dispositivos de entrada e saída, onde apenas um usuário, através de um único programa utiliza os dispositivos

Page 5: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 5

Concorrência

• Sistemas multiprogramáveis utilizam os recursos de forma mais eficiente

– Vários programas compartilham o processador através de um algoritmo de escalonamento, seja por fatia de tempo ou prioridade

– Os programas que estão sendo executados são alocados na memória principal

– Dispositivos de entrada e saída são compartilhados entre as diversas aplicações

Page 6: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 6

Utilização do Processador

• Sistema monoprogramável versus multiprogramável

2

(a ) Sistem a M o n o prog ra m á veltem po tem po

E/ S E/ S

U C P U C Plivre 11

1

(b ) Sistem a M ultip ro g ra m áve l

Page 7: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 7

Interrupção e Exceção

• Durante a execução de um programa, eventos inesperados podem ocorrer, ocasionando desvio forçado no fluxo de execução

• Esses eventos podem ocorrer a partir da sinalização de um hardware ou a partir da própria instrução de um programa– Ex.: Término de uma operação de Entrada

e Saída– Ex.: Divisão por zero

Page 8: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 8

Interrupção

• Causada por um evento externo ao programa– Não tem haver com a instrução atual do

programa sendo processada– Interrupções podem ser geradas por

hardware ou software– Geradas por eventos assíncronos– Ex.: Término de uma operação de Entrada

e Saída

Page 9: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 9

Exceção

• Resultado direto da execução do programa– Está relacionada a uma instrução do

programa que não executada de forma correta

– Geradas por eventos síncronos– Eventos são previsíveis e podem ser

tratadas pelo próprio programador– Ex.: divisão por zero, atribuição errada de

tipos, etc.

Page 10: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 10

Interrupção e Exceção

• Tratamento de interrupções e exceções:– Um sinal é gerado para o processador– Após o término da execução da instrução

corrente, o processador identifica a interrupção ou exceção

– O conteúdo dos registradores são salvos– Processador identifica rotina de tratamento– Rotina de tratamento é executada– Registradores são restaurados e programa

continua a execução

Page 11: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 11

Interrupção e Exceção

• Mecanismo de Interrupção e Exceção

Page 12: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 12

Operações de E/S

• Antigamente, o próprio processador era responsável pela comunicação com os dispositivos de entrada e saída– Conjunto de instruções de entrada e saída

com informações a respeito dos dispositivos

– Grande dependência entre o processador e os dispositivos

– Problema na disparidade entre a velocidade na execução das instruções e nas operações de entrada e saída

Page 13: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 13

Operações de E/S

• Controlador– Processador

não se comunica mas diretamente com os dispositivos

– Não existe mais a dependência entre o processador e dispositivos

M em óriaPr in cip a lU C P

C on tro la do r

D ispo sitivo s d e E/ S

Page 14: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 14

Operações de E/S

• Com a utilização do controlador– O processador apenas iniciava a operação

de entrada e saída

– Depois o processador ficou livre para realizar outras operações, mas ainda precisava checar periodicamente o término da operação

– Com muitos dispositivos o processador parava várias vezes

Page 15: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 15

Operações de E/S

• Com a utilização de interrupções– Eficiência nas operações de entrada e

saída– Processador ficava livre para executar

outras tarefas e o controlador avisa ao processador o término da operação através de interrupções

Page 16: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 16

Buffering

• Operações de E/S– Diminuir a disparidade entre a velocidade

do processador e entrada e saída de dados– Utiliza parte da memória principal para

transferência de dados entre dispositivos e e memória

– Depois que o dado está no buffer, processador pode utiliza-lo e dispositivo fica livre para novas operações de entrada e saída

Page 17: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 17

Buffering

• Operações de E/S

M em óriaPr in cip a l

U C P Bu ffer

g ravaçã o g ravaçã o

leitu ra leitu ra

C on tro lado r

Page 18: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 18

Spooling

• Técnica de spooling– Gerenciamento de impressão, dados são

gravados no arquivo chamado Spool e programa fica livre para outras atividades

– SO envia os dados para a impressora

Pro gram a Im p resso raA rq u ivod e Spo o l

Sistem a O peraciona lSistem a O peraciona l

Page 19: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 19

Reentrância

• Sistemas multiprogramáveis– Vários usuários podem utilizar os mesmo

programas simultaneamente– Seria desperdício colocar uma cópia do

código executável do programa para cada usuário

– Com a reentrância, diferentes usuários podem utilizar o mesmo código que está na memória principal

– Cada usuário pode executar partes diferentes do código

Page 20: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 20

Reentrância

• Reentrância

M em ór ia Pr in cipa l

có d igo reentran te

á rea de da dos do u suá rio A

usuá rio A usuá rio C

usuá rio B usuá rio D

á rea de da dos do u suá rio B

á rea de da dos do u suá rio C

á rea de da dos do u suá rio D

Page 21: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 21

Proteção do Sistema

• Diversos usuário compartilhando os recursos em ambiente multiprogramáveis– Preocupação em garantir a confiabilidade

e a integridade dos programas e dados dos usuários, além do próprio sistemas operacional

– Implementação de um sistema operacional multiprogramável se torna bem mais complexa

Page 22: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 22

Proteção do Sistema

• Compartilhamento da memória– Cada usuário deve ter sua parte, dados do

SO não podem ser sobrescritos e cada programa também precisa de sua parte

– Arquivos devem poder ser executados por diferentes usuários

– SO deve controlar violações de acesso– SO deve controlar o escalonamento do

processador entre os programas

– SO deve controlar o acesso concorrente!

Page 23: Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de Sistemas Operacionais Flávio Medeiros Capítulo 3 Concorrência.

Arq

uit

etu

ra d

e S

iste

mas

Opera

cionais

– M

ach

ado/M

aia

Cap. 3 – Concorrência 23

Dúvidas, críticas e sugestões...

[email protected]