Sistemas Operacionais

Documentos relacionados
SSC0640 Sistemas Operacionais I

Sistemas Operacionais

Sistemas Operacionais. Escalonamento de processos

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

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

Sistemas Operacionais

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

Infra-Estrutura de Software. Escalonamento

Sistemas Operacionais

Processos. Escalonamento de Processos

Sistemas Operacionais

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

Algoritmos de escalonamento

Sistemas Operacionais. Prof. André Y. Kusumoto

Davidson Rodrigo Boccardo

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

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

Escalonamento de Processos Uniprocessador

Processos. Escalonamento de Processos

SOP - TADS Escalonamento de Processos

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

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

Sistemas Operacionais. Escalonamento de Processos

Sistemas Operacionais: Escalonamento de processos

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

Escalonamento da CPU

Escalonamento da CPU

Sistemas Operacionais

Sistemas Operacionais Gerenciamento de Processos

Sistemas de Computação. Processos e escalonamento

Gerência de Recursos. Gerência do Processador

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

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III. Escalonamento de Processos. 24/04/2014 Prof. Valeria M. Bastos

Fundamentos de Sistemas Operacionais

Sistemas Operacionais Escalonamento. Carlos Ferraz Jorge Cavalcanti Fonsêca

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (

Escalonamento de Processos

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

Escalonamento de Processos Estratégias de Escalonamento de Processos

Sistemas Operacionais. Gerência de Processador

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

Estratégias de Escalonamento de Processos

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

Temporização (Scheduling) de Processos

Sistemas Operacionais Aula 7

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

Escalonamento do CPU

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

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

Sistemas de Informação. Sistemas Operacionais

Notas da Aula 11 - Fundamentos de Sistemas Operacionais

Resumo: Sistemas Operacionais Abertos

SEM 544 Desenvolvimento de Produtos Mecatrônicos

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

Sistemas Operacionais

Escalonamento de processos

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:

Prof. Kleber R. Rovai

Fundamentos de Sistemas Operacionais

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

Sistemas Operativos. Um conjunto de rotinas de software que. virtualizando-o. diversos como o sistema de ficheiros e.

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

Sistemas Operacionais

Fundamentos de Sistemas Operacionais

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

Sistemas Operacionais

Escalonamento. Pedro Cruz. EEL770 Sistemas Operacionais

Questões de Provas de Períodos Anteriores

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS

Temporização(Scheduling) de Processos. TemporobjectivomaximizarousodoCPU,i.e.tersempre um processo a executar.

Sistemas Operacionais

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

Ar qu it e t u r a a de e Sist e m a s Ope r a cion a is Fa bia n o o Ut iy a m a Ca pít u lo o 8 Ge r ê n cia a do o Pr oce ssa dor

Aula 10: Escalonamento da CPU

Escalonamento no Unix. Sistemas Operacionais

Introdução aos Sistemas de Tempo Real

6 ESCALONAMENTO DE CPU

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

Sistemas Operacionais

LabSO Gerência de Processos. Retrospectiva da aula passada... Na aula passada... Na aula passada...

Sistemas Operacionais

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

Davidson Rodrigo Boccardo

Escalonamento de Processos

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Processos. Estruturas de Controle

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

Sistemas Operacionais

LICENCIATURA EM COMPUTAÇÃO. Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador

Escalonamento de Processos. Ciclo 3 AT1. Prof. Hermes Senger

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

Escalonamento de Tarefas

}Escalonamento. Parte III - Sistemas Operacionais. Cap. 2 Processos. Escalonamento de Processos. Quando escalonar? Comportamento de Processos

Gerência do Processador

Sistemas de Informação. Sistemas Operacionais

Conceitos básicos de Tempo Real

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Transcrição:

Sistemas Operacionais Prof. Jó Ueyama Apresentação baseada nos slides da Profa. Dra. Kalinka Castelo Branco, do Prof. Dr. Antônio Carlos Sementille e da Profa. Dra. Luciana A. F. Martimiano e nas transparências fornecidas no site de compra do livro Sistemas Operacionais Modernos

Aula de Hoje (conteúdo detalhado) 1. Escalonamento em Batch 2. Algoritmos de Escalonamento em Sistemas Batch 3. Algoritmos de Escalonamento em Sistemas Interativos 2

