IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems:...

37
IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings

Transcript of IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems:...

Page 1: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Sistemas Operacionais

2. Processos

Texto base: capítulos 3 e 4

Operating Systems: Internals and Design Principles

W. Stallings

Page 2: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

O conceito de processos

No capítulo 1, fizemos as seguintes afirmativas quanto aos processos: Mais geral que programa Consiste em um código executável e seus

dados associados, além de um contexto de execução

Page 3: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Enfim, ...

Um processo é uma abstração de um programa em execução

Exemplo: fazer um bolo ... ... primeiros socorros!

Page 4: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

O que esperar do SO?

Alternar a execução de processos de forma a maximizar a utilização da UCP e fornecer tempo de resposta razoável

Alocar recursos a processos Suportar criação de processos pelo

usuário Suportar comunicação entre processos

Page 5: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Modelo simples de processo

executandonão-

executando

despacho

pausa

entra sai

(a) diagrama de transição de estado

UCP

saientra despacho

pausa

fila

(b) possível implementação

Page 6: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Criando de processos

O que faz o SO para criar processos? constrói estruturas de dados aloca espaço de endereçamento

Quando cria? quando usuário abre sessão; quando gerado por outro processo (e.g.,

servidor de FTP); ...

Page 7: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Terminando processos

Quando terminar? execução da instrução Halt; condições de erro; ...

Algumas razões para o término: tempo excedido; falta de memória; uso de instrução privilegiada; término do processo pai; ...

Page 8: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Problema com o modelo simples

Um processo que não está executando estará sempre pronto a executar?

Não:

pode estar bloqueado esperando E/S!

despachante não pode simplesmente ppegar um processo que esteja na fila

Page 9: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Um modelo mais elaborado

executandopronto

despacho

pausa

admissão liberação

saídanovo

bloqueado

esperaevento

eventoocorre

Page 10: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Implementando o modelo (1)

UCP

liberação

admissãodespacho

pausa

fila dos prontos

evento ocorreespera evento

fila dos bloqueados

Page 11: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Implementando o modelo (2)

UCP

liberação

admissãodespacho

pausa

fila dos prontos

evento 1 ocorreespera evento 1

fila evento 1

espera evento 2fila evento 2

evento 2 ocorre

Page 12: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Implementando o modelo (3)

evento 1 ocorre

UCP

liberação

admissãodespacho

pausa

prioridade 1

espera evento 1fila evento 1

espera evento 2fila evento 2

prioridade 2

evento 2 ocorre

Page 13: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

O estado Suspenso

O processador é muito mais rápido que E/S: todos os processos podem estar bloqueados

Swapping Necessidade de novo estado:

representação de processo suspenso

Page 14: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Diagrama com estado Suspenso

executandopronto

despacho

pausa

admissão liberação

saídanovo

bloqueado

esperaevento

eventoocorre

suspenso

ativação

suspensão

Page 15: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Pensando melhor ...

executandopronto

despacho

pausa

admissão

liberação

saídapronto-suspenso

bloqueado

esperaevento

eventoocorre

suspenso-bloqueado

eventoocorre

ativa

suspende

admissão

novo

ativa

suspende

suspende

Page 16: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

O que o SO deve fazer?

Em um sistema multi-tarefas, o SO deverá: escalonar e despachar processos para execução alocar recursos aos processos responder a pedidos de recursos feitos pelos

programas dos usuários Como fazer?

Page 17: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Tabelas! Tabelas de memória

e.g., alocação de MP aos processos Tabelas de E/S

e.g., estado de dispositivo de E/S Tabelas de arquivos

localização de arquivos em MS Tabelas de processos

e.g., lista de processos existentes

Page 18: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Controlando processos

Para gerenciar processos o SO precisa conhecer: onde o processo está localizado os atributos do processo

Como é representado um processo? imagem do processo: programa + dados +

pilha(s) + atributos

Page 19: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Atributos do processo

O conjunto dos atributos de um processo é conhecido como bloco de controle do processo (PCB, em inglês)

PCB pode ser dividido em três partes: identificação do processo informação de estado do processador informação de controle do processo

