Sistemas Operacionais



Documentos relacionados
Sistemas Operacionais

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

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 Operacionais Processos e Threads

Processos e Threads (partes I e II)

Infra-Estrutura de Software. Introdução. (cont.)

Sistemas Operacionais

Programação Concorrente Processos e Threads

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

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

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Gerência do Processador

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais. Prof. André Y. Kusumoto

Arquitetura de Sistemas Operacionais

E.E.E.P. Dr. Solon Tavares Sistemas Operacionais Prof. Henrique Cordeiro. Programação Concorrente em Linux

Processos. Adão de Melo Neto

Ciclo de Vida de um Processo

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura Exemplo

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

Capítulo 2 Processos e Threads Prof. Fernando Freitas

Gerência de processos Requisitos fundamentais

Sistemas Operacionais

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

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

Sistemas Operacionais

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

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

Gerência de Processador

Gerência do Processador

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

7 Processos. 7.1 Introdução

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

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

Sistemas Operacionais. Roteiro. Tipos de Tarefas (temporal) Marcos Laureano

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

Processos. Conceitos Básicos

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação

Gestor de Processos. Gestor de Processos

Slide. ! Multiprocessamento! Modelo de processo. Dep. Ciência da Computação. Slide. ! Alternância de processos. ! Relação Programa x Processo

Gerência de Processador

PROCESSOS. Prof. Maicon A. Sartin

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas

Processos Prof. João Paulo de Brito Gonçalves

Escalonamento no Linux e no Windows NT/2000/XP

Sistema Operacional. Prof. Leonardo Barreto Campos 1

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

03 GERÊNCIA DO PROCESSADOR

Introdução à Computação: Sistemas de Computação

Um processo sob UNIX ocupa uma área de memória formada basicamente por 3 partes:

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Mecanismo de Interrupção

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

Sistemas Operacionais INF Prof. José Gonçalves

Gerenciamento de Memória

Sistemas Operacionais

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

Sistemas Operacionais

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

Sistemas Operacionais


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

Fundamentos de Sistemas Operacionais

Introdução aos Sistemas

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional

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

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

Tipos de sistemas operacionais

Conceitos de Sistemas Operacionais: Chamadas de Sistema. Prof Rafael J. Sandim

Sistemas Operacionais

Everson Scherrer Borges João Paulo de Brito Gonçalves

Introdução. Sistemas Operacionais

Gerenciamento de Processos

SISTEMAS OPERACIONAIS

Sistemas Operacionais

Gerência do Processador

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais

Transcrição:

Sistemas Operacionais Prof. Jó Ueyama Apresentação baseada nos slides da Profa. Kalinka Castelo Branco, do Prof. Dr. Antônio Carlos Sementille e da Profa. Dra. Luciana A. F. Martimiano e nas transparências fornecidas no site de compra do livro Sistemas Operacionais Modernos

Aula de Hoje (conteúdo detalhado) 1. Conceitos Básicos - Chamadas de Sistemas 2. Processos 3. Criando Processos 4. Finalizando Processos 5. Estados do Processo 6. Implementação de Processos 7. Escalonamento de Processo 2

Processos Multiprogramação: Pseudoparalelismo: coleção de processos sendo executados alternadamente na CPU; Um processo é caracterizado por um programa em execução, mas existe uma diferença sutil entre processo e programa: Um processo pode ser composto por vários programas, dados de entrada, dados de saída e um estado (executando, bloqueado, pronto) 3

Aula de Hoje (conteúdo detalhado) 1. Conceitos Básicos - Chamadas de Sistemas 2. Processos 3. Criando Processos 4. Finalizando Processos 5. Estados do Processo 6. Implementação de Processos 7. Escalonamento de Processo 4

Criando Processos Processos precisam ser criados e finalizados a todo o momento: Inicialização do sistema; Execução de uma chamada de sistema para criação de processo realizada por algum processo em execução; Requisição de usuário para criar um novo processo; Inicialização de um processo em batch mainframes com sistemas em batch; 5

Criando Processos Processos específicos para usuários específicos: Leitura de um arquivo; Iniciar um programa (linha de comando ou um duplo clique no mouse); Processos com funções específicas que independem de usuários chamados de daemons: Recepção e envio de emails; Serviços de Impressão; 6

