Buscar

Aula Escalonamento de processos- USTM

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 33 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 33 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 33 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE SÃO TOMÁS DE MOÇAMBIQUE
FACULDADE DE CIÊNCIAS E TECNOLOGIAS DE INFORMAÇÃO
ESCALONAMENTO DE PROCESSOS 
Sistemas Operativos I 
Tópicos 
Estados de um processo
Bloco de Controle de processo (BCP)
Gestão de Processo 
Escalonamento de processos 
Algoritmos de escalonamento 
Qualidade de escalonamento
Diferenca entre Processo X Programa
Um processo tem características que são dinâmicas e que mudam ao longo do tempo. Dentre essas características podemos citar variáveis, estado, arquivos abertos, contexto. 
O programa é o código (instruções) que encontra-se eu uma memória não volátil diferentemente do processo que estará obrigatóriamente na RAM, quando em execução.
Estrutura / arquitectura do Processo
Características da estrutura de um processo
Bloco de controle do processo (PCB)
Escalonamento 
 Em sistemas multiprogramados (multi-tarefa), a cada instante um ou mais processos podem estar no estado pronto, ex:
 Processos do sistema vs processos de utilizadores 
 Processos curtos vs longos/externos
processos interativos vs intensivos em CPU (CPUbound) ou jobs em batch
O Escalonador é a parte do núcleo responsável por:
 Gestão da/s fila/s de prontos, ajustando prioridades dos processos
 Escolher qual dos processos prontos vai ser o próximo a usar CPU (de acordo com as prioridades dos processos )
Estados de um Processo 
Escalonador- FUNÇãO 
O Escalonador é quem decide a ordem de execução das tarefas prontas. Ele é um dos componentes mais importantes do SO, e faz um uso de um algoritmo, chamado algoritmo de escalonamento. 
O escalonador também permite a execução mais eficiente e rápida de tarefas como aplicações interativas, processamento de grandes volumes de dados, programas de cálculo, 
Dispatcher é Pequeno programa que troca o processador de um processo para outro.
Dispatcher- Função 
Critérios que o escalonador e o algoritmo de escalonamento devem priorizar:
Justiça: fazer com que cada processo ganhe um tempo justo de CPU;
 Eficiência: manter a CPU ocupada 100% do tempo (se houver demanda);
 Tempo de Reposta: minimizar o tempo de resposta aos usuários;
 Tempo de Turnaround: minimizar o tempo que utilizador devem esperar pelo resultado;
 Throughput: maximizar o número de tarefas processadas por unidade de tempo.
Escalonamento
 Escalonamento de longo prazo
Determina quando um processo é inserido no sistema para execução ao ser criado, processo recebe uma prioridade (vai para uma fila dos prontos)
 Escalonamento de médio prazo
 Determina quando processo “swapped out” é recarregado na memória RAM
 Escalonamento de curto prazo (“dispatching”)
 Escolhe um dos processos da fila de prontos para executar (usar o processador)
Processos do tipo CPU-BOUND E I/O-BOUND 
CPU-Bound ( limitado pelo processamento) 
Ligado a CPU passa a maior parte do tempo usando o processador ( estado de execução) e pouco utiliza as operação de E/S. 
Exemplo: Programas de cálculo ou análise, próprias de programas científicos. 
I/O-Bound ( limitado pelas entradas/saídas) 
Esse tipo de processamento usa pouco a CPU e passa a maior parte do seu tempo no estado de bloqueado (ou espera), pois realiza muita operações de E/S. 
Exemplos: Aplicações comerciais (leitura X gravação); 
 Processos interativos ( logon e entrada de dados); 
 Manipulação de Banco de Dados. 
PROCESSOS do tipo CPU-BOUND E I/O-BOUND 
ESTRATÉGIAS DE ESCALONAMENTO 
Preemptivo 
um algoritmo de escalonamento é considerado preemptivo quando a CPU designada para um processo pode ser retirada deste em favor de um outro processo
 Não-preemptivo 
Um algoritmo de escalonamento é dito não preemptivo quando o processador designado para um certo processo não pode ser retirado deste até que o processo seja finalizado
Algoritmos de Escalonamento 
Existem vários algoritmos de escalonamento cujo objectivo principal é alocar o processador para um certo processo, dentre vários processos existentes, optimizando um ou mais aspectos do comportamento geral do sistema. Quatro algoritmos de escalonamento serão abordados neste capítulo 
 FIFO - First- Come-First-Served (FCFS) 
 JSF- Shortest Job First 
 Prioridades 
 RR - Round Robin 
