Buscar

Arquitetura de Sistemas Operacionais

Prévia do material em texto

11/05/2011 
1 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
1/36 Prof. Carlos Maurício de B. Mello 
ARQUITETURA DE SISTEMAS OPERACIONAIS 
 
 
 
 
 
CAPÍTULO 5 
PROCESSO 
 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
2/36 Prof. Carlos Maurício de B. Mello 
INTRODUÇÃO 
● O conceito de processo é a base para implementação de um 
sistema multiprogramável; 
● O processador apenas executa instruções; (não sabe qual programa está em execução) 
● A gerência do ambiente é exclusiva do sistema operacional; 
– Controla a execução dos diversos programas; 
– Controla o uso concorrente do processador; 
● A gerência de processos é uma das principais funções de um 
sistema operacional. 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
3/36 Prof. Carlos Maurício de B. Mello 
INTRODUÇÃO 
● Processo é o termo mais utilizado, porém pode-se encontrar os 
termos job e tarefa em outras literaturas. 
● Os processos são executados: 
– Sistemas Multiprogramáveis: Concorrentemente , compartilhando, 
dentre outros recursos, o uso do processador, da memória principal e 
dispositivos de I/O; 
– Sistemas com Múltiplos Processadores: além da concorrência de 
processos pelo uso do processador, como também a execução 
simultânea de processos nos diferentes processadores. 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
4/36 Prof. Carlos Maurício de B. Mello 
ESTRUTURA DO PROCESSO 
● Processos podem ser entendidos inicialmente como um 
programa em execução; 
– Todas as informações importantes e necessárias à execução de um 
programa fazem parte do processo; 
● Processo pode então ser definido como um ambiente onde um 
programa é executado; 
– Esse ambiente, além das informações sobre execução, possui também, o 
quanto de recursos do sistema cada programa pode utilizar, como 
espaço de endereçamento, tempo de processador e área em disco. 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
5/36 Prof. Carlos Maurício de B. Mello 
ESTRUTURA DO PROCESSO 
● Um processo é formado por três partes, conhecidas como: 
 
– Contexto de hardware; 
 
– Contexto de software; e 
 
