Estratégias de Escalonamento de Processos

Documentos relacionados
Escalonamento de Processos Estratégias de Escalonamento de Processos

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

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

Sistemas Operacionais. Gerência de Processador

Gerência do Processador. Adão de Melo Neto

Sistemas Operacionais Gerenciamento de Processos

Sistemas Operacionais. Escalonamento de processos

Sistemas de Informação. Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais. Capítulo 8 Gerência do Processador

Sistemas Operacionais

Algoritmos de escalonamento

Gerência de Recursos. Gerência do Processador

Escalonamento de Processos

Gerência de Recursos. Gerência do Processador

Lista de Exercícios Escalonamento de CPU. 1. Considere o seguinte conjunto de processos, com o tamanho do tempo de burst de CPU dado em milissegundos:

Sistemas Operacionais: Escalonamento de processos

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 3. Escalonamento

Davidson Rodrigo Boccardo

Sistemas Operacionais Aula 7

Processos. Escalonamento de Processos

SOP - TADS Escalonamento de Processos

Na Aula Anterior... Escalonamento de Processos. Nesta Aula. Escalonamento. Comportamento de um Processo. Historicamente...

Infra-Estrutura de Software. Escalonamento

Processos. Escalonamento de Processos

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

Escalonamento de Processos Uniprocessador

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

Multiprocessamento. Escalonamento de Processos: Algoritmos. Escalonamento em POSIX. Escalonamento de Threads. Padrão de Execução dum Processo

Sistemas Operacionais Aula 07: Scheduling da CPU. Ezequiel R. Zorzal

Sistemas Operacionais

Escalonamento de Processos

Processos. Escalonamento de Processos

Capítulo 5: Escalonamento da CPU. Operating System Concepts 8th Edition

1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU?

Sistemas de Computação. Processos e escalonamento

Sistemas Operacionais

Escalonamento de Processos. Estratégia de atribuição do Processador aos Processos

Sistemas Operacionais

