You are on page 1of 19

Sistemas Operacionais

Ivan Saraiva Silva Cincia da Computao 2005.1

Aula 2

Mono e Multi programao


Monoprogramao
Recursos computacionais dedicados a uma nica tarefa at seu trmino
Resulta em ociosidade da CPU por tempo considervel Subutilizao da memria principal Perifricos dedicados a um nico usurio No h grandes necessidades de proteo da memria

Monoprogramao
Tarefa 1 Tarefa 2 Tarefa 3 Tarefa 4

Subutilizao exemplo
Leitura e processamento de um arquivo de registros
Leitura de um registro 0,0015 seg Processamento do registro 0,0001 seg Gravao do registro 0,0015 seg Utilizao da CPU = 0,0001/0,0031 = 0,032 = 3,2%

Monoprogramao
0xFFF SO (ROM) Tarefa Usurio Tarefa Usurio SO (RAM) SO (RAM) Drivers (ROM)

Tarefa Usurio

Mono e Multi programao


Multiprogramao
Vrios programas e usurios competem pelos recursos do sistema. OBJETIVOS
Aumentar a utilizao da CPU Suportar mltiplos usurios Maximizao do uso do processador e da memria.

IDIA
Aproveitar tempo ocioso da UCP durante as operaes de E/S. Para executar outros programas.

Multiprogramao requer suporte de recursos especficos do hardware

Multiprogramao
Tempo

C B A SO (a) A SO (b) B A SO (c)

C B

C B

D SO (d) SO (e)

D SO (f)

D SO (g)

Mono e Multi programao


Conceitos necessrios a multiprogramao
Processos
Define as tarefas que vo compartilhar os recursos do hardware

Mecanismos de Interrupo
Estabelece um sistema de sinalizao de ocorrncia de eventos

Proteo entre processos


Impede situaes de erros catastrficos

Processos
Processos so uma abstrao para programa em execuo
Tambm chamado de tarefa, task ou job Entidade esttica e permanente
Invarivel do ponto de vista do SO

Programa Processo
Entidade ativa e dinmica
Possui estados que se alternam no tempo Constitudo de cdigo, dados, contexto e recursos do sistema

Processos
Instncias de programas
Vrios processos podem ser instncias diferentes de um mesmo processo
Mesmo cdigo, porem dados e contexto de execuo diferentes

Processos so a forma com o SO v programas processos executam


Programas do usurio Programas de apoio ao SO

Processos
Ciclo de Vida dos Processos
Criao
Chamada de Sistema Sees de trabalho (login)

Execuo
Seu estado pode alternar
Ciclo do processador Ciclo de E/S

Destruio
Termino da execuo Por outros processos

Processos
Processos em Execuo
CPU x E/S bound

E/ S

E/ S

UCP

UCP

tempo (a) CPU-bound (b) I/ O-bound

tempo

Estados de um Processos
S um processo pode ser executado a cada instante
Manter uma fila de processos em espera de execuo
Selecionar periodicamente um novo processos da fila para execuo Prevenir que um processo monopolize o processador

Estados de um Processos
Modelo a dois Estados Limitaes
Um processo esperando por E/S no est apto Um processo no apto no pode ser escolhido para execuo
Criao de novos estados

escolha Apto pausa Exec. trmino

riao

Estados de um Processos
Modelo a 5 estados
Seleo criao apto Tempo
(e sp er a)

Termino Termino

execuo

Termino

Ev en to

Ocorrncia evento

Termino bloqueado

Transies de estado
Criao
Um novo processo criado
Recursos so atribudo Execuo necessariamente imediata

Apto Execuo
Processo escolhido para execuo Depende da poltica de escalonamento

Execuo Trmino
Evento de termino

Transies de estado
Execuo Apto
Tempo mximo de execuo sem interrupo foi atingida; Processo preemptado pelo SO

Execuo Bloqueado
Processo requisitou recurso/evento pelo qual deve esperar.

Bloqueado Apto
Recurso disponvel ou ocorrncia do evento

Apto Trmino e Bloqueado Trmino


Processo pai termina um processo filho Processo pai terminado, e os processos filhos associados so tambm finalizados.

Suspenso de Processos
Processador muito mais rpido que os dispositivos de E/S
todos os processos em memria poderiam ficar em situao de espera. Ociosidade do processador Aumento de memria para acomodar mais processos

SOLUO
Liberar memria ocupado por processos bloqueados
Transferncia dos processos para o disco (swapping)

Necessidade de novos estados


Estado suspenso (processo no disco)

Suspenso de Processos
Criao Admisso Suspenso Ativo Apto Suspenso Ocorrncia evento Ativo Bloqueado Suspenso
nt e Ev o sp e (

Admisso Termino Seleo

Apto suspenso

Execuo Termino
a) r e

Termino

Ocorrncia evento Bloque. suspenso

Termino

Estado de Procesos Unix

You might also like