Sistemas em Batch n Escalonamento Three-Level CPU Escalonador da CPU * Novo job Fila de entrada Escalonador de Admissão RAM Escalonador Da Memória Disco 3

Sistemas em Batch n Escalonamento Three-Level Escalonador de admissão: processos menores primeiro; processos com menor tempo de acesso à CPU e maior tempo de interação com dispositivos de E/S; Escalonador da Memória: decisões sobre quais processos vão para a MP: n A quanto tempo o processo está esperando? n Quanto tempo da CPU o processo já utilizou? n Qual o tamanho do processo? n Qual a importância do processo? Escalonador da CPU: seleciona qual o próximo processo a ser executado; 4

Aula de Hoje (conteúdo detalhado) 1. Escalonamento em Batch 2. Algoritmos de Escalonamento em Sistemas Batch 3. Algoritmos de Escalonamento em Sistemas Interativos 5

Sistemas em Batch n Algoritmos para Sistemas em Batch: First-Come First-Served (ou FIFO); Shortest Job First (SJF); Shortest Remaining Time Next (SRTN); 6

Sistemas em Batch n Algoritmo First-Come First-Served Não-preemptivo; Processos são executados na CPU seguindo a ordem de requisição; Fácil de entender e programar; Desvantagem: n Ineficiente quando se tem processos que demoram na sua execução; 7

Sistemas em Batch n Algoritmo First-Come First-Served Fila de entrada 3 2 1 CPU 0 Interrupção qualquer (semáforo, E/S) 8

Sistemas em Batch n Algoritmo First-Come First-Served CPU Fila de entrada 0 3 2 1 CPU não controla o tempo dos processos! (não-preemptivo) 9

Sistemas em Batch n Algoritmo Shortest Job First Não-preemptivo; Possível prever o tempo de execução do processo; Menor processo é executado primeiro; Menor turnaround (tempo desde a submissão até a execução); Desvantagem: n Baixo aproveitamento quando se tem poucos processos prontos para serem executados; 10

Sistemas em Batch n Algoritmo Shortest Job First A à a B à b+a C à c+b+a D à d+c+b+a Tempo médio-turnaround (4a+3b+2c+d)/4 Contribuição à se a<b<c<d tem-se o mínimo tempo médio; 11

Sistemas em Batch n Algoritmo Shortest Job First 8 4 4 4 A B C D Em ordem: Turnaround A = 8 Turnaround B = 12 Turnaround C = 16 Turnaround D = 20 Média à 56/4 = 14 (4a+3b+2c+d)/4 4 4 4 8 B C D A Menor job primeiro: Turnaround B = 4 Turnaround C = 8 Turnaround D = 12 Turnaround A = 20 Média à 44/4 = 11 Número de Processos 12

Sistemas em Batch n Algoritmo Shortest Remaining Time Next Preemptivo; Processos com menor tempo de execução são executados primeiro; Se um processo novo chega e seu tempo de execução é menor do que do processo corrente na CPU, a CPU suspende o processo corrente e executa o processo que acabou de chegar; Desvantagem: processos que consomem mais tempo podem demorar muito para serem finalizados se muitos processos pequenos chegarem! 13

Aula de Hoje (conteúdo detalhado) 1. Escalonamento em Batch 2. Algoritmos de Escalonamento em Sistemas Batch 3. Algoritmos de Escalonamento em Sistemas Interativos 14

Sistemas Interativos n Algoritmos para Sistemas Interativos: Round-Robin; Prioridade; Múltiplas Filas; Shortest Process Next; Garantido; Lottery; Fair-Share; n Utilizam escalonamento em dois níveis (escalonador da CPU e memória); 15

Sistemas Interativos n Algoritmo Round-Robin Antigo, mais simples e mais utilizado; Preemptivo (quantum, I/O, system call pelo processo); Cada processo recebe um tempo de execução chamado quantum; ao final desse tempo, o processo é suspenso e outro processo é colocado em execução; Escalonador mantém uma lista de processos prontos; 16

Sistemas Interativos n Algoritmo Round-Robin n Diferença com o FIFO? Fila de prontos Processo corrente Fila de prontos B F D G A F D G A B Processo corrente Próximo Processo Lista após B utilizar seu quantum 17

Sistemas Interativos n Algoritmo Round-Robin Tempo de chaveamento de processos; quantum: se for muito pequeno, ocorrem muitas trocas diminuindo, assim, a eficiência da CPU; se for muito longo o tempo de resposta é comprometido; 18

