Gestor de Processos Núcleo do Sistema Operativo. Sistemas Operativos 2011 / 2012. Gestor de Processos



Documentos relacionados
Gestor de Processos. Gestor de Processos

Gestor de Processos Núcleo do Sistema Operativo. Sistemas Operativos 2012 / Gestor de Processos

Gestor de Processos Núcleo do Sistema Operativo

Gestor de Processos. Gestor de Processos

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

Processos. Paulo Sérgio Almeida 2005/2006. Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho

Introdução aos Sistemas Operativos

Processos. Estados principais de um Processo: Contexto de um Processo. Nível de um Processo.

Máquinas virtuais. Máquina virtual de um processo. Máquinas virtuais (3) Máquina virtual de sistema. Máquinas virtuais (1) VMware para Windows e Linux

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

Mecanismo de Interrupção

Sistemas Operacionais. Prof. André Y. Kusumoto

Arquitetura de um Computador

Máquina de estados UNIX O

Máquina de estados UNIX O. Sistemas Operacionais 2008/1Profa. Patricia S.O. computação: recursos D. S.O S.O. controla eventos no sistema de

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Sistemas Operacionais

Sistemas Operativos I

Sistemas Operacionais

ENTRADA E SAÍDA DE DADOS

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

Entradas/Saídas. Programação por interrupções Conceitos gerais Programação da porta série Transmissão

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

Sistemas Operativos I

Componentes básicos de um sistema computacional. Cap. 1 (Stallings)

Capítulo 8. Software de Sistema

Introdução aos Sistemas

Componentes de um Sistema de Operação

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

Processamento com SPOOL. Utilização do CPU e periféricos. Perfis dos programas. Exemplo IBM 1460 (1963) Problemas no escalonamento.

Sistemas Operacionais

Hardware e Software das TI

Processos e Threads (partes I e II)

Aula 2 Modelos computacionais

Sistemas Operacionais

Entradas/Saídas. Programação por espera activa Programação por interrupções

Arquitetura de Computadores - Revisão -

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

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

Sistemas Operacionais

Sistema Operacional Correção - Exercício de Revisão

Arquiteturas de Software

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

Sistemas Operacionais

Organização e Arquitetura de Computadores

LABORATÓRIO DE LINGUAGEM DE MONTAGEM INTERRUPÇÕES DO DOS E DA BIOS

Programação de Sistemas

Gerência de processos Estudos de caso - BSD Unix

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Ciclo de Vida de um Processo

Sincronização. Cooperação entre Processos

Sistemas Operacionais

Figura 01 Kernel de um Sistema Operacional

E/S PROGRAMADA E/S PROGRAMADA E/S USANDO INTERRUPÇÃO

Sistemas Operacionais

Sistemas Operativos. Princípios de sistemas operativos. Rui Maranhão

Integração de Sistemas Embebidos MECom :: 5º ano

Arquitetura de Sistemas Operacionais

Entradas/Saídas. 1. Princípios de hardware/software de E/S 2. Camadas de software de E/S 3. Relógios (Temporizadores) 4. Gestão de consumo de potência

Visão Geral de Sistemas Operacionais

Sistemas Operacionais. Estruturas de SO. Edeyson Andrade Gomes.

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Dispositivos de Entrada e Saída

Sistemas de Tempo-Real

Gerência de Processador

Sistemas Operacionais

Componentes de um Sistema de Operação

Aula 5 Escalonamento usando prioridades fixas

BARRAMENTO DO SISTEMA

ESTUDO DE CASO WINDOWS VISTA

Evolução dos Processadores

Sistemas Operacionais Processos e Threads

28/9/2010. Unidade de Controle Funcionamento e Implementação

Trabalho Prático Nº2 Escrita e Leitura em Portos IO

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

Estruturas do Sistema de Computação

Gerência do Processador

Escalonamento no Linux e no Windows NT/2000/XP

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS OPERACIONAIS: GERENCIAMENTO DE PROCESSOS E DE MEMÓRIA

7 Processos. 7.1 Introdução

Processos. Adão de Melo Neto

Gerência de processos Requisitos fundamentais

Memória. Espaço de endereçamento de um programa Endereços reais e virtuais Recolocação dinâmica Segmentação

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Grupo I [4v] b. [0,6v] De que forma é que o escalonador do Linux tenta minimizar o impacto desta limitação?

Timer e serviços do Timer

Programação Concorrente em java - Exercícios Práticos Abril 2004

Grupo I [4v] executaprograma();

