4. GERÊNCIA DE PROCESSADOR (Escalonamento de processos)



Documentos relacionados
Gerência do Processador

03 GERÊNCIA DO PROCESSADOR

Gerência do Processador

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Gerência do Processador

Sistemas Operacionais

GERENCIAMENTO DO PROCESSADOR. Prof. Maicon A. Sartin

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

Capítulo 4 Gerência do Processador. O que sabemos é uma gota, o que ignoramos é um oceano. Isaac Newton

Gerência de Processador

Gerência de Processador

Gerência de processos Requisitos fundamentais

Escalonamento no Linux e no Windows NT/2000/XP

Capítulo 4 Gerência de Processador

Sistemas Operacionais

Sistemas Operacionais. Roteiro. Tipos de Tarefas (temporal) Marcos Laureano

Sistemas Operacionais. Escalonamento de Processo. Prof. Dr. Márcio Andrey Teixeira

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

Sistemas Operacionais Processos e Threads

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados.

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Gerência de processos Estudos de caso - BSD Unix

Memória Virtual. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

Máquina de estados UNIX O

Máquina de estados UNIX O. Sistemas Operacionais 2008/1Profa. Patricia S.O. computação: recursos D. S.O S.O. controla eventos no sistema de

Gerenciamento de Memória

Processos e Threads (partes I e II)

Organização e Arquitetura de Computadores

Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais

Algoritmos de Escalonamento

Sistemas Operacionais Conceitos Básicos

Escalonamento de CPU 2 Quadrimestre

Introdução aos Sistemas

SISTEMAS OPERACIONAIS

Deadlocks. Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Fundamentos de Sistemas Operacionais. Processos. Prof. Edwar Saliba Júnior Março de Unidade Processos

Programação Concorrente Processos e Threads

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

Sistemas Operacionais Arquivos. Carlos Ferraz Jorge Cavalcanti Fonsêca

7 Processos. 7.1 Introdução

Sistemas de Tempo-Real

SOsim: Simulador para o Ensino de Sistemas Operacionais Guia de Utilização

Arquitetura de Sistemas Operacionais

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura Exemplo

Prof. Bruno Calegaro

SISTEMAS OPERACIONAIS

Organização de Computadores 1

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Gestor de Processos. Gestor de Processos

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul

3 Estratégia para o enriquecimento de informações

Sistemas Operacionais

Arquitetura de Computadores. Sistemas Operacionais IV

Sistemas Operacionais

Processos. Adão de Melo Neto

3 SCS: Sistema de Componentes de Software

TI Básico. Sistemas Operacionais. Professor: Ricardo Quintão Site:

Processos. Paulo Sérgio Almeida 2005/2006. Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho

Tipos de Servidores. Servidores com estado

Gerenciamento de memória

Algoritmos e Estruturas de Dados II. Trabalho Prático 2

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Capítulo 2. Processos e Threads. Processos e threads

Amostra da apostila do curso de DashBoards no Excel a partir da página 104:

Gestor de Processos Núcleo do Sistema Operativo. Sistemas Operativos 2011 / Gestor de Processos

PROCESSOS. Prof. Maicon A. Sartin

Sistema Operacional. Prof. Leonardo Barreto Campos 1

Concurso Público para provimento de cargo efetivo de Docentes. Edital 20/2015 CIÊNCIA DA COMPUTAÇÃO I Campus Rio Pomba

Capítulo 5: Escalonamento da CPU

Estrutura de Dados Básica

Questão Essência do Excel

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Ciclo de Vida de um Processo

Trabalho 7 Fila de prioridade usando heap para simulação de atendimento

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

Sistemas Operativos I

Sistemas Operacionais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais

O WINDOWS 98 é um sistema operacional gráfico, multitarefa, produzido pela Microsoft.

Sistemas Operacionais

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

FUNDAÇÃO EDUCACIONAL DE ITUIUTABA

8 Threads. 8.1 Introdução

Gerenciamento de Processos

Introdução a Computação 07 Sistemas operacionais. Márcio Daniel Puntel marcio.puntel@ulbra.edu.br

Transcrição:

4. GERÊNCIA DE PROCESSADOR (Escalonamento de processos) Para implementar o compartilhamento da CPU entre diversos processos, um sistema operacional multiprogramável deve possuir um critério para determinar, entre os diversos processos no estado pronto, qual o próximo processo a executar. Figura A- Estados de um processo em um Sistema Operacional Esse procedimento de seleção é realizado por um importante componente do sistema operacional denominado escalonador, e, por isso, recebe o nome de escalonamento de processos. O escalonamento tem como principais objetivos: maximizar a utilização do processador maximizar o número de processos completados por unidade de tempo garantir que todos o processos recebam o processador minimizar o tempo de resposta para o usuário Tipos de escalonamento: não-preemptivo: processo que está executando não pode ser interrompido. Presente nos primeiros sistemas multiprogramáveis, onde predominava o processamento em batch. As políticas que implementam escalonamento não-preemptivo não são aplicáveis à sistemas de tempo compartilhado, pois em processos interativos é necessário um tempo de resposta ao usuário razoável. preemptivo: o processador pode ser retirado do processo que está executando. Permite atenção imediata aos processos mais prioritários (tempo real), melhores tempos de resposta (tempo compartilhado), compartilhamento uniforme do processador. 4.1 Políticas de escalonamento não-preemptivas 4.1.1 Primeiro a chegar-primeiro a sair (first-in first-out ou Fifo) O primeiro processo que chegar é o primeiro a ser selecionado para execução. Os processos que passam para o estado pronto são colocados no final de uma fila. Quando chegarem ao seu início, serão selecionados para executarem. Utilizado para processos bloqueados também. Algoritmo de implementação bastante simples, utilizando uma única fila. Ao receber o processador, o processo utiliza-o sem sofrer interrupções. Processos pequenos esperam tanto quanto os grandes.

