Escalonamento diversos sistemas operacionais

Disponível somente no TrabalhosFeitos
  • Páginas : 5 (1250 palavras )
  • Download(s) : 0
  • Publicado : 19 de maio de 2012
Ler documento completo
Amostra do texto
ANDROID, IOS, QNX (RIM), MEEGO (LINUX), WEBOS (HP), SYMBIAN

ANDROID

Baseado em Linux, o Android utiliza um algoritmo preemptivo, que divide o tempo da CPU em fatias, chamadas de quantum, onde os processos são alocados. Se o quantum do processo terminar e o processo não tiver concluído sua execução ocorre à troca de contexto e um novo processo é selecionado para utilizar a CPU. Oescalonador trabalha com prioridades estatísticas e dinâmicas. Nas prioridades dinâmicas o escalonador monitora os processos faz ajustes nas prioridades, visando equilibrar o uso da CPU, por exemplo, se um processo esteve recentemente em execução, ou executou por um tempo “longo”, esse processo recebe um prioridade mais baixa que outro processo que esta a mais tempo esperando pela CPU. E as prioridadesestáticas são utilizadas exclusivamente por processos de tempo real, o escalonador não pode alterar essas prioridades, elas podem ser alteradas somente por um usuário com privilégios especiais. O escalonador executa os processos com prioridades dinâmicas somente quando não houver mais processos de tempo real. No gerenciamento de processos é aplicada a politica FIFO, para os processos de tempo real,Round-Robin para processos de usuários.

QNX

-------------------------------------------------
As decisões de escalonamento são realizadas pelo Micro-kernel nas seguintes situações:
* O timeslice de um processo em execução esgotou.
* Processo em execução sofre preempção.
* Quando o processo está bloqueado.
Todo processo criado no QNX recebe uma prioridade, a qual o escalonadorutiliza para selecionar o próximo processo com maior prioridade que deve estar em no estado ready (pronto), ou seja, podendo utilizar os recursos da CPU.
Os métodos de escalonamento podem ser de três tipos: escalonamento FIFO, escalonamento Round Robin, e escalonamento Adaptativo. Cada processo no sistema operacional pode utilizar qualquer um desses métodos, porém somente é aplicado os métodos emsituações com dois ou mais processos com mesma prioridade e com o estado ready, ou seja, pronto para utilizar os recursos da CPU. Caso um processo com maior prioridade torne-se ready, então causa a preempção dos processos de baixa prioridade.
No escalonamento FIFO a condição que o método seja executado é que o processo renuncie o controle de forma voluntaria, não fazendo chamadas ao método ouatravés de preempção por um processo com maior prioridade.
No escalonamento Round-Robin, a condição para que o método continue executando é o mesmo procedimento do escalonamento FIFO , porém acrescido de mais um condição onde caso seja esgotado o timeslice do processo então há a preempção e o próximo processo no estado Ready terá o controle.
No escalonamento adaptativo, caso o timeslice do processotermine então a prioridade do processo é reduzida em uma unidade, procedimento conhecido como deterioração de prioridade. Neste caso o processo não é bloqueado. A prioridade do processo não cairá mais que uma unidade, mesmo que o timeslice esgote novamente sem bloquear. Caso o processo seja bloqueado então retorna para sua prioridade original. O escalonamento adaptativo é o método default do criadopelo Shell.

MEEGO
Para um compartilhamento justo, do processador entre os processos, o Linux (Meego) usa duas classificações para avaliar qual a prioridade de um processo, sendo estas: determina a responsividade do processo (tempo real, interativo, em segundo plano); verifica se o processo usa muito tempo de processador (CPU-bound) ou faz muitas operações de entrada e saída (I/O-bound).
Essasduas classes são razoavelmente independentes. Um processo pode executar em segundo plano (um daemon, por exemplo) e ser consumidor de recursos de entrada e saída (um servidor de banco de dados, por exemplo) ou usar muito tempo de processador (tal como, um compilador). Um processo que executa operações em tempo real foi assim definido pelo seu programador, mas o agendador do Linux necessita...
tracking img