Criando Processos UNIX: Fork; Cria processo Pai e processo Filho com mesmo endereçamento; Depois o processo Filho tem endereçamento separado; Windows: CreateProcess Cria processo Pai e processo Filho. 7

Exemplo de Criação de Processo em C no Linux #include <stdio.h> #include <unistd.h> int main(int argc, char *argv[]) { int pid; pid = fork(); /* Ocorreu um erro */ if (pid < 0) { fprintf( stderr, "Erro ao criar processo" ); } /* Processo filho */ else if (pid == 0) { execlp ("/bin/ls", "ls", NULL); } /* Processo pai */ else if (pid > 0) { wait (NULL); printf ("Sou o processo Pai.\n"); } } 8

Criando Processos Exemplo UNIX: Processo init: gera vários processos filhos para atender os vários terminais que existem no sistema; Outros processos são gerados nos terminais 9

Aula de Hoje (conteúdo detalhado) 1. Conceitos Básicos - Chamadas de Sistemas 2. Processos 3. Criando Processos 4. Finalizando Processos 5. Estados do Processo 6. Implementação de Processos 7. Escalonamento de Processo 10

Finalizando Processos Condições: Término normal (voluntário): A tarefa a ser executada é finalizada; Chamadas: exit (UNIX) e ExitProcess (Windows) Término com erro (voluntário): O processo sendo executado não pode ser finalizado: gcc filename.c, o arquivo filename.c não existe; 11

Finalizando Processos Término com erro fatal (involuntário); Erro causado por algum erro no programa (bug): Divisão por 0 (zero); Referência à memória inexistente ou não pertencente ao processo; Execução de uma instrução ilegal; Término causado por algum outro processo (involuntário): Kill (UNIX) e TerminateProcess (Windows); 12

Aula de Hoje (conteúdo detalhado) 1. Conceitos Básicos - Chamadas de Sistemas 2. Processos 3. Criando Processos 4. Finalizando Processos 5. Estados do Processo 6. Implementação de Processos 7. Escalonamento de Processo 13

Um processo sendo executado não pode continuar sua execução, pois precisa de algum evento (E/S ou semáforo) para continuar; Estados de Processos Três estado básicos: Executando 1 2 3 Bloqueado 4 Pronto 14

Um processo é bloqueado de duas maneiras: chamada ao sistema: block ou pause; se não há entradas disponíveis para que o processo continue sua execução; Estados de Processos Executando 1 2 3 Bloqueado 4 Pronto 15

Estados de Processos As transições 2 e 3 ocorrem durante o escalonamento de processos: o tempo destinado àquele processo acabou e outro processo é colocado no processador; Executando 1 2 3 Bloqueado 4 Pronto 16

Estados de Processos A transição 4 ocorre quando o evento esperado pelo processo bloqueado ocorre: se o processador está parado, o processo é executado imediatamente (2); se o processador está ocupado, Executando o processo deve esperar sua vez; 1 2 3 Bloqueado 4 Pronto 17

Aula de Hoje (conteúdo detalhado) 1. Características de Processos 2. Implementação de Processos 3. Escalonamento de Processo 4. Escalonamento em Batch 5. Algoritmos de Escalonamento em Sistemas Batch 18

Reforçando interrupções... 19

Características Processos Processos CPU bound (orientados à CPU): processos que utilizam muito o processador; Tempo de execução é definido pelos ciclos de processador; Processos I/O bound (orientados à E/S): processos que realizam muito E/S; Tempo de execução é definido pela duração das operações de E/S; IDEAL: existir um balanceamento entre processos CPU bound e I/O bound; 20

Escalonador de Processos Nível mais baixo do SO; Manipulação de interrupções e processos; Processos 0 1... n 1 n Escalonador de Processos 21

Aula de Hoje (conteúdo detalhado) 1. Características de Processos 2. Implementação de Processos 3. Escalonamento de Processo 4. Escalonamento em Batch 5. Algoritmos de Escalonamento em Sistemas Batch 22