Escalonamento de Processos

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (

Sistemas Operacionais

Retrospectiva da aula passada... Escalonamento. Na aula passada... Comunicação entre processos (-- O jantar dos filósofos --)

Infra-estrutura de Software. Escalonamento. Decidindo qual processo vai executar

Sistemas Operacionais

Escalonamento do CPU

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

Sistemas Operativos: Escalonamento de Processos

Escalonamento de processos

Escalonamento. Decidindo qual processo vai executar. Infra-estrutura de Software

Resumo: Sistemas Operacionais Abertos

Questões de Provas de Períodos Anteriores

Notas da Aula 11 - Fundamentos de Sistemas Operacionais

Escalonamento da CPU

Escalonamento da CPU

Sistemas Operativos: Implementação de Processos

BC1518-Sistemas Operacionais. Prof. Marcelo Z. do Nascimento

Sistemas Operacionais

Sistemas Operativos. Sumário. Escalonador da CPU. Por Prioridades Round Robin. ! Algoritmos de escalonamento

6 ESCALONAMENTO DE CPU

Escalonamento. Pedro Cruz. EEL770 Sistemas Operacionais

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES

GERENCIAMENTO DO PROCESSADOR. Prof. Maicon A. Sartin

Agendador. Agendador de Processos (Escalonador de Processos) Critérios de Agendamento. Agendador

Estados dos processos. Infra Estruturas Computacionais. A troca de contexto. Escalonamento de Processos. Escalonamento de Processos

Bacharelado em Ciência da Computação Sistemas Operacionais

Introdução a Arquitetura de Sistemas Operacionais. Parte 02

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Transcrição:

Estratégias de Escalonamento de Processos Rossano Pablo Pinto, MSc. FATEC - Americana 15/02/2008 Prof. Ms. Rossano Pablo Pinto - FATEC Ame 1

O que é um sistema multiprogramável? compartilha a CPU entre diversos processos é desejável que os processos obtenham tempos justos de processamento é desejável que os processos obtenham serviço similar ao de sistemas mono-programáveis Prof. Ms. Rossano Pablo Pinto - FATEC Ame 2

Sistemas multiprogramáveis devem ser eficientes em: criar processos (ex.: Fork) matar (finalizar) processos bloquear processos (execução -> bloqueado ou pronto) acordar processos Eventualmente ESCALONAR o processo Prof. Ms. Rossano Pablo Pinto - FATEC Ame 3

Procedimento de escolha do próximo processo fundamental tenta escolher o processo mais adequado para ser executado em um dado momento ESCALONADOR (scheduler): parte do código do SO que escolhe o próximo processo a ser executado Prof. Ms. Rossano Pablo Pinto - FATEC Ame 4

Execução (Processador) Escalonador Processo Processo Espera Pronto Processo Processo Processo Processo Prof. Ms. Rossano Pablo Pinto - FATEC Ame 5

Objetivos do ESCALONADOR manter CPU perto de 100% de uso balanceamento da CPU p/ vários processos maximizar vazão (throughput) resposta rápida a usuários interativos evitar starvation Prof. Ms. Rossano Pablo Pinto - FATEC Ame 6

Objetivos conflitantes - Resolução de conflito Determinar o tipo do sistema (tipo da maioria dos processos) lote (batch) interativo CPU-bound I/O-bound tempo-real Para cada tipo de sistema deve haver uma POLÍTICA adequada tempo-compartilhado (vários usuários) Prof. Ms. Rossano Pablo Pinto - FATEC Ame 7

Critérios de escalonamento depende do tipo de processamento: Fairness [Sistemas Multiprogramáveis] UCPU (utilização de CPU perto de 100%) Vazão (Throughput) Turnaround [Sistemas Batch] Tempo de resposta [Sistemas on-line - interativos] Meet deadlines [Sistemas de tempo real] Prof. Ms. Rossano Pablo Pinto - FATEC Ame 8

Fairness Todos os processos devem ter o mesmo tipo de tratamento UCPU manter CPU perto de 100% Ex.: 30% indica sistema com carga proc. baixa Ex.: 90% carga processamento alta Prof. Ms. Rossano Pablo Pinto - FATEC Ame 9

Vazão Representa número de processos finalizados em um determinado intervalo 50 processos por hora é melhor do que 40 Tempo de turnaround tempo da admissão ao término de um processo contabiliza todos os tempos administrativos (alocação de memória, espera em filas, E/S, etc..) Prof. Ms. Rossano Pablo Pinto - FATEC Ame 10

Tempo de resposta tempo de resposta decorrido do momento da submissão de um pedido até a primeira resposta sistemas interativos exigem que seja baixo Prof. Ms. Rossano Pablo Pinto - FATEC Ame 11

Escalonamento não-preemptivo primeiros sistemas multiprogramáveis quando processo era escolhido, este era executado até que o próprio escolhesse abrir mão da CPU Exemplos de escalonamentos nestes sistemas: FIFO Shortest job first cooperativo (Ex. win 3.1x, MAC OS 9 e anteriores) Prof. Ms. Rossano Pablo Pinto - FATEC Ame 12

FIFO - Não-Preemptivo Processo A 7 8 6 Processo B 4 2 0 7 11 19 21 27 Tempo Solicitação de E/S por A Solicitação de E/S por B Solicitação de E/S por A Solicitação de E/S por B Utilizado em sistemas batch Sistemas Multiprog. utiliza variações deste Tempo de CPU (u.t.) Característica do processo Processo A 21 CPU-bound Processo B 6 I/O-bound Prof. Ms. Rossano Pablo Pinto - FATEC Ame 13

Shortest Job First - Não-Preemptivo Associa processo ao tempo de execução Escolhe os de tempo menor primeiro Prioriza vazão e turnaround, e reduz tempo médio de espera. Ex. turnaround (p,t): A8, B3, C5, D2, E1 -> A8, B11, C16, D18, E19 E1, D2, B3, C5, A8 -> E1, D3, B6, C11, A19 Problema: (pré) determinar os tempos Prof. Ms. Rossano Pablo Pinto - FATEC Ame 14

Cooperativo - Não-Preemptivo Processo voluntariamente libera CPU (volta p/ fila de pronto) Não existe intervenção do SO Win 3.x - multitarefa cooperativa processo verifica periodicamente fila de interesse Problemas óbvios: loops infinitos, erros diversos TRAVAM TODO O SISTEMA Prof. Ms. Rossano Pablo Pinto - FATEC Ame 15

Escalonamento Preemptivo Sistema interrompe processo (tempo ou prioridade) Compartilhamento mais uniforme da CPU Troca de um processo pelo outro Troca de contexto Trocas de contexto não devem ocorrer em excesso (carga administrativa do sistema deve ser baixa) Prof. Ms. Rossano Pablo Pinto - FATEC Ame 16

CIRCULAR (Round Robin) Lista dos processos no estado Pronto C B A Preempção por tempo CPU Lista dos processos no estado Espera Término da execução Conceito de timeslice (fatia de tempo) / quantum Entre 5 e 800 ms no LINUX (100ms default) Prof. Ms. Rossano Pablo Pinto - FATEC Ame 17

CIRCULAR (Exemplo) Processo A Processo B 5 4 2 2 CPU Livre 5 2 3 CPU Livre 0 5 9 11 13 16 21 23 26 27 Tempo Fim timeslide de A Solicitação de E/S por B Solicitação de E/S por A Solicitação de E/S por B Fim timeslide de A Solicitação de E/S por B Solicitação de E/S por A timeslide = 5 u.t. Tempo de CPU (u.t.) Característica do processo Processo A 15 CPU-bound Processo B 8 I/O-bound Prof. Ms. Rossano Pablo Pinto - FATEC Ame 18

PRIORIDADES Processo A Processo B 4 4 2 3 CPU Livre 5 2 3 1 0 4 8 10 13 16 18 23 26 27 Tempo Solicitação de E/S por B Preempção por B Solicitação de E/S por B Solicitação de E/S por A Solicitação de E/S por B Preempção por B Solicitação de E/S por B Tempo de CPU (u.t.) Característica do processo Prioridade Processo A 13 CPU-bound 4 Processo B 11 I/O-bound 7 Prof. Ms. Rossano Pablo Pinto - FATEC Ame 19

Prioridade Estática Dinâmica processos I/O bound recebem + prioridade a cada saída da fila de processos bloqueados Prof. Ms. Rossano Pablo Pinto - FATEC Ame 20

MÚLTIPLAS FILAS Maior prioridade Prioridades Fila de processos do sistema Circular Fila de processos interativos STF Fila de processos batch Menor prioridade Ex.: 3 filas (níveis) com prioridades diferentes Cada file adota uma política de escalonamento diferente. Necessidade de pré-classificação dos processos Não prevê mudança de comportamento ao longo da execução Prof. Ms. Rossano Pablo Pinto - FATEC Ame 21

MÚLTIPLAS FILAS COM REALIMENTAÇÃO Maior prioridade quantum < Fila 1 (escalonamento FIFO) Preempção por tempo Fila 2 (escalonamento FIFO) Preempção por tempo Fila 3 (escalonamento FIFO) CPU Preempção... por tempo Fila n (escalonamento CIRCULAR) Menor prioridade quantum > Detecção de mudança de comportamento em tempo de execução Prof. Ms. Rossano Pablo Pinto - FATEC Ame 22

Escalonamento de tempo-real Prioridades estáticas (IMPORTANTE) NÃO existe timeslice!!! Processo executa até o final (RUN-TO- COMPLETITION) Prof. Ms. Rossano Pablo Pinto - FATEC Ame 23

Escalonamento com múltiplos processadores Sistemas Fracamente Acoplados cada processador faz seu escalonamento local Sistemas Fortemente Acoplados Exclusão mútua no código do escalonador 2+ processos não podem ser escalonados p/ um mesmo processador ao mesmo tempo 1 processo não pode ser escalonado p/ execução em 2+ processadores (salvo threads!) Prof. Ms. Rossano Pablo Pinto - FATEC Ame 24

Estratégias adotados no Linux O(1) scheduler (big o scheduler) O tempo de escolha do próximo processo independe do número de processos existentes no sistema implementa 2 faixas separadas de prioridade valores NICE (-20 0 +19): maior núm, menor prioridade determina o tempo do timeslice (-19 recebe o valor máximo de timeslice) prioridades de tempo-real (0 à 99) Prof. Ms. Rossano Pablo Pinto - FATEC Ame 25

Estratégias adotados no Linux (man sched_setscheduler) #include <sched.h> int sched_setscheduler(pid_t pid, int policy, const struct sched_param *param); int sched_getscheduler(pid_t pid); struct sched_param {... int sched_priority;... }; Prof. Ms. Rossano Pablo Pinto - FATEC Ame 26