Você está na página 1de 22

22/09/2014

1
Prof. tila Marcelus
Operacionais
Sistemas
Processos e Threads
o conjunto necessrio de informaes para que o sistema operacional
implemente a concorrncia de programas. (Machado e Maia, 200!
Processo O que ?
Abstrao de um programa em execuo. (Tanenbaum, 2009)
22/09/2014
2
Fazendo uma analogia
Receita = Programa
Ingredientes= Dados de Entrada
Coneiteiro= Processador !CP"#
22/09/2014
3
"er a receita
#uscar os ingredientes
$ssar o %olo
$ti%idades desempen&adas pelo coneiteiro = Processo
Ilustrando a concorr'ncia entre tr's programas
22/09/2014
4
formado por trs partes&
'onte(to de )ard*are
'onte(to de +oft*are
,spao de ,ndereamento
-untos mantm todas as
informaes necessrias para
a e(ecu.o de um programa.
Estrutura do Processo
22/09/2014
5
$rma/ena o conte0do dos registradores gerais da '12, al3m dos registradores
de uso espec4fico como program counter (1'!, stack pointer (+1! e registrador
de status.
Conte(to de )ard*are
program counter (1'! 3 usado pela '12 para controlar e condu/ir ordenadamente a %usca do
endereo da pr5(ima instru.o a ser e(ecutada.
Stack pointer (+1! tem a fun.o de apontar para a pr5(ima locali/a.o dispon46el de uma pilha.
$ mudana de conte(to, %ase para a
implementa.o da concorrncia consiste
em sal6ar o conte0do dos registradores
do processo que est dei(ando a '12 e
carreg7los com os 6alores do no6o
processo que ser e(ecutado.
Conte(to de )ard*are
22/09/2014
6
+.o especificados limites e caracter4sticas dos recursos que podem ser
alocados pelo processo.
$ maior parte das informaes do conte(to de soft*are pro63m de um
arqui6o do sistema operacional, chamado 8arqui6o de usurio9.
: conte(to de soft*are 3 composto trs grupos de informaes&
;dentifica.o
<uotas
1ri6il3gios
Conte(to de Sot*are
Identificao Quotas Privilgios
=ece%e uma identifica.o
0nica (1;> ? process
identification!
=ece%e uma identifica.o
do usurio que criou (2;>
? user identification!
"imite dos recursos que
um processo pode alocar
@A m(. arqui6os a%ertos
ao mesmo tempo
Bamanho m(. de
mem5ria a alocar
@A m(. operaes ,C+
pendentes
Bamanho m(. %uffer ,C+
@A m(. processos que
podem ser criados
$es que um processo
pode fa/er (ele mesmo,
demais processos e +:!
+rupos de Inorma,-es . Conte(to de Sot*are
'ontas de $dministrador&
UNIX ? root
Windows ? $dministrator
Open VM 7 sDstem
22/09/2014
7
a rea de mem5ria pertencente ao processo onde instrues e dados do
programa s.o arma/enados para e(ecu.o.
'ada processo possui seu pr5prio espao de endereamento, que de6e ser
de6idamente protegido do acesso dos demais processos.
Espa,o de Endere,amento
Processo na /em0ria
2sado para
6ari6eis e
constantes
glo%ais
tac!" 'ont3m endereo de retorno das chamadas de
fun.o, argumentos para funes e 6ari6eis locais
#eap" 'ont3m dados dinEmicos e n.o iniciados
$ados %" 'ont3m 6ari6eis glo%ais n.o iniciali/adas
$ados &" 'ont3m 6ari6eis glo%ais iniciali/adas
;niciali/adas na carga do c5digo
'(digo do progra)a" 'ont3m as instrues (comandos!
+omente pra leitura
22/09/2014
8
Caracter1sticas da Estrutura de um Processo
: processo 3 implementado pelo sistema
operacional atra63s dessa estrutura de dados.
atra63s do 1'# que o sistema operacional
mant3m todas as informaes so%re a estrutura
do processo.
=esidem na mem5ria principal em uma rea
e(clusi6a do sistema operacional.
2loco de Controle do Processo !PC2#
22/09/2014
9
3istagem de Processos no 3inu(
3istagem de Processos no 4indo*s
22/09/2014
10
3istagem de Processos no 4indo*s
:s processos passam por diferentes estados ao longo do seu processamento,
em fun.o de e6entos gerados pelo sistema operacional ou pelo pr5prio
processo.
2m processo ati6o pode encontrar7se em trs diferentes estados&
,(ecu.o (running! ? realmente usando a '12 naquele instante
1ronto (readD! ? e(ecut6elF temporariamente parado para dar lugar a outro
processo
,spera (*ait! ? incapa/ de e(ecutar enquanto n.o ocorrer um e6ento e(terno
Estados do Processo
22/09/2014
11
o sistema operacional quem
determina a ordem e os crit3rios
pelos quais os processos de6em fa/er
uso da '12 (escalonamento!.
:s 6rios processos em estado
81ronto9 s.o organi/ados em listas
encadeadas e s.o ordenados de
acordo com sua importEncia.
:s processos em estado 8,spera9,
tam%3m s.o organi/ados em listas
encadeadas.
3ista de PC2s nos Estados de Pronto e Espera
2m processo muda de estado durante
seu processamento em fun.o de
e6entos originados por ele pr5prio
(eventos voluntrios! ou pelo sistema
operacional (eventos involuntrios!.
/udan,a de Estado do Processo
22/09/2014
12
$p5s a cria.o de um processo, o
sistema operacional o coloca em uma
lista de processos no estado de
81ronto9, onde fica aguardando para ser
e(ecutado.
Pronto E(ecu,5o
2m processo em 8,(ecu.o9 passa para
8,spera9 por e6entos gerados pelo
pr5prio processo, como uma opera.o
de ,C+, ou por e6entos e(ternos.
E(ecu,5o Espera
22/09/2014
13
2m processo em 8,spera9 passa para
81ronto9 quando a opera.o solicitada 3
atendida ou o recurso esperado 3
concedido.
Espera Pronto
2m processo em 8,(ecu.o9 passa para
81ronto9 por e6entos gerados pelo
sistema operacional, como o termino da
fatia de tempo que o processo possui
para sua e(ecu.o.
E(ecu,5o Pronto
22/09/2014
14
S*apping
Mem5ria 1rincipal
Mem5ria +ecundria
Swap out
Swap in
$ cria.o de um processo ocorre a partir da adi.o
de um no6o #loco de 'ontrole do 1rocesso (1'#! na
estrutura do sistema operacional e a aloca.o de
endereamento na mem5ria.
@a elimina.o do processo, todos os recursos s.o
desalocados e o 1'# eliminado.
Cria,5o e Elimina,5o de Processos
22/09/2014
15
Cria,5o e Elimina,5o de Processos
B3rmino normal de e(ecu.o
,limina.o por um outro
processo
,limina.o forada por
ausncia de recursos
dispon46eis
CP".6ound e I7O.6ound
22/09/2014
16
Foreground e 2ac8ground
Pipe
22/09/2014
17
"ogon ;nterati6o
Cria,5o de Processos
Administrator
G 2surio interage com o +:
usando linguagem de
comandos
G 1rocesso 3 eliminado
quando o usurio encerra
a sess.o (logout ou logoff!
Hia "inguagem de 'omandos
: processo criado pode ser foreground ou background, dependendo do
comando de cria.o utili/ado.
Cria,5o de Processos
22/09/2014
18
Hia =otina do +istema :peracional
,(emplos de rotinas do sistema para a cria.o de processos&
sys$createprocess no :pen HM+
fork no 2@;I
CreateProcess no M+ Jindo*s
Cria,5o de Processos
Processos Independentes e Su6processos
+.o maneiras diferentes de implementar a concorrncia dentro de uma
aplica.o.
+u%processos podem compartilhar
quotas com o processo7pai
+empre que um no6o processo 3
criado, o sistema de6e alocar
recursos, consumindo '12
$ sincroni/a.o entre os processos
3 pouco eficiente, pois cada um
possui seu pr5prio endereamento
22/09/2014
19
Bhread ? processo dentro de um
processo
'ada thread possui seu pr5prio conte(to de
hard*are, por3m compartilham o mesmo
conte(to de soft*are e espao de
endereamento
9&read
Multithread ? um 0nico processo pode
suportar m0ltiplos
threads
/ultit&read
22/09/2014
20
$lguns dos ser6ios que o sistema operacional pode implementar atra63s de
processos.
*O*
Processos do Sistema Operacional
Auditoria e
Segurana
Servios de
rede
Contabilizao
do uso de
recursos
Contabilizao
de erros
Gerncia de
impresso
Gerncia de
jobs batch
Temporizao
Comunicao
de eventos
Interface de
comandos
(shell)
1ermitem notificar processos so%re e6entos gerados pelo +: ou outro processo
1ossi%ilita a comunica.o e sincroni/a.o entre processos
Sinais
22/09/2014
21
K. >efina o conceito de processo.
2. 1or que o conceito de processo 3 t.o importante no projeto de sistemas multiprogram6eisL
M. poss46el que um programa e(ecute no conte(to de um processo e n.o e(ecute no conte(to de um
outroL 1or quL
N. <uais partes compem um processoL
O. : que 3 conte(to de hard*are de um processo e como 3 a implementa.o da troca de conte(toL
P. <ual a fun.o do conte(to de soft*areL ,(emplifique cada grupo de informa.o.
Q. : que 3 espao de endereamento de um processoL
. 'omo o sistema operacional implementa o conceito de processoL <ual a estrutura de dados indicada
para organi/ar os di6ersos processos na mem5ria principalL
R. >efina os cinco estados poss46eis de um processo.
K0. > um e(emplo que apresente todas as mudanas de estado de um processo, juntamente com o
e6ento associado a cada mudana.
E(erc1cios p:g;<=
22/09/2014
22
KK. >iferencie processos multithreads, su%processos e processos independentes
K2. ,(plique a diferena entre processos foregroung e %acSground.
KM. <ual a rela.o entre processo e arquitetura microSernelL
KN. > e(emplos de aplicaes '127%ound e ;C:7%ound.
KO. -ustifique com um e(emplo a frase 8o sinal est para o processo assim como as interrupes e
e(cees est.o para o sistema operacional9.
KP. ,(plique como a elimina.o de um processo utili/a o mecanismo de sinais.
E(erc1cios p:g;<=

Você também pode gostar