Вы находитесь на странице: 1из 17

SISTEMAS OPERACIONAIS

Gerencia do Processador
Prof. Adenilson Tom

1.0 INTRODUO
Para implementar o compartilhamento da CPU entre diversos processos, um sistema operacional multiprogramvel deve possuir um critrio para determinar, entre os diversos processos no estado pronto, qual o prximo processo a executar.

Estados de um processo em um Sistema Operacional


2

Esse procedimento de seleo realizado por um importante componente do sistema operacional denominado escalonador (scheduler), e por isso recebe o nome de escalonamento de processos .

O escalonamento tem como principais objetivos:


maximizar a utilizao do processador; maximizar o nmero de processos completados por unidade de tempo; garantir que todos o processos recebam o processador;

minimizar o tempo de resposta para o usurio.

Para atender alguns desses objetivos, os sistemas operacionais devem levar em considerao as caractersticas dos processos, ou seja, se um processo do tipo Background, Foreground, CPU-Bound ou I/O-Bound. Sistemas de Tempo Real e de Tempo Compartilhado tambm so aspectos fundamentais para a implementao de uma poltica de escalonamento.
3

1.1 Critrios de Escalonamento

Utilizao de CPU desejvel que o processador fique a maior parte do seu tempo ocupado; Throughput o throughout representa o nmero de processos (tarefas) executados em um intervalo de tempo. A maximizao do throughput desejada na maioria dos sistemas. Tempo de Turnaround tempo que um processo leva desde sua admisso no sistema at o seu trmino, levando em considerao o tempo de espera para alocao de memria, espera na fila de processos prontos para execuo, processamento na UCP e operaes de E/S. Tempo de Resposta em sistemas interativos (Foreground), o tempo de resposta o tempo decorrido do momento da submisso de um pedido at a primeira resposta produzida.
4

1.1 Critrios de Escalonamento

De um modo geral, qualquer algoritmo de escalonamento busca otimizar a utilizao da UCP e o throughput, enquanto tenta diminuir o tempo de turnaround e de resposta.

TIPOS DE ESCALONAMENTO:

No-preemptivo: processo que est executando no pode ser interrompido. Presente nos primeiros sistemas multiprogramveis, onde predominava o processamento em batch. As polticas que implementam escalonamento nopreemptivo no so aplicveis sistemas de tempo compartilhado, pois em processos interativos necessrio um tempo de resposta ao usurio razovel. Preemptivo: o processador pode ser retirado do processo que est executando. Permite ateno imediata aos processos mais prioritrios (tempo real), melhores tempos de resposta (tempo compartilhado), compartilhamento uniforme do processador.

2.0 - POLTICAS DE ESCALONAMENTO NO-PREEMPTIVO


2.1 - Primeiro a Chegar-Primeiro a Sair (First-In First-Out ou FIFO)

O primeiro processo que chegar o primeiro a ser selecionado para execuo. Os processos que passam para o estado pronto so colocados no final de uma fila. Quando chegarem ao seu incio, sero selecionados. Algoritmo de implementao bastante simples, utilizando uma nica fila. Ao receber o processador, o processo utiliza-o sem sofrer interrupes. Processos pequenos esperam tanto quanto os grandes.

Impossvel prever quando o processo ter sua execuo iniciada.

2.0 - POLTICAS DE ESCALONAMENTO NO-PREEMPTIVO


2.2 - Menor-Tarefa-Primeiro (SJF - Shortest-Job-First ou Shortest-JobNext)

Cada processo possui um tempo de uso do processador. ativado o processo com menor tempo de processador. O processo no perde o processador para um processo de menor durao (no -preemptivo). Minimiza o tempo mdio de espera de um conjunto de processo pois os processos menores so colocados frente e terminam mais rpido. Processos pequenos tem espera mdia menor que os grandes. Dificuldade de se determinar antecipadamente o tempo de processador de cada processo. Na prtica o tempo estimado aproximadamente. No considera outros tipos de seleo (prioridades). Pode causar postergao indefinida quando um processo com elevado tempo de processamento no receber nunca o processador.
8

2.0 - POLTICAS DE ESCALONAMENTO NO-PREEMPTIVO 2.3 Escalonamento Cooperativo


A partir do momento que o processo est em execuo, este voluntariamente libera o processador, retornando a fila de pronto. Um programa pode no liberar o processador, monopolizando desta forma a CPU. Busca aumentar o grau de multiprogramao. Tarefa de troca de processos realizada pelo processo em execuo, que verifica o prximo a ser executado na fila de pronto. Usado nas primeiras verses do SO Windows. OBS.: Escalonamentos FIFO e SJF no podem ser aplicados em sistemas de tempo compartilhado, onde um tempo de resposta razovel deve ser garantido para usurios interativos.
9