– Espaço de endereçamento. 
Programa
Contexto de
Software
Contexto de
Hardware
Espaço de
Endereçamento
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
6/36 Prof. Carlos Maurício de B. Mello 
● O contexto de hardware armazena o conteúdo dos 
registradores gerais da CPU, além dos registradores de uso 
específico (Program Counter, Stack Pointer e Reg. Status); 
● No momento que o processo está em execução, seu contexto 
de hardware está armazenado nos registradores da CPU; 
● No momento em que o processo perde a utilização da CPU, o 
sistema salva as informações em seu contexto de hardware. 
CONTEXTO DE HARDWARE 
11/05/2011 
2 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
7/36 Prof. Carlos Maurício de B. Mello 
MUDANÇA DE CONTEXTO 
Carrega registradores do
Processo B
Carrega registradores do
Processo A
Sistema Operacional
Salva registradores do
Processo A
executando
executando
executando
Salva registradores do
Processo B
Processo A Processo B
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
8/36 Prof. Carlos Maurício de B. Mello 
● No Contexto de Software são especificadas características e 
limites de recursos que podem ser alocados pelo processo, como 
por exemplo: 
– O número máximo de arquivos abertos simultaneamente; 
– Prioridade de execução; 
– Tamanho de buffer para operações de E/S. 
● Muitas dessas características são determinadas no momento da 
criação do processo, enquanto outras podem ser alteradas 
durante sua existência; 
CONTEXTO DE SOFTWARE 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
9/36 Prof. Carlos Maurício de B. Mello 
● O contexto de software é composto por 03 (três) grupos de 
informações sobre o processo: 
● IDENTIFICAÇÃO; 
● QUOTAS; E 
● PRIVILÉGIOS. 
CONTEXTO DE SOFTWARE 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
10/36 Prof. Carlos Maurício de B. Mello 
– Cada processo recebe uma identificação única – o PID (Process 
Identification) – representado por um número; 
– Através do PID o sistema operacional ou outros processos podem 
fazer referência ao processo 
– Alguns sistemas operacionais também guardam o nome do 
processo como parte de sua identificação 
CONTEXTO DE SOFTWARE: IDENTIFICAÇÃO 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
11/36 Prof. Carlos Maurício de B. Mello 
– O processo também possui a identificação do usuário que o 
criou (owner); 
– Cada usuário possui também uma identificação (UID – User 
Identification), atribuída ao processo quando de sua criação. 
– Através do UID, pode-se implementar políticas de segurança, 
fazendo com que determinado processo só tenha acesso aos 
arquivos e recursos que o usuário tem acesso. 
CONTEXTO DE SOFTWARE: IDENTIFICAÇÃO 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
12/36 Prof. Carlos Maurício de B. Mello 
– São os limites de cada recurso que o processo pode alocar. 
– Normalmente podem ser configuradas: 
● Número máximo de arquivos abertos simultaneamente; 
● Tamanho máximo da MP e Mem secundária que o processo pode alocar; 
● Número máximo de operações de E/S pendentes; 
● Tamanho do buffer para operações de E/S; 
● número máximo de sub-processos e threads que podem ser criados; 
CONTEXTO DE SOFTWARE: QUOTAS 
11/05/2011 
3 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
13/36 Prof. Carlos Maurício de B. Mello 
– Também conhecidos como Direitos; 
– Definem as ações que um processo pode fazer em relação a ele 
mesmo, aos demais processos e ao sistema operacional; 
– Existem privilégios específicos que afetam o próprio processo e 
privilégios que afetam suas próprias características, além de 
alterar as de outros processos 
CONTEXTO DE SOFTWARE: PRIVILÉGIOS 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
14/36 Prof. Carlos Maurício de B. Mello 
– Privilégios que afetam o sistema são os mais amplos e 
poderosos; pois estão relacionados à operação e gerência do 
ambiente: 
● Desativação do sistema; 
● Alteração de regras de segurança; 
● Criação de outros processos privilegiados; 
● Etc. 
CONTEXTO DE SOFTWARE: PRIVILÉGIOS 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
15/36 Prof. Carlos Maurício de B. Mello 
– A maioria dos sistemas operacionais, possui um 
usuário com todos esse privilégios: 
● No UNIX – é o root; 
● No Windows - é o administrador/administrator; 
● No Open VMS – é o system. 
CONTEXTO DE SOFTWARE: PRIVILÉGIOS 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
16/36 Prof. Carlos Maurício de B. Mello 
ESPAÇO DE ENDEREÇAMENTO 
– É a área de memória pertencente ao processo, onde as 
instruções e os dados do programa são armazenados para 
execução; 
– Cada processo tem seu próprio espaço de endereçamento, que 
deve ser devidamente protegido do acesso dos demais 
processos; 
 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
17/36 Prof. Carlos Maurício de B. Mello 
ESTRUTURA DE UM PROCESSO: CARACTERÍSTICAS 
Programa
Contexto de
Software
prioridade de
execução
registrador PC
data/ hora
de criação
tempo de
processador
registrador SP
quotas
privilégios
endereços de memória
principal alocados
registrador
de status
owner (UID)
PID
nome
registradores
gerais
Contexto de
Hardware
Espaço de
Endereçamento
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
18/36 Prof. Carlos Maurício de B. Mello 
BLOCO DE CONTROLE DO PROCESSO 
– PCB – Process Control Block 
– Estrutura de dados no kernel de um 
sistema operacional,que armazena o 
contexto de hardware, de software e 
o espaço de endereçamento. 
– Todos os PCB ficam residentes na 
memória principal, numa área 
exclusiva do SO. 
.
.
.
.
..
.
.
ponteiros
Estado do processo
Registradores
Nome do processo
Prioridade do processo
Limites de memória
Lista de arquivos abertos
11/05/2011 
4 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
19/36 Prof. Carlos Maurício de B. Mello 
BLOCO DE CONTROLE DO PROCESSO 
– Geralmente as informações contidas em um PCB incluem: 
● Identificador do processo (PID); 
● Registradores da CPU (incluindo o contador de programa); 
● O espaço de endereçamento do processo; 
● A prioridade do processo ; 
● O status do processo; 
● Informações sobre o escalonamento de processo (scheduling); 
● Informações de I/O (dispositivos de hardware ligados ao processo, 
arquivos abertos, etc.). 
● O ponteiro para o próximo PCB; 
 
