Sistemas Operativos. Escalonamento e sincronização. Rui Maranhão

Tamanho: px
Começar a partir da página:

Download "Sistemas Operativos. Escalonamento e sincronização. Rui Maranhão"

Transcrição

1 Sistemas Operativos Escalonamento e sincronização Rui Maranhão (rma@fe.up.pt)

2 Benefícios da Multiprogramação maximiza o tempo de utilização do CPU utilização do CPU = 1 - p n n é o número de processos p fracção de tempo em espera por I/O

3 Políticas de escalonamento processos competem por recursos a política depende dos objectivos do sistema as políticas visam conveniência: redução dos tempos de resposta, sendo justo para os processos eficiência: débito e max utilização do CPU

4 Critérios de escalonamento IO-bound ou CPU-bound interactivo ou não urgência de resposta (tempo real) comportamento recente necessidade de periféricos especiais por prioridade

5 Estados de um processo em execução foi-lhe atribuído CPU bloqueado o processo está logicamente impedido de prosseguir, porque lhe falta um recurso do ponto de visto do SO, transição voluntária pronto a executar, aguarda escalonamento

6 Primitivas de despacho bloqueia(evento) coloca processo na fila de processos parados à espera do evento invoca próximo processo liberta(evento) ou liberta(processo, evento) se processo não esta a espera de mais eventos, coloca-o na lista de espera

7 Primitivas de despacho próximo_processo() selecciona um dos processos existentes na lista de processos prontos a executar executa a comutação de contexto salvaguarda contexto volátil do processo corrente carrega contexto do processo escolhido

8 Principais decisões Qual o próximo processo? Quando começa a executar? Durante quanto tempo?

9 Escalonamento de processos Se, após lhe ser atribuído o CPU, nunca mais lhe for retirado escalonamento cooperativo (non-preemptive) ex., windows 3.1, co-rotinas, thread_yield() se o CPU lhe for retirado escalonamento com desafectação forçada ou preemptive

10 Escalonamento de processos escalonamento cooperativo sensível as variações de carga escalonamento com desafectação forçada sistema responde melhor comutação de contexto é cara

11 Escalonamento longo-prazo (segundos, minutos) e de curtoprazo (milisegundos) CPU-bound: faz pouco uso de I/O; requer muito processamento I/O-bound: faz muito uso de I/O

12 Escalonamento os processos prontos são seriados numa fila (ready list) lista ligada de apontadores para process control block lista pode estar ordenada por prioridades

13 Escalonamento quando um processo é escalonado, é retirado da ready list e posto a executar o processo pode perder o CPU aparecer um com maior prioridade pedido de I/O (bloqueado) o quantum expira (pronto)

14 Escalonamento pretende-se maximizar a utilização do CPU tendo em atenção tempo de resposta de aplicações interactivas utilização de dispositivos I/O justiça na distribuição de tempo de CPU

15 Escalonamento Quando escalonar um processo? quando um processo passa de a-executar a bloqueado quando um processo passa a pronto quando se termina uma operação I/O quando um processo termina

16 Escalonamento diferentes algoritmos de escalonamento favorecem diferentes optimizações tempo de resposta máxima utilização de CPU

17 Objectivos dos algoritmos de escalonamento em geral equidade, balanceado e forçar que as regras impostas pelo algoritmo são respeitadas sistemas de batch thoughput, turnaournd time, maximizar utilização do CPU

18 Objectivos dos algoritmos de escalonamento sistemas interactivos tempo de resposta e proporcionalidade sistemas de tempo real tempos de resposta estão pré-definidos, previsibilidade

19 Algoritmos FCFS (first come, first served) SJF (shortest job first) SRTF (shortest remaining time first) preemptive priority scheduling RR (round-robin) outros algoritmos: lotaria, promessas

20 FCFS a ready list é uma fila FIFO o processo é colocado no fim da fila e seleccionado o da frente método cooperativo nada apropriado para ambientes interactivos

21 FCFS tempo de espera com grandes flutuações dependendo da ordem de chegada e das características dos processos simplicidade de implementação

22 SJF escalonar processo mais curto primeiro possibilidades desafectação forçada - interrompe o processo em execução se aparecer um mais curto cooperativo - aguarda terminação do processo em execução mesmo que apareça um mais curto

23 SJF não se consegue calcular a priori o tempo de execução dos processos apenas se podem fazer estimativas uma combinação de tempos reais e estimativas para fazer futuras previsões

24 Preemptive priority associa uma prioridade a cada processo a ready queue é uma fila seriada por prioridades escalona sempre o processo de maior prioridade se um processo de maior prioridade aparecer, faz a troca de processos

25 Preemptive priority Problema: míngua (starvation)!! Solução: evelhecimento aumenta a prioridade dos processos pouco a pouco para que sejam executados eventualmente

26 RR dá a cada processo um intervalo de tempo de CPU fixo de cada vez quando um processo esgota o seu quantum retira-o do CPU e volta a colocá-lo no fim da fila ignorando overheads do escalonamento (quais?), cada um dos n processos terá 1/n do tempo disponível de CPU

