Vous êtes sur la page 1sur 7

FACULDADE DE PIMENTA BUENO - FAP CURSO DE SISTMAS DE INFORMAO JOILSON LIRA FERREIRA

ESCALONAMENTO

PIMENTA BUENO, 2012

Sumrio 1. 2. 3. 4. 4.1. 4.2. 4.3. 4.3.1. Introduo ................................................................................................. 3 Comportamento dos processos ................................................................ 4 Quando fazer escalonamento ................................................................... 4 Algoritmos de escalonamento .................................................................. 5 Lote ............................................................................................................ 5 Interativo ................................................................................................... 6 Tempo real ................................................................................................ 6 Escalonamento de threads.................................................................... 7

1.

Introduo Quando um computador tem suporte a multiprogramao, frequentemente ele tem

vrios processos competindo pelo uso da CPU. Quando mais de um processo st no estado de pronto e existe apenas uma CPU disponvel, o sistema operacional deve decidir qual deles vai executar primeiro. A partir do sistema operacional que faz essa escola chamada de escalonador, e o algoritmo que ele utiliza chamado algoritmo escalonamento. Os problemas de escalonamento se aplicam tanto aos processos como as threads. Na poca que os sistemas operacionais processavam entradas em lotes na forma de fita magntica, o algoritmo de escalonamento era simples e apenas executava o prximo job(trabalho). Nos sistemas de compartilhamento de tempo, esse algoritmo se tornou mais complexo para suportar servios de vrios usurios. Atualmente os aplicativos tendem a exigir mais recursos, como processamento digital de imagens e exibio de vdeo em tempo real. Quanto aos computadores pessoais, os aplicativos so mais voltados para velocidade com que o usurio interage com o sistema, portanto pouco provvel que haja competio de processos que comprometam o processamento, enquanto em servidores o escalonamento torna-se importante de novo pois frequentemente tem aplicaes que fazem a CPU decidir sobre qual processo vai executar primeiro.

2.

Comportamento dos processos

Praticamente todos os processos realizam vrias requisies de entrada e sada(E/S), a CPU executa processos, gera sadas e aguar por entradas e depois feita uma chamada para ler ou escrever em um arquivo. Quando a chamada do sistema termina, a CPU computa novamente, recebe novas entradas e assim por diante. Assim, alguns processos passam a maior parte do tempo computando, enquanto outros, passam a maior parte do seu tempo esperando por E/S. Assim, dividindo os processos em dois: Processos limitados por processamento(CPU-bound): normalmente tem longas rajadas de uso da CPU e raramente esperam pela E/S. Processos limitados por E/S(I/O-bound): tm curtas rajadas de uso da CPU e esperas frequentes de E/S. 3. Quando fazer escalonamento

O escalonamento absolutamente exigido em duas ocasies, nas quais tornan-se atos a no continuarem, dando vez ao prximo processo: a) quando um processo termina. b) quando um processo bloqueado em uma operao de E/S ou em um semforo. H tambm outras ocasies onde o escalonamento por ser feito: a) quando um novo processo criado: deve ser avaliada as prioridades; b) quando ocorre uma interrupo de E/S: significa que um dispositivo de E/S terminou seu trabalho; c) quando ocorre uma interrupo de relgio: nesta ocasio, o escalonador deve decidir se o processo corrente est executando por um tempo demasiado. Os algoritmos de escalonamento podem ser divididos em dois quanto ao modo que tratam as interrupes de relgio: Algoritmo de escalonamento no-preemptivo: seleciona o processo para executar, e em seguida, permite que ele seja executado at ser bloqueado(ou

no caso de uma E/S ou na espera por outro processo) ou at que libere a CPU voluntariamente. Algoritmo de escalonamento preemptivo: seleciona um processo e permite que ele seja executado por algum tempo fixo mximo. Se o processo ainda estiver em execuo no final do intervalo de tempo, ele ser suspenso e o escalonado selecionar outro processo para executar. 4. Algoritmos de escalonamento

O escalonador deve otimizar coisas diferentes em todos os sistemas, com isso distinguem-se em trs ambientes: 4.1. Lote

No h usurios esperando impacientemente por uma resposta rpida em seus terminais. Consequentemente, com frequncia so aceitveis algoritmos no-preemptivos ou algoritmos preemptivos com longos perodos de tempo para cada processo. Reduz a troca de processo e melhora o desempenho. Os algoritmos para sistemas de lote so: O primeiro a chegar o primeiro a sair: fcil de entender e de implementar, Tarefa mais curta primeiro: os tempos de execuo so conhecidos antecipadamente. Menor tempo de execuo restante: o escalonador sempre escolhe o processo cujo tempo de execuo restante o mais curto. O tempo de execuo precisa ser conhecido. Escalonamento em trs nveis: os sistemas sobre lote permitem escalonar processos em trs nveis diferentes: escalonador de admisso(decide qual trabalho entra no sistema), escalonador da memria(decide quais processos so mantidos na memria e quais no disco) e escalonador CPU(seleciona processos prontos armazenados na memria principal).

4.2.

Interativo

A preempo fundamental para impedir que um processo aproprie-se de todo o tempo da CPU e neque o servio para outros. Mesmo que nenhum processo seja executado sempre intencionalmente devido a um erro de programa, um nico processo poderia barrar outros indefinidamente. A preempo evita esse comportamento. Alguns algoritmos para sistemas interativo tambm podem ser utilizados em sistemas de lote como escalonador de CPU so: Escalonamento por alternncia circular(round-robin): um dos algoritmos mais simples, justo e mais usados. A cada processo atribudo um intervalo de tempo durante o qual ele pode ser executado. Tudo que o escalonador precisa fazer manter uma lista de processos executveis. Quando um processo consome seu tempo, ele colocado no fim da lista. Escalonamento por prioridade(round-robin): supe que todos os

processos so igualmente importantes. Cada processo, recebe uma prioridade e o processo pronto, com a prioridade mais alta, tem permisso para executar. Tais prioridades podem ser definidas de forma dinmica ou esttica. Geralmente os processos de usurios tem prioridade mais baixa que os processos de componentes, que podem mudar durante a execuo. Escalonamento por mltiplas filas: um dos primeiros escalonadores por prioridade estava no CTSS(Corbat et. al., 1962). Tinha o problema de que o chaveamento de processos era muito lento porque o 7094 podia armazenar apenas um processo de memria. 4.3. Tempo real

As vezes a preempo , estranhamente, desnecessria, pois os processos sabem que no podem ser executados por longos perodos de tempo e normalmente fazem seu trabalho e so rapidamente bloqueados. Sistemas em tempo real executam apenas os programas necessrios a uma aplicao em particular. Geralmente os processos tem vida curta e podem ser executados at o fim em menos de um segundo. Os algoritmos em tempo real tambm podem ser estticos ou dinmicos, sendo que o escalonamento esttico s funciona quando existem informaes disponveis confiveis sobre

o trabalho necessrio a ser feito e todos os prazos finais que precisam ser cumpridos. Para os dinmicos essa restrio no existe. 4.3.1. Escalonamento de threads Quando vrios processos tem mltiplas threads cada um, temos dois nveis de paralelismo presentes: processo e threads. O escalonamento em tais sistemas diferes substancialmente, dependendo se as threads so suportadas em nvel de usurio ou em nvel de ncleo(ou ambos). As threads em nvel de usurio podem emprgar um escalonamento especfico do aplicativo. Sobre sistemas de arquivo, caracteriscas, benefcios, vantagens, desvantagens e problemas.

Vous aimerez peut-être aussi