Fonte: http://pt.wikipedia.org/wiki/Bloco_de_controle_de_processo 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
20/36 Prof. Carlos Maurício de B. Mello 
ESTADOS DO PROCESSO 
– Num sistema multiprogramável, um processo não deve alocar a 
UCP com exclusividade; 
– Os processos passam por diferentes estados ao longo do de sua 
execução. A saber, são eles: 
– Execução (Running); 
– Pronto (Ready); e 
– Espera (Wait). 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
21/36 Prof. Carlos Maurício de B. Mello 
ESTADOS DO PROCESSO: EXECUÇÃO (RUNNING) 
– Um processo é dito nesse estado quando está sendo processado 
pela CPU. 
● Em sistemas monoprocessados, somente um processo estará sendo 
executado em um dado instante; 
● Em sistemas com múltiplos processadores, mais de um processo pode 
estar neste estado. 
– Os processos se alternam na utilização da CPU, seguindo uma 
política estabelecida pelo sistema operacional. 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
22/36 Prof. Carlos Maurício de B. Mello 
ESTADOS DO PROCESSO: PRONTO (READY) 
– Um processo está no estado de pronto, quando aguarda apenas 
para ser executado; 
– O sistema operacional é responsável por determinar quando os 
processos, em estado de pronto, devem fazer uso do 
processador; 
– Este mecanismo é conhecido como escalonamento. 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
23/36 Prof. Carlos Maurício de B. Mello 
ESTADOS DO PROCESSO 
– Listas de PCB nos estados de pronto e espera: 
.
..
..
..
.
.
..
..
..
.
.
..
..
..
.
.
..
..
..
.
.
..
..
..
.
Lista de
processos
em estado
de pronto
PCB# 5
PCB# 9
PCB# 1
PCB# 2 PCB# 4
Lista de
processos
em estado
de espera
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
24/36 Prof. Carlos Maurício de B. Mello 
ESTADOS DO PROCESSO: ESPERA (WAIT) 
– Um processo no estado de espera aguarda por algum evento 
externo ou por algum recurso para prosseguir seu 
processamento; 
– Em alguns sistemas operacionais, esse estado pode ser chamado 
de bloqueado (Blocked). 
– Os processos nesse estado também são organizados em listas 
encadeadas. 
11/05/2011 
5 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
25/36 Prof. Carlos Maurício de B. Mello 
MUDANÇAS DE ESTADO DO PROCESSO 
– Um processo muda de estado durante seu processamento em 
função de eventos originados por ele próprio (eventos 
voluntários) ou pelo sistema operacional (eventos 
involuntários). 
– Basicamente, existem 04 (quatro) mudanças de estado: 
● PRONTO  EXECUÇÃO 
● EXECUÇÃO  ESPERA 
● ESPERA  PRONTO 
● EXECUÇÃO  PRONTO 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
26/36 Prof. Carlos Maurício de B. Mello 
MUDANÇAS DE ESTADO DO PROCESSO 
– PRONTO  EXECUÇÃO 
● Após a criação de um processo, o sistema o coloca em uma lista de 
processos, no estado de pronto; 
– EXECUÇÃO  ESPERA 
● Um processo em execução passa para o estado de espera por eventos 
gerados pelo próprio processo ou por eventos externos; 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
27/36 Prof. Carlos Maurício de B. Mello 
MUDANÇAS DE ESTADO DO PROCESSO 
– ESPERA  PRONTO 
● Um processo em estado de espera passa para o estado de pronto 
quando a operação solicitada é atendida ou o recurso esperado é 
concedido; 
● Um processo no estado de espera SEMPRE terá de passar pelo estado de 
pronto antes de poder novamente selecionado para execução. 
● EXECUÇÃO  PRONTO 
● Um processo em execução passa para o estado de pronto por eventos 
gerados pelo sistema, como por exemplo, o término da fatia de tempo 
que o processo possui para sua execução. 
 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