27 RR se o quantum for muito grande, RR tende a comportar-se como FCFS se o quantum for muito pequeno, então o overhead de mudanças de contexto degrada os níveis de utilização do CPU tempo de resposta melhor que o SJF (o quantum é normalmente o SJ)

28 Avaliação de algoritmos Modelo deterministico definição da carga tipo: ordem de chegada dos processo, tempos de execução, distribuição CPU/IO, etc. e avaliação analítica do desempenho vantagem: simples desvantagem: ajuste dos resultados depende directamente dos dados de entrada (necessários vários cenários)

29 Avaliação de algoritmos Teoria de fila de espera definição de um modelo matemático do sistema e avaliar segundo a teoria de filas de espera desvantagem: muitas simplificações para que o modelo seja tratável

30 Avaliação de algoritmos simulação escrever/adoptar/usar um programa que modele o sistema e analisar o desempenho do algoritmo tentar obter traços do comportamento de sistemas reais desvantagem: tempo de execução longos

31 Sincronização de processos

32 Programação concorrente a possibilidade de execução simultânea leva ao acesso em concorrência a recursos partilhados o acesso concorrente pode ser feito a zonas de endereçamento partilhadas o acesso concorrente pode resultar na incoerência dos dados/resultados

33 Cooperação entre processos vários processos executam em conjunto uma ou mais tarefas, nos quais competem por recursos indicam uns aos outros ausência/existência de recursos ocorrência de acontecimentos

34 Problema da exclusão mútua Qual o problema se for multi-tarefa?

35 Problema da execução concorrente

36 Problema... em linguagem máquina as acções atómicas são mais elementares

37 Programação concorrente para garantir a coerência dos dados é necessário que os processos acedam ordenadamente aos recursos o SO fornece um conjunto de mecanismos que permitem os processos sincronizarem-se

38 Secção crítica em programação concorrente sempre que se testam ou se modificam estrutura de dados: fazê-lo dentro de uma secção crítica!!

39 Secção crítica

40 Secção crítica: Propriedades exclusão mútua progresso (liveness) ausência de deadlocks ausência de míngua (starvation)

41 Secção crítica: Condições As seguintes condições são necessárias para uma solução eficiente só um processo pode estar dentro da secção crítica não se deve assumir valores quanto a velocidade de execução ou #CPUs disponíveis

42 Secção crítica: Condições processos a executar fora da secção crítica não deverá bloquear outros processos nenhum processo deverá esperar indefinidamente para entrar na região crítica

43 Implementações algorítmicas hardware sistema operativo

44 Proposta #1 Qual a propriedade não garantida??

45 Proposta #2 Qual a propriedade não garantida??

46 Proposta #3 Qual a propriedade não garantida?? Porque motivo é garantida a exclusão mútua

47 Proposta #4 Qual a propriedade não garantida??

48 Algoritmo Peterson

49 Conclusões sobre soluções algorítmicas complexas: alta latência só contemplam espera activa solução: introduzir implementações de hardware

50 Soluções com suporte do hardware abrir() e fechar() usam instruções especiais oferecidas pelos processadores inibição de interruptores exchange (xchg no intel IA) test-and-set (cmpxchg no intel IA)

51 Exclusão mútua com inibição de interruptores só deve ser usado dentro do SO em secções críticas de pouca duração inibição das interrupções impede execução de serviços de sistema se o programa não chamar abrir(), as interrupções ficam inibidas e o sistema para

52 Não funciona em multiprocessadores...

53 Problema da atomicidade em multiprocessadores

54 Exclusão mútua com exchange

55 Exchange em multiprocessadores

56 Exclusão mútua com test-and-set

57 Conclusões sobre as soluções de hardware oferecem mecanismos básicos não podem ser usadas por programas em modo utilizador só contemplam espera activa

58 Regiões críticas soluções anteriores não são muito interessantes porque acarretam espera activa remetem o problema para o código fonte só estão disponíveis em kernel mode Objectivo: primitvas genéricas, acessíveis no modo utilizador, fornecendo espera passiva

59 Soluções com suporte do SO Primitivas de sincronização software trap (interrupção SW) comutação para modo núcleo estrutura de dados e código de sincronização pertence ao núcleo usa suporte de hardware (ex., test-and-set) mutex e semáforos

60 Mutex técnica de programação para evitar que processos tenham acesso simultâneo a um recurso partilhado em português: trinco? outra definição?

61 Estrutura de dados

62 Diagrama de estados

63 Funções do mutex

64 Funções do mutex

65 mutex: limitações mutex não são suficientemente expressivos para resolver alguns problemas de sincronização bloquear tarefas se a pilha estiver cheia necessário um controlador de recursos

66 Semáforos

67 Semáforos: Primitivas s = criar_semafaro(num) esperar(s) bloqueia o processo se num <= 0 assinalar(s) se houver processos bloqueados, liberta um, senão num++ primitivas atómicas e podem ser invocadas de processos diferentes

