Sistemas Operacionais

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

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

Sistemas de Informação. Sistemas Operacionais

Sistemas Operacionais

Sistemas de Computação. Processos e escalonamento

Sistemas Operacionais. Escalonamento de processos

Sistemas Operacionais. Gerência de Processador

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

Processos. Escalonamento de Processos

Sistemas Operacionais

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

Processos. Escalonamento de Processos

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

Sistemas Operacionais

Questões de Provas de Períodos Anteriores

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

Sistemas Operacionais

Sistemas Operacionais. Capítulo 5 Processos

Processos. Escalonamento de Processos

Infra-Estrutura de Software. Escalonamento

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

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (

( ) Sistemas de Computação - Unifacs Professor : Marco Antônio C. Câmara - Lista de Exercícios II - Dia 18/10/2009

Escalonamento de Processos Uniprocessador

Sistemas Operacionais Gerenciamento de Processos

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

Processos. Conceitos Básicos

Sistemas de Informação. Sistemas Operacionais

Algoritmos de escalonamento

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

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

Sistemas Operacionais. Conceito de Processos

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

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

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

Escalonamento de Processos

SOP - TADS Escalonamento de Processos

Davidson Rodrigo Boccardo

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Sistemas Operacionais. Processos e Threads

Sistemas Operacionais Aula 7

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Gerência de Recursos. Gerência do Processador

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 08. Conceitos sobre processos. Modelos de processos, BCP, contextos, estados de processos.

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

Sistemas Operacionais

Sistemas Operacionais: Escalonamento de processos

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

Arquitetura de Sistemas Operativos

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

Técnicas Avançadas de Programação

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

Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Primeira Lista de Exercícios

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

Gerência de Recursos. Gerência do Processador

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

Questões de Múltipla escolha

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

Aula 04. Capítulo 3 Gerência de Processos. 3.1 Conceito de Processo. 3.2 Escalonamento de Processos. 3.3 Opera ões sobre Processos

Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais

Escalonamento do CPU

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

Sistemas Operacionais

Arquitetura e Organização de Computadores

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

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

Exercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF

Notas da Aula 7 - Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais

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

Sistemas Operacionais

6 ESCALONAMENTO DE CPU

Sistemas Operacionais

Aula 10: Escalonamento da CPU

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

Transcrição:

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 fundamental é: Que informações o sistema operacional precisa manter para poder controlar os processos e gerenciar os recursos em benefícios deles?

Imagem do Processo Nome dado à coleção formada por: Código do programa a ser executado. Pilha (de usuário e do sistema) para controle de chamadas de procedimentos e de SVCs. Área de dados para armazenamento de variáveis locais e globais. Coleção de atributos do processo (mantidos no Bloco de Controle de Processos).

Imagem do Processo

Bloco de Controle de Processo (BCP) Estrutura de dados (registro) usada para representar um processo dentro do sistema operacional. Mantém todas as informações que o S.O precisa para poder controlar a execução do processo (coleção de atributos do processo). Número fixo ou variável de blocos descritores de processos (alocação estática x alocação dinâmica de memória). Process Control Block.

Informações Típicas do BCP Prioridade do processo. Localização na memória principal. Identificação dos arquivos abertos. Estado do processo. Contexto de execução (conteúdo dos registradores). Ponteiros para encadeamento nas filas. Informações de accounting (ex:tempo de CPU).

BCPs e as Filas do Sistema

Tipos de Informações do BCP As informações mantidas no BCP podem ser divididas em três categorias: Identificação do processo; Informações de estado do processador; Informações de controle do processo.

Identificação do Processo Os seguintes identificadores podem estar armazenados no BCP : Identificador do processo; Identificador do processo que o criou (processo pai); Identificador do usuário.

Informações de Controle do Processo Registradores visíveis ao usuário Aqueles que podem ser referenciados por meio da linguagem de máquina que o processador executa. Registradores de controle e estado Program Counter (PC); Flags: sign, zero, carry, equal, overflow; Status: modo supervisor x usuário, interrupção habilitada x disabilitada. Stack Pointers.

Informações de Controle do Processo Informações de Escalonamento e Estado: Estado do processo (ready, running, suspended, etc.) Prioridade (default, corrente, máxima) Tempo de espera na fila Tempo de execução na última fatia de tempo Evento que o processo está aguardando Estruturação de dados: Um processo pode estar encadeado a outros em uma fila, lista ou outra estrutura de dados.

Informações de Controle do Processo Comunicação entre processos: Flags, sinais e mensagens podem estar associados com a comunicação entre dois processos independentes. Algumas ou todas essas informações podem estar mantidas no BCP. Privilégios em termos de memória que pode ser acessada, instruções que podem ser executadas, ou mesmo serviços e utilitários do sistema.

Informações de Controle do Processo Gerência de Memória: Ponteiros para tabelas de páginas ou de segmentos que descrevem a memória virtual assinalada ao processo. Ownership e utilização de recursos: Arquivos abertos; Histórico de uso da UCP ou de outro recurso (para usos do escalonador);

Razões para Suspender Processos Do SO Swapping: para liberar espaço na memória principal para trazer outro processo da memória secundária SO pode suspender um processo em background utilitário suspeito de estar causando problemas Solicitação de usuário interativo Temporização: determinados processos são executados periodicamente Solicitação do processo pai

Conceito de Escalonamento Escalonamento consiste em determinar, dentre os processos prontos, qual o próximo processo a ser executado Realizado por um componente do sistema operacional denominado escalonador Dois tipos de escalonadores longo prazo curto prazo

Conceito de Escalonamento Escalonador longo prazo memória secundária memória principal Escalonador curto prazo memória principal processador Principais objetivos maximizar a utilização do processador maximizar o número de processos completados por unidade de tempo garantir que todos os processos recebam o processador minimizar o tempo de resposta para o usuário

Nas transições entre estados, o PCB do processo é movido entre as filas apropriadas Conceito de Escalonamento Para cada estado, existe uma fila que contém os PCB's executando pcb3 prontos pcb1 pcb5 pcb2 e/s disco pcb4 pcb6 bloqueados e/s terminal pcb9 e/s impressão pcb8 pcb7 pcb10

Conceito de Escalonamento Uma visão dos escalonadores do sistema operacional Longo-Prazo Curto-Prazo Fila de Prontos CPU FIM I/O Fila Espera

Conceito de Escalonamento Dispatcher: responsável por passar o controle da CPU para o processo selecionado pelo escalonador de curto prazo, envolve: mudança de contexto mudança para o modo usuário salto para a posição adequada dentro do processo selecionado para reiniciar sua execução Latência de despacho Tempo gasto pelo dispatcher para interromper um processo e começar a execução de um outro

Representação do Escalonamento fila de processos prontos CPU I/O fila de dispositivo requisição de I/O término de fatia de tempo filho em execução criação de um processo filho interrupção ocorre em espera por uma interrupção

Adição de Escalonador Intermediário carregar processos em execução parcialmente removidos da memória remover fila de processos prontos CPU terminar I/O fila de espera por I/O

Conceito de Escalonamento Mudança de contexto CPU é chaveada para outro processo SO deve salvar o estado do processo antigo e carregar o estado do novo processo Implica overhead SO não realiza nenhum trabalho útil durante os chaveamentos Tempo consumido é dependente do suporte de hardware fornecido

exec. ocioso ocioso executando ocioso exec. Chaveamento da CPU interrupção ou chamada ao sistema SO armazenar estado no PCB 0. recarregar estado no PCB 1 interrupção ou chamada ao sistema Processo P 0 armazenar estado no PCB 1. recarregar estado no PCB 0 Processo P 1

Troca de Contexto Contexto de execução: estado do processador Ações na troca de contexto Salvar o contexto do processador, incluindo o PC e outros registradores. Alterar o BCP do processo que está no estado emexecução (running). Mover o BCP para a fila apropriada. Selecionar outro processo para execução. Alterar o BCP do processo selecionado. Alterar as tabelas de gerência de memória. Restaurar o contexto do processo selecionado.

Características dos Escalonadores Escalonador da CPU é invocado muito freqüentemente (milissegundos) precisa ser rápido Escalonador de processos é invocado com muito pouca freqüência (segundos, minutos) pode ser lento O escalonador de processos controla o grau de multiprogramação do sistema

Conceito de Escalonamento Os escalonadores são implementados por algoritmos dentro do sistema operacional Critérios para comparar a eficiência dos algoritmos utilização da CPU (1) taxa de saída (throughput) (2) turnaround time (3) tempo de espera (4) tempo de resposta (5) Objetivos maximizar (1) e (2) minimizar (3), (4) e (5)

Conceito de Escalonamento Considerações Tipo de processamento batch interativo CPU bound I/O bound Tipo de sistema monoprogramado (?) multiprogramado time-sharing tempo-real multiprocessado política de escalonamento (scheduling policies)

Critérios de Escalonamento Orientados ao Usuário e Desempenho Uso do processador mede a porcentagem de tempo em que a CPU está ocupada importante em tempo compartilhado não muito importante em sistemas monousuário e temporeal Tempo de resposta processos interativos tempo entre uma requisição e o início da resposta do ponto de vista do usuário qual seria o tempo de resposta ideal?

Critérios de Escalonamento Orientados ao Usuário e Desempenho Deadlines (prazos) quando o prazo de término pode ser especificado o sistema deveria fazer o melhor esforço para atender todos os prazos Previsibilidade um dado processo deveria executar sempre em um tempo médio previsível a carga do sistema não deveria impor variações

Critérios de Escalonamento Orientados ao Sistema e Desempenho Throughput (vazão) número de processos completados por unidade de tempo, depende: do tamanho dos processos das políticas de escalonamento Turnaround intervalo de tempo entre a submissão de um processo e o seu término inclui o tempo de execução, espera por recursos medida para sistemas batch Waiting time quantidade total de tempo que um processo esteve esperando na fila de prontos

Critérios de Escalonamento Orientados ao Sistema Justiça processos devem ser tratados igualmente, a menos que especificado o contrário processos não deveriam sofrer starvation Prioridades processos mais prioritários devem efetivamente ser favorecidos problema da inversão de prioridade Balanceamento de recursos recursos devem ficar ocupados o máximo possível processos que não vão utilizar recursos sobrecarregados devem ser favorecidos

Escalonamento de Processos Longa duração decisão de se adicionar um processo ao pool de processos para serem executados admissão ao sistema Duração média decisão de se adicionar ao número de processos que está completamente ou parcialmente na memória swapping, memória virtual

Escalonamento de Processos Curta duração decisão de qual processo disponível será executado interrupção de clock e I/O, chamadas ao sistema, signals I/O decisão de qual processo que está na fila de espera por uma requisição de I/O será tratado

Escalonamento de Processos Tipos não-preemptivo: processo executando não pode ser interrompido preemptivo: processo pode ser retirado do processador Políticas mais comuns: First-Come-First-Served (FCFS) Shortest Job First (SJF) Prioridade Múltiplas Filas Round-Robin