Davidson Rodrigo Boccardo

Documentos relacionados
Sistemas Operacionais. Conceito de Processos

Sistemas de Computação. Processos e escalonamento

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

Prof. Kleber R. Rovai

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

Sistemas Operacionais

Sistemas Operacionais

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

Davidson Rodrigo Boccardo

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

Sistemas Operacionais I

Sistemas Operacionais I

Arquitetura de Sistemas Operativos

SISTEMAS OPERACIONAIS

Gerência de Recursos. Gerência do Processador

Sistemas Operacionais

Programação de Sistemas em Tempo Real

Sistemas Operacionais. Processos IC - UFF

Sistemas Operacionais. Escalonamento de Processos

SISTEMAS OPERACIONAIS

Sistemas Operacionais Gerenciamento de Processos

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 09. Escalonadores. Conceito, escalonamento, filas de escalonamento e tipos de escalonadores.

Sistemas Operacionais

Sistemas Operacionais

Infra-Estrutura de Software. Escalonamento

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Questões de Múltipla escolha

Processos. Estruturas de Controle

Sistemas Operacionais

Sistemas Operacionais. Gerência de Processador

! Os primeiros computadores permitiam a execução de apenas um programa de cada vez, com acesso completo aos recursos do sistema

Aula 10: Escalonamento da CPU

Processos. Pedro Cruz. EEL770 Sistemas Operacionais

Sistemas Operacionais. BSI / UAB 2013 Hélio Crestana Guardia

Processos. Pedro Cruz. EEL770 Sistemas Operacionais

Gerência de Processos. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela

Processos. Processos e Recursos (1) Tabelas de Controle do S.O. Processos e Recursos (2)

Processos. Conceitos Básicos

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

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

Processos. Conceitos Básicos

Sistemas Operacionais

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:

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

Processos. Conceitos Básicos

Sistemas Operacionais Aula 7

Sistemas Operacionais

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

Processos. Prof. Gustavo Leitão

Sistemas de Informação. Sistemas Operacionais

Fundamentos de Sistemas Operacionais

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

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

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

SSC0640 Sistemas Operacionais I

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

Sistemas Operacionais

Sistemas Operacionais

Processos. Adão de Melo Neto

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

TAREFAS IMPLEMENTAÇÃO DE TAREFAS AULA 06 Sistemas Operacionais Gil Eduardo de Andrade

Arquitetura e Organização de Computadores

Sistemas Operacionais. Processos e Threads

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

Resumo: Sistemas Operacionais Abertos

SSC0640 Sistemas Operacionais I

Questões de Provas de Períodos Anteriores

Escalonamento de processos

Arquitetura e Organização de Computadores

PROCESSOS. Sistemas Operacionais. Vinícius Pádua

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