Implementação de Processos Tabela de Processos: Cada processo possui uma entrada; Cada entrada possui um ponteiro para o bloco de controle de processo (BCP) ou descritor de processo; BCP possui todas as informações do processo contextos de hardware, software, endereço de memória; BCP e vetor de interrupção. 23

Implementação de Processos Tabela de processos BCP P1... BCP P2... BCP Pn 24

Implementação de Processos Algumas informações do BCP 25

Aula de Hoje (conteúdo detalhado) 1. Características de Processos 2. Implementação de Processos 3. Escalonamento de Processo 4. Escalonamento em Batch 5. Algoritmos de Escalonamento em Sistemas Batch 26

Escalonamento de Processos Escalonador de Processos escolhe o processo que será executado pela CPU; Escalonador deve se preocupar com a eficiência da CPU, pois o chaveamento de processos é complexo e custoso: Afeta desempenho do sistema e satisfação do usuário; Escalonador de processo é um processo que deve ser executado quando da mudança de contexto (troca de processo); 27

Escalonamento de Processos Mudança de Contexto: Overhead de tempo; Tarefa cara: Salvar as informações do processo que está deixando a CPU em seu BCP conteúdo dos registradores; Carregar as informações do processo que será colocado na CPU copiar do BCP o conteúdo dos registradores; 28

Escalonamento de Processos Antes da Mudança de Contexto PCB P2 PCB P4 PC = 0BF4h PID = 2 Estado = pronto PC = 074Fh PID = 4 Estado = executando Próximo processo PC = 074Fh CPU 29

Escalonamento de Processos Depois da Mudança de Contexto PCB P2 PC = 0BF4h PID = 2 Estado = executando PCB P4 PC = 074Fh PID = 4 Estado = pronto PC = 0BF4h CPU 30

Escalonamento de Processos Situações nas quais escalonamento é necessário: Um novo processo é criado; Um processo terminou sua execução e um processo pronto deve ser executado; Quando um processo é bloqueado (semáforo, dependência de E/S), outro deve ser executado; Quando uma interrupção de E/S ocorre o escalonador deve decidir por: i) executar o processo que estava esperando esse evento; ii) continuar executando o processo que já estava sendo executado ou; iii) executar um terceiro processo que esteja pronto para ser executado. 31

Escalonamento de Processos Tempo de execução de um processo é imprevisível: CPU gera interrupções em intervalos entre 50 a 60 hz (ocorrências por segundo); Algoritmos de escalonamento podem ser divididos em duas categorias dependendo de como essas interrupções são tratadas: Preemptivo: estratégia de suspender o processo sendo executado; Não preemptivo: estratégia de permitir que o processo sendo executado continue sendo executado até ser bloqueado por alguma razão (semáforos, operações de E/S interrupção); 32

Escalonamento de Processos Categorias de Ambientes: Sistemas em Batch: usuários não esperam por respostas rápidas; algoritmos preemptivos ou nãopreemptivos; Sistemas Interativos: interação constante do usuário; algoritmos preemptivos; Processo interativo espera comando e executa comando; Sistemas em Tempo Real: processos são executados mais rapidamente; tempo é crucial sistemas críticos; 33

Escalonamento de Processos Características de algoritmos de escalonamento: Qualquer sistema: Justiça (Fairness): cada processo deve receber uma parcela justa de tempo da CPU; Balanceamento: diminuir a ociosidade do sistema; Políticas do sistema prioridade de processos; 34

Escalonamento de Processos Características de algoritmos de escalonamento: Sistemas em Batch: Taxa de execução (throughput): máximo número de jobs executados por unidade de tempo (e.g. hora); Turnaround time (tempo de retorno): tempo no qual o processo espera para ser finalizado; submissão até o fim da chegada de todo output. Tempo de espera: tempo gasto na fila de prontos; Eficiência: CPU deve estar 100% do tempo ocupada; Sistemas Interativos: Tempo de resposta: tempo esperando para iniciar execução; Satisfação do usuários; 35

Escalonamento de Processos Características de algoritmos de escalonamento: Sistemas em Tempo Real: Prevenir perda de dados; Previsibilidade: prevenir perda da qualidade dos serviços oferecidos; 36