introdução (3) aula 3. prof. josé gonçalves - di/ufes sist. operacionais - 2003/2...

22
Introdução (3) Aula 3

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Introdução (3) Aula 3. Prof. José Gonçalves - DI/UFES Sist. Operacionais - 2003/2 Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados

Introdução (3)

Aula 3

Page 2: Introdução (3) Aula 3. Prof. José Gonçalves - DI/UFES Sist. Operacionais - 2003/2 Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados

Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2

Monoprogramação (1)

Os recursos computacionais estão inteiramente dedicados a um único programa/tarefa.

A UCP fica ociosa durante muito tempo enquanto o programa aguarda por um evento (digitação de um dado, leitura do disco, etc.).

A memória principal é subutilizada caso o programa não a preencha totalmente.

Os periféricos são dedicados a um único usuário. Não existe grandes preocupações com a proteção de memória. A complexidade de implementação é relativamente baixa.

Page 3: Introdução (3) Aula 3. Prof. José Gonçalves - DI/UFES Sist. Operacionais - 2003/2 Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados

Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2

Monoprogramação (2)

Programa que processa um arquivo de registros e que executa, em média, 100 instruções de máquina por registro.

Ler um registro 0,0015 seg Executar 100 instruções 0,0001 seg Gravar um registro 0,0015 seg

Percentagem de utilização da UCP: U = 0,0001/0,0031=0,032=3,2%

Page 4: Introdução (3) Aula 3. Prof. José Gonçalves - DI/UFES Sist. Operacionais - 2003/2 Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados

Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2

Monoprogramação (3)

Page 5: Introdução (3) Aula 3. Prof. José Gonçalves - DI/UFES Sist. Operacionais - 2003/2 Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados

Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2

Multiprogramação (1)

Page 6: Introdução (3) Aula 3. Prof. José Gonçalves - DI/UFES Sist. Operacionais - 2003/2 Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados

Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2

Multiprogramação (2)

Vários programas e vários usuários competem pelos recursos do sistema.

O objetivo é manter mais de um programa em execução “simultaneamente”, dando a ilusão de que cada programa/usuário tem a máquina dedicada para si.

A idéia é tirar proveito do tempo ocioso da UCP durante as operações de E/S. Enquanto um programa espera por uma operação de leitura ou escrita outros programas podem estar sendo processados no mesmo intervalo.

Maximização do uso do processador e da memória. Maior taxa de utilização do sistema como um todo.

Suporte de hardware: Mecanismo de interrupção (sinalização de eventos). Discos magnéticos (acesso randômico aos programas, melhor

desempenho em operações de E/S).

Page 7: Introdução (3) Aula 3. Prof. José Gonçalves - DI/UFES Sist. Operacionais - 2003/2 Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados

Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2

Multiprogramação (3)

Page 8: Introdução (3) Aula 3. Prof. José Gonçalves - DI/UFES Sist. Operacionais - 2003/2 Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados

Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2

Mono x Multiprogramação (1)

JOB1 JOB2 JOB3

Tipo de Job Muita UCP Pouca UCP Pouca UCP Muita E/S

Duração 5 min 15 min 10 min

Memória 50K 100K 80K

Disco Não Não Sim

Terminal Não Sim Não

Impressora Não Não Sim

UCP, memória disponível de 256K, disco, terminal e impressora. Job1, Job2 e Job3 são submetidos para execução ao mesmo tempo

Page 9: Introdução (3) Aula 3. Prof. José Gonçalves - DI/UFES Sist. Operacionais - 2003/2 Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados

Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2

Mono x Multiprogramação (2)

Page 10: Introdução (3) Aula 3. Prof. José Gonçalves - DI/UFES Sist. Operacionais - 2003/2 Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados

Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2

Mono x Multiprogramação (3)

Monoprogramação Multiprogramação

Processor use 17% (5/30) 33% (5/15)

Memory use 30% ((50+100+80)/256)/3 67%

Disk use 33% 67%

Printer use 33% 67%

Elapsed time 30 min. 15 min.

Throughput rate 6 jobs/hr 12 jobs/hr

Mean response time 18 min. 10 min.

Page 11: Introdução (3) Aula 3. Prof. José Gonçalves - DI/UFES Sist. Operacionais - 2003/2 Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados

Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2

Mecanismo de Interrupção (1)

Constitui a base de operação de um sistema de multiprogramação.

É um sinal de hardware que informa a ocorrência de um evento no sistema, tal como o término de uma operação de E/S.

