Multiprogramação
Tese: Multiprogramação. Pesquise 862.000+ trabalhos acadêmicosPor: g.giacomini • 6/6/2013 • Tese • 2.945 Palavras (12 Páginas) • 258 Visualizações
Quais os objectivos da multiprogramação em
sistemas operativos? Que implicação tem a multiprogramação na unidade de gestão
de memória?
Principal
objectivo: utilização máxima do processador.
Esta solução torna os sistemas
multiprogramados permitindo que diversos programas estejam simultaneamente
activos, os diversos programas necessitam de estar na memória central para
facilmente se mudar de contexto
Processos
A comunicação entre processos permite a
partilha de informação entre processos. Que mecanismos existem para conseguir
essa comunicação? O que é comunicação síncrona e assincrona?
Para conseguir a comunicação
entre processos são usados mecanismos como os pipes e a memória partilhada.
Na comunicação sincrona ambos
os processos têm de se encontrar, quando um processo envia uma mensagem é
suspenso até o destinatário a receber. È muito vantajoso pois é de
implementação simples, e é de baixo overhead. Como desvantagem obriga a
execução sincrona mesmo quando esta não é desejada.
Na comunicação assincrona o emissor
não é bloqueado quando não existe nenhum receptor em espera, aumenta o grau de
concorrencia.
O que é um processo e como se caracterizam?
Explique o funcionamento do mecanismo de escalonamento de um sistema
preemptivo.
Um processo é um programa em
execução, tem associado, dados de entrada e de saida, e este encontra-se num
determinado estado.
A gestão de recursos de CPU é
conhecido por escalonamento. A politica de escalonamento define a forma como o
tempo de CPU é repartido pelos vários processos e a ordem com que esta partilha
é reservada.
Algoritmos preemptivos (com
preempção) são projectados com base na noção de prioridade. O processo com
maior prioridade na fila de processo READY deverá sempre ser escalonado para a
CPU. Se um processo está em execução na CPU e um novo processo, de maior
prioridade, entra na fila então o processo que ocupa a CPU será retirado.
Os algoritmos com preempção
estão associados com sistemas que utilizam interrupções para forçar a partilha
da CPU. Interrupção involuntária da execução do processo.
Em regra, todos os processos têm obrigação de
libertar explicitamente, antes determinar, todos os recursos que requisitaram
durante a sua execução. Por exemplo, se abriram um ficheiro, têm obrigação de o
fechar de novo, antes de terminarem. Para que servirá então anotar no Process
Control Block (PCB) todos os recursos que o processo vai adquirindo ?
Bloco de Controlo de
Processos(PCB) armazena:
Estado do processo
Contador de programa
Registos do CPU
Informações do despacho do
CPU(escalonador)
Informação de gestão da
memória
Contabilização de utilização
de recursos
Estado dos recursos de I/O
A anotação de todos os
recursos que o processo vai adquirindo serve para no caso de o processo não
terminarde forma normal, este não ficar a bçoquear a execução de outros.
Condições que terminam
processos:
Saída normal (voluntaria)
Saída por erro (voluntaria)
Erro fatal (involuntaria)
Killed por outro processo
(involuntaria)
O que é a mudança de contexto entre
processos? Como funciona? Os sistemas operativos multiprogramados necessitam
destes mecanismos?
A partilha do processador
requer um mecanismo de comutação de processos, a que se dá o nome de comutação
de contexto.
Comutação entre dois processos
faz-se através da:
·
...