View
104
Download
2
Category
Preview:
Citation preview
Introdução (3)
Aula 3
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.
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%
Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2
Monoprogramação (3)
Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2
Multiprogramação (1)
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).
Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2
Multiprogramação (3)
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
Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2
Mono x Multiprogramação (2)
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.
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”).
Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2
Mecanismo de Interrupção (2)
Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2
Mecanismo de Interrupção (3)
P1
P2
P3
S.O.
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.
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
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.
Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2
Modos de Operação (2)
kernel user
Interrupt/fault
set user mode
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.
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
Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2
Exemplo 1: SVC de E/S
Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2
Exemplo 2: Proteção de Memória
Prof. José Gonçalves - DI/UFESSist. Operacionais - 2003/2
Exemplo 2 (cont.)
Recommended