Prof. Paulo Cesar F. de Oliveira, BSc, PhD 1
Seção 1.1 Introdução 2
Receita do Bolo Programa (Algoritmo) Ingredientes: dados de entrada Quem prepara (confeiteiro): CPU atividade de: Ler a receita Buscar ingredientes Assar o bolo 3
² O que é? ² Instância de um programa em execução (Silberschatz, 2005) ² Unidade de trabalho em um sistema de tempo compartilhado (Silberschatz, 2005) ² Abstração de um programa em execução (Tanenbaum, 2010) 4
e Humanos São criados (gerados) Tem vida Opcionalmente geram um ou mais processos filhos Eventualmente morrem 5
Programa Entidade passiva Armazenada em disco (executável) Entidade ativa Programa torna-se processo quando executável é carregado na memória 6
Usado para variáveis e constantes globais max 0 na Memória Stack (Pilha) Heap (alocada dinamicamente) Dados 2 Globais não inicializados Dados 1 Globais inicializados Código do Programa (texto) Stack: Contém endereço de retorno das chamadas de função, argumentos para funções e variáveis locais Heap: Contém dados dinâmicos e não inicializados Dados 2: Contém variáveis globais não inicializadas Dados 1: Contém variáveis globais inicializadas Inicializadas na carga do código Código do programa: Contém as instruções (comandos) Somente pra leitura 7
Seção 1.2 Estrutura do 8
Troca de um processo por outro: mudança de contexto 9
Mudança de Contexto Sistema Operacional A B executando Salva registradores do A Carrega registradores do B executando Salva registradores do B Carrega registradores do A executando 10
Partes No. máximo arquivos abertos simultaneamente Prioridade de execução Tamanho do buffer E/S Contexto de Software Contexto de Hardware Armazena conteúdo dos registradores gerais da CPU e uso específico (e.g. PC, SP e PSW Program a Espaço de Endereçamento Área da memória onde instruções e dados do programa são armazenados para execução 11
Identificação Recebe uma identificação única (PID process identification) Recebe uma identificação do usuário que criou (UID user identification) Contexto de Software Quotas Limite dos recursos que um processo pode alocar No. máx. Arquivos abertos ao mesmo tempo Tamanho máx. De memória a alocar No. máx. Operações E/S pendentes Tamanho máx. Buffer E/S No. máx. s que podem ser criados Privilégios Ações que um processo pode fazer (ele mesmo, demais processos e SO) 12
Estrutura de um owner (UID) PID nome registradores gerais prioridade de execução registrador PC data/hora de criação Contexto de Software Contexto de Hardware tem po d e processador registrador SP quotas privilégios Program a Espaço de Endereçamento registrador de status endereços de memória principal alocados 13
Bloco de Controle do (PCB) Mantém informações sobre contexto de hardware, software e espaço de endereçamento ponteiros Estado do processo Nome do processo Prioridade do processo Registradores Limites de memória Lista de arquivos abertos. 14
15
16
17
Seção 1.3 Estados do 18
Estados do Execução (running) Está sendo processado pela CPU Aguarda por um evento externo ou recurso para prosseguir processamento Alguns SO chamado de bloqueado (blocked) Espera (wait) Pronto (ready) Aguarda para ser executado 19
Lista de PCBs nos Estados de Pronto e Espera Lista de processos em estado de pronto. PCB# 5. PCB# 1 Lista de processos em estado de espera... PCB# 9 PCB# 2 PCB# 4 20
Seção 1.4 Mudanças de Estado do 21
Mudança ocorre durante seu processamento em função de eventos originados: Por ele mesmo Pelo SO b) Execução è Espera b Eventos gerados por ele mesmo Operação E/S Evento externo: SO suspende a execução de um processo por um período de tempo Estado de Espera Estado de Execução c a d) Execução è Pronto Quando SO gera eventos Término da fatia de tempo que processo possui para execução d a) Pronto è Execução Aguarda para ser executado c) Espera è Pronto Operação é Estado de Pronto atendida e recurso concedido 22
Seção 1.5 Criação e Eliminação de s 23
Estado de Execução residente não residente Estado de Espera Estado de Pronto Estado de Espera Estado de Pronto 24
Estado de Execução Estado de Término Não poderá mais ser executado Pode ocorrer Término normal Eliminação por outro processo Eliminação forçada por ausência de recursos Estado de Espera Estado de Pronto Estado de Criação SO já criou um novo PCB mas não colocou na lista de processos de estado pronto 25
Seção 1.6 s CPU-bound e I/O-bound 26
E/S E/S UCP UCP (a ) C PU- bound tem po (b) I/O - bound tem po Ligado à CPU Passa maior parte do tempo no estado de execução utilizando processador Ligado à E/S Passa maior parte do tempo no estado de espera realizando grande número de operações de E/S 27
Seção 1.7 s Foreground e Background 28
(a) Foreg round Permite a comunicação direta do usuário com o processo entrada saída term in a l (b) Backg round entrada saída term in a l Não existe a comunicação do usuário com processo arquivo de entrada arquivo de saída 29
Pipe entrada do A A saída do A entrada do B B saída do B 30
Seção 1.8 Formas de Criação de s 31
Logon (login) Interativo Ao fornecer usuário e senha um processo em foreground é criado Usuário interage com o SO usando linguagem de comandos é eliminado quando o usuário encerra a sessão (logout ou logoff) 32
Via Linguagem de Comandos Usuário pode, a partir do seu processo criar novos processos 33
Via Rotina do SO import java.io.ioexception;! public class Cria {! public static void main (String[] args {! " try {! " " Process processo = Runtime.getRuntime().exec( notepad.exe );! " }! " catch (IOException e) {! " " e.printstacktrace();! " }! }! }! pode ser criado a partir de qualquer programa executável com rotinas do SO 34
Seção 1.9 s Independentes, Subprocessos e Threads 35
independente: não existe vínculo entre processo criado e seu criador A Subprocessos: processos criados dentro de uma estrutura hierárquica processo-pai B C D E processo-filho 36
Thread: processo dentro de um processo miniprocesso Contexto de hardware Contexto de hardware Contexto de hardware C on texto d e so ftw a re Thread 1 Thread 2 Espaço de endereçamento Thread 3 Multithread: Único processo pode suportar múltiplos threads 37
Seção 1.10 s do SO 38
Serviços do SO implementados através de processos 39
Seção 1.11 Sinais 40
Uso de Sinais interrupção Sistema Operacional sinal [ctrl- C ] Sinal: permite notificar processos sobre eventos gerados pelo SO ou outros processos Possibilita a comunicação e sincronização entre processos 41
Sinais, Interrupções e exceções Sinais Sistema Operacional Interrupções Exceções Hardware 42
Texto Fonte Arial Normal Máx.14pt / Mín.12pt Preto Centralizado 43