Gerência do Processador



Documentos relacionados
Gerência do Processador

Sistemas Operacionais

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

Gerência de Processador

Gerência de Processador

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

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

GERENCIAMENTO DO PROCESSADOR. Prof. Maicon A. Sartin

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

Escalonamento no Linux e no Windows NT/2000/XP

Capítulo 4 Gerência de Processador

Gerência de processos Requisitos fundamentais

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

Sistemas Operacionais Processos e Threads

Sistemas Operacionais

03 GERÊNCIA DO PROCESSADOR

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

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

Sistemas Operacionais

Sistemas Operacionais

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

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

Algoritmos de Escalonamento

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

Recursos. Um recurso é ou um dispositivo físico (dedicado) do hardware, ou Solicitar o recurso: esperar pelo recurso, até obtê-lo.

SISTEMAS OPERACIONAIS

Processos e Threads (partes I e II)

Escalonamento de CPU 2 Quadrimestre

Sistemas Operacionais

Sistemas Operacionais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

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

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

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Sistemas Operacionais

Introdução aos Sistemas

ARQUITETURA DE COMPUTADORES E SISTEMAS OPERACIONAIS P/ CONCURSOS PÚBLICOS FOCO: ESAF/CESGRANRIO/FCC. Prof. Almeida Jr

Definição. ? Algoritmo de Escalonamento de CPU. ? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU

Programação Concorrente Processos e Threads

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

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

Sincronização e Comunicação entre Processos. Adão de Melo Neto

Processos. Escalonamento de Processos

Escalonamento de Processos

Processos. Escalonamento de Processos

Processos. Objetivos do Escalonamento. Políticas de Escalonamento. Algoritmos de Escalonamento. Maximizar a taxa de utilização da UCP.

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

Escalonamento da CPU

Escalonamento da CPU

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

Gerenciamento de Memória

Gerenciamento de memória

Tipos de Servidores. Servidores com estado

Gerência de processos Estudos de caso - BSD Unix

Estruturas do Sistema de Computação

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

Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br

Davidson Rodrigo Boccardo

Processos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1)

Organização de Computadores 1

Sistemas Operacionais

Arquitetura de Computadores. Sistemas Operacionais IV

Capítulo 5: Escalonamento da CPU

Processos. Escalonamento de Processos

Sistemas Operacionais Arquivos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas Operacionais

Engenharia de Software III

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

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

Sistemas Operacionais. Escalonamento de processos

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

Escalonamento de processos

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

Arquitetura dos Sistemas Operacionais

Sistemas Distribuídos

Almox Express Especificação de Requisitos

Sistemas Operativos. Sumário. Escalonador da CPU. ! Filas Multinível. ! Filas Multinível com Feedback. ! Escalonamento em multiprocessadores

Sistemas Operacionais

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

Processo de Controle das Reposições da loja

Sistemas Operacionais Gerenciamento de Processos

3) Considerando a tabela abaixo, usando a política de atribuição de prioridades Deadline Monotonic:

Sumário. Deadlock. Definição. Recursos. M. Sc. Luiz Alberto

Sistemas Operativos. Threads. 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv)

UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO.

Organização e Arquitetura de Computadores

Sistemas Operacionais

AULA 5 Sistemas Operacionais

OCOMON PRIMEIROS PASSOS

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

Transcrição:

Andrique Amorim www.andrix.com.br professor@andrix.com.br Gerência do Processador

Desenvolvimento web II IMPORTANTE SABER

Desenvolvimento web II DEADLOCK (interbloqueio, blocagem, impasse) Situação em que ocorre um impasse e dois ou mais processos ficam impedidos de continuar suas execuções - ou seja, ficam bloqueados, esperando uns pelos outros.

DEADLOCK Desenvolvimento web II

DEADLOCK Desenvolvimento web II

Desenvolvimento web II STARVATION Problema gerado no escalonamento quando um processo nunca é executado ("morre de fome") por causa de outros processos de prioridade maior que sempre o impedem de ser executado.

Desenvolvimento web II STARVATION A situação de starvation está presente quando o SO provê prioridades a processos. Quando as prioridades não são atualizadas fazem com que os processos de menor prioridade nunca sejam executados causando assim, deficiência em servidores de impressão e etc.

Gerência do Processador Desenvolvimento web II

Gerência do Processador No gerenciamento dos processos serão definidas as propriedades dos processos em execução, e a maneira como cada um receberá o tempo de execução no processador.

