S.o. trabalho
Ivan Saraiva Silva Ciência da Computação 2005.1
Aula 2
Mono e Multi programação
• Monoprogramação
– Recursos computacionais dedicados a uma única tarefa até seu término
• Resulta em ociosidade da CPU por tempo considerável • Subutilização da memória principal • Periféricos dedicados a um único usuário • Não há grandes necessidades de proteção da memória
Monoprogramação
Tarefa 1 Tarefa 2 Tarefa 3 Tarefa 4
• Subutilização exemplo
– Leitura e processamento de um arquivo de registros
• Leitura de um registro 0,0015 seg • Processamento do registro 0,0001 seg • Gravação do registro 0,0015 seg • Utilização da CPU = 0,0001/0,0031 = 0,032 = 3,2%
Monoprogramação
0xFFF SO (ROM) Tarefa Usuário Tarefa Usuário SO (RAM) SO (RAM) Drivers (ROM)
Tarefa Usuário
0
Mono e Multi programação
• Multiprogramação
– Vários programas e usuários competem pelos recursos do sistema. – OBJETIVOS
• Aumentar a utilização da CPU • Suportar múltiplos usuários • Maximização do uso do processador e da memória.
– IDÉIA
• Aproveitar tempo ocioso da UCP durante as operações de E/S. Para executar outros programas.
– Multiprogramação requer suporte de recursos específicos do hardware
Multiprogramação
Tempo
C B A SO (a) A SO (b) B A SO (c)
C B
C B
C
C
D SO (d) SO (e)
D SO (f)
D SO (g)
Mono e Multi programação
• Conceitos necessários a multiprogramação
– Processos
• Define as tarefas que vão compartilhar os recursos do hardware
– Mecanismos de Interrupção
• Estabelece um sistema de sinalização de ocorrência de eventos
– Proteção entre processos
• Impede situações de erros catastróficos
Processos
• Processos são uma abstração para programa em execução
• • Também chamado de tarefa, “task” ou “job” Entidade estática e permanente
– Invariável do ponto de vista do SO
– Programa – Processo
• Entidade ativa e dinâmica
– Possui estados que se alternam no tempo – Constituído de código, dados,