68 Semáforos: Primitivas

69 Exemplo

70 Interface mutex POSIX int pthread_mutex_init(pthread_mutex_t *m, pthread_mutexattr_t *a); int pthread_mutex_lock(pthread_mutex_t *mutex); int pthread_mutex_unlock(pthread_mutex_t *mutex); int pthread_mutex_trylock(pthread_mutex_t *mutex); int pthread_mutex_timedlock(pthread_mutex_t *mutex, const struct timespec *timeout); Exemplo: pthread_mutex_t count_lock; pthread_mutex_init(&count_lock, NULL); pthread_mutex_lock(&count_lock); count++; pthread_mutex_unlock(&count_lock);

71 Interface semáforo POSIX int sem_init(sem_t *sem, int pshared, unsigned value); int sem_post(sem_t *sem); int sem_wait(sem_t *sem); Exemplo: sem_t sharedsem; sem_init(&sharedsem, 0, 1); sem_wait(&sharedsem); count++; sem_post(&sharedsem);

72 Alternativas Outras formas de implementar regiões críticas sleep/wakeup contagem de eventos monitores mensagens

73 Exemplos clássicos de problemas de sincronização

74 Problemas clássicos de sincronização algoritmo do barbeiro algoritmo dos produtores / consumidores jantar dos filósofos algoritmo dos leitores / escritores

Execução Concorrente

