aula 03 - concorrênciapaginapessoal.utfpr.edu.br/sedianec/disciplina-de... · aula 03 -...

17
Aula 03 - Concorrência por Sediane Carmem Lunardi Hernandes 1

Upload: others

Post on 24-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aula 03 - Concorrênciapaginapessoal.utfpr.edu.br/sedianec/disciplina-de... · Aula 03 - Concorrência por Sediane Carmem Lunardi Hernandes 1 . 1. Introdução •Sistemas operacionais

Aula 03 - Concorrência por

Sediane Carmem Lunardi Hernandes

1

Page 2: Aula 03 - Concorrênciapaginapessoal.utfpr.edu.br/sedianec/disciplina-de... · Aula 03 - Concorrência por Sediane Carmem Lunardi Hernandes 1 . 1. Introdução •Sistemas operacionais

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

2

(a) Sistema Monoprogramáveltempo tempo

E/ S E/ S

UCP UCPlivre 11

1

(b) Sistema Multiprogramável

2

Page 3: Aula 03 - Concorrênciapaginapessoal.utfpr.edu.br/sedianec/disciplina-de... · Aula 03 - Concorrência por Sediane Carmem Lunardi Hernandes 1 . 1. Introdução •Sistemas operacionais

1. Introdução (cont.)

Características Prog1 Prog2 Prog3

Utilização da CPU Alta Baixa Baixa

Operações de Entrada e Saída Poucas Muitas Muitas

Tempo de Processamento 5 mim 15 min 10 min

Memória utilizada 50 kb 100 kb 80 kb

Utilização de disco Não Não Sim

Utilização de terminal Não Sim Não

Utilização de impressora Não Não Sim

3

Características da execução de programas

Page 4: Aula 03 - Concorrênciapaginapessoal.utfpr.edu.br/sedianec/disciplina-de... · Aula 03 - Concorrência por Sediane Carmem Lunardi Hernandes 1 . 1. Introdução •Sistemas operacionais

1. Introdução (cont.)

4

Quanto tempo irá levar para a execução dos 3 programas em um sistema monoprogramado?

E se fosse em um sistema multiprogramado?

Page 5: Aula 03 - Concorrênciapaginapessoal.utfpr.edu.br/sedianec/disciplina-de... · Aula 03 - Concorrência por Sediane Carmem Lunardi Hernandes 1 . 1. Introdução •Sistemas operacionais

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 processamento

30 min 15 min.

Taxa de throughput 6 prog/hora 12 prog/hora

5

Page 6: Aula 03 - Concorrênciapaginapessoal.utfpr.edu.br/sedianec/disciplina-de... · Aula 03 - Concorrência por Sediane Carmem Lunardi Hernandes 1 . 1. Introdução •Sistemas operacionais

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)

6

Page 7: Aula 03 - Concorrênciapaginapessoal.utfpr.edu.br/sedianec/disciplina-de... · Aula 03 - Concorrência por Sediane Carmem Lunardi Hernandes 1 . 1. Introdução •Sistemas operacionais

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

7

Page 8: Aula 03 - Concorrênciapaginapessoal.utfpr.edu.br/sedianec/disciplina-de... · Aula 03 - Concorrência por Sediane Carmem Lunardi Hernandes 1 . 1. Introdução •Sistemas operacionais

2. Interrupção (cont.)

8

Page 9: Aula 03 - Concorrênciapaginapessoal.utfpr.edu.br/sedianec/disciplina-de... · Aula 03 - Concorrência por Sediane Carmem Lunardi Hernandes 1 . 1. Introdução •Sistemas operacionais

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

9

Page 10: Aula 03 - Concorrênciapaginapessoal.utfpr.edu.br/sedianec/disciplina-de... · Aula 03 - Concorrência por Sediane Carmem Lunardi Hernandes 1 . 1. Introdução •Sistemas operacionais

2. Interrupção (cont.)

Exemplo de configuração comum de endereços em um PC da era Pentium 7: IRQ 0 - Sinal de clock da placa-mãe (fixo) IRQ 1 - Teclado (fixo) IRQ 2 - Cascateador de IRQs (fixo) IRQ 3 - Porta serial 2 IRQ 4 - Porta serial 1 IRQ 5 - Livre IRQ 6 - Drive de disquetes IRQ 7 - Porta paralela (impressora)