Introdução. O que vimos. Infraestrutura de Software. (cont.) História dos Sistemas Operacionais. O que vimos 12/03/2012. Primeira geração:

Transcrição:

Gestor de Processos Núcleo do Sistema Operativo Sistemas Operativos 2011 / 2012 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 a transferência de controlo entre dois processos Escalonamento optimiza a gestão dos recursos Sincronização no núcleo Implementação das funções sistema relacionadas com os processos e sincronização Page 1 1

Estrutura Monolítica Aplicações Bibliotecas do sistema Barreira de protecção Núcleo do Sistema Operativo Device drivers O núcleo executa-se num modo de protecção diferente dos processos utilizadores A mudança automática entre os dois modos é efectuada pelas interrupções (e excepções) e pela instrução de Return from Interrupt Chamada a Funções Sistema Programa do Utilizador Rotina de biblioteca de chamada à função sistema X trap RTI Executável Modo Utilizador (não privilegiado) Modo Núcleo(privilegiado) Agulhagem Função sistema A Função sistema Z Sistema operativo Page 2 2

Chamadas Sistema (system calls) Estruturadas em duas entidades funcionais: função propriamente dita, faz parte do código do sistema operativo rotina de interface que é ligada com o código do utilizador e que usa instruções de interrupção por software (traps) para invocar a função no núcleo. Vantagens: Protecção o código das funções sistema está residente no núcleo e não pode ser acedido pelos processos utilizador A interrupção muda o estado do Processador de modo utilizador para modo núcleo Partilha das funções sistema por todos os processos O sistema operativo pode ser modificado (novas versões) transparentemente desde que não se altere a interface Para relembrar Intel 80x86 INT - Interrupt Usage: INT num Modifies flags: TF IF Initiates a software interrupt by pushing the flags, clearing the Trap and Interrupt Flags, pushing CS followed by IP and loading CS:IP with the value found in the interrupt vector table. Execution then begins at the location addressed by the new CS:IP Page 3 3

Representação dos Processos e Tarefas Contexto: representação de um processo no núcleo Contexto de hardware Registos do processador (acumulador, uso geral, contador de programa, stack pointer, flags de estado do CPU) Registos da unidade de gestão de memória Contexto de software Identificação (processo, utilizador, grupo) Prioridade Estado do processo Outras informações (periféricos em uso, ficheiros abertos, directório por omissão, programa em execução, contabilização de recursos, signals pendentes, etc.) Page 4 4

Lista dos Processos Executáveis Tabela no sistema operativo Lista dos processos executáveis Contexto do processo i Contexto do processo i+1 Contexto do processo i+2 Processo em execução Processos executáveis Comutação de Processos Page 5 5

Diagrama de Estado dos Processos Em execução Execu Seleccionado para execução Gestor de processos decide atribuir processador a outro processo Espera por conclusão de um acontecimento Executável Ocorrência do acontecimento que bloqueava o processo Bloqueado Invocação do Sistema Operativo Todas as actividades do sistema operativo podem ser consideradas como desencadeadas por interrupções As interrupções podem ser provocadas por: Hardware, em particular pelo relógio, mas também pelos diferentes periféricos. Interrupções de software (traps, software interrupts) usadas nas chamada às funções do sistema pelos programas utilizador. Excepções provocadas pelo programa em execução como divisão por zero ou acesso a memória indevido. Sistema Operativo como o gestor global de todas as interrupções Page 6 6

Invocação do Sistema Operativo Interrupção Gestor das Interrupções salvaguarda contexto (na pilha actual) identificação da interrupção (vector de int.) Rotina de Serviço da Interrupção Despacho serve a interrupção possivelmente alterando o estado de algum processo Retorno da Interrupção Rotina de Serviço da Interrupção Copia registos da pilha actual para o contexto do processo (tabela dos processos) Corre o código específico à interrupção, possivelmente alterando o estado dos processos Invoca o despacho para eventualmente escolher outro processo Page 7 7

Despacho Processo X Interrupção Despacho Comuta o processo RTI Processo Y Processo X RTI Despacho Comuta o processo Interrupção Despacho A função do despacho é comutar o processador sempre que lhe seja indicado para o fazer. Funcionalidade copia o contexto hardware do processo em execução para o respectivo descritor (entrada na tabela de processos) escolhe o processo mais prioritário entre os executáveis carrega o seu contexto hardware no processador transfere o controlo para o novo processo coloca program counter guardado no contexto do novo processo na pilha núcleo return from interrupt (RTI) é enganado Page 8 8