Provoca uma mudança no fluxo de controle, o qual é transferido para uma rotina de tratamento da interrupção correspondente.

Interrupções internas: trap e SVC (“Supervisor Call”).

Page 12: Introdução (3) Aula 3. Prof. José Gonçalves - DI/UFES Sist. Operacionais - 2003/2 Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados

Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2

Mecanismo de Interrupção (2)

Page 13: Introdução (3) Aula 3. Prof. José Gonçalves - DI/UFES Sist. Operacionais - 2003/2 Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados

Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2

Mecanismo de Interrupção (3)

P1

P2

P3

S.O.

Page 14: Introdução (3) Aula 3. Prof. José Gonçalves - DI/UFES Sist. Operacionais - 2003/2 Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados

Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2

Inibição de Interrupções

O núcleo (kernel) do S.O. alguma vezes previne a ocorrência de interrupções durante atividades críticas, que poderiam resultar em dados corrompidos se estas fossem permitidas (ex: quando manipulando listas encadeadas).

Assim, certas instruções (ditas privilegiadas) permitem colocar o processador em um nível de execução em que ele mascara (inibe) certos valores de interrupção.

Page 15: Introdução (3) Aula 3. Prof. José Gonçalves - DI/UFES Sist. Operacionais - 2003/2 Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados

Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2

Níveis Típicos de Interrupção

Erros de Máquina

Relógio

Disco

Interface de Rede

Terminal

Interrupção de SW

Prioridade mais alta

Prioridade mais baixa

Page 16: Introdução (3) Aula 3. Prof. José Gonçalves - DI/UFES Sist. Operacionais - 2003/2 Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados

Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2

Modos de Operação (1)

O compartilhamento de recursos requer do S.O. garantias de que um programa com comportamento incorreto (deliberadamente ou não) possa causar danos ao sistema ou aos outros programas.

Nesse sentido, o hardware fornece suporte para que a execução de processos num dado sistema operacional se diferencie pelo menos entre dois modos de operação: modo usuário (“user mode”) e modo supervisor (“kernel mode”). Processo = programa em execução.

Para isso, um “mode bit” é adicionado ao hardware do computador para indicar o modo corrente: supervisor (0) ou usuário (1).

Processos executando em modo usuário podem acessar suas próprias instruções e dados mas não as instruções e dados do kernel (i.e., do núcleo do sistema operacional) ou mesmo de outros processos.

Page 17: Introdução (3) Aula 3. Prof. José Gonçalves - DI/UFES Sist. Operacionais - 2003/2 Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados

Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2

Modos de Operação (2)

kernel user

Interrupt/fault

set user mode

Page 18: Introdução (3) Aula 3. Prof. José Gonçalves - DI/UFES Sist. Operacionais - 2003/2 Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados

Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2

Modos de Operação (3)

Processos em modo supervisor não possuem esta limitação, podendo acessar endereços de usuário e do próprio kernel do sistema.

Quando um processo executa uma chamada de sistema, isto é, quando ele faz uma SVC (“supervisor call”), o modo de execução muda de usuário para supervisor. O sistema operacional sempre roda no estado supervisor.

Com o sistema no estado supervisor: As interrupções podem ser inibidas ou novamente habilitadas; As proteções estão desabilitadas; Qualquer instrução pode ser executada.

Instruções privilegiadas só podem ser executadas em modo supervisor (ex: set PSW, I/O instructions, load timer, etc.). Sua tentativa de execução em modo usuário resulta em erro.

Page 19: Introdução (3) Aula 3. Prof. José Gonçalves - DI/UFES Sist. Operacionais - 2003/2 Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados

Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2

Modos de Operação (4)

O hardware enxerga o mundo em termos de modo supervisor e modo usuário, não distinguindo entre os vários usuários executando programas nesses modos.

O sistema operacional mantém registros internos para distinguir os vários processos executando no sistema.

K K

U U

Kernel mode

User mode

Visão do HW

Visão do S.O.

A B C D

Page 20: Introdução (3) Aula 3. Prof. José Gonçalves - DI/UFES Sist. Operacionais - 2003/2 Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados

Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2

Exemplo 1: SVC de E/S

Page 21: Introdução (3) Aula 3. Prof. José Gonçalves - DI/UFES Sist. Operacionais - 2003/2 Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados

Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2

Exemplo 2: Proteção de Memória

Page 22: Introdução (3) Aula 3. Prof. José Gonçalves - DI/UFES Sist. Operacionais - 2003/2 Monoprogramação (1) Os recursos computacionais estão inteiramente dedicados

Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2

Exemplo 2 (cont.)