3.0 - POLTICAS DE ESCALONAMENTO PREEMPTIVO 3.1 Circular (Round Robin)


O primeiro processo na fila de prontos recebe o processador. Cada processo executado durante uma fatia de tempo (time-slice). Este mecanismo denominado como preempo por tempo.

Se a fatia de tempo for excedida, o processo que estava executando removido (preempo) e inserido, do mesmo modo que os processos que so desbloqueados e os recm criados, no final da fila pronto.
O tratamento dispensado aos processos o mesmo, indistintamente. O valor da fatia de tempo (entre 10 e 100 ms) crucial:

pequeno: o tempo de troca de contexto torna-se significativo, gerando overhead. grande: aumenta o tempo de resposta dos processos no final da fila de prontos.
10

3.0 - POLTICAS DE ESCALONAMENTO PREEMPTIVO 3.1 Circular (Round Robin) - Continuao


Bastante adequado para sistemas de tempo compartilhado. Favorece processos pequenos, que terminam primeiro, sem penalizar os grandes. Simplicidade de implementao.

Processos I/O bound no recebem tratamento diferenciado de modo a compensar o elevado tempo que passam bloqueados, competindo de forma igual com os outros pelo processador.
No faz um compartilhamento equitativo, pois este escalonamento trata todos os processos de maneira igual.

11

3.0 - POLTICAS DE ESCALONAMENTO PREEMPTIVO 3.2 - Circular com Prioridades


A cada processo atribuda uma prioridade. O processo com maior prioridade na fila de prontos receber o processador. Este mecanismo denominado como preempo por prioridade.

possvel fazer diferenciao entre os processos.


Adaptabilidade (prioridades dinmicas). No caso de processos I/O-bound serem prioritrios, no h prejuzo para os CPU-bound que podem executar enquanto os primeiros esto bloqueados.

Pode causar postergao indefinida quando um processo com baixa prioridade de processamento no receber nunca o processador. Pode ser resolvido pela verificao do tempo de espera, seguida do aumento da prioridade dos processos h muito tempo esperando.
12

3.0 - POLTICAS DE ESCALONAMENTO PREEMPTIVO 3.2 - Circular com Prioridades - continuao

A poltica de escalonamento por prioridades pode ser:


no-preemptiva: o processo libera espontaneamente o processador. preemptiva: o processo que est executando interrompido pela chegada fila de prontos de um processo de maior prioridade.

As prioridades podem ser de:


atribuio esttica: quando o processo tem uma prioridade fixa durante seu tempo de vida. atribuio dinmica: quando a prioridade muda ao longo do tempo de vida do processo (todo processo ao sair do estado de bloqueado recebe um acrscimo sua prioridade). Embora sejam mais complexos de implementar e geram overhead maior, o tempo de resposta compensa.
13

4.0 ESCALONAMENTO DE SISTEMAS DE TEMPO COMPARTILHADO Versus SISTEMAS DE TEMPO REAL

Os Sistemas Operacionais de Tempo Compartilhado caracterizam-se pelo processamento interativo, seus algoritmos de escalonamento devem levar em considerao o compartilhamento de recursos de forma equitativa, para possibilitar o uso balanceado da CPU entre processos.

Processos tratados igualmente fazem com que os Processos CPU-Bound tenham vantagens sobre os Processos I/O-Bound. Sistemas Operacionais de tempo compartilhado utilizam-se do escalonamento circular com prioridades dinmicas.

14

4.0 ESCALONAMENTO DE SISTEMAS DE TEMPO COMPARTILHADO Versus SISTEMAS DE TEMPO REAL

Nos Sistemas Operacionais de Tempo Real, o fator tempo crtico. Neste tipo de escalonamento no existe o conceito de fatia de tempo (time-slice). O escalonamento realizado unicamente com base no esquema de prioridades. Para cada processo atribuda uma prioridade associada sua importncia dentro do sistema. Esta prioridade deve ser esttica, no devendo ser alterada no decorrer do processamento.

Este escalonamento deve ser empregado na soluo de aplicaes onde existam graus de exigncias em relao ao tempo de execuo das tarefas. Por exemplo, um sistema de controle de trfego areo.

15

LEITURA COMPLEMENTAR
http://pt.wikipedia.org/wiki/Escalonamento_de_processos

http://www.faatesp.edu.br/publicacoes/Algoritmos%20com%20Pri oridades.PDF
http://pt.wikipedia.org/wiki/FIFO_(escalonamento) http://pt.wikipedia.org/wiki/SJF http://pt.wikipedia.org/wiki/Round-robin_(algoritmo)

16

17

Вам также может понравиться