Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula 03 - Concorrência
por
Sediane Carmem Lunardi
Hernandes
2
1. Introdução
• Sistemas operacionais podem ser vistos como
um conjunto de rotinas executadas
concorrentemente de forma ordenada
▫ Princípio básico para o projeto e implementação
de Sistemas Multiprogramáveis
E/ S E/ S 1
tempo tempo
(a) Sistema Monoprogramável (b) Sistema Multiprogramável
3
1. Introdução (cont.)
1. Introdução (cont.)
E se fosse em um sistema
multiprogramado?
5
Monoprogramação X Multiprogramação
Monoprogramação Multiprogramação
Utilização da CPU 17% 33%
Utilização da memória 30% 67%
Utilização de disco 33% 67%
Utilização de impressora 33% 6%
Tempo total de 30 min 15 min.
processamento
Taxa de throughput 6 prog/hora 12 prog/hora
6
2. Interrupção
• Mecanismo pelo qual componentes distintos do
processador (E/S, memória) podem interromper a
sequência normal de execução de instruções do
processador
• É uma transferência de controle para o SISTEMA
OPERACIONAL em resposta a um evento de
hardware ou software
• Por exemplo:
▫ Usuário tecla CTRL + C
▫ Instrução faz divisão por 0 (zero)
▫ Dados chegam do disco ou da interface de rede
▫ Temporizador expira (Permite ao SO realizar certas
funções a intervalos de tempos regulares)
7
2. Interrupção (cont.)
• Como ocorre o
tratamento da
interrupção?
▫ Lembrando que:
Unidade de controle, ao final
da execução de cada
instrução, verifica a
ocorrência de alguma
interrupção
8
2. Interrupção (cont.)
9
2. Interrupção (cont.)
• Métodos utilizados para o tratamento de
interrupções:
▫ Vetor de tratamento de interrupções
indexado pelo número do dispositivo, fornecido com a
solicitação da interrupção
Vetor contém endereço da rotina de tratamento da
interrupção do dispositivo que está sendo interrompido
(Windows, UNIX)
▫ Registrador de status
Armazena o tipo de evento ocorrido
Existe uma única rotina de tratamento de interrupção que
testa o conteúdo do registador e trata a interrupção de
maneira adequada
10
2. Interrupção (cont.)
Exemplo de configuração comum IRQ 8 - Relógio do CMOS (fixo)
de endereços em um PC da era IRQ 9 - Placa de vídeo
Pentium 7: IRQ 10 - Livre
IRQ 0 - Sinal de clock da placa- IRQ 11 - Controlador USB
mãe (fixo) IRQ 12 - Porta PS/2
IRQ 1 - Teclado (fixo) IRQ 13 - Coprocessador
IRQ 2 - Cascateador de IRQs aritmético (fixo)
(fixo) IRQ 14 - IDE Primária
IRQ 3 - Porta serial 2 IRQ 15 - IDE Secundária
IRQ 4 - Porta serial 1
IRQ 5 - Livre
IRQ 6 - Drive de disquetes Cada IRQs possui uma linha
IRQ 7 - Porta paralela física que a liga ao processador
(impressora)
11
4. Buffering
• Técnica que permite a utilização de área na
memória principal para a transferência de dados
entre os dispositivos de E/S e a memória
Memória
Principal
gravação gravação
UCP Controlador
Buffer
leitura leitura
15
5. Spolling
• Técnica que utiliza uma área em disco como se
fosse um grande buffer (dados podem ser lidos
ou gravados em disco, enquanto programas são
executados concorrentemente)
Sistema Operacional
6. Reentrância
• Capacidade de um código
executável (código reentrante)
ser compartilhado por vários
usuários, exigindo que apenas
uma cópia do programa esteja usuário A usuário C
em memória (sistemas
multiprogramados) código reentrante
usuário B usuário D
área de dados do usuário A
Memória 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.