IRQ 8 - Relógio do CMOS (fixo) IRQ 9 - Placa de vídeo IRQ 10 - Livre IRQ 11 - Controlador USB IRQ 12 - Porta PS/2 IRQ 13 - Coprocessador aritmético (fixo) IRQ 14 - IDE Primária IRQ 15 - IDE Secundária Cada IRQs possui uma linha física que a liga ao processador

10

Page 11: Aula 03 - Concorrênciapaginapessoal.utfpr.edu.br/sedianec/disciplina-de... · Aula 03 - Concorrência por Sediane Carmem Lunardi Hernandes 1 . 1. Introdução •Sistemas operacionais

3. Operações de entrada e saída

• Responsável por movimentar os dados entre os dispositivos periféricos que controla e seu buffer de armazenamento local

• Controlador é responsável por um tipo específico de dispositivo

▫ Contem buffer local e conjunto de registradores de uso específico

▫ SO tem um driver de dispositivo para cada controlador de dispositivo

11

MemóriaPrincipal

UCP

Controlador

Dispositivos de E/ S

Page 12: Aula 03 - Concorrênciapaginapessoal.utfpr.edu.br/sedianec/disciplina-de... · Aula 03 - Concorrência por Sediane Carmem Lunardi Hernandes 1 . 1. Introdução •Sistemas operacionais

3. Operações de entrada e saída

(cont.) • Driver (SOFTWARE) de dispositivo entende o controlador • Para iniciar operação de I/O, o driver de dispositivo carrega

os registradores apropriados dentro do controlador de dispositivo ▫ Controlador examina o conteúdo de seus registradores para saber

o que fazer 1. Controlador inicia a transferência dos dados dos dispositivos

para o seu buffer local 2. Transferência concluída, controlador informa driver através de

uma interrupção 3. Driver retorna controle para o SO passando dados ou ponteiro

para os dados se for leitura ou status no caso de escrita 4. Rotina do SO é responsável por obter dados da memória

principal ou armazenar dados na memória principal I/O dirigida por interrupção

1. Dado no buffer do controlador, SO deve transferir para memória

12

Page 13: Aula 03 - Concorrênciapaginapessoal.utfpr.edu.br/sedianec/disciplina-de... · Aula 03 - Concorrência por Sediane Carmem Lunardi Hernandes 1 . 1. Introdução •Sistemas operacionais

3. Operações de entrada e saída

(cont.) • I/O dirigida por interrupção adequada para pequenas

quantidades de dados • Para maiores quantidades de dados usa-se DMA (direct

memory acess - acesso direto à memória) ▫ controlador transfere um bloco inteiro de dados diretamente da

memória para seu próprio buffer ou a partir dele para a memória, sem intervenção da CPU

▫ Somente uma interrupção é gerada por bloco, para informar ao driver de dispositivo que a operação foi concluída, em vez de uma interrupção por byte gerada pelos dispositivos de baixa velocidade

▫ Enquanto o controlador de dispositivo está executando essas operações, a CPU fica disponível para processar outras tarefas

▫ CONTROLADOR REALIZA A TRANSFERÊNCIA ENTRE O PERIFÉRICO E A MEMÓRIA PRINCIPAL

13

Page 14: Aula 03 - Concorrênciapaginapessoal.utfpr.edu.br/sedianec/disciplina-de... · Aula 03 - Concorrência por Sediane Carmem Lunardi Hernandes 1 . 1. Introdução •Sistemas operacionais

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

14

MemóriaPrincipal

UCPBuffer

gravação gravação

leitura leitura

Controlador

Page 15: Aula 03 - Concorrênciapaginapessoal.utfpr.edu.br/sedianec/disciplina-de... · Aula 03 - Concorrência por Sediane Carmem Lunardi Hernandes 1 . 1. Introdução •Sistemas operacionais

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)

15

Programa ImpressoraArquivode Spool

Sistema OperacionalSistema Operacional

Page 16: Aula 03 - Concorrênciapaginapessoal.utfpr.edu.br/sedianec/disciplina-de... · Aula 03 - Concorrência por Sediane Carmem Lunardi Hernandes 1 . 1. Introdução •Sistemas operacionais

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 em memória (sistemas multiprogramados)

16

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 17: Aula 03 - Concorrênciapaginapessoal.utfpr.edu.br/sedianec/disciplina-de... · Aula 03 - Concorrência por Sediane Carmem Lunardi Hernandes 1 . 1. Introdução •Sistemas operacionais

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.

17