Escalonamento First-In-First-Out - FIFO
Esta é a forma mais simples de escalonamento. No escalonamento FIFO (First In, First Out – Primeiro a entrar, Primeiro a sair), os processos prontos são colocados em uma fila organizada por ordem de chegada. No seu momento, cada processo recebe o uso da CPU até que a sua execução total seja completada, ou seja, o processo permanece em execução até que seja finalizado. Os demais processos na fila de prontos ficam esperando o seu momento de ser executado pelo processador. Desta maneira, o escalonamento FIFO é um algoritmo não preemptivo 
Escalonamento FIFO.
Algoritmos de escalonamento
Escalonamento Shortest Job First (SJF)
Este algoritmo associa a cada processo o tempo aproximado do seu próximo ciclo de UCP a ser executado. Quando o processador fica disponível ele é entregue ao processo que possui o menor próximo ciclo de UCP que foi estimado. 
Exemplo 1 do Algoritmos de SJF- Não Preemptivo
Exemplo 2 do Algoritmos de SJF- Preemptivo
Escalonamento por Prioridade
A cada processo é atribuída uma prioridade, representada por um número inteiro (se é o maior ou o menor número inteiro que representa a maior ou menor prioridade varia de implementação para implementação). A UCP é entregue ao processo que tiver maior prioridade. Processos que tiverem prioridades iguais são escalonados usando-se a idéia de FCFS.
Exemplo de Algoritmo E. por Prioridade
Escalonamento Round Robin (RR)
O algoritmo Round Robin é naturalmente preemptivo e especialmente projectado para sistemas de time-sharing. Cada processo pode ocupar a UCP durante uma quantidade de tempo definida pelo sistema. Essa fatia de tempo recebe o nome de time-slice. Ao final desse tempo o processo executando perde o direito de continuar usando a UCP e é inserido no final da fila de prontos. Neste caso, o processo passa do estado executando para o estado pronto, sem ter passado pelo estado bloqueado. O primeiro processo da fila recebe o processador e começa a sua execução. Novos processos que entram na fila de prontos também são adicionados ao seu final. 
é preemptive 
O escalonador Round Robin é bastante utilizado e bastante recorrente nas questões.
Escalonamento Round Robin.
Exemplo de algortimos RR
Representação gráfica do tempo de permanência.
Qualidade do Escalonamento
A qualidade do serviço oferecido por um algoritmo de escalonamento pode ser avaliada por meio de um critério simples: 
tempo de permanência (tp), 
tempo de espera (te)
tempo de serviço ou execução (ts), 
tpermanência = tespera + tserviço / Tp= Te+Ts 
T.médio de espera=SUM(N.Processos tempo de espera)/n
 
Tempo de permanência normalizado (tpn)
Uma outra forma de avaliar o escalonamento é utilizando o tempo de permanência normalizado (tpn), ou seja, a razão entre o tempo de permanência e o tempo de serviço conforme mostrado a seguir. 
Tpn= Tp = Te+Ts 
 Ts Ts 
T.médio de espera=SUM(N.Processos tempo de espera)/n
Exercícios 
1. Descreva o escalonamento SJF e o escalonamento por prioridades
2. Quais as funções do escalonador e do dispatcher? 
3. Quais os principais critérios utilizados em uma política de escalonamento?
4.seja o caso de quatro processos A, B, C e D com tempos de serviço distintos, 3, 35, 12 e 4 segundos respectivamente, e tendo como o seu nivel de prioridade o seguinte,3, 4,1e 2, os quais são escalonados conforme a sua ordem de chegada pelo SO. 
 Desenhe um diagrama de Gantt ilustrando o escalonamento dos processos e seus respectivos tempos , segundo as políticas especificadas a seguir. O tempo de troca de contexto deve ser desconsiderado.
a) FIFO 
b) SJF 
c) Prioridade (número menor implica prioridade maior) 
d) Circular com fatia de tempo igual a (quantum=2). 
Estrutura monolítica
Topicos para o teste -1
1. Sistema Computacional 
2.Tiposde Sistemas operativos 
3. Composição do Sistema Operativo (Arquitectura)
 Composição do Núcleo
Funções do Núcleo 
Gestão de Processos

Continue navegando