LabSO Gerência de Processos. Processos. Porque eu preciso entender este assunto?

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (

Escalonamento da CPU

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

Escalonamento da CPU

EEL770 - Sistemas Operacionais Notas de Aula

Introdução a Arquitetura de Sistemas Operacionais. Parte 01

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

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

SOP - TADS Threads. Revisão Ultima aula. Programa em execução Cada processo têm sua própria CPU

Fundamentos de Sistemas Operacionais

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

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

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

Fundamentos de Sistemas Operacionais

Sistemas Operacionais II. Linux 2: Threads, Escalonamento, Gerenciamento de Memória e Sistemas de Arquivos

Capítulo 3: Processos

Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend

Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião

Processos. Escalonamento de Processos

Processos. Escalonamento de Processos

Sistemas de Informação. Sistemas Operacionais

Disciplina: Sistemas Operacionais

Estruturas de Sistemas Operacionais

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

SOP - TADS Escalonamento de Processos

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

Sistemas de Computação. Gerenciamento de memória

Transcrição:

Fundamentos em Sistemas de Computação Davidson Rodrigo Boccardo flitzdavidson@gmail.com

Componentes de um SO Gerenciamento de Processos Sistema de Arquivos Gerenciamento de Entrada/Saída Gerenciamento de Memória Sistema Operacional

Gerenciamento de Processos Estados de um processo Tabela de processos Mecanismos de escalonamento de processos

Gerenciamento de Processos Antigamente os SO permitiam a execução de um único programa O que é um processo? Programa em execução Cada processo tem seu próprio espaço de endereço (Região de texto, dados, pilha) Gerenciamento Qual processo vai para a CPU? Informações sobre os processos Algoritmos de alocação de processos

Informações sobre os processos Estados de um processo? Novo Em execução Em espera Pronto Terminado

Diagrama dos estados

Informações sobre os processos Bloco de controle de Processos (PCB) Armazena informações de cada processo Estado do processo Contador de programa (PC) Registradores da CPU Informação de escalonamento Informação de gerenciamento de memória Informação de contabilidade Informação de E/S Espaço de endereços

Bloco de controle de Processos

Troca de contexto Quando ocorre? CPU troca de um processo por outro O sistema deve: Salvar o estado do antigo processo Carregar o estado do novo processo Overhead Sistema não faz nenhum trabalho enquanto troca de um processo para o outro

Troca de Contexto

Filas para seleção de processos

Transição entre filas para seleção de processos

Escalonamento em dois níveis Nem sempre todos os processos estão na memória principal Devido a disponibilidade de memória Tempo na troca de contexto em disco é de ordem muito superior Dois escalonadores Processos: movimentações entre disco e memória CPU: movimentações entre a memória principal e a CPU

Escalonamento em dois níveis Quais critérios o escalonador de processos pode usar nas suas tomadas de decisão? Quanto tempo o processo está em disco ou na memória? Quanto tempo de processador o processo usou? Qual é o tamanho do processo? Qual é a prioridade do processo? Utilização das mesmas políticas de acesso do escalonador de CPU (políticas serão vistas na próxima aula)

Operações em processos Como o SO pode executar processos concorrentemente, o SO tem que prover mecanismos para criação e finalização de processos Criação de processos Processo pai cria processos filhos, e estes podem criar outros filhos, formando uma árvore de processos Em relação aos recursos: O processo filho pode obter recursos diretamente do SO O processo filho utiliza um subconjunto de recursos do pai Podendo ou não os recursos serem compartilhados

Criação de processos Em termos de execução: Pai e filho executam simultaneamente Pai espera todos processos filhos terminarem Espaço de endereçamento: O processo filho é uma cópia do processo pai O processo filho tem um programa que deve ser carregado para sua execução UNIX System call fork cria novos processos System call execve é usado após o fork para substituir o espaco de memória do processo com o novo programa

Finalização de processos Processo executa o último comando e deixa o SO decidir o que fazer (exit) Saída de dados do filho para o pai (via wait) Recursos do processo são desalocados pelo SO Pai pode terminar a execução dos processos filhos (abort) Filho ter excecido os recursos alocados A tarefa designada ao filho não é mais necessária Pai está terminando O SO não permite o processo filho continuar se o pai é finalizado Finalização em cascata

Fases de uso da CPU e de E/S A execução dos processos pode ser caracterizada geralmente como um ciclo de uso da CPU e a espera por E/S

Fases de uso da CPU e de E/S

Escalonador da CPU Qual é seu papel? Selecionar um processo entre os processos da memória que estão prontos para executar Quais são os critérios para a tomada de decisão? Mudança do estado em execução para em espera Mudança de em execução para pronto Mudança de em espera para pronto Quando um processo termina Quais critérios não são preemptivos?

Dispatcher (Despachante) O Dispatcher é o módulo que entrega para CPU o processo selecionado pelo escalonador, isto envolve: Mudança de contexto Desvio para o endereço adequado no programa do usuário, para reiniciar o programa Latência de despacho tempo necessário para o dispatcher parar um processo e começar outro

Critérios de escalonamento Utilização da CPU Produtividade (Throughput) Número de processos finalizados por unidade de tempo Tempo de entrega (Turnaround time) Tempo que o processo leva para ser executado Tempo de espera Tempo que o processo fica aguardando na fila de prontos Tempo de resposta Intervalo de tempo entre o envio de uma requisição e a primeira resposta a essa requisição Quais critérios são mais importantes?

Objetivo Maximizar a utilização da CPU Maximizar a produtividade (throughput) Minimizar o tempo de entrega Minimizar o tempo de espera Minimizar o tempo de resposta

Políticas de acesso Próxima aula...

Dúvidas?