AULA 05 - Multiprogramacao
AULA 05 - Multiprogramacao
AULA 05 - Multiprogramacao
AULA 05 – Processos
Através da execução “simultânea” de vários programas, a multiprogramação torna mais eficiente o
aproveitamento dos recursos do computador, tais como: tempo do processador, espaço de memória,
etc. Na realidade a execução é feita de forma concorrente (máquinas monoprocessadas). Em um
sistema multiprogramado vários programas são mantidos na memória ao mesmo tempo.
O que acontece em um sistema multiprogramado quando uma chamada de sistema é solicitada por
algum processo? Basicamente, o escalonador interrompe o processo que executou a chamada de
sistema e escolhe outro da fila de apto para utilizar a CPU.
Processos
Programa: é uma entidade estática e permanente composto por uma seqüência de instruções:
passivo sob o ponto de vista do sistema operacional.
Processo: é uma entidade dinâmica e efêmera, que altera seu estado a medida que avança sua
execução. Assim, o processo é uma abstração que representa um programa em execução. Um
processo é composto por: programa, dados, contexto (valores).
Ciclos de um processo
São várias as razões para que um processo seja criado e/ou destruído. O momento e a forma como
isso acontece pode depender do sistema operacional considerado. Por exemplo:
Criação de Processos:
? Momento da execução
? Chamadas de sistemas
? Podem ser associados a uma sessão de trabalho, exemplo: login + senha _ shell (processo)
Finalização de Processos:
? Término da execução
? Chamadas de sistemas
O primeiro ciclo é sempre de processador, pois para entrar em um ciclo de E/S necessariamente é
preciso executar pelo menos uma instrução. As trocas de ciclos podem acontecer através:
Dessa forma, os processos podem ser classificados de acordo com taxa de utilização da CPU ou E/S
em:
1. Independentes
? Não existe nenhum vínculo entre o processo que acabou de ser criado com seu criador
2. Subprocessos
Estados de um processo
Inicialmente, após ser criado o processo necessita entrar em ciclo de processador para começar a
execução das instruções que compõem o programa. No entanto, devemos entender que vários
processos são criados e todos irão disputar o uso da CPU. Neste caso, o que o SO deve fazer?
? Criar uma fila com os processos aptos a disputar o uso do processador: Fila de Aptos
(ready queue).
Este diagrama de estado representa o modelo inicial para ilustrar os possíveis estados que um
processo pode alcançar, desde a sua criação até o seu término. Dois estados são destacados: apto e
executando. Apto representa o processo em memória aguardando o escalonador para entrar em
execução; e executando caracteriza a aplicação utilizando a CPU.
Criação de Processos
? Inicialização de um programa
? Logon de usuários
Término de processos
Modelo de 5 Estados
Este modelo cria novos estados de forma a representar diferentes momentos de execução dos
processos.
Estados do diagrama:
? Executando (Running)
? Apto (Ready)
? Bloqueado (Blocked)
? Criação (New)
? Destruição (Exit)
Processos suspensos
Swapping
Solicitação do usuário
Temporização:
Processo deve ter sua interrupção interrompida por um certo período de tempo
Ex. Sincronização
Neste modelo, novos estados foram inseridos para representar com precisão a localização dos
processos durante seu ciclo de vida, diferenciando memória e disco. Os estados com o atributo
suspenso indica o processo em disco.
Mecanismos básicos:
? Interrupção
Mecanismos de proteção
? Proteção de periféricos
? Proteção de memória
Modo usuário
Chaveamento
Proteção de periféricos
Como processos usuários realizam operações de E/S já que estas são instruções privilegiadas? Ou
ainda, como os processos solicitam serviços para o SO?
3. Executa o serviço
Exercicios
5. Por que não faz sentido manter a lista de processos bloqueados em ordem de prioridade?
7. Apresente situações reais presentes na execução dos processos que justifiquem cada uma das
transições apresentadas no diagrama de estados mais completo dos processos.
Bibliografia
OLIVEIRA, R. S.; CARISSIMI, A. S. e TOSCANI, S. S. Sistemas Operacionais. Sagra Luzzatto,
Porto Alegre, 2001. (Cap. 2)