Sumário. Sistemas Operativos: Escalonamento de Processos e Deadlocks. Padrão de Execução dum Processo. Multiprocessamento

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

Download "Sumário. Sistemas Operativos: Escalonamento de Processos e Deadlocks. Padrão de Execução dum Processo. Multiprocessamento"

Transcrição

1 Sumário Sistemas Operativos: Escalonamento de Processos e Deadlocks Pedro F. Souto (pfs@fe.up.pt) May 18, 2008 Escalonamento de Processos O Problema Algoritmos de Escalonamento de Processos Leitura Adicional Deadlocks O Problema Soluções Leitura Adicional Padrão de Execução dum Processo Multiprocessamento Processos (e threads) alternam: execução de instruções; realização de operações de entrada/saída. De acordo com a duração dos intervalos de execução de instruções, um processo pode ser classificado em CPU-bound (a) ou IO-bound (b) (a) (b) Long CPU burst Short CPU burst Waiting for I/O A generalidade dos SOs é multi-processo: enquanto um, ou mais processos realizam operações de entrada/saída; outro processo pode executar instruções. Obtém-se uma maior utilização dos recursos dum computador. Para o efeito o SO deverá suportar comutação entre processos (process switching), i.e.: retirar o CPU a um processo e atribuí-lo a outro. A parte do SO que faz a comutação de processos designa-se por despacho (dispatcher). Time

2 Comutação de Processos (1/2) Comutação de Processos (2/2) P 0 está no estado RUN e passa para o estado READY : A comutação entre processos inclui: Transferir o estado do processo em execução para a memória (o Process Control Block); Carregar o processador com o estado do processo que passa para o estado de execução; Passar o controlo para o novo processo, possivelmente comutando para user-mode. A comutação entre processos é feita em instantes "oportunos", incluindo: chamadas ao sistema (p.ex., exit(), read()); interrupções: por dispositivos de E/S; pelo relógio. CPU CPU queue head P0 queue head P1 P1 P2 P2 P null P null P0 Escalonamento de Processos Problema: quando há mais de um processo em condições de execução (estado ready), qual o processo a executar? 1 ready running 4 2 waiting Solução: o SO, mais precisamente o scheduler, executa um algoritmo de escalonamento para decidir. I.e., o escalonador determina a que processo deve ser atribuído o CPU. Escalonamento Preemptivo vs. Não-preemptivo Um algoritmo de escalonamento diz-se não-preemptivo, se, uma vez na posse do CPU, um processo executa até o (ao CPU) libertar voluntariamente. Quase todos os algoritmos de escalonamento têm duas versões: uma preemptiva outra não. Algoritmos não-preemptivos têm problemas graves: certas classes de processos executam durante muito tempo até bloquear; um utilizador egoísta pode impedir que o computador execute processos de outros utilizadores. Praticamente todos os sistemas operativos usam algoritmos preemptivos: O SO usa as interrupções do relógio para retirar o CPU ao processo em execução.

3 Critérios para um Bom Algoritmo de Escalonamento Algoritmo Round-Robin Equidade: dar oportunidade a todos os processos para progredir. Equilíbrio: na utilização dos recursos. Satisfação da política escolhida: Sistemas interactivos: tempo de resposta; previsibilidade. Sistemas de tempo-real: cumprir prazos; determinismo. Sistemas não-interactivos: débito; utilização do CPU. Quando um processo passa para o estado de execução, o SO atribui-lhe a posse do CPU por um intervalo de tempo fixo: quantum. A comutação de processos realiza-se: ou quando o processo em execução bloquear; ou quando o quantum expirar. Qual o valor dum quantum? compromisso tempo-de-resposta/utilização-do-cpu: a comutação de processos leva algum tempo; Unix/Linux usa um valor de 100 ms, que se mantém inalterado há mais de 20 anos!!! Algumas vantagens deste algoritmo são: fácil de implementar (como?); equitável (mais uma característica). Escalonamento Baseado em Prioridades Problema por vezes, alguns processos são mais iguais do que os outros. Solução atribuir uma prioridade a cada processo. Quando da comutação de processos, o processo pronto a executar com maior prioridade passa para o estado de execução. As prioridades podem ser atribuídas estática ou dinamicamente. Potencial problema: inanição (starvation): Os processos de mais baixa prioridade podem nunca ser seleccionados para executar. Escalonamento em BSD-Unix Cada processo tem uma prioridade. Processos são agrupados em classes com base na sua prioridade: o escalonamento entre classes é baseado em prioridades; o escalonamento numa classe usa round-robin. q headers prior. 4 prior. prior. 2 prior. 1 Para evitar inanição de processos de prioridade mais baixa: sempre que um processo executa até ao fim do seu quantum, a sua prioridade diminui.