Gerência do Processador A principal função do gerenciador de processos é exatamente a execução do processo no processador de maneira adequada (considerando a prioridade do processo e a quantidade de processos gerenciados).

Gerência do Processador Prioridade do Processo. estado do processo. alguma alteração ocorrida no sistema

Gerência do Processador Um das atividades mais importantes em um Sistema Operacional.

Gerência do Processador Critérios para determinar qual processo será escolhido para fazer uso do processador.

Gerência do Processador Critérios são chamados de POLÍTICA DE ESCALONAMENTO A política de escalonamento é implementada através de prioridades associadas aos processos, denominadas prioridades base, esta prioridade é estabelecida no momento da criação do processo.

Gerência do Processador O SO deve decidir qual dos processos aptos, armazenados em uma fila, será escolhido para rodar primeiro.

Gerência do Processador Essa tarefa e a tomada de decisão é feita pelo escalonador de processos (parte do sistema operacional)

Gerência do Processador Algoritmos para Gerenciamento de Processos conjunto de instruções que irão executar uma determinada tarefa. Algoritmo para um Gerenciador de Processos contém as instruções necessárias para que o gerenciamento seja feito de maneira correta e organizada.

Gerência do Processador Atualmente os SO têm uma necessidade por algoritmos extremamente eficientes, devido: maior número de programas em execução nos computadores maior quantidade de recursos disponíveis.

Escalonadores É a entidade do SO responsável por selecionar um processo apto a executar no processador e dividir o tempo do processador de forma justa entre os processos que estão aptos.

Escalonadores implementar uma política de escalonamento de processos.

Escalonadores O sistema operacional possui um módulo responsável por efetuar a troca de contexto entre a execução de processos distintos, chamado de Dispatcher.

Objetivos do escalonamento: 1. Maximizar a utilização do processador 2. Privilegiar aplicações que são críticas 3. Maximizar a produção do sistema (throughput) (Número de processos executados por unidade de tempo) 4. Minimizar o tempo de execução (turnaround tempo que um processo gasta desde a sua criação até seu término) Tempo total para executar um determinado processo 5. Minimizar o tempo de espera Tempo que um processo permanece na lista de aptos 6. Minimizar o tempo de resposta Tempo decorrido entre uma requisição e a sua realização

Tipos de escalonadores 1. não-preemptivo 2. preemptivo

Tipos de escalonadores 1. não-preemptivo: escalonadores que permitem que os processos rodem até o fim de sua execução sem ser interrompidos por eventos externos.

Tipos de escalonadores 1. não-preemptivo usa o processador até que: 1. Término de execução do processo 2. Execução de uma requisição de entrada/saída ou sincronização 3. Liberação voluntária do processador a outro processo

Tipos de escalonadores 2. preemptivo: escalonadores que são capazes de suspender processos que poderiam continuar executando.

Tipos de escalonadores 2. Preemptivo usa o processador até que: 1. Término de execução do processo 2. Execução de uma requisição de entrada/saída ou sincronização 3. Liberação voluntária do processador a outro processo 4. Interrupção de relógio 5. Processo de mais alta prioridade esteja pronto para executar

Algoritmos de escalonamento O algoritmo de escalonamento deve selecionar qual processo irá executar em um determinado instante de tempo.

Algoritmos não preemptivos 1. FIFO 2. SJF

Algoritmos preemptivos 1. Round robin (circular) 2. Escalonamento por prioridades 3. Múltiplas Filas

FIFO - First In First Out É o algoritmo mais simples de implementar, onde o processador possui uma fila associada para armazenar os processos que estão aptos a executar.

FIFO - First In First Out Funcionamento: 1. Processos que se tornam aptos são inseridos no final da fila 2. Processo que está no início da fila é o próximo a executar

FIFO - First In First Out Desvantagem: 1. Prejudica processos I/O bound 2. Tempo médio de espera na fila de execução:

FIFO - First In First Out Exemplo 1

FIFO - First In First Out Exemplo 1

FIFO - First In First Out Exemplo 2

SJF - Shortest Job First Para usar este algoritmo precisamos conhecer antecipadamente o tempo de execução de cada processo. Difícil

SJF - Shortest Job First Menor tarefa primeiro Cada processo é associado com o tempo de utilização da CPU (normalmente derivado das execuções anteriores)

