Download - Arquitetura de Computadores - Concorrência
![Page 1: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/1.jpg)
Curso superior de Sistemas de Informação - IFNMG
Aula 2 Arquitetura de Computadores
CONCORRÊNCIA
![Page 2: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/2.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
Técnicas de implementação de concorrência como interrupções, buffering, spooling e reentrância, são conceitos fundamentais para sistemas multiprogramáveis.
Sistemas operacionais podem ser vistos como um conjunto de rotinas executadas de forma concorrentes e ordenadas.
Introdução
![Page 3: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/3.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
Sistemas Monoprogramáveis x Multiprogramáveis
![Page 4: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/4.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
Os recursos de memórias, processadores e dispositivos de E/S eram utilizados com pouca eficiência.
Recursos permaneciam muitas vezes ociosos por um longo período de tempo.
Apenas um programa pode ser executado por vez.
Desperdício de processamento.
Sistemas Monoprogramáveis
![Page 5: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/5.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA Sistemas Monoprogramáveis
CPU
E/S
Livre
Tempo
![Page 6: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/6.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
Leitura de um registro 0,0015
Execução de 100 instruções 0,0001
Total 0,0016
% utilizada da CPU (0,0015/0,0001) = 0,066 = 6,6%
93% do tempo esperando a conclusão da operação de E/S.
Sistemas Monoprogramáveis
![Page 7: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/7.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
Outro aspecto a ser considerado é a subutilização da memória principal.
Sistemas Monoprogramáveis
![Page 8: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/8.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
Nesse sistema é comum termos, impressoras paradas por um grande período de tempo e disco com acesso restrito a apenas um usuário.
Sistemas Monoprogramáveis
![Page 9: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/9.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
Nesse sistema vários programas podem estar residentes na memória, concorrendo pela utilização do processador.
Quando for solicitada uma operação de E/S os programas podem ser processados pela CPU paralelamente.
Sistemas Multiprogramáveis
![Page 10: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/10.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
A CPU é implementada para que, quando um programa perder o uso do processador e depois retorna para continuar o processamento, seu estado continue o mesmo de quando foi interrompido.
Sistemas Multiprogramáveis
![Page 11: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/11.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
Em um sistema de tempo compartilhado existe a impressão que o computador está inteiramente dedicado ao usuário.
Sistemas Multiprogramáveis
![Page 12: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/12.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA Sistemas Multiprogramáveis
1 1 CPU
E/S
Tempo
1
2
![Page 13: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/13.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
Durante a execução de um programa, alguns eventos inesperados podem ocorrer, ocasionando um desvio forçado no seu fluxo normal de execução.
Esses eventos são conhecidos como interrupção ou exceção, e podem ser resultado de sinalizações de algum dispositivo de hardware externo ao ambiente memória/processador.
Interrupções e Exceções
![Page 14: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/14.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA Interrupções
![Page 15: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/15.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
As interrupções podem ser geradas: • Pelo programa do usuário (entrada de dados pela console ou teclado)
• Pelo hardware (operações de E/S)
• Pelo sistema operacional (ao término da fatia de tempo do processador destinada ao programa)
As interrupções sempre são tratadas pelo Sistema Operacional.
Interrupções
![Page 16: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/16.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
A exceção é um evento semelhante à interrupção, pois também de fato interrompe um programa.
A principal diferença é que a exceção é o resultado da execução de uma instrução dentro do próprio programa, como a divisão por zero ou a ocorrência de um overflow (estouro de capacidade de um campo) numa operação aritmética.
Exceções
![Page 17: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/17.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
Na maioria das vezes, a exceção provoca um erro fatal no sistema, causando o término anormal do programa.
Isto se deve ao fato de que a exceção é melhor tratada dentro do próprio programa, com instruções escritas pelo programador.
Exceções
![Page 19: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/19.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
A técnica de buffering consiste na utilização de uma área em memória principal, denominada buffer, criada e mantida pelo Sistema Operacional.
Possui a finalidade de auxiliar a transferência de dados entre dispositivos de E/S e a memória.
Buffering
![Page 20: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/20.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
O buffer permite minimizar a disparidade de velocidade entre o processador e os dispositivos de E/S, e tem como objetivo principal manter tanto os dispositivos de E/S como o processador ocupados a maior parte do tempo.
Buffering
![Page 21: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/21.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
A unidade de transferência do mecanismo de buffering é o registro.
O buffer deve permitir o armazenamento de vários registros, de forma que o processador tenha à sua disposição dados suficientes para processar sem ter que interromper o programa a cada leitura/gravação no dispositivo de E/S.
Buffering
![Page 22: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/22.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA Buffering
Memória Principal
Controlador Buffer
gravação
Leitura
gravação
Leitura
![Page 23: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/23.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
Semelhante ao buffering, utiliza uma área em disco como se fosse um grande buffer.
Neste caso, dados podem ser lidos ou gravados em disco, enquanto programas são executados de forma concorrente.
Spooling
![Page 24: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/24.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
Técnica muito usada em sistemas operacionais para gerenciar filas de impressões.
No momento que um arquivo for mandando para impressão, ele é armazenado primeiramente em uma parte do disco, esse arquivo é conhecido como arquivo de spool, liberando imediatamente o programa para outras atividades.
Spooling
![Page 25: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/25.jpg)
Spooling
Sistema Operacional Impressora Arquivo de Spool Programa
![Page 26: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/26.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
É comum, em sistemas multiprogramáveis, vários usuários utilizarem os mesmos aplicativos simultaneamente, como editores de texto, compiladores e outros utilitários.
Nesta situação, se cada usuário que utilizasse um destes aplicativos trouxesse o código executável para a memória haveria então diversas cópias de um mesmo programa ocupando espaço na memória, o que causaria um grande desperdício de espaço.
Reentrância
![Page 27: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/27.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
Reentrância é a capacidade de um código executável (código reentrante) ser compartilhado por vários usuários, exigindo apenas uma cópia do programa em memória.
A reentrância permite que cada usuário esteja executando um trecho diferente do código reentrante, manipulando dados próprios, exclusivos de cada usuário.
Reentrância
![Page 28: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/28.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
Objetivo geral: promover o uso mais eficiente da memória e um desempenho maior do sistema.
Reentrância
![Page 29: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/29.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
Considerando-se que diversos usuários estão compartilhando os mesmos recursos, como: memória, processador e dispositivos de E/S.
Faz-se então necessário existir mecanismos de proteção para garantir a confiabilidade e a integridade dos dados e programas dos usuários, além do próprio sistema operacional.
Segurança e Proteção do Sistema
![Page 30: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/30.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
Como vários programas ocupam a memória principal simultaneamente, cada usuário possui uma área reservada onde seus programas e dados são armazenados durante o processamento.
O sistema operacional deve possuir mecanismos de proteção a essas áreas, de forma a preservar as informações nela contidas.
Segurança e Proteção do Sistema
![Page 31: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/31.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
Caso um programa tente acessar uma posição de memória fora de sua área, um erro indicando a violação de acesso deve ocorrer.
Segurança e Proteção do Sistema
![Page 32: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/32.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
Todo o controle da segurança do sistema é implementado pelo sistema operacional, a partir de mecanismos como:
• Grupos de usuários;
• Perfis de usuários e
• Direitos de acesso.
Segurança e Proteção do Sistema
![Page 33: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/33.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
A proteção começa geralmente no procedimento de login, quando o usuário faz a conexão inicial no sistema.
• Proteção as áreas alocadas de memória;
• Disco e
• Até mesmo o uso do processador.
Segurança e Proteção do Sistema
![Page 34: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/34.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
As operações de E/S no computador funcionam de três formas básicas:
• por programa;
• por interrupção e
• por acesso direto a memória (DMA)
Operações de Entrada e Saída
![Page 35: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/35.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA
O canal de E/S funciona então como uma interface entre os controladores e a CPU.
Operações de Entrada e Saída
![Page 36: Arquitetura de Computadores - Concorrência](https://reader033.vdocuments.com.br/reader033/viewer/2022042818/55ad9fcc1a28abf12d8b478d/html5/thumbnails/36.jpg)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
CONCORRÊNCIA Operações de Entrada e Saída
Memória Principal
CPU
Canal de E/S
Controlador Controlador