4 Rate-monotonic Scheduling Mecanismos vs. Políticas Assume n processos periódicos, cada um deles: de período T i igual ao prazo (deadline); com um tempo de execução C i. É de facto um algoritmo de atribuição de prioridades estáticas: quanto mais curto é período maior é a prioridade. Tem propriedades matemáticas que o tornam apropriado para sistemas hard real-time. O algoritmo original (197) impõe sérias restrições, mas desenvolveram-se técnicas que permitem levantar a maioria delas. Observação: Não é possível agradar a gregos e a troianos. : O SO não conhece as necessidades das aplicações suficientemente para tomar as decisões mais apropriadas. Ideia: oferecer os utensílios e permitir que os seus utilizadores os usem da maneira que acharem conveniente. O SO oferece os mecanismos: algoritmos de escalonamento parametrizáveis. Os processos seleccionam as políticas: i.e. o algoritmo e os valores dos seus parâmetros. Escalonamento em POSIX (Linux) (1/2) Escalonamento em POSIX (Linux) (2/2)) POSIX define políticas de escalonamento: SCHED_FIFO preemptivo, baseado em prioridades estáticas; SCHED_RR semelhante a SCHED_FIFO mas com quanta; SCHED_OTHER algoritmo não especificado, i.e. dependente da implementação. O escalonador é baseado em prioridades. A política de escalonamento especifica: quando os processos passam do estado run para o estado ready; onde é que são inseridos na ready-list de processos com a mesma prioridade. SCHED_FIFO e SCHED_RR foram especificados para aplicações de tempo-real. A sua prioridade é sempre superior à de processos com política SCHED_OTHER. Em Linux, SCHED_OTHER é um algoritmo semelhante ao de BSD-Unix, embora os pormenores sejam ligeiramente diferentes. (Para mais informação veja man 2 sched_setscheduler.) Estas políticas de escalonamento podem também ser atribuídas a threads através de funções de libpthread: int pthread_setschedparam(pthread_t tid, int policy, struct sched_param *param);