Sistemas Interativos n Algoritmo Round-Robin: Exemplos: Δt = 4 mseg x = 1mseg à 25% de tempo de CPU é perdido à menor eficiência Δt = 100 mseg x = 1mseg à 1% de tempo de CPU é perdido à Tempo de espera dos processos é maior quantum razoável: 20-50 mseg 19

Sistemas Interativos n Algoritmo com Prioridades Cada processo possui uma prioridade à os processos prontos com maior prioridade são executados primeiro; Prioridades são atribuídas dinâmica ou estaticamente; Classes de processos com mesma prioridade; Preemptivo; 20

Sistemas Interativos n Algoritmo com Prioridades FILAS 4 3 2 1 processos prontos (Round-Robin) mais alta prioridade mais baixa 21

Sistemas Interativos n Algoritmo com Prioridades Como evitar que os processos com maior prioridade sejam executado indefinidamente? n Diminuir a prioridade do processo corrente e troca-lo pelo próximo processo com maior prioridade (chaveamento); n O problema da inaninação dos processos de prioridades inferiores n Cada processo possui um quantum; 22

Sistemas Interativos n Múltiplas Filas: CTSS (Compatible Time Sharing System); Classes de prioridades; Cada classe de prioridades possui quanta diferentes; Assim, a cada vez que um processo é executado e suspenso ele recebe mais tempo para execução; Preemptivo; 23

Sistemas Interativos n Múltiplas Filas: Ex.: um processo precisa de 100 quanta para ser executado; n Inicialmente, ele recebe um quantum para execução; n Objetivo é reduzir as trocas de processos; n Das próximas vezes ele recebe, respectivamente, 2, 4, 8, 16, 32 e 64 quanta (7 chaveamentos) para execução; n Quanto mais próximo de ser finalizado, menos frequente é o processo na CPU à eficiência 24

Escalonamento de Múltiplas Filas

Sistemas Interativos n Sistemas Linux e Windows n Multilevel feedback queue Dá preferência a processos curtos Dá prioridades para processos I/O bound Estuda o processo e escalona de acordo com o que inferiu Cada fila usa um escalonamento round-robin Os I/Os promovem os processos para as filas com maior prioridade 26

Sistemas Interativo n Algoritmo Shortest Process Next Mesma idéia do Shortest Job First; Processos Interativos: não se conhece o tempo necessário para execução; Como empregar esse algoritmo: ESTIMATIVA de TEMPO! Verficar o comportamento passado do processo e estimar o tempo. 27

Sistemas Interativo n Outros algoritmos: Algoritmo Garantido: n Garantias são dadas aos processos dos usuários: n usuários à 1/n do tempo de CPU para cada usuário; Algoritmo Lottery: n Cada processo recebe tickets que lhe dão direito de execução; n Processo com maior prioridade podem receber mais tickets. 28

Sistemas Interativo n Algoritmo Fair-Share: n O dono do processo é levado em conta; n Se um usuário A possui mais processos que um usuário B, o usuário A terá prioridade no uso da CPU; Usuário 1 A, B, C, D n Usuário 2 E n Garantia de 50% Circular A, E, B, E, C, E, D, E 50% a mais para Usuário 1 A, B, E, C, D, E 29

Sistemas em Tempo Real n Tempo é um fator crítico; possui um deadline n Sistemas críticos: Aviões; Hospitais; Usinas Nucleares; Bancos; Multimídia; n Ponto importante: obter respostas em atraso é tão ruim quanto não obter respostas; 30

Sistemas em Tempo Real n Tipos de STR: Hard Real Time: atrasos não são tolerados; n Aviões, usinas nucleares, hospitais; Soft Real Time: atrasos são tolerados; n Bancos; Multimídia; n Programas são divididos em vários processos; n Eventos causam a execução de processos: Periódicos: ocorrem em intervalos regulares de tempo; Aperiódicos: ocorrem em intervalos irregulares de tempo; 31

Sistemas em Tempo Real n Algoritmos podem ser estáticos ou dinâmicos; Estáticos: decisões de escalonamento antes do sistema começar; n Informação disponível previamente; Dinâmicos: decisões de escalonamento em tempo de execução; 32

Perguntas? Concluímos a Seção 2.4 do livro SO (4a. Edição a última lançada)