Despacho: exemplo Processo A chama fechar(t) Interrupção Gestor de Interrupções Processo B executável Processo A bloqueado Rotina de Tratamento da Interrupção Despacho Retorno da Interrupção Processo B Em execução Escalonamento (Scheduling) Page 9 9

Escalonamento Objectivos Optimizar a utilização do processador (e dos restantes componentes do sistema) Políticas de escalonamento definem objectivos mais específicos: Batch Produtividade - Throughput maximizar o número máximo de jobs por hora. Turn around time tempo entre a submissão do trabalho e a obtenção do resultado. Utilização do processador manter o processador com elevada ocupação Tempo partilhado Tempo de resposta responder rapidamente aos eventos desencadeados pelos utilizadores Tempo real Cumprir metas temporais (deadlines) para tratamento dos acontecimentos Funcionamento com desempenho previsível (e.g., multimedia) Função de Escalonamento Define qual deve ser o próximo processo a executarse, de acordo com a política de escalonamento Quão frequentemente deve ser invocada? Em teoria, útil sempre que um recurso do sistema (e.g., memória) é atribuído ou libertado. Problema? Page 10 10

Escalonamento em Tempo Partilhado Duas classes de processos: CPU bound uso intensivo do processador I/O bound uso intensivo das E/S -interactivos Quais devem ter maior prioridade no acesso ao CPU? Políticas de Escalonamento em Sistemas de Tempo Partilhado Tempo de Execução Partilhado (time-slices) Prioridades Preempção Modificação dinâmica das prioridades Page 11 11

Tempo de Execução Partilhado: Time-Slices (ou Round-Robin) O que é Tempo de execução de um processo é limitado a um quantum de tempo (time-slice) Objectivo: Permitir que todos os processos executáveis tenham oportunidade de dispor do processador ciclicamente Implementação Lista de processos executáveis é gerida em round-robin Desvantagens Pode conduzir a tempos de resposta elevados em situações de muita carga Prioridades As prioridades permitem definir a importância de um processo no processo de escalonamento Um processo mais prioritário tem maior probabilidade de dispor do processador A prioridade pode ser Fixa, usual em processos de tempo real Dinâmica consoante o comportamento do processo: usual nos sistemas de tempo virtual e normalmente privilegiando os processo interactivos (I/O intensivos). Page 12 12

Gestão Multilista lista de maior prioridade (menos processador usado) utiliza o processador utiliza o processador lista de menor priorida de utiliza o processador Em que situações um processo deve ser promovido? E relegado? Gestão Multilista com Quantum Variável Prioridade Máxima t cpu = 0,02 s Prioridade Média t cpu = 0,25 s Despacho Prioridade Mínima t cpu = 2 s Adaptar o valor do quantum ao comportamento dos processos Aumentar o valor do quantum quando o sistema está muito carregado (limitar o custo dos da comutação de contextos e aumentar a probabilidade do processo terminar) Page 13 13

Preempção O que é: acção de retirar o processador a um processo em execução devido à existência de outro mais prioritário Objectivo: permite que os processos mais prioritários reajam rapidamente a um dado acontecimento (reactividade aos acontecimentos externos). Implementação: O despacho deve ser chamado na sequência de todas as acções susceptíveis de modificarem os estado dos processos Desvantagens: Mudança frequente de contexto (ex.: um processo só deve ser retirado de execução depois de ter usado processador durante um tempo mínimo). Chamadas Sistema Page 14 14

Chamadas Sistema relacionadas com os Processos IdProcesso = CriarProc (Código, Prioridade) Sair ([Estado]) EliminarProc ( IdProcesso ) Estado = EsperarTerminacao (Idprocesso) IdTarefa = CriarTarefa(procedimento); EliminarTarefa (IdTarefa) EsperaTarefa (IdTarefa) ComutarTarefa RotinaAssincrona (Evento,Procedimento) s = CriarSemaforo(num_unidades) Esperar(s) Assinalar(s) Suspender (IdProcesso) Acordar (IdProcesso) Adormecer (Período) Identificar que acções devem ser executadas por estas chamadas Semáforos Semaforo s Contador Fila de procs./tarefas bloqueadas Processos ou tarefas bloqueados no Semáforo s Page 15 15

Diagrama de Estado dos Processos Seleccionado pelo Despacho Em Execução Suspender Preempção Executável Bloqueado Suspender Suspenso Acordar Desbloquear Acordar Suspender Page 16 16