28/36 Prof. Carlos Maurício de B. Mello 
MUDANÇAS DE ESTADO DO PROCESSO 
Estado de Execução
Estado de Espera Estado de Pronto
a
c
d
b
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
29/36 Prof. Carlos Maurício de B. Mello 
residente
não residente
Estado de Execução
Estado de Espera
Estado de Espera
Estado de Pronto
Estado de Pronto
MUDANÇAS DE ESTADO DO PROCESSO 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
30/36 Prof. Carlos Maurício de B. Mello 
CRIAÇÃO E ELIMINAÇÃO 
– Processos são criados e eliminados por diversos motivos; 
– A criação ocorre a partir do momento em que o SO adiciona 
um novo PCB à sua estrutura e aloca um espaço de 
endereçamento na memória para uso; 
– No caso da eliminação, todos os recursos associados ao 
processo são desalocados e o PCB eliminado pelo SO; 
– Além dos três estados , a maioria dos sistemas operacionais 
estabelece ainda, dois estados adicionais para os momentos de 
criação e eliminação de um processo. 
11/05/2011 
6 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
31/36 Prof. Carlos Maurício de B. Mello 
CRIAÇÃO E ELIMINAÇÃO 
– CRIAÇÃO (NEW) 
● Um processo é dito em estado de criação quando o sistema 
operacional já criou um novo PCB, porém ainda não pode 
colocá-lo na lista de processos em estado de pronto. 
– Isto acontece porque alguns sistemas operacionais 
limitam a quantidade de processos ativos em função dos 
recursos disponíveis ou de desempenho. 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
32/36 Prof. Carlos Maurício de B. Mello 
CRIAÇÃO E ELIMINAÇÃO 
– TERMINADO (EXIT) 
● Um processo no estado de terminado não poderá ter mais 
nenhum programa executado em seu contexto, porém o 
sistema operacional ainda mantém suas informações de 
controle presentes na memória. 
– Um processo nesse estado não é mais considerado ativo, mas 
como o PCB ainda existe, o sistema operacional pode recuperar 
informações. 
– Após essa recuperação, o processo pode deixar de existir. 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
33/36 Prof. Carlos Maurício de B. Mello 
CRIAÇÃO E ELIMINAÇÃO 
Estado de Execução Estado de Término
Estado de Espera Estado de Pronto Estado de Criação
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
34/36 Prof. Carlos Maurício de B. Mello 
EXERCÍCIO DE FIXAÇÃO 
– Considere 4 processos prontos para executar: A, B, C e D. 
Considere que o sistema operacional a cada 1ms troca o 
processo em execução. Ao trocar o processo em execução, 
coloca-o no final da fila de prontos e pega o primeiro da fila. 
Suponha as seguintes características dos processos: 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
35/36 Prof. Carlos Maurício de B. Mello 
EXERCÍCIO DE FIXAÇÃO 
– A – demora 2ms para ser executado (sem contar o tempo de 
espera de E/S). A cada 0.5ms de execução é feita uma 
operação de E/S que demora 2.5ms para serconcluída. 
– B – demora 6ms para ser executado e não faz operações de E/S 
– C – demora 3ms para ser executado e não faz operações de E/S 
– D – demora 3ms para ser executado (sem contar o tempo de 
espera de E/S). Depois de ser executado 1.5ms ele faz uma 
operação de E/S que demora 4ms para ser executada. 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
36/36 Prof. Carlos Maurício de B. Mello 
EXERCÍCIO DE FIXAÇÃO 
– A cada 0.5ms mostre: 
– Qual processo está sendo executado; 
– Qual é a fila de prontos; 
– Qual é a fila de bloqueados; e 
– Qual o Tempo de Turnaround de cada processo.

Continue navegando