Page 20: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Identificação do processo

Feita por identificadores numéricos que incluem: identificador do processo identificador do processo que o criou identificador do usuário

Page 21: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Informação do processador

Contida nos registradores do processador: registradores visíveis ao usuário (aqueles

referenciados por programa) registradores de controle e estado (e.g., PC,

códigos de condição) apontadores de pilha

Page 22: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Informação de controle (1)

Estado e escalonamento, que inclue: estado do processo (e.g., pronto) nível corrente de prioridade suporte ao escalonamento (e.g., há quanto

tempo o processo está esperando) evento (e.g., identificação do evento que o

processo está esperando)

Page 23: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Informação de controle (2) Estruturação de dados (e.g., relação pai-filho) Comunicação entre processos (e.g., sinais) Privilégios (e.g., tipos de instruções que podem ser

executadas) Gerenciamento de memória (e.g., ponteiro para

tabela de páginas) Propriedade e uso de recursos (e.g., arquivos

abertos)

Page 24: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Funções típicas do núcleo do SO

Preliminares: O que é modo dual de operação? O que é o núcleo do SO?

Funções do núcleo: gerenciamento de processos gerenciamento de memória gerenciamento de E/S funções de suporte

Page 25: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Funções típicas do núcleo do SO

Preliminares: O que é modo dual de operação? O que é o núcleo do SO?

Funções do núcleo: gerenciamento de processos gerenciamento de memória gerenciamento de E/S funções de suporte

Page 26: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Gerenciamento de processos (1)

criação e término de processos escalonamento e despacho chaveamento sincronização e suporte a IPC gerenciamento de PCBs

Funções típicas:

Page 27: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Gerenciamento de processos (2)

atribuição de identificador único e adicionar nova linha à tabela primária de processos

alocação de espaço para a imagem iniciação do PCB adicionar apontador nas listas apropriadas (e.g., lista

de prontos para escalonamento) outras estruturas: e.g., arquivo de contabilização

Criação de processos

Page 28: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Gerenciamento de processos (3)

interrupções relógio ( mudança de estado, escalonamento) E/S falta de memória (página ou segmento)

traps: condições anormais chamada ao sistema (e.g., operação de E/S)

Quando chavear?

Page 29: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Unix: Fork#include <stdio.h>

int main (int argc, char *argv[ ]){int pid;

/* criação de outro processo por fork */pid = fork();

if (pid < 0) {/* ocorreu erro */fprintf(stderr, "Fork falhou");exit(-1);

}else if (pid == 0) { /* processo filho */

execlp ("/bin/ls", "ls", NULL);}else { /* processo pai */

/* processo pai vai esperar o filho terminar */wait(NULL);printf("Filho terminou\n");exit(0);

}}

Page 30: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Gerenciamento de memória

Funções típicas: alocação de espaço de endereçamento aos

processos swapping gerenciamento de páginas e segmentos

Page 31: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Gerenciamento de E/S

Funções típicas: gerenciamento de buffers alocação de canais e dispositivos de E/S

Page 32: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Funções de suporte

Funções típicas: tratamento de interrupção monitoramento contabilidade

Page 33: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Executando o SO O SO é um programa. Ele é um

processo? núcleo não é processo: conceito de processo

só para programas do usuário funções executadas como processo de

usuário: só há chaveamento de modo SO como conjunto de processos de sistema:

funções principais do núcleo como processos

Page 34: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Núcleo separado

Núcleo

P1 P2 Pn

Page 35: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Funções em modo usuário

P1

Funções de chaveamento de processos

Funçõesdo SO

P2

Funçõesdo SO

Pn

Funçõesdo SO

Page 36: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Como processos de sistema

U1

Funções de chaveamento de processos

UnFunçõesdo SO1

Funçõesdo SOm

Page 37: IC - UFF Sistemas Operacionais 2. Processos Texto base: capítulos 3 e 4 Operating Systems: Internals and Design Principles W. Stallings.

IC - UFF

Leitura suplementar

Operating Systems Concepts, A. Silberschatz e P.B. Galvin, Addison-Wesley

Modern Operating Systems, A.S. Tanenbaum, Prentice Hall