SJF - Shortest Job First A idéia é alocar o processador para o menor job da fila. O menor tempo médio é obtido quando se executa primeiro os processos de menor ciclo de processador (I/O bound). Portanto, os processos I/O bound são favorecidos.

SJF - Shortest Job First Exemplo 1

SJF - Shortest Job First Exemplo 1

SJF - Shortest Job First

RR - Round Robin A cada processo atribuímos um tempo durante o qual ele poderá utilizar o processador. Denominamos este intervalo de tempo de quantum.

RR - Round Robin Este algoritmo é similar ao algoritmo FIFO, pois também mantemos uma fila, agora circular, para armazenar os processos.

RR - Round Robin existe a necessidade de um relógio para delimitar as fatias de tempo

RR - Round Robin

RR - Round Robin O processo perde o processador quando: 1. Libera explicitamente o processador 2. Realize uma chamada de sistema (bloqueado) 3. Termina sua execução 4. Quando sua fatia de tempo é esgotada

RR - Round Robin Problema 1: Dimensionar o quantum 1. Compromisso entre overhead e tempo de resposta em função do número de usuários 2. Compromisso entre tempo de chaveamento e tempo do ciclo de processador (quantum)

RR - Round Robin Imagine que a cada 20 ms de processamento útil seja necessário gastar 5 ms com tarefas de troca de contexto para rodar processos de outro usuário, por exemplo. Com isso, 20% do tempo de processador será gasto com estes overheads.

RR - Round Robin Problema 2: Processos I/O bound são prejudicados 1. Esperam da mesma forma que processos CPU bound porém muito provavelmente não utilizam todo o seu quantum

Escalonadores por prioridades 1. Associar prioridades a processos I/O bound para compensar o tempo gasto em estado de espera (apto) 2. Sempre que um processo de maior prioridade que o processo atualmente em execução entrar no estado apto deve ocorrer uma preempção 3. Escalonamento com prioridades é inerente a preempção 4. É possível haver prioridade não-preemptiva 5. Escalonador deve sempre selecionar o processo de mais alta prioridade

Escalonadores por prioridades Prioridade estática versus dinâmica

Escalonadores por prioridades Prioridade estática: Um processo é criado com uma determinada prioridade e esta prioridade é mantida durante todo o tempo de vida do processo

Escalonadores por prioridades Prioridade dinâmica: Prioridade do processo é ajustada de acordo com o estado de execução do processo e/ou do sistema

Escalonadores por prioridades Implementação de escalonador com prioridades 1. Múltiplas filas associadas ao estado apto 2. Cada fila uma prioridade 3. Pode ter sua própria política de escalonamento (FIFO, SJF, RR)

Escalonadores por prioridades

Escalonadores por prioridades Problemas com prioridades 1. Com prioridades um processo de baixa prioridade pode não executar (starvation) 2. Um processo que durante sua execução troca de comportamento (CPU bound a I/O bound) pode ficar mal classificado a nível de prioridades e ser penalizado 3. Solução: Múltiplas filas com realimentação

Escalonadores por prioridades Múltiplas filas com realimentação 1. Baseado em prioridades dinâmicas. 2. Em função do tempo de uso da CPU a prioridade do processo aumenta e diminui 3. Sistema de envelhecimento (aging) evita postergação indefinida (deixar de ter preferência).

Múltiplas filas Esse algoritmo se baseia no uso de várias classes de prioridades, sendo que cada uma possui o seu próprio intervalo de tempo.

Múltiplas filas A fila de prontos é separada em várias filas: fila para processos interativos fila para processos em lote Cada fila tem sua política de escalonamento RR para processos interativos FiFo para processos em lote Deve haver um escalonamento entre as filas Prioridade: primeiro a fila de processos interativos (possibilidade de abandono de processos (starvation) Fatia de tempo para cada fila

Múltiplas filas Processos podem ser transferidos de fila Envelhecimento (aging): processo vai ganhando prioridade com o tempo Escalonador com múltiplas filas pode ser definido através dos seguintes parâmetros: Número de filas Algoritmos de escalonamento para cada fila Método utilizado para aumentar a prioridade do processo Método utilizado para diminuir a prioridade do processo Método utilizado para determinar qual fila o processo ficará quando o mesmo solicita um serviço

Escalonadores por prioridades Prioridade dinâmica: Prioridade do processo é ajustada de acordo com o estado de execução do processo e/ou do sistema

EXERCÍCIOS Desenvolvimento web II