Execução Concorrente Sincronização Parte I Primitivas de Sincronização Sistemas Operativos 2015 / 2016 Execução Concorrente struct { int saldo; /* outras variáveis,ex. nome do titular, etc. */ conta_t; int levantar_dinheiro

Leia mais

Sincronização. Problema da Exclusão Mútua

Sincronização. Problema da Exclusão Mútua Sincronização Parte I Primitivas de Sincronização Problema da Exclusão Mútua struct int saldo; /* outras variáveis,ex. nome do titular, etc. */ conta_t; int levantar_dinheiro (conta_t* conta, int valor)

Leia mais

Sincronização. Problema da Exclusão Mútua

Sincronização. Problema da Exclusão Mútua Sincronização Parte I Primitivas de Sincronização Problema da Exclusão Mútua struct int saldo; /* outras variáveis,ex. nome do titular, etc. */ conta_t; int levantar_dinheiro (conta_t* conta, int valor)

Leia mais

Execução Concorrente

Execução Concorrente Sincronização Parte I Primitivas de Sincronização Sistemas Operativos 2011 / 2012 Execução Concorrente struct { int saldo; /* outras variáveis,ex. nome do titular, etc. */ conta_t; int levantar_dinheiro

Leia mais

Sincronização. Problema da Exclusão Mútua

Sincronização. Problema da Exclusão Mútua Sincronização Parte I Primitivas de Sincronização Problema da Exclusão Mútua struct int saldo; /* outras variáveis,ex. nome do titular, etc. */ conta_t; int levantar_dinheiro (conta_t* conta, int valor)

Leia mais

Trincos Lógicos: Implementações. Trincos lógicos: Propriedades

Trincos Lógicos: Implementações. Trincos lógicos: Propriedades Trincos Lógicos: Implementações Algorítmicas Hardware Sistema Operativo Trincos lógicos: Propriedades Exclusão mútua Progresso (liveness) Ausência de interblocagem (deadlock) Ausência de míngua (starvation)

Leia mais

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

Definição. ? Algoritmo de Escalonamento de CPU. ? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU Definição? Algoritmo de Escalonamento de CPU 6 Terminado? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU? Executado quando ocorre estouro de Quantum ou interrupção do processo (I/O,

Leia mais

Escalonamento do CPU

Escalonamento do CPU Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho Função: escolher qual o processo pronto que corre em seguida Invocado possivelmente aquando: interrupções

Leia mais

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

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 3. Escalonamento Aula 3 Escalonamento Escalonamento Porque? Quando? Como? Critérios? Políticas de escalonamento Como avaliar? Referências: Capítulo 5: 5.1 a 5.3, 5.6 Porque Escalonar? Escalonamento controla compartilhamento

Leia mais

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

1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU? 1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU? 2 O que é ambiente de execução? 3 Qual a finalidade da PCB? 4 Quais os componentes básicos da PCB? 5 Quais os 3 grupos de elemento

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Gerência do processador (Escalonamento) Aula 05 Objetivos de um sistema operacional são: Eficiência: relação entre o uso efetivo de um recurso e a quantidade desse recurso

Leia mais

Davidson Rodrigo Boccardo

Davidson Rodrigo Boccardo Gerenciamento de processos Davidson Rodrigo Boccardo flitzdavidson@gmail.com Revisão Critérios de alocação: Utilização da CPU Produtividade (Throughput) Número de processos finalizados por unidade de tempo

Leia mais

Sistemas Operacionais. Escalonamento de processos

Sistemas Operacionais. Escalonamento de processos Sistemas Operacionais Escalonamento de processos 1 Escalonamento de Processos Sistemas Interativos Algoritmos para Sistemas Interativos: First-Come-First-Served (FIFO) Round-Robin; Prioridade; Múltiplas

Leia mais

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

Escalonamento de Processos. Estratégia de atribuição do Processador aos Processos Escalonamento de Processos Estratégia de atribuição do Processador aos Processos 1. Introdução 2. Políticas de Escalonamento 3. Critérios para um bom escalonador 4. Caracterização dos escalonadores 5.

Leia mais

Sistemas Operativos. Objetivo. Entrega do Questionário. Exercício 1. Exercício 2. Exercício 3. Exercício 4. Grupo 1 Introdução

Sistemas Operativos. Objetivo. Entrega do Questionário. Exercício 1. Exercício 2. Exercício 3. Exercício 4. Grupo 1 Introdução Sistemas Operativos Objetivo O objetivo deste questionário é levá-lo a rever os conceitos básicos dos sistemas operativos, bem como os algoritmos de scheduling e mecanismos de sincronização estudados.

Leia mais

Sistemas de Computação. Processos e escalonamento

Sistemas de Computação. Processos e escalonamento Processos e escalonamento Sistema operacional Programa que age como intermediário entre o usuário de um computador e o hardware Objetivos: Executar programas do usuário e facilitar a resolução de problemas

Leia mais

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C SISTEMAS OPERATIVOS

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C SISTEMAS OPERATIVOS UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C1203 - SISTEMAS OPERATIVOS 2º Semestre 2005/2006 27/7/2007 Resolução 1. Identifique três situações em que ocorra uma transição do modo de execução utilizador

Leia mais

Algoritmos de escalonamento

Algoritmos de escalonamento Algoritmos de escalonamento Escalonamento de Processos Sistemas Interativos Algoritmos para Sistemas Interativos: First-Come-First-Served (FIFO) Round-Robin; Prioridade; Múltiplas Filas; Utilizam escalonamento

Leia mais

Escalonamento da CPU

Escalonamento da CPU Escalonamento da CPU Sistemas Operacionais Charles Tim Batista Garrocho Instituto Federal de Minas Gerais IFMG Campus Ouro Branco https://garrocho.github.io charles.garrocho@ifmg.edu.br Sistemas de Informação

Leia mais

Escalonamento da CPU

Escalonamento da CPU Escalonamento da CPU Sistemas Operacionais Charles Tim Batista Garrocho Instituto Federal de São Paulo IFSP Campus Campos do Jordão garrocho.ifspcjo.edu.br/oso charles.garrocho@ifsp.edu.br Técnico em Informática

Leia mais

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

Multiprocessamento. Escalonamento de Processos: Algoritmos. Escalonamento em POSIX. Escalonamento de Threads. Padrão de Execução dum Processo Sumário Multiprocessamento. Escalonamento de Processos: Algoritmos. Escalonamento em POSIX. Escalonamento de Threads. 1 Padrão de Execução dum Processo Processos (e threads) alternam: execução de instruções;

Leia mais

Escalonamento de Processos

Escalonamento de Processos Escalonamento de Processos Escalonamento de processos Multiprogramação visa maximizar uso da CPU Sempre que processos estão prontos disputam CPU Algoritmo de escalonamento: maneira de escolher o processo

Leia mais

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

LabSO Gerência de Processos. Retrospectiva da aula passada... Na aula passada... Na aula passada... LabSO Gerência de Processos Retrospectiva da aula passada... AULA 4 Flávia Maristela (flavia@flaviamaristela.com) Romildo Martins (romildo@romildo.net) Na aula passada... Processos Estados do processo

Leia mais

Sistemas Operativos: Implementação de Processos

Sistemas Operativos: Implementação de Processos Sistemas Operativos: Implementação de Processos Pedro F. Souto (pfs@fe.up.pt) March 8, 2012 Sumário: Implementação de Processos Contexto (Estado) dum Processo Comutação de Processos Escalonamento de Processos

Leia mais

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

Processos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1) Aula Passada Processos (Aula 6) Escalonamento de Processos O SO gerencia os recursos do sistema de computação em benefício dos processos Para isso, mantem estruturas de controles Tabelas (memória, I/O,

Leia mais

Sistemas Operativos: Implementação de Processos

Sistemas Operativos: Implementação de Processos Sistemas Operativos: Implementação de Processos Pedro F. Souto (pfs@fe.up.pt) March 4, 2014 Sumário: Implementação de Processos Contexto (Estado) dum Processo Comutação de Processos Escalonamento de Processos

Leia mais

Processos. Escalonamento de Processos

Processos. Escalonamento de Processos Processos Escalonamento de Processos Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround:

Leia mais

Processos. Escalonamento de Processos

Processos. Escalonamento de Processos Processos Escalonamento de Processos Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround:

Leia mais

SOP - TADS Escalonamento de Processos

SOP - TADS Escalonamento de Processos SOP - TADS Escalonamento de Processos Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Cronograma Conceito de Escalonamento

Leia mais

Sistemas Operativos: Escalonamento de Processos

Sistemas Operativos: Escalonamento de Processos Sistemas Operativos: Escalonamento de Processos Pedro F. Souto (pfs@fe.up.pt) March 29, 2011 Sumário Escalonamento de Processos O Problema Algoritmos de Escalonamento de Processos Leitura Adicional Padrão

Leia mais

6 ESCALONAMENTO DE CPU

6 ESCALONAMENTO DE CPU 6 ESCALONAMENTO DE CPU O escalonamento de CPU é ponto chave da multiprogramação. Ela permite que haja mais de um processo em execução ao mesmo tempo. Em ambientes com um único processador, o escalonador

Leia mais

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

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período Redes de Computadores Fundamentos de Sistemas Operacionais - 2º Período PARTE III: GERÊNCIA DE RECURSOS SUMÁRIO 8. GERÊNCIA DO PROCESSADOR: 8.1 Introdução; 8.2 Funções Básicas; 8.3 Critérios de Escalonamento;

Leia mais

Sistemas Operacionais. Escalonamento de Processos

Sistemas Operacionais. Escalonamento de Processos Escalonamento de Processos arliones.hoeller@ifsc.edu.br de fevereiro de baseado no material do Prof. Fröhlich em http://www.lisha.ufsc.br/~guto Gerenciamento de processos Processo É uma instância de um

Leia mais

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

Infra-estrutura de Software. Escalonamento. Decidindo qual processo vai executar Escalonamento Decidindo qual processo vai executar Escalonamento de processos Quando um ou mais processos estão prontos para serem executados, o sistema operacional deve decidir qual deles vai ser executado

Leia mais

Temporização (Scheduling) de Processos

Temporização (Scheduling) de Processos Temporização (Scheduling) de Processos Tem por objetivo maximizar o uso da CPU, i.e. ter sempre um processo a executar. Ð ÔÖÓ Ó Ù Ñ ÙÐ Ò Fila de tarefas: processos submetidos para execução, à espera de

Leia mais

Processos. Escalonamento de Processos

Processos. Escalonamento de Processos Processos Escalonamento de Processos Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround:

Leia mais

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

Processos. Objetivos do Escalonamento. Políticas de Escalonamento. Algoritmos de Escalonamento. Maximizar a taxa de utilização da UCP. Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Processos Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround: tempo total para executar

Leia mais

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

Gerência do Processador. Adão de Melo Neto Gerência do Processador Adão de Melo Neto 1 Introdução Sistemas Multiprogramáveis: Múltiplos processos podem permanecer na memória principal compartilhando o uso da CPU. POLÍTICA DE ESCALONAMENTO São um

Leia mais

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

Sistemas Operacionais Aula 07: Scheduling da CPU. Ezequiel R. Zorzal Sistemas Operacionais Aula 07: Scheduling da CPU Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Introduzir o Scheduling da CPU, que é a base dos sistemas operacionais multiprogramados

Leia mais

Sistemas Operacionais Gerenciamento de Processos

Sistemas Operacionais Gerenciamento de Processos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Gerenciamento de Processos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução Devido

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais. Prof. André Y. Kusumoto Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Escalonamento CPU Um vez escalonado, o processo utiliza o processador, de modo: Não preemptivo (FIFO, SJF, Cooperativo) Término

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 10: Escalonadores Preemptivos Diego Passos Última Aula Escalonadores Não-Preemptivos Escalonadores não-preemptivos agem: Quando um processo requisita E/S. Quando

Leia mais

Infra-Estrutura de Software. Escalonamento

Infra-Estrutura de Software. Escalonamento Infra-Estrutura de Software Escalonamento Processos Concorrentes O Modelo de Multiprogramação Multiprogramação de quatro programas Modelo conceitual de 4 processos sequenciais, independentes Somente um

Leia mais

Sistemas Operacionais: Escalonamento de processos

Sistemas Operacionais: Escalonamento de processos Sistemas Operacionais: Escalonamento de processos Escalonamento Critérios de escalonamento Algoritmos de escalonamento Escalonamento em multiprocessadores Escalonamento tempo real Características de processos

Leia mais

Unidade III Gerência de Processos

Unidade III Gerência de Processos Sistemas Operacionais Unidade III Gerência de Processos http://www.lncc.br/~lrodrigo Professor: Luis Rodrigo lrodrigo@lncc.br Página: 1 de 34 Unidade III: Gerência de Processos Conceito de Processo Materialização

Leia mais

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

SISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES SISTEMAS OPERACIONAIS TÁSSIO JOSÉ GONÇALVES GOMES www.tassiogoncalves.com.br tassiogoncalvesg@gmail.com CONTEÚDO PROCESSOS Fundamentos O Núcleo do Sistema Operacional Escalonamento de Processos Comunicação

Leia mais

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

Temporização(Scheduling) de Processos. TemporobjectivomaximizarousodoCPU,i.e.tersempre um processo a executar. Temporização(Scheduling) de Processos TemporobjectivomaximizarousodoCPU,ietersempre um processo a executar Filas de processos usadas em scheduling: Fila de tarefas: processos submetidos para execução,

Leia mais

Sistemas Operacionais Aula 7

Sistemas Operacionais Aula 7 Sistemas Operacionais Aula 7 Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE O que fazer

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Processos - Parte 3 Prof. Dr. Fábio Rodrigues de la Rocha (Processos - Parte 3) 1 / 19 Algoritmos de Escalonamento Nas aulas anterior vimos o ESCALONADOR, que é uma parte do SO responsável

Leia mais

Aula 10: Escalonamento da CPU

Aula 10: Escalonamento da CPU Aula 10: Escalonamento da CPU O escalonamento da CPU é a base dos sistemas operacionais multiprogramados. A partir da redistribuição da CPU entre processos, o sistema operacional pode tornar o computador

Leia mais

Sistemas Operacionais. Gerência de Processador

Sistemas Operacionais. Gerência de Processador Sistemas Operacionais Gerência de Processador Sumário 1. Introdução 2. Funções Básicas do Escalonamento 3. Critérios de Escalonamento 4. Escalonamento 1. Não-Preemptivo 2. Preemptivo 5. Políticas de Escalonamento

Leia mais

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA 2º Semestre 2005/2006 Programação de Sistemas 13/7/2006 Seja objectivo, utilizando respostas curtas e directas, e justifique

Leia mais

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

Escalonamento. Decidindo qual processo vai executar. Infra-estrutura de Software Escalonamento Decidindo qual processo vai executar Escalonamento de processos Quando um ou mais processos estão prontos para serem executados, o sistema operacional deve decidir qual deles vai ser executado

Leia mais

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (http://flaviovdf.github.io)

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (http://flaviovdf.github.io) SO: Escalonamento Sistemas Operacionais 2017-1 Flavio Figueiredo (http://flaviovdf.github.io) 1 Aonde Estamos Processos Chapt 3 Threads Chapt 4 Vamos pular o Chapt 5 brevemente Sincronização e comunicação

Leia mais

Sistemas de Informação. Sistemas Operacionais

Sistemas de Informação. Sistemas Operacionais Sistemas de Informação Sistemas Operacionais PROCESSOS E THREADS PARTE III SUMÁRIO 4. GERÊNCIA DO PROCESSADOR: 4.1 Introdução; 4.2 Funções Básicas; 4.3 Critérios de Escalonamento; 4.4 Escalonamentos Não-Preemptivos

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 9: Escalonadores Não- Preemptivos Diego Passos Última Aula Escalonamento O que é escalonamento. Objetivos dos escalonadores. Vazão. Eficiência. Tempo de resposta...

Leia mais

Resumo: Sistemas Operacionais Abertos

Resumo: Sistemas Operacionais Abertos Resumo: Sistemas Operacionais Abertos Prof. Michael A. Pontes Processos Um processo é um programa em execução. Enquanto um processo é executado, ele muda de estado. O estado de um processo é definido pela

Leia mais

Gestor de Processos. Gestor de Processos

Gestor de Processos. Gestor de Processos Gestor de Processos Núcleo do Sistema Operativo Gestor de Processos Entidade do núcleo responsável por suportar a execução dos processos Gestão das Interrupções Multiplexagem do Processador Despacho efectua

Leia mais

Exclusão Mútua (mutex)

Exclusão Mútua (mutex) 2004-2017 Volnys Bernal 1 Exclusão Mútua (mutex) Volnys Borges Bernal volnys@lsi.usp.br Departamento de Sistemas Eletrônicos Escola Politécnica da USP 2004-2017 Volnys Bernal 2 Tópicos Exclusão Mútua (Mutex)

Leia mais

Escalonamento de Processos Uniprocessador

Escalonamento de Processos Uniprocessador Sistemas Operacionais Escalonamento de Processos Uniprocessador Capítulo 9 IC - UFF 1 Objetivos do Escalonamento É a chave de multiprogramação eficiente deve ser transparente ao usuário Esolher processos

Leia mais

SSC0640 Sistemas Operacionais I

SSC0640 Sistemas Operacionais I SSC0640 Sistemas Operacionais I 4ª Aula Processos Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano baseados no

Leia mais

Sistemas Operacionais

Sistemas Operacionais 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

Leia mais

Sistemas Operativos. Processos, threads e eventos. Rui Maranhão

Sistemas Operativos. Processos, threads e eventos. Rui Maranhão Sistemas Operativos Processos, threads e eventos Rui Maranhão (rma@fe.up.pt) Multi-tarefa execução, em paralelo, de programas no mesmo computador cada instância em execução denomina-se processo (conceito

Leia mais

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

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III. Escalonamento de Processos. 24/04/2014 Prof. Valeria M. Bastos UFRJ IM - DCC Sistemas Operacionais I Unidade III Escalonamento de Processos 24/04/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Processador Escalonamento de Processos Conceituação Critérios de

Leia mais

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

Sistemas Operativos. Sumário. Escalonador da CPU. Por Prioridades Round Robin. ! Algoritmos de escalonamento Escalonador da CPU Sumário! Algoritmos de escalonamento Por Prioridades Round Robin Por Prioridades! A cada processo é associada uma prioridade Geralmente um número inteiro (vamos considerar que os números

Leia mais

Capítulo 2 Processos e Threads

Capítulo 2 Processos e Threads Capítulo 2 Processos e Threads 2.1 Processos 2.2 Threads 2.3 Comunicação interprocesso 2.4 Problemas clássicos de IPC 2.5 Escalonamento 1 Processos O Modelo de Processo Multiprogramação de quatro programas

Leia mais

ENADE 2011 SISTEMAS OPERACIONAIS

ENADE 2011 SISTEMAS OPERACIONAIS ENADE 2011 SISTEMAS OPERACIONAIS SOs: conteúdos comuns Gerência de processos/processador Comunicação Concorrência e Sinc. de Processos Gerenciamento de Memória Alocação de Recursos e Deadlocks Sistemas

Leia mais

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

Sincronização e Comunicação entre Processos. Adão de Melo Neto Sincronização e Comunicação entre Processos Adão de Melo Neto 1 INTRODUÇÃO Em um sistema multitarefa os processos alternam sua execução segundo critérios de escalonamento estabelecidos pelo sistema operacional.

Leia mais

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

Notas da Aula 10 - Fundamentos de Sistemas Operacionais Notas da Aula 10 - Fundamentos de Sistemas Operacionais 1. Escalonadores preemptivos Escalonadores preemptivos são aqueles que têm a capacidade de interromper a execução de um processo para realizar alterações

Leia mais

Sincronização e comunicação entre entidades de processamento. Mutex Volnys Bernal 1. Tópicos. Exclusão Mútua (mutex) Exclusão Mútua (Mutex)

Sincronização e comunicação entre entidades de processamento. Mutex Volnys Bernal 1. Tópicos. Exclusão Mútua (mutex) Exclusão Mútua (Mutex) 2004-2013 Volnys Bernal 1 2004-2013 Volnys Bernal 2 Tópicos Exclusão Mútua (mutex) Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Exclusão Mútua () Objetivo, utilidade, requisitos

Leia mais

Cadeira de Sistemas Operativos. Frequência 1º Semestre. 8 de Fevereiro de 2006

Cadeira de Sistemas Operativos. Frequência 1º Semestre. 8 de Fevereiro de 2006 Cadeira de Sistemas Operativos 8 de Fevereiro de 2006 Leia atentamente as perguntas seguintes e responda de forma breve e precisa. Pode acompanhar a suas respostas com figuras de forma a torná-las mais

Leia mais

Gerência de Recursos. Gerência do Processador

Gerência de Recursos. Gerência do Processador Gerência de Recursos Gerência do Processador Escalonamento Não-Preemptivos e Preemptivos Preempção - possibilidade de o SO interromper um processo em execução e substituí-lo por um outro. O Escalonamento

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 10 Escalonamento Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: Prof. SO José - Prof. Juan Edilberto Espantoso Silva Sumário Introdução

Leia mais

Escalonamento. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 28

Escalonamento. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 28 Escalonamento Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Abril, 2016 1 / 28 Sumário 1 Multiprogramação 2 Escalonamento 3 Concorrência 2 / 28 Multiprogramação

Leia mais

Escalonamento de Processos Estratégias de Escalonamento de Processos

Escalonamento de Processos Estratégias de Escalonamento de Processos Estratégias de Escalonamento de s Rossano Pablo Pinto, MSc. FATEC - Americana 15/0/008 O que é um sistema multiprogramável? compartilha a CPU entre diversos processos é desejável que os processos obtenham

Leia mais

Estratégias de Escalonamento de Processos

Estratégias de Escalonamento de Processos 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

Leia mais

Questões de Múltipla escolha

Questões de Múltipla escolha ATPS Sistemas Operacionais Professor Matheus de Lara Calache Valor total do trabalho: 10 Cada resposta vale 0,34. Questões de Múltipla escolha 1) Processos podem ser organizados em filas como Fila de Prontos

Leia mais

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

Gerência do Processador. Adão de Melo Neto Gerência do Processador Adão de Melo Neto 1 Introdução Sistemas Multiprogramáveis: Múltiplos processos podem permanecer na memória principal compartilhando o uso da CPU. POLÍTICA DE ESCALONAMENTO Como

Leia mais

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

Na Aula Anterior... Escalonamento de Processos. Nesta Aula. Escalonamento. Comportamento de um Processo. Historicamente... GSI018 Sistemas Operacionais 05/09/2016 Escalonamento de Processos Na Aula Anterior... Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Utilização de Processos

Leia mais

Sistemas Operativos I/O. Rui Maranhão

Sistemas Operativos I/O. Rui Maranhão Sistemas Operativos I/O Rui Maranhão (rma@fe.up.pt) I/O (E/S)? Parte do SO que permite interagir (convenientemente) com o ambiente que o rodeia Cria canais virtuais entre os programas e os periféricos

Leia mais

Sistemas Operacionais: Sincronização entre processos

Sistemas Operacionais: Sincronização entre processos Sistemas Operacionais: Sincronização entre processos Sincronização Programa concorrente Executado por diversos processos Acesso concorrente a dados Paralelismo real x Paralelismo aparente Multiprocessadores:

Leia mais

Programação de Sistemas em Tempo Real

Programação de Sistemas em Tempo Real BCC722 Programação de Sistemas em Tempo Real Processos Prof. Charles Garrocho O conceito de processo Um S.O. executa uma variedade de programas Sistemas de tempo compartilhado: programas Processo: um programa

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais ESCALONAMENTO DE PROCESSOS Processos e Recursos Conceito de Escalonamento O S.O. gerencia recursos computacionais em benefício dos diversos processos que executam no sistema. A questão

Leia mais

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

Retrospectiva da aula passada... Escalonamento. Na aula passada... Comunicação entre processos (-- O jantar dos filósofos --) Escalonamento Retrospectiva da aula passada... UL Flávia Maristela (flavia@flaviamaristela.com) Romildo Martins (romildo@romildo.net) Race condition Região rítica Exclusão Mútua Na aula passada... Problemas

Leia mais

Questões de Provas de Períodos Anteriores

Questões de Provas de Períodos Anteriores Sistemas Operacionais 2010/1 Questões de Provas de Períodos Anteriores 1) Dois importantes conceitos encontrados no sistema operacional Unix são: (i) modo de execução ( execution mode ); e (ii) contexto

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Gerência do processador (Escalonamento) Aula 05 Objetivos de um sistema operacional são: Eficiência: relação entre o uso efetivo de um recurso e a quantidade desse recurso

Leia mais

Escalonamento de Processos

Escalonamento de Processos Escalonamento de Processos Prof. Dr. André Carvalho andre@icomp.ufam.edu.br Agenda n Contextualização Classificação de tarefas n Métricas de Escalonamento n Escalonamento de Processos n Exemplos 2 Contextualização

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Slides adaptados de Prof. Dr. Marcos José Santana, Prof. Dra. Regina Helena Carlucci Santana e Sarita Mazzini Bruschi baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum

Leia mais

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

Bacharelado em Ciência da Computação Sistemas Operacionais Bacharelado em Ciência da Computação Sistemas Operacionais Prof. Diego Mello da Silva Instituto Federal de Minas Gerais - Campus Formiga 13 de fevereiro de 2014 diego.silva@ifmg.edu.br (IFMG) Sistemas

Leia mais

Escalonamento no Unix. Sistemas Operacionais

Escalonamento no Unix. Sistemas Operacionais Escalonamento no Unix Projeto do Escalonador O projeto de um escalonador deve focar em dois aspectos: Política de escalonamento estabelece as regras usadas para decidir para qual processo ceder a CPU e

Leia mais

Sistemas Operacionais Escalonamento. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas Operacionais Escalonamento. Carlos Ferraz Jorge Cavalcanti Fonsêca Sistemas Operacionais Escalonamento Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Copyright Carlos Ferraz Cin/UFPE Escalonamento Processos Concorrentes O modelo de multiprogramação

Leia mais

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

Sistemas Operacionais. Capítulo 8 Gerência do Processador Sistemas Operacionais Capítulo 8 Gerência do Processador Baseado no Livro e Material de Apoio de Arquitetura de Sistemas Operacionais 3ª edição - LTC - 2004 Francis Berenger Machado Luiz Paulo Maia 1 Sumário

Leia mais

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

Capítulo 5: Escalonamento da CPU. Operating System Concepts 8th Edition Capítulo 5: Escalonamento da CPU Capítulo 5: Escalonamento de CPU Conceitos Básicos Critérios de Escalonamento Algoritmos de Escalonamento Escalonamento de Threads Escalonamento de Multiprocessadores Exemplos

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 12: Revisão para a P1 Diego Passos Capítulo 1 Sistemas Operacionais São programas. Duas funções: Gerenciar os recursos do hardware. Dividir entre os vários processos.

Leia mais

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

Sistemas Operativos. Um conjunto de rotinas de software que. virtualizando-o. diversos como o sistema de ficheiros e. Sistemas Operativos Paulo Menezes 1 Um conjunto de rotinas de software que virtualizando-o. diversos como o sistema de ficheiros e 2 Processamento por lotes (batch) 3 Tipos de sistemas operativos Batch

Leia mais

Escalonamento de processos

Escalonamento de processos de processos Carlos Gustavo A. da Rocha Nos computadores atuais frequentemente temos vários processos (threads) competindo por um pequeno número de CPUs Nestes casos uma escolha deve ser feita de qual

Leia mais

Escalonamento no Unix. Sistemas Operacionais

Escalonamento no Unix. Sistemas Operacionais Escalonamento no Unix Introdução Unix é um S.O. multiprogramado de tempo compartilhado: Permite que vários processos sejam executados concorrentemente. Processos ativos competem pelos recursos do sistema

Leia mais