Upload
brunomachadodemelo
View
29
Download
1
Embed Size (px)
Citation preview
Santarm - Par
UNIVERSIDADE FEDERAL DO OESTE DO PAR UFOPAINSTITUTO DE ENGENHARIA E GEOCINCIAS IEG
PROGRAMA DE COMPUTAO
Sistemas Operacionais
Processos
Prof. Clayton Santos
Sistemas OperacionaisClayton A. M. Santos
Sumrio
Conceito de Processos Introduo
Estados de Processo
Gerenciamento de processo
Interrupes
Comunicao interprocessos
2
Sistemas OperacionaisClayton A. M. Santos
Objetivos
Nesse captulo voc ver: O conceito de um processo
O ciclo de vida de um processo
Estados de um processo e transies de estado
Blocos de controle de processos (PCBs)/descritores de processos
Como os processadores transitam entre processos via chaveamento de contexto
Como interrupes habilitam o hardware a se comunicar com o software
Como os processos conversam uns com os outros via comunicao interprocessos (IPC)
3
Sistemas OperacionaisClayton A. M. Santos
Introduo
Os computadores executam vrias operaes aomesmo tempo
Por exemplo, compilar um programa, enviar um arquivopara impressora, exibir uma pgina Web, reproduzirmsicas e receber mensagens de correio eletrnico.
Os processos permitem que os sistemas executem emonitorem atividades simultneas.
Os processos transitam entre estados de processo.
Os sistemas operacionais executam operaes pormeio de processos, como criar, destruir, suspender,retornar e acordar.
4
Sistemas OperacionaisClayton A. M. Santos
Definio de Processo
Um programa em Execuo
Um processo tem seu prprio espao de endereo, queconsiste em:
Regio de texto Armazena o cdigo que o processador executa
Regio de dados Armazena variveis e memria alocada dinamicamente
Regio de pilha Armazena instrues e variveis locais chamadas ativas ao
procedimento
5
Sistemas OperacionaisClayton A. M. Santos
Estrutura do Processo
6
Instr. 1.1Instr. 1.2Instr. 1.3Instr. 1.4Instr. 1.5
.
.
.
PROG_1
Informaes de
Registradores
Instr. 2.1Instr. 2.2Instr. 2.3Instr. 2.4Instr. 2.5
.
.
.
PROG_2
Informaes de
Registradores
Instr. 3.1Instr. 3.2Instr. 3.3Instr. 3.4Instr. 3.5
.
.
.
PROG_3
Informaes de
Registradores
Processo X Processo Y Processo Z
Ins
tr. 1.1
Ins
tr. 1.2
Ins
tr. 1.3
Ins
tr. 1.4
Ins
tr.S
O
Ins
tr. 2.1
Ins
tr. 2.2
Ins
tr. SO
Ins
tr. 3.1
Ins
tr.3
.2
Ins
tr. 3.3
Ins
tr. 3.4
Ins
tr. SO
Ins
tr.1
.5
. . .t0 t4 t5 t7 t8 t12 t13
t1 t2 t3
t
Sistemas OperacionaisClayton A. M. Santos
Estados de processo: ciclo de vida de um processo
Um processo passa por uma srie de estados deprocesso distinto
Estado de Execuo
O processo est sendo executado em um processador
Estado de Pronto
O processo poderia ser executado em um processador sehouvesse algum disponvel.
Estado bloqueado
O processo est aguardando a ocorrncia de algum aventopara prosseguir
7
Sistemas OperacionaisClayton A. M. Santos
Gerenciamento de processo
O sistema operacional mantm uma lista de prontos euma lista de bloqueados para armazenar referncias aprocessos que no esto sendo executados.
Os sistemas operacionais prestam certos serviosfundamentais aos processos. Por exemplo:
Criam processos;
Destroem processos;
Suspendem processos;
Retomam processos;
Mudam a prioridade de um processo.
Bloqueiam processos
Acordam (ativam) processos
Despacham processos,8
Sistemas OperacionaisClayton A. M. Santos
Estados de Processo
O ato de designar um processador ao primeiroprocesso da lista de prontos denominado dedespacho;
O sistema operacional usa o temporizador de intervalopara permitir que um processo seja executadodurante um intervalo de tempo especfico;
A multitarefa cooperativa permite que todo processoseja executado at o fim.
9
Sistemas OperacionaisClayton A. M. Santos
Estados de Transio
At agora existem quatro estados de transiopossveis
Quando um processo despachado, ele transita depronto para em execuo;
Quando o quantum de um processo expira, ele transitade em execuo para pronto;
Quando um processo bloqueado, ele transita de emexecuo para bloqueado;
Quando um evento ocorre, ele transita de bloqueadopara pronto.
10
Sistemas OperacionaisClayton A. M. Santos
Estados de Transio
Transies de estado de processo
11
Sistemas OperacionaisClayton A. M. Santos
Processos - Criao
12
A criao de um processo ocorre a partir do momentoem que o sistema operacional adiciona um novo PCB sua estrutura e aloca um espao de endereamentona memria para uso.
Os processos podem ser criados a partir:
Logon Interativo Ao fornecer username e senha
Via Linguagem de Comandos Prompt de comando
Via Rotina do Sistema Operacional A partir de qualquer programa executvel
Ao executar um programa, outros processos podero serhabilitados e executados.
Sistemas OperacionaisClayton A. M. Santos
Processos - Eliminao
13
Um processo no estado de terminado no poder termais nenhum programa executado no seu contexto,porm o sistema operacional ainda mantm suasinformaes de controle presentes na memria.
Os processos podem ser eliminados a partir:
Logout ou logoff Trmino Normal de Execuo Eliminao por um outro processo; Eliminao forada por ausncia de recursos disponveis no
sistema.
Sistemas OperacionaisClayton A. M. Santos
Blocos de Controle de Processo (PCBs)/Descritores de Processo
Os PCBs mantm as informaes que sistemaoperacional precisa para gerenciar o processo
Normalmente, eles incluem as seguintes informaes:
Nmero de identificao do processo (PID);
Estado do processo;
Contador de programa;
Prioridade de escalonamento;
Credencias;
Um ponteiro para o processo-pai
Ponteiros para os processos-filho
Ponteiros para localizar os dados e instrues do processo namemria;
Ponteiros para recursos alocados.14
Sistemas OperacionaisClayton A. M. Santos
Blocos de Controle de Processo (PCBs)/Descritores de Processo
Tabela de Processos
O sistema operacional mantm ponteiros para cadaPCB do processo em uma tabela de processos nombito total do sistema ou por usurio
Permite acesso rpido aos PCBs
Quando um processo encerrado, a tabela deprocessos retira o processo da tabela e disponibilizatodos os seus recursos.
15
Sistemas OperacionaisClayton A. M. Santos
Blocos de Controle de Processo (PCBs)/Descritores de Processo
Tabela de Processos e Blocos de Controle de Processo
16
Sistemas OperacionaisClayton A. M. Santos
Operaes de Processo
Um processo pode gerar um novo processo
O processo de criao chamado de processo-pai;
O processo criado chamado de processo-filho;
Cada processo-filho criado por exatamente umprocesso-pai;
Quando um processo-pai desfeito, os sistemasoperacionais em geral respondem de duas formas:
Destroem todos os processos-filho desse processo-pai;
Permitem que os processos-filho prossigamindependentemente dos processos-pai.
17
Sistemas OperacionaisClayton A. M. Santos
Operaes de Processo
Hierarquia de criao de processo
18
Sistemas OperacionaisClayton A. M. Santos
Operaes de Processo
Hierarquia de processos no Linux
19
Criado quando o ncleo carregado
Gerenciamento de memria
Gerenciamento de dispositivos
Escrita de dados
Gerenciamento de arquivos
Carrega mensagens
lanadas pelo kernel
Editor de texto
Informaes do usurio
Permisso
Sistemas OperacionaisClayton A. M. Santos
Suspender e Retornar
Suspenso de um processo O processo retirado indefinidamente da disputa por
tempo em um processador, sem ser destrudo;
til para detectar ameaas segurana e para depuraode software;
A suspenso pode ser iniciada pelo processo que est sendosuspenso ou por outro processo;
O processo suspenso precisa ser retomado por outroprocesso:
Existem dois estados de suspenso:
Suspenso-pronto;
Suspenso bloqueado.
20
Sistemas OperacionaisClayton A. M. Santos
Suspender e Retornar
Transies de estado de processo com suspenso e retomada
21
Sistemas OperacionaisClayton A. M. Santos
Chaveamento de contexto
O sistema operacional realiza um chaveamento de contextopara interromper um processo em execuo e comear aexecutar um processo previamente pronto;
Salva o contexto de execuo anterior do processo emexecuo no PCP desse processo;
Carrega o contexto de execuo anterior do processopronto no PCP desse ltimo
Deve ser transparente aos processos
O processador no pode realizar nenhuma computaotil
O sistema operacional precisa, portanto, diminuir o tempo dechaveamento de contexto.
executado no hardware por algumas arquiteturas.
22
Sistemas OperacionaisClayton A. M. Santos
Chaveamento de contexto
Chaveamento de contexto
23
Sistemas OperacionaisClayton A. M. Santos
24
Processos Foreground
Permite a comunicao direta do usurio com oprocesso durante o seu processamento.
Tanto o canal de entrada, quanto o canal de sadaesto associados com teclado, monitor e mouse,permitindo a interao com o usurio.
Entrada Sada
Terminal Terminal
Sistemas OperacionaisClayton A. M. Santos
25
Processos Background
No existe comunicao com o usurio durante oprocessamento.
Os canais de E/S no esto associados a nenhumdispositivo de E/S, mas em geral a arquivos de E/S.
Um exemplo o processamento do tipo batch.
Entrada Sada
Arquivo de Entrada
Arquivo de Sada
Sistemas OperacionaisClayton A. M. Santos
26
Processos CPU-bound
Um processo definido como CPU-bound (ligado aUCP) quando passa a maior parte do tempo no estadode execuo, utilizando o processador ou pronto.
Realiza pouqussimas operaes de leitura e gravao
Pode ser encontrado em aplicaes cientficas,devido a efetuao de diversos clculos
UCP
E/S
(a) CPU-bound
Sistemas OperacionaisClayton A. M. Santos
27
Processos IO-bound
Um processo definido como IO-bound (ligado E/S) quando passa a maior parte do tempo no estadode espera.
Realiza elevadas operaes de E/S.
Pode ser encontrado em aplicaes comerciais, poisse baseiam em leitura, processamento e gravao.
UCP
E/S
(a) IO-bound
Sistemas OperacionaisClayton A. M. Santos
28
Interrupes
As interrupes habilitam o software a responder asinais de hardware
Podem ser iniciadas por um processo em execuo A interrupo denominada desvio (trap);
considerada sncrona em relao operao do processo;
Por exemplo, quando um processo tenta realizar uma aoilegal, como dividir por zero ou referir-se a uma memriaprotegida
Podem ser iniciadas por algum evento que pode ou noestar relacionado ao processo em execuo Nesse caso, considerada assncrona em relao operao
do processo;
Por exemplo, quando uma tecla pressionada no teclado ou omouse movido
Sistemas OperacionaisClayton A. M. Santos
29
Processamento de Interrupes
Tratamento de interrupes Assim que recebe uma interrupo, o processador conclui
a execuo da instruo corrente e faz uma pausa noprocesso corrente;
Em seguida, o processador executa uma das funes detratamento de interrupo do ncleo;
O tratador de interrupo determina como o sistema deveresponder;
Os tratadores de interrupo so armazenados em umconjunto de ponteiros denominado vetor de interrupo;
Aps a concluso do tratador de interrupo, o processointerrompido restaurado e executado ou o processo
seguinte executado.
Sistemas OperacionaisClayton A. M. Santos
Processamento de Interrupes
Tratamento de interrupes
30
Sistemas OperacionaisClayton A. M. Santos
31
Classes de Interrupes
As interrupes suportadas dependem daarquitetura do sistema
A especificao IA-32 distingue os dois tipos de sinal que um processador pode receber:
Interrupes Notificam o processador de que ocorreu um evento ou que
o status de um dispositivo externo mudou.
So geradas por dispositivos externos a um processador.
Excees Indicam que ocorreu um erro, seja no hardware, seja em
decorrncia de uma instruo de software.
So classificadas como falhas, desvios ou abortos.
Sistemas OperacionaisClayton A. M. Santos
Classes de Interrupes
Tipos comuns de interrupes reconhecidos pela arquitetura Intel IA-32
32
Sistemas OperacionaisClayton A. M. Santos
Classes de Interrupes
Classes de excees do Intel IA-32
33
Sistemas OperacionaisClayton A. M. Santos
34
Comunicao Interprocessos
Muitos sistemas operacionais fornecemmecanismos para comunicaes interprocessos(IPC).
Os processos precisam se comunicar uns com osoutros em ambientes de multiprogramao ou de rede.
Por exemplo, um navegador Web pode recuperar dados de umservidor remoto.
essencial para processos que precisam coordenar(sincronizar) atividades para alcanar uma metacomum.
Sistemas OperacionaisClayton A. M. Santos
35
Sinais
So interrupes de software que notificam oprocesso de que um evento ocorreu.
No permitem que os processos especifiquem dadospara trocar com outros processos.
Os processos podem capturar, ignorar ou mascarar umsinal.
Um processo captura um sinal especificando uma rotina que osistema operacional chama quando libera o sinal.
Um processo ignora um sinal dependendo da ao-padro dosistema operacional para trat-lo.
Um processo mascara um sinal instruindo o sistemaoperacional a no liberar sinais desse tipo at que o processobloqueie a mscara do sinal.
Sistemas OperacionaisClayton A. M. Santos
36
Prxima Aula
Threads