Mac os x

Disponível somente no TrabalhosFeitos
  • Páginas : 15 (3654 palavras )
  • Download(s) : 0
  • Publicado : 30 de maio de 2012
Ler documento completo
Amostra do texto
PCS2042 – Sistemas Operacionais
Exercício 2
Escalonamento de processos do Minix
06 / 2009

Professor: Jorge Kinoshita

Equipe:
Eduardo Russo5693883
João Misko5694863
Rafael Medeiros5692990
Índice
1.Objetivo3
2.Escalonamento4
O que é escalonamento de processos5
Quando escalonar?6
Categorias de algoritmos de escalonamento7
Principais métodos de escalonamento de sistemasinterativos8
Round-Robin8
Priority Scheduling8
Multiple Queues8
Lottery Scheduling8
Fair-Share Scheduling8
Escalonamento em sistemas operacionais9
Microsoft DOS9
Windows 3.1x9
Windows 9x9
Windows NT até XP9
Windows Vista9
Solaris9
GNU/Linux – kernel 2.5 até 2.611
GNU/Linux – kernel 2.6 até 2.6.2311
GNU/Linux – kernel 2.6.23 em diante11
FreeBSD11
Max OS 1.0 até Mac OS 8.x12
Mac OS 9.x 12Mac OS X12
Minix12
4.Escalonamento no Minix14
Introdução15
Código comentado16
6.Execução do projeto20
BreakPoint no momento da chamada do escalonador21
Plano B22
Execução com o código normal22
Execução com o código alterado23
7.Conclusão26
8.Bibliografia27
9.Anexos28
Anexo 1: teste.c29

ObjetivoO objetivo deste trabalho é entender o escalonamento de processos do Minix e explicar seufuncionamento.
EscalonamentoO que é escalonamento de processosEscalonamento de processos nada mais é do que a seleção (através de um algoritmo) do próximo processo que será executado pela CPU.
Com a evolução dos computadores esses algoritmos foram se tornando cada vez mais complexos, devido ao número de processos que devem “rodar ao mesmo tempo” em uma CPU e a quantidade de processamentoconsumido por eles.
Quando escalonar?Existem situações em que deve-se chamar o escalonador de processos, e elas são:
Finalização ou criação de um processo
Quando um processo é bloqueado por I/O ou semáforo
Com uma system call bloqueadora
Numa interrupção de I/O
Numa interrupção de relógio
No caso de interrupção de relógio existem dois tipo de algoritmo:
Preemptivos: rodam porum tempo máximo fixo
Não-preemptivos: rodam até serem bloqueados ou deixarem a CPU.
Categorias de algoritmos de escalonamentoDiferentes ambientes necessitam de diferentes algoritmos, isso ocorre pois diferentes aplicações (sistemas operacionais diferentes) têm diferentes objetivos.
Três exemplos de ambientes são:
Batch (algoritmos preemptivos ou não-preemptivos com períodos de tempogrande, fazendo com que ocorram menos chaveamentos entre processos implicando na melhora da performance).
Ambiente interativo (algoritmos preemptivos, para evitar que algum bug faça com que um processo rode eternamente). É o que mais nos interessa, pois o Minix pertence a essa categoria.
Sistema de tempo-real (algoritmos preemptivos são suficientes, mas as vezes não são necessários, pois existemprocessos específicos que rodam e se bloqueiam rapidamente).
Principais métodos de escalonamento de sistemas interativosRound-RobinEscalonamento mais simples de se entender e implementar dos sistemas interativos, funciona determinando um tempo fixo (chamado de tempo quantum) para cada processo rodar. Se o processo ainda está rodando ao final do tempo quantum, ele é colocado no final da fila deprocessos e o próximo da fila inicia.
Priority SchedulingSimilar ao round-robin, porém, cada processo é colocado numa fila diferente, dependendo de sua prioridade.
Porém, dessa forma, se existem vários processos de alta prioridade (como uma compilação, por exemplo, que pode levar horas), as filas de prioridade menor nunca seriam executadas. Para evitar esse tipo de travamento, duas soluções podem serutilizadas:
A primeira, é reduzir a prioridade de um processo em execução de tanto em tanto tempo, até que a fila de maior prioridade esvazie e filas de menor prioridade passem a ser executadas.
A outra forma, é determinando um tempo quantum máximo em que uma fila de certa prioridade pode ser executada.
Multiple QueuesSimilar ao escalonamento priority scheduling, porém os processos de cada...
tracking img