5 Escalonamento de Threads Order in which threads run 2. Runtime system picks a thread User-level vs. kernel-level Process A Process B Process A Process B Kernel picks a process 1. Kernel picks a thread Possible: A1, A2, A, A1, A2, A Not possible: A1, B1, A2, B2, A, B (a) Quantum de cada processo de 50 ms. Cada thread executa em bursts de 5 ms. Possible: A1, A2, A, A1, A2, A Also possible: A1, B1, A2, B2, A, B (b) Modos de Partilha do CPU em libpthread libpthread suporta 2 modos da partilha do CPU: PTHREAD_SCOPE_PROCESS threads disputam o CPU apenas com outros threads do processo em execução: user-level threads implica este modo de escalonamento. PTHREAD_SCOPE_SYSTEM threads disputam o CPU com todos os threads no sistema impossível de implementar com user-level threads: SO não conhece todos os threads em execução; modo natural quando se usa kernel-level threads. Note-se que este atributo pode ser configurado por cada thread, usando pthread_attr_setscope(). Linux suporta apenas PTHREAD_SCOPE_SYSTEM. Leitura Adicional Deadlocks Modern Operating Systems, 2nd. Ed. Secção 2.5: Scheduling Secção 10.: Processes in Unix Um zelo excessivo na eliminação de race conditions pode conduzir a um outro problema deadlock: um cenário em que 2 ou mais processos ficam bloqueados indefinidamente. Um exemplo é a seguinte solução do bounded buffer com semáforos: public void remove(object item) { mutex.down(); // keep other threads out empty.down(); // wait for some item que difere da solução correcta na ordem de execução das operações down(): Se o buffer estiver vazio, o consumidor bloqueia sem libertar o mutex, impedindo o produtor de eventualmente introduzir a mensagem no buffer.

6 Recursos O estudo do problema de deadlock tem origem em SOs, no contexto da gestão de recursos dum computador. Um recurso é um objecto usado por um processo. P. ex.: físico: disco, memória, CPU,...; lógico: um socket, um ficheiro, uma secção crítica,...; Num sistema, pode haver mais do que um recurso do mesmo tipo, p.ex. disco. Propriedades importantes de recursos: tipo de acesso certos recursos, p.ex. uma impressora, têm que ser acedidos em exclusão mútua; preemptibilidade recursos podem ser ou não preemptíveis: isto é, podem ser ou não removidos dum processo sem problemas de maior. Por exemplo, uma impressora não é preemptível, mas o CPU é-o. Uso de Recursos por Processos Recursos são geridos por gestores, os quais podem ser ou não componentes do SO. O uso de um recurso por um processo tipicamente envolve a sequência: pedido do recurso; uso do recurso; libertação do recurso. Se o recurso pedido por um processo não estiver disponível, o processo não o pode usar. Neste caso, o processo: ou bloqueia, à espera que o recurso fique disponível; ou prossegue, mas não terá acesso ao recurso pedido. Bloqueio Mútuo (Deadlock) Condições Necessárias para Deadlock Definição um conjunto de processos está mutuamente bloqueado (deadlocked), se cada processo nesse conjunto está à espera dum evento que apenas outro processo nesse conjunto pode causar. Normalmente, o evento pelo qual um processo espera é a libertação dum recurso na posse de outro processo nesse conjunto Numa situação de deadlock, nenhum processo pode: executar; libertar os recursos que detém; ser activado. Bloqueio á espera que o recurso fique disponível (exclusão mútua); Espera com retenção processos não libertam os recursos na sua posse quando bloqueiam à espera de outros recursos; Não-preempção recursos na posse dum processo não lhe podem ser retirados; Espera-circular tem que haver uma cadeia de 2 ou mais processos, cada um dos quais à espera dum recurso na posse do processo seguinte.

7 Estratégias de Ataque ao Problema de Deadlock Algoritmo da Avestruz 1. Ignorar o problema: algoritmo da avestruz (Tanenbaum). 2. Detectar e recuperar.. Evitar (avoidance: solução dinãmica). 4. Prevenir (prevention: solução estática). Ignorar o problema: pretender que não existe. Pode ser aceitável. se a probabilidade de deadlock fôr muito baixa; o custo de qualquer das outras soluções fôr elevado. Unix tenta evitar situações de deadlock, mas não as elimina completamente. É um compromisso entre: correcção; conveniência/eficiência; análogo a muitos em engenharia.... viver é gerir riscos. Detectar e Recuperar Detecção de Deadlock Tem 2 partes: 1. Detectar o deadlock: O algoritmo basicamente testa se há alguma ordem de terminação dos processos. 2. Recuperar da situação: preempção de recursos; roll-back de processos; terminação de processos. Faz uso das seguintes estruturas de dados: Vector dos recursos existentes, E, tem m elementos, i.e. tantos quantos os tipos de recursos. O valor de cada elemento é o número de recursos do tipo correspondente existentes no sistema. Vector de recursos disponíveis, D, com m elementos. Matriz dos recursos atribuídos, A, de dimensão n m, em que n é o número de processos. A linha i é o vector com os recursos atribuídos ao processo P i. Matriz dos pedidos pendentes, P, de dimensão n m. A linha i é o vector com os pedidos pendentes de recursos pelo processo P i.

8 Exemplo de Detecção de Deadlock E = [ ] D = [ ] A = P = Testar se há uma ordem de terminação dos processos. P 1 e P 2 estão bloqueados: os seus pedidos não podem ser satisfeitos. Mas P pode executar e se terminar libertará os seus recursos. Depois os pedidos de P 2 podem ser satisfeitos e P 2 poderá terminar, libertando os seus recursos. Algoritmos de Detecção Os algoritmos de detecção são caros : O(m n 2 ). De facto, a complexidade dum algoritmo não é a história completa: há constantes a considerar e os valores dos parâmetros se m ou n forem pequenos o custo pode ser baixo. Quando devem ser executados? sempre que é feito um pedido; periodicamente; quando a utilização do CPU diminui. Finalmente, os pedidos de P 1 poderão ser satisfeitos e P 1 poderá terminar: não há deadlock. Recuperação de Deadlock (1/2) Recuperação de Deadlock (2/2) Preempção de recursos: depende do recurso em causa: não é sempre aplicável; pode requerer intervenção humana, Rollback de processos: fazer o checkpoint do estado dos processos, periodicamente; em caso de deadlock, identificar um processo que se rolled-back quebrará o deadlock. Terminar um processo no ciclo: de preferência, dever-se-á terminar um processo que possa ser reexecutado de início sem problemas de maior. Em qualquer dos casos, é preciso escolher uma vítima. Alguns critérios: o processo que possui menos recursos; o processo que possui mais recursos; o processo que usou menos o CPU. Pode ainda, usar-se o seguinte critério: o menor conjunto de processos que quebrará o deadlock. Com excepção de roll-back as outras soluções podem deixar o sistema num estado inconsistente. Mesmo com rollback, fazer o checkpointing do estado dos processos pode não ser suficiente: E se o processo rolled-back modificou um ficheiro desde o último checkpoint?

9 Estados Seguros e Não-seguros Deadlock Avoidance (Solução Dinãmica) A B C Admitamos que processos partilham só um tipo de recurso, e que há 10 unidades desse tipo. Has Max Has Max Has Max Has Max Has Max 2 2 Free: (a) A B C 4 2 Free: 1 (b) A B C 0 B 0 2 Free: 5 (c) 9 7 A C 7 Free: 0 (d) 9 7 A B C 0 0 Free: 7 (e) 9 Ideia antes de satisfazer um pedido, averiguar se essa satisfação conduz a um estado não-seguro estratégia pessimista em comparação com detecção & recuperação. Requisito desta técnica: é necessário o conhecimento a priori dos requisitos máximos de cada tipo de recurso por cada processo. Algoritmo para Deadlock Avoidance Faz uso das seguintes estruturas de dados: Vector dos recursos existentes, E, tem m elementos, i.e. tantos quantos os tipos de recursos. O valor de cada elemento é o número de recursos do tipo correspondente existentes no sistema. Vector de recursos disponíveis, D, com m elementos. Matriz dos recursos atribuídos, A, de dimensão n m, em que n é o número de processos. A linha i é o vector com os recursos atribuídos ao processo P i. Matriz dos recursos a atribuir, R, de dimensão n m. A linha i é o vector com os pedidos de recursos que o processo P i ainda poderá fazer: O algoritmo é semelhante ao apresentado para detecção de deadlock, excepto em vez da matriz P usa-se a matriz R. Exemplo de Deadlock Avoidance Seja após a satisfação condicionada dum pedido: E = [ ] D = [ ] A = R = P 4 pode terminar: D = [ ] ; 2. P 1 pode terminar: D = [ ] ;. P 2 pode terminar: D = [ ] ; 4. P pode terminar: D = [ ] ; O pedido pode ser satisfeito: não conduz a deadlock mesmo que os processos usem os recursos ao máximo.

10 Considerações sobre Deadlock Avoidance Prevenir Deadlocks (Solução Estática) Um pedido de recursos só é satisfeito, se os recursos que ficarem disponíveis, permitirem a terminação de todos os processos que detém pelo menos um recurso, assumindo que cada um destes processos usa o número máximo de recursos correspondente. Infelizmente, a utilidade deste algoritmo (Banker s Algorithm, de Dijkstra) é no melhor dos casos limitada: normalmente, os processos não conhecem a priori as suas necessidades máximas. Provavelmente, alguns sistemas de tempo-real serão a única excepção. Ideia garantir que 1 das 4 condições necessárias nunca ocorre: 1. Exclusão mútua; 2. Espera com retenção;. Não-preempção; 4. Espera circular. deadlock avoidance é uma solução dinâmica: o programa executa um algoritmo para determinar se a satisfação do pedido pode conduzir a deadlock. deadlock prevention é uma solução estática: impede-se a ocorrência de deadlock por concepção do programa. Prevenir Deadlocks: Não-exclusividade Exclusão mútua, p.ex., recorrendo a processos auxiliares - printer spooler: nem todos os recursos se prestam a spooling; a contenção no acesso a outros recursos (p.ex. disco, no caso do printer spooler) pode também dar origem a deadlocks. Princípio, em qualquer dos casos, deve-se: atribuir um recurso apenas quando necessário; minimizar o número de processos que partilham um recurso. Prevenir Deadlocks: Espera sem Retenção Espera com retenção de recursos: Pedir todos os recursos necessários antes de iniciar tarefa: sofre do mesmo problema que deadlock avoidance. Alternativamente, um processo deverá libertar todos os recursos que possui, quando o pedido de um recurso conduziria a um bloqueio: quando desbloqueado, o processo terá que readquirir todos os recursos de novo; é uma variante da solução anterior, na qual os recursos necessários são descobertos dinamicamente. Técnica usada por vezes ao nível do kernel do SO.

11 Prevenir Deadlocks: Preempção e Não-circularidade Mais sobre Gestão de Recursos Na prática, usa-se uma combinação destas técnicas. Preempção dos recursos: retirar recursos a um processo (sem a sua cooperação) é inviável na maioria dos casos. Espera circular pode ser evitada por vezes. Por exemplo: definindo uma ordem total para todos os tipos de recursos; impondo que o pedido dos recursos respeite essa ordem. Infelizmente, nem sempre é viável. Inanição (starvation) de processos pode ocorrer também associada à gestão de recursos: quando o número de recursos disponível é inferior ao número de recursos pedido, o sistema tem que decidir a que processos atribuir os recursos disponíveis; se o algoritmo usado favorecer alguns processos em relação a outros, estes últimos poderão ser continuamente preteridos no acesso aos recursos e assim impossibilitados de fazer qualquer progresso. O escalonamento de processos é um problema de gestão dum recurso particular: o CPU. Leitura Adicional Modern Operating Systems, 2nd. Ed. Secção.1: Resources Secção.2: Introduction to Deadlocks Secção.: The Ostrich Algorithm Secção.4: Deadlock Detection and Recovery Secção.5: Deadlock Avoidance Secção.6: Deadlock Prevention Subsecção.7.2: Nonresource Deadlocks Subsecção.7.2: Starvation

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

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

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

Sistemas Operativos. Deadlocks FEUP. 23 de Outubro, 2009

Sistemas Operativos. Deadlocks FEUP. 23 de Outubro, 2009 Sistemas Operativos Rui Maranhão (rma@fe.up.pt) FEUP 23 de Outubro, 2009 Agradecimento: Pedro Souto (pfs@fe.up.pt) Rui Maranhão (FEUP) 23 de Outubro, 2009 1 / 33 Sumário O Problema Grafos de Alocação de

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

Sistemas Operativos: Deadlocks

Sistemas Operativos: Deadlocks Sistemas Operativos: Deadlocks Pedro F. Souto (pfs@fe.up.pt) March 30, 2012 Deadlocks Um deadlock é uma situação em que 2 ou mais processos ficam bloqueados indefinidamente pode ser uma race condition

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

Recursos. Exemplos de recursos:

Recursos. Exemplos de recursos: Deadlocks 1. Recursos 2. Introdução aos deadlocks 3. Algoritmo Ostrich (Avestruz) 4. Detecção e recuperação de deadlocks 5. Evitar deadlocks 6. Prevenir deadlocks 7. Considerações Recursos Exemplos de

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

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

Arquitetura de Sistemas Operativos

Arquitetura de Sistemas Operativos Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012 1 Threads Conceito Um processo é um programa em execução. A execução de um processo é sequencial: pode-se caracterizar um processo pelo

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

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

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

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

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

Sistemas Operativos: Concorrência

Sistemas Operativos: Concorrência Sistemas Operativos: Concorrência Pedro F. Souto (pfs@fe.up.pt) March 16, 2012 Sumário Race Conditions e Secções Críticas Exclusão Mútua via Programação Exclusão Mútua via Inibição de Interrupções. Locks

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

Capítulo 3 Deadlocks - Impasses

Capítulo 3 Deadlocks - Impasses Capítulo 3 Deadlocks - Impasses 3.1. Recurso 3.2. Introdução aos deadlocks 3.3. Algoritmo do avestruz 3.4. Detecção e recuperação de deadlocks 3.5. Evitando deadlocks 3.6. Prevenção de deadlocks 3.7. Outras

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

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

SSC0640 Sistemas Operacionais I

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

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

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. 1ª. Lista de Exercícios

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios SISTEMAS OPERACIONAIS Prof a. Roberta Lima Gomes (soufes@gmail.com) 1ª. Lista de Exercícios Data de Entrega: não há. O objetivo da lista é ajudar no estudo individual dos alunos. Soluções de questões específicas

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

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

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

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

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

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

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 7: Impasse (Deadlocks( Deadlocks)

Capítulo 7: Impasse (Deadlocks( Deadlocks) Capítulo 7: Impasse (Deadlocks( Deadlocks) Capítulo 7: Impasse (Deadlocks( Deadlocks) O Problema do Impasse Modelo de Sistema Caracterização de Impasse Métodos para Manipular Impasses Prevenção de Impasse

Leia mais

MAC422/5753 Sistemas Operacionais

MAC422/5753 Sistemas Operacionais MAC422/5753 Sistemas Operacionais Prof. Marcel P. Jackowski Aula #9 Sincronização no kernel e deadlocks Sobre sincronização... Tarefa complexa e sutil Exemplos através de código-fonte mostrado utilizando

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

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

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

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

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

Programação Concorrente. 2º Semestre 2010

Programação Concorrente. 2º Semestre 2010 Programação Concorrente 2º Semestre 2 Tópicos de Hoje Assunto: Deadlocks Livro Texto Capítulo 4; Conceitos Iniciais; Tipos de Recursos; Condições necessárias para ocorrência de deadlock; Um sistemas livre

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

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

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

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar - Aula 3-1. DEADLOCK Os sistemas computacionais estão repletos de recursos que podem ser usados por um processo por vez. Exemplo: CD-ROM, Driver de Fita Dat, etc. Ter dois processos simultaneamente gravando

Leia mais

Grupo I [7 Val] 1. Considere os seguintes 3 algoritmos de escalonamento num sistema operativo de tempo virtual:

Grupo I [7 Val] 1. Considere os seguintes 3 algoritmos de escalonamento num sistema operativo de tempo virtual: Número: Nome: LEIC/LERC 2012/13-1º Teste de Sistemas Operativos 24 de Novembro de 2011 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Justifique todas as respostas. Duração:

Leia mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 07: PROGRAMANDO COM THREADS EM LINGUAGEM C

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 07: PROGRAMANDO COM THREADS EM LINGUAGEM C ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 07: PROGRAMANDO COM THREADS EM LINGUAGEM C Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação PROGRAMANDO

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. 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

Processos. Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa. Fernando Ramos, Nuno Neves, Sistemas Operativos,

Processos. Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa. Fernando Ramos, Nuno Neves, Sistemas Operativos, Processos Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa Objetivos da aula Introduzir a noção de processo um programa em execução que é a base de toda a computação Descrever as várias

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

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Gerência do processador (Escalonamento na prática) Aula 06 Sistemas atuais tem uma série de particularidades Multiprocessadores e multicore Existência de memória cache

Leia mais

Sistemas de Tempo-Real. Acesso exclusivo a recursos partilhados

Sistemas de Tempo-Real. Acesso exclusivo a recursos partilhados Sistemas de Tempo-Real Aula 7 Acesso exclusivo a recursos partilhados O acesso exclusivo a recursos partilhados A inversão de prioridades como consequência do bloqueio Técnicas básicas para acesso exclusivo

Leia mais

DEADLOCKS IMPASSES. Vinícius Pádua

DEADLOCKS IMPASSES. Vinícius Pádua DEADLOCKS IMPASSES O que é um Deadlock? 2 O que é um Deadlock? Cenário Dois processos : Gravar CD com dados do scanner Processo A solicita o CD é autorizado Processo B solicita o scanner é autorizado Processo

Leia mais

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I SEM/12 PROVA I. Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I SEM/12 PROVA I. Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I - 1 0 SEM/12 PROVA I Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos Aluno: G A B A R I T O Escore: Responda às perguntas de forma

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

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 de Tempo-Real. Acesso exclusivo a recursos partilhados

Sistemas de Tempo-Real. Acesso exclusivo a recursos partilhados Sistemas de Tempo-Real Aula 7 Acesso exclusivo a recursos partilhados O acesso exclusivo a recursos partilhados A inversão de prioridades como consequência do bloqueio Técnicas básicas para acesso exclusivo

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

14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo

14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo Conceito de processo Os computadores executam várias operações ao mesmo tempo. - Compilar um programa; - Enviar um arquivo para a impressora; - Exibir uma página web; - Reproduzir músicas; - Receber mensagens

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 Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Deadlocks Referência Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 1995 Seção 11.5 pág. 340-344 2 Conteúdo Detecção de deadlock distribuído Detecção centralizada

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

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 6: Monitores, Troca de Mensagens e Deadlock Diego Passos Última Aulas Mecanismos de Exclusão Mútua Operações atômicas. Protocolos de controle de acesso. Spin-locks.

Leia mais

Sistemas Operacionais Aula 09: Deadlocks / Impasses. Ezequiel R. Zorzal

Sistemas Operacionais Aula 09: Deadlocks / Impasses. Ezequiel R. Zorzal Sistemas Operacionais Aula 09: Deadlocks / Impasses Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Desenvolver uma descrição de deadlocks, que impedem que grupos de processos simultâneos

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

Capítulo 3 Deadlocks - Impasses

Capítulo 3 Deadlocks - Impasses Capítulo 3 Deadlocks - Impasses 3.1. Recurso 3.2. Introdução aos deadlocks 3.3. Algoritmo do avestruz 3.4. Detecção e recuperação de deadlocks 3.5. Evitando deadlocks 3.6. Prevenção de deadlocks Pearson

Leia mais

Sistemas Operacionais. DeadLock. Edeyson Andrade Gomes.

Sistemas Operacionais. DeadLock. Edeyson Andrade Gomes. Sistemas Operacionais DeadLock Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula DeadLock Metas Algoritmos 2 DeadLock Um estado de deadlock ocorre quando dois ou mais processos estão esperando por

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

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 2. Gerência de Processos

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 2. Gerência de Processos Aula 2 Gerência de Processos Gerência de Processos O que são Processos e Threads? Porque são necessários? Como são implementados? Como são controlados? Escalonamento Referências: Capítulo 4: 4.1 a 4.5

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

Deadlocks (impasses)

Deadlocks (impasses) Deadlocks (impasses) Exemplos de recursos impressoras, drives, tabelas, memória, tempo de processador Sequência de eventos necessária para usar um recurso Solicitar recurso Usar recurso Liberar recurso

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

Notas da Aula 11 - Fundamentos de Sistemas Operacionais

Notas da Aula 11 - Fundamentos de Sistemas Operacionais Notas da Aula 11 - Fundamentos de Sistemas Operacionais 1. Escalonamento de Tempo Real Em sistemas de tempo real, o objetivo principal do escalonador é garantir que todos os processos sejam executados

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

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

Introdução aos Sistemas Operacionais. Threads

Introdução aos Sistemas Operacionais. Threads Introdução aos Sistemas Operacionais Threads Eleri Cardozo FEEC/Unicamp O que é uma Thread? Uma thread (linha de controle) é uma unidade de execução e de controle, alocação e compartilhamento de recursos

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

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

Estados dos processos. Infra Estruturas Computacionais. A troca de contexto. Escalonamento de Processos. Escalonamento de Processos Infra Estruturas Computacionais Professor: André Ferreira andre.ferreira@ifba.edu.br Material baseado: Prof.ª Renata Vilas e outros Estados dos processos novo admissão condição satisfeita pronto carga

Leia mais

Infra-Estrutura de Software. Sistemas Operacionais Revisão

Infra-Estrutura de Software. Sistemas Operacionais Revisão Infra-Estrutura de Software Sistemas Operacionais Revisão Sistema Computacional em Camadas Não pode executar instruções que afetam o controle da máquina ou fazem E/S GUI ou shell Acesso completo a todo

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

Escalonamento. Pedro Cruz. EEL770 Sistemas Operacionais

Escalonamento. Pedro Cruz. EEL770 Sistemas Operacionais Escalonamento Pedro Cruz EEL770 Sistemas Operacionais Avisos Propostas de trabalho já foram revisadas Todos os grupos foram comunicados 2 Jantar dos filósofos - Dijkstra Filósofos estão jantando em uma

Leia mais

Sistemas Operacionais. Deadlock

Sistemas Operacionais. Deadlock Sistemas Operacionais Deadlock Deadlocks! Recursos: hardware ou informação! Preemptivo X não preemptivo! Uso do Recurso:! Pedido (Request ou Open)! Uso! Liberação! Um conjunto de processos está em deadlock

Leia mais

GERENCIAMENTO DE PROCESSOS E MEMÓRIA

GERENCIAMENTO DE PROCESSOS E MEMÓRIA GERENCIAMENTO DE PROCESSOS E MEMÓRIA GRUPO ELAINE P. S. ALVES RAFAEL T. ROLDÃO VINICIUS A. ZANQUINI SAMUEL DISCIPLINA: SISTEMAS OPERACIONAIS 2º QUAD/2010 PROFº MARCELO NASCIMENTO MOTIVAÇÃO 1. Sistema de

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Gerência do processador (Escalonamento na prática) Aula 06 Sistemas atuais tem uma série de particularidades Multiprocessadores e multicore Existência de memória cache

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

Conceito de Processo. Estados de Processos. Diagrama de Estados de Processos

Conceito de Processo. Estados de Processos. Diagrama de Estados de Processos Conceito de Processo Módulo 4: Processos Um Sistema Operacional executa uma variedade de programas: Sistemas de processamento em lotes (batch) processa jobs Sistemas de tempo partilhado (time shared) roda

Leia mais

Algoritmos Distribuídos (deadlock) ALGORITMOS DISTRIBUÍDOS Deadlock. Algoritmos Distribuídos (deadlock) Algoritmos Distribuídos (deadlock)

Algoritmos Distribuídos (deadlock) ALGORITMOS DISTRIBUÍDOS Deadlock. Algoritmos Distribuídos (deadlock) Algoritmos Distribuídos (deadlock) Um deadlock é causado pela situação onde um conjunto de processos está bloqueado permanentemente, i.e., não conseguem prosseguir a execução, esperando um evento que somente outro processo do conjunto pode

Leia mais

Processos. Estruturas de Controle

Processos. Estruturas de Controle Processos Estruturas de Controle Processos e Recursos (1) LPRM/DI/UFES 2 Processos e Recursos (2) O S.O. gerencia recursos computacionais em benefício dos diversos processos que executam no sistema. A

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

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

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

Processos. Processo (1) Processo (2) Processo (3) Conceitos Básicos

Processos. Processo (1) Processo (2) Processo (3) Conceitos Básicos Processos Conceitos Básicos Processo (1) Abstração usada pelo S.O. para designar a execução de um programa. É caracterizado por uma thread de execução, um estado corrente e um conjunto associado de recursos

Leia mais

Processos. Conceitos Básicos

Processos. Conceitos Básicos Processos Conceitos Básicos Processo (1) Abstração usada pelo S.O. para designar a execução de um programa. É caracterizado por uma thread de execução, um estado corrente e um conjunto associado de recursos

Leia mais

Sistemas Operacionais

Sistemas Operacionais ANHANGUERA Sistemas Operacionais Prof. Esp. Rafael Gross Processos Sumário Introdução Conceito de processo Estrutura do processo Estados do processo Mudanças de estado do processo Criação e eliminação

Leia mais