Figura B- Implementação do escalonamento First in-first out 4.1.2 Menor-tarefa-primeiro (shortest-job-first ou shortest-job-next) Cada processo possui um tempo de uso do processador É ativado o processo com menor tempo de processador O processo não perde o processador para um processo de menor duração (não preemptivo) Minimiza o tempo médio de espera de um conjunto de processo pois os processos menores são colocados à frente e terminam mais rápido Processo pequenos tem espera média menor que os grandes Dificuldade de se determinar antecipadamente o tempo de processador de cada processo. Na prática o tempo é estimado aproximadamente Não considera outros tipos de seleção (prioridades) Pode causar postergação indefinida quando um processo com elevado tempo de processamento não receber nunca o processador. Processos grandes possuem espera média maior do que no FIFO

Figura C- Implementação do escalonamento Shortest-Job-First Exercícios com as políticas de escalonamento não-preemptivas. Arquivo 4-ExNaoP.doc 4.2 Políticas de escalonamento preemptivas 4.2.1 Circular (round robin) O primeiro processo na fila de prontos recebe o processador Cada processo executa durante uma fatia de tempo (time-slice) Se a fatia de tempo for excedida, o processo que estava executando é removido (preempção) e inserido, do mesmo modo que os processos que são desbloqueados e os recém criados, no final da fila pronto O tratamento dispensado aos processos é o mesmo, indistintamente O valor da fatia de tempo (entre 100 e 300 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 Bastante adequado para sistemas de tempo compartilhado. Favorece processos pequenos, que terminam primeiro, sem penalizar os grandes Simplicidade de implementação Processos I/O bound não recebem tratamento diferenciado de modo a compensar o elevado tempo que passam bloqueados, competindo de forma igual com os outros pelo processador.

Figura D- Implementação do escalonamento circular (Round robin) 4.2.2 Por prioridades A cada processo é atribuída uma prioridade O processo com maior prioridade na fila de prontos receberá o processador É possível fazer diferenciação entre os processos Adaptabilidade (prioridades dinâmicas) No caso de processos I/O-bound serem prioritários, não há prejuízo para os CPU-bound que podem executar enquanto os primeiros estão bloqueados Pode causar postergação indefinida quando um processo com baixa prioridade de processamento não receber nunca o processador. Pode ser resolvido pela verificação do tempo de espera, seguida do aumento da prioridade dos processos há muito tempo esperando A política de escalonamento por prioridades pode ser: não-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: atribuição estática: quando o processo tem uma prioridade fixa durante seu tempo de vida atribuição dinâmica: quando a prioridade muda ao longo do tempo de vida do processo (todo processo ao sair do estado de bloqueado recebe um acréscimo à sua prioridade). Embora sejam mais complexos de implementar e geram overhead maior, o tempo de resposta compensa.

Figura E- Implementação do escalonamento por prioridades 4.2.3 Múltiplas filas Prioridades são atribuídas à classes de processos (de acordo com o tipo de processamento), cada qual com sua própria fila de prontos com seu mecanismo de seleção Processos das classes de maior prioridade recebem o processador Os processos das classes de menor prioridade só receberão o processador se as filas de prontos das outras classes (de maior prioridade) estiverem vazias

Figura F- Implementação do escalonamento por múltiplas filas Os processos devem ser previamente classificados para serem enviados à fila correspondente. Isto é feito em função das características dos processos, como, por exemplo: Figura G- Características dos processos consideradas na criação das múltiplas filas 4.2.3.1 Associação estática à fila de prontos Os mecanismos de seleção implementados podem ser circular (round robin) ou FIFO Exige uma classificação prévia dos processos, os quais são direcionados para as suas respectivas filas Uma vez associado à uma fila o processo sempre retorna à ela

Figura H- Implementação do escalonamento de múltiplas filas com associação estática às filas de 4.2.3.2 Associação dinâmica à fila de prontos Processos podem migrar entre as classes (adaptabilidade) de acordo com seu comportamento, identificado pelo sistema O processo entra na fila de maior prioridade, a qual também possui a maior fatia de tempo Se o processo perde o processador para um de uma fila de maior prioridade, permanece na mesma fila de prontos. Se perder por preempção, é direcionado para a fila seguinte, de menor prioridade As filas de maior prioridade implementam políticas FIFO, enquanto que a de menor prioridade implementa um mecanismo circular (round robin) Gera um overhead maior, porém, ainda assim, pode compensar a sua implementação

Figura I- Implementação do escalonamento de múltiplas filas com associação dinâmica às filas de prontos