7/25/2019 Chapter03 Sp
1/59
1
Control y Descripcin de Procesos
Chapter 3
7/25/2019 Chapter03 Sp
2/59
2
Requerimientos de un
Sistema Operativo Intercalar la ejecucin de multiples
procesos para maimi!ar la utili!acin
del procesador o"reciendo a la ve! un
tiempo de respuesta ra!ona#le
$si%nar los recursos a los procesos
Dar soporte a la comunicacin entre
procesos y a la creacin de procesos por
parte del usuario
7/25/2019 Chapter03 Sp
3/59
3
Conceptos
&na computadora consiste en una coleccin derecursos de hard'are
(as aplicaciones se desarrollan para reali!aruna tarea determinada
)s Ine"iciente que las aplicaciones sean escritasdirectamente para un hard'are dado*
&n Sistema Operativo provee un uso adecuadode los recursos+ se%uridad+ y una inter"a!
consistente con las aplicaciones* &n SO provee una representacin a#stracta yuni"orme del los recursos que pueden serrequeridos y accedidos por las aplicaciones
7/25/2019 Chapter03 Sp
4/59
,
Control de ejecucin de
$plicaciones
(os Recursos pueden estar disponi#les a
multiples aplicaciones
)l Procesador es compartido entre
multiples aplicaciones
)l procesador y los dispositivos I-O
pueden ser usados e"icientemente
7/25/2019 Chapter03 Sp
5/59
.
Proceso
&n pro%rama en ejecucin
&na instancia de un pro%rama en ejecucin
&na entidad que puede ser asi%nada y
ejecutada en un procesador
&na unidad de actividad caracteri!ada por la
ejecucin de una secuencia de instrucciones+
un estado actual+ y un conjunto asociado deinstrucciones de sistema
7/25/2019 Chapter03 Sp
6/59
/
)lementos de un Proceso
Identi"icador
)stado
Prioridad
Pro%ram counter
Punteros a 0emoria
&n conteto
In"ormacin de estado de I-O
In"ormacin de conta#ilidad
7/25/2019 Chapter03 Sp
7/59
1
loque de Control de Proceso
Contiene los elementos del proceso
Creado y administrado por el sistema
operativo
Permite la coordinacin y la cooperacin
entre procesos
7/25/2019 Chapter03 Sp
8/59
Process Control loc4
Identifer
Figure 3.1 Simplifed Process Con
State
Priority
Program counter
Memory pointers
Context data
I/ statusin!ormation
"ccountingin!ormation
7/25/2019 Chapter03 Sp
9/59
5
6ra!a de un Proceso
Secuencia de instrucciones que se
ejecutan para dicho proceso
)l comportamiento del procesador puede
caracteri!arse mostrando la "orma en que
se intercalan las tra!as de varios
procesos
)l despachador intercam#ia el
procesador entre un proceso y otro
7/25/2019 Chapter03 Sp
10/59
78
)jemplo de ejecucin
Main Memory"ddress
#ispatc$er
Process "
Process B
Process C
Program Coun%
1%%
&%%%
'%%%
'%%%
1(%%%
Figure 3.( Snaps$ot o! )xample )xecutio
at Instruction Cycle 13
7/25/2019 Chapter03 Sp
11/59
77
6ra!a de un Proceso
7/25/2019 Chapter03 Sp
12/59
72
7/25/2019 Chapter03 Sp
13/59
73
Modelo de procesos con dos
estados
un proceso puede estar en uno de estos dos
estados
9 )jecucin :Runnin%;
9
7/25/2019 Chapter03 Sp
14/59
7,
Cola de procesos en I>O+ :>irst=in+ >irst=Out;
Cada #loque de la cola representa a un proceso)l comportamiento del despachador se puede descri#ir en t?rminos de un dia%rama
de colas
)l procesador opera se%@n un turno rotatorio :round=ro#in;
7/25/2019 Chapter03 Sp
15/59
7.
Creacin de un
proceso
en un entorno de tra#ajo por lotes+ un proceso se crea
como respuesta a la remisin de un tra#ajo*
)n un entorno interactivo+ se crea un proceso cuando
un nuevo usuario intenta conectarse el sistema operativo crea un proceso para dar servicio
a una aplicacin sin que el usuario ten%a que esperar+
ej* imprimir
un proceso puede ori%inar la creacin de otro proceso(process spawning)+ ej* servidor de archivos puede
crear un nuevo proceso por cada solicitud que reci#a
7/25/2019 Chapter03 Sp
16/59
7/
Terminacin normal )l proceso ejecuta una llamada a un servicio del SO
que indica que ha terminado de ejecutar
Tiempo limite excedido )l proceso se ha ejecutado mas que el limite de totalespeci"icado* Aay varias posi#ilidades para la clase detiempo que se mide* )ntre ?stas se incluyen el tiempo totaltranscurrido :Btiempo de reloj;+ el tiempo que se ha estadoejecutando y+ en el caso de un proceso interactivo+ el tiempo
transcurrido desde que el usuario real reali! su @ltimaentrada de datos
No hay memoria disponible )l proceso necesita ms memoria de la que el sistema lepuede proporcionar
Violacin de limites )l proceso trata de acceder a una posicin de memoria a laque no le est permitido acceder
Error de proteccin )l proceso intenta utili!ar un recurso o un archivo que no leest permitido utili!ar+ o trata de utili!arlo de "ormaincorrecta+ como escri#ir en un archivo que es solo delectura*
Error Aritmtico )l proceso intenta hacer un clculo prohi#ido+ como unadivisin por cero+ o trata de almacenar un n@mero mayor
del que el hard'are acepta*
6erminacin de un proceso
7/25/2019 Chapter03 Sp
17/59
71
6erminacin de un procesoTiempo mx de espera rebasado )l proceso ha esperado ms all del tiempo
mimo especi"icado para que se produ!ca cierto suceso*
Fallo de E/S Se produce un error en la entrada o la salida+ tal como laincapacidad de encontrar un archivo+ un "allo de r-'despu?s de un n@mero mimo de intentos :cuando+ porejemplo+ hay un re%in de"ectuosa en una cinta;+ o unaoperacin ile%al :como intentar leer de una impresora;
Instrccin in!lida )l proceso intenta ejecutar una instruccin ineistente :a
menudo como resultado de un salto a una !ona de datospara intentar ejecutar los datos;*
Instrccin pri!ile"iada )l proceso intenta usar una instruccin reservada para elsistema operativo
Mal so de los datos &n elemento de dato es de un tipo equivocado o no estiniciali!ado*
Inter!encin del oper o del S# Por al%una ra!n el operador o el sistema operativo terminacon el proceso :por ejemplo+ si eiste un inter#loqueo;*
Terminacin del padre Cuando un proceso padre "inali!a+ el sistema operativopuede diseEarse para terminar automticamente con todossus descendientes
Solicitd del padre &n proceso padre tiene normalmente la autoridad de
terminar con cualquiera de sus descendientes
7/25/2019 Chapter03 Sp
18/59
7
(imitaciones del modelo
7/25/2019 Chapter03 Sp
19/59
75
0odelo de cinco estados
)jecucin :Runnin%;
(isto :Ready;
loqueado :loc4ed;
7/25/2019 Chapter03 Sp
20/59
28
0odelo de cinco estados
7/25/2019 Chapter03 Sp
21/59
27
Process States
7/25/2019 Chapter03 Sp
22/59
22
&tili!acin de dos colas
Cuando se produce un suceso+ el so de#e recorrer toda la cola
de loqueados #uscando aquellos procesos que esperan al suceso
7/25/2019 Chapter03 Sp
23/59
23
0ultiples colas de loqueados
)-ent 1 ait
)-ent ( ait
)-entnait
#ispatc$eleaseeady 0ueue
"dmitProcessor
imeout
)-ent 1 0ueue)-ent 1ccurs
)-ent (ccurs
)-entnccurs
)-ent ( 0ueue
)-entn0ueue
*2, Multiple 2locked ueues
7/25/2019 Chapter03 Sp
24/59
2,
Procesos suspendidos
)l procesador es tan rpido comparadocon la I-O que todos los procesos enmemoria podrFan estar #loqueados
)l intercam#io :S'ap; de estos procesosa disco podrFa li#erar memoria para otroproceso o para crear uno nuevo
)l estado #loqueado se trans"orma asuspendido cuando el proceso est endisco
7/25/2019 Chapter03 Sp
25/59
2.
&n estado suspendido
7/25/2019 Chapter03 Sp
26/59
2/
&n estado suspendido
6odos los procesos que "ueron suspendidos esta#an en el estado loqueadoSon necesarios dos estados nuevosG
Bloqueado y suspendido: )l proceso est en disco esperando un suceso*
Listo y suspendido: )l proceso est en disco pero est disponi#le para
su ejecucin tan pronto como se car%ue en la memoria principal*
7/25/2019 Chapter03 Sp
27/59
21
6'o Suspend States
7/25/2019 Chapter03 Sp
28/59
2
Ra!ones para suspender un
proceso
Intercambio )l sistema operativo necesita li#erar su"iciente memoriaprincipal para car%ar un proceso que est listo paraejecutarse
#tra ra$n del S# )l sistema operativo puede suspender un proceso de "ondo+
de utilidad o cualquier proceso que se sospecha sea el
causante de un pro#lema
Solicitd de n sario &n usuario puede querer suspender la ejecucin de unpro%rama con "ines de depuracin o en conein con el usode un recurso
%or tiempo &n proceso puede ejecutarse peridicamente :por ejemplo+
un proceso de conta#ilidad o de supervisin del sistema; ypuede ser suspendido mientras espera el si%uiente intervalo
de tiempo
Solicitd del proceso padre &n proceso padre puede querer suspender a ejecucin de unproceso padre descendiente para eaminar o modi"icar elproceso suspendido o para coordinar la actividad de variosdescendientes
7/25/2019 Chapter03 Sp
29/59
25
Procesos y Recursos
P1 est ejecutndoseH una parte del proceso est en memoria principalH tiene el control de dos dispositivos de )-S
P2 tam#i?n est en memoria principal+ pero est #loqueado esperando al dispositivo de )-S que est asi%nado a P1
)l procesoPn ha sido descar%ado a disco y por tanto+ est suspendido
7/25/2019 Chapter03 Sp
30/59
38
)structuras de Control del SO
In"ormacin so#re el estado actual de
cada proceso y de cada recurso
)l SO construye y mantiene ta#las de
in"ormacin so#re cada entidad que est?
administrando
6a#lasG de memoria+ de )-S+ de archivos
y de procesos
7/25/2019 Chapter03 Sp
31/59
37
6a#las de 0emoria
(a asi%nacin de memoria principal a losprocesos
(a asi%nacin de memoria secundaria a losprocesos
$tri#utos de proteccin de se%mentos dememoria principal o virtual tales como qu?
procesos pueden acceder a ciertas re%iones
compartidas de memoria In"ormacin necesaria para %estionar lamemoria virtual
7/25/2019 Chapter03 Sp
32/59
32
6a#las de )-S
)-S puede estar disponi#le o estar
asi%nado a un proceso
)stado de una operacin de )-S en curso
(a posicin de memoria principal que se
est utili!ando como ori%en o destino de
una trans"erencia de )-S
7/25/2019 Chapter03 Sp
33/59
33
6a#las de $rchivos
)istencia de los archivos
Su posicin en la memoria secundaria
Su estado actual
Otros atri#utos
&tili!ada por un sistema de %estin de
archivos
7/25/2019 Chapter03 Sp
34/59
3,
6a#la de Procesos
Dnde est u#icado el proceso
$tri#utos del proceso
9Pro%rama
9Datos
9Stac4
7/25/2019 Chapter03 Sp
35/59
3.
Im%en del Proceso
Elementos T&picos de na Ima"en de %roceso
'atos de (sario
(a parte modi"ica#le del espacio de usuario* Puede %uardar
datos del pro%rama+ una !ona para una pila del usuario y
pro%ramas que pueden modi"icarse*
%ro"rama de (sario
)l pro%rama a ejecutar*
%ila del Sistema
Cada proceso tiene una o ms pilas asociadas a ?l* &na pila
se utili!a para almacenar los parmetros y las direcciones de
retorno*
)lo*e de +ontrol de %roceso
In"ormacin necesaria para que el sistema operativo controle
al proceso
7/25/2019 Chapter03 Sp
36/59
3/
Memory
#e-ices
Files
Processes
Process 1
Memory a2les
ProcessImage
Process1
ProcessImage
Processn
I/ a2les
File a2les
Figure 3.11 4eneral Structure o! perating Syste
Primary Process a2le
Process (
Process 3
Processn
7/25/2019 Chapter03 Sp
37/59
31
loque de Control de Procesos
Identi"icacin del Proceso
9Identi"icadores
(os identi"icadores num?ricos que se pueden
%uardar en el #loque de control de procesoincluyenG
9 Identi"icador de este proceso
9 Identi"icador del proceso que cre a este proceso :el
proceso padre;
9 Identi"icador del usuario
7/25/2019 Chapter03 Sp
38/59
3
loque de Control de Procesos
In"ormacin de )stado del Procesador
9Re%istros isi#les para el &suario
&n re%istro visi#le para el usuario es aqu?l al
que puede hacerse re"erencia por medio dellen%uaje mquina que ejecuta el procesador*
7/25/2019 Chapter03 Sp
39/59
35
loque de Control de Procesos
In"ormacin de )stado del Procesador
9Re%istros de Control y de )stadoAay varios re%istros del procesador que se emplean para
controlar su "uncionamiento* )ntre estos se incluyenG
Program counter:Contiene la direccin de la prima
instruccin a ser tratada
Cdigos de condicin:0uestran el resultado de la
operacin aritm?tica o l%ica ms reciente :si%no+ cero+
acarreo+ i%ualdad+ des#ordamiento;*
Informacin de estado:incluye los indicadores de
ha#ilitacin o inha#ilitacin de interrupciones y el modo
de ejecucin
7/25/2019 Chapter03 Sp
40/59
,8
loque de Control de Procesos
In"ormacin de )stado del Procesador
9Stac4 Pointers
Cada proceso tiene una o ms pilas (I>O del
sistema asociadas* (as pilas se utili!an paraalmacenar los parmetros y las direcciones de
retorno de los procedimientos y de las llamadas
al sistema* )l puntero de pila siempre apunta a
la cima de la pila*
7/25/2019 Chapter03 Sp
41/59
,7
loque de Control de Procesos
In"ormacin de Control del Proceso9 In"ormacin de Plani"icacin y de )stado)sta es la in"ormacin que se necesita por el sistema operativo parallevar a ca#o sus "unciones de plani"icacin* (os elementos tFpicosde esta in"ormacin son los si%uientesG
Estado del proceso:De"ine la disposicin del proceso para serplani"icado para ejecutar :en ejecucin+ listo+ esperando+ detenido;*
Prioridad:Se puede usar uno o ms campos para descri#ir laprioridad de plani"icacin de los procesos* )n al%unos sistemas senecesitan varios valores :por omisin+ actual+ la ms alta permitida;*
Informacin de planificacin:)sta depender del al%oritmo deplani"icacin utili!ado* Como ejemplos se tienen la cantidad de
tiempo que el proceso ha estado esperando y la cantidad de tiempoque el proceso ejecut la @ltima ve!*
Suceso:(a identidad del suceso que el proceso est esperandoantes de poder reanudarse*
7/25/2019 Chapter03 Sp
42/59
,2
loque de Control de Procesos
In"ormacin de Control del Proceso
9 )structuracin de Datos
&n proceso puede estar enla!ado con otros
procesos en una cola o al%una otra estructura*Por ejemplo todos los procesos que estn en
estado de espera de un nivel determinado de
prioridad pueden estar enla!ados en una cola*
&n proceso puede mostrar una relacin padre=
hijo con otro proceso* )l CP puede contener
punteros a otros procesos para dar soporte a
estas estructuras*
7/25/2019 Chapter03 Sp
43/59
,3
loque de Control de Procesos
In"ormacin de Control del Proceso
9 Comunicacin entre Procesos
Puede ha#er varios indicadores+ seEales y mensajes
asociados con la comunicacin entre dos procesos
independientes* &na parte de esta in"ormacin o toda ellase puede %uardar en el #loque de control de proceso*
9 Privile%ios de los procesos
$ los procesos se es otor%an privile%ios en t?rminos de la
memoria a la que pueden acceder y el tipo de
instrucciones que pueden ejecutar* $dems+ tam#i?n se
pueden aplicar privile%ios al uso de los servicios y
utilidades del sistema*
7/25/2019 Chapter03 Sp
44/59
,,
loque de Control de Procesos
In"ormacin de Control del Proceso
9 Jestin de 0emoria
)sta seccin puede incluir punteros a las ta#las de
p%inas y-o se%mentos que descri#en la memoria virtual
asi%nada al proceso*
9 Propiedad de los Recursos y &tili!acin
Se pueden indicar los recursos controlados por el
proceso+ tales como los archivos a#iertos* 6am#i?n se
puede incluir un histrico de la utili!acin del procesador
o de otros recursosH esta in"ormacin puede ser necesaria
para el plani"icador
7/25/2019 Chapter03 Sp
45/59
,.
Control de Procesos
Modos de e,eccin
0odo de usuario
9modo menos privile%iado
9los pro%ramas de usuario ejecutan
normalmente en ese modo
0odo de sistema+ control+ o 4ernel
9modo ms privile%iado
9Kernel del sistema operativo
7/25/2019 Chapter03 Sp
46/59
,/
Creacin de Procesos
$si%na un @nico identi"icador al nuevoproceso
$si%nar espacio para el proceso :ima%en;
Iniciali!ar el #loque de control del proceso
)sta#lecer los enlaces apropiados9 Por ejemplo+ si el sistema operativo mantiene cada
cola de plani"icacin como una lista enla!ada+entonces el proceso nuevo se de#e poner en la colade (istos o de (istos y suspendidos
Crear o ampliar otras estructuras de datos9 )jG el sistema operativo puede mantener un archivo
de conta#ilidad
7/25/2019 Chapter03 Sp
47/59
,1
Cam#io de Proceso
Cundo cam#iar de procesoG
Interrpcin de relo,-Si el SO determina que el proceso que est en ejecucin+ se haestado ejecutando durante la "raccin mima de tiempo permitida+el proceso de#e pasar al estado (isto y se de#e epedir otro proceso
Interrpcin de E/S-Si la accin constituye un suceso que estn esperando uno o msprocesos+ entonces el SO traslada todos los procesos #loqueadoscorrespondientes al estado (isto o (isto suspendido
Fallo de memoria-una re"erencia a una direccin de memoria virtual no est enmemoria principal* )l SO puede llevar a ca#o un cam#io deconteto para reanudar la ejecucin de otro procesoH el proceso quecometi el "allo de memoria se pasa a estado loqueado*
7/25/2019 Chapter03 Sp
48/59
,
Cam#io de Proceso
6rap
9)rror o ecepcin
9Si es "atal puede causar que el proceso pase
al estado terminado
(lamada al sistema
9)jG a#rir un archivo* )l proceso de usuario
pasa al estado suspendido
C #i d ) t d d l
7/25/2019 Chapter03 Sp
49/59
,5
Cam#io de )stado de los
Procesos
Salvar el conteto del procesador+ incluyendo
el contador de pro%rama y otros re%istros
$ctuali!ar el #loque de control del proceso
que esta#a en estado de )jecucin 0over el #loque de control del proceso a la
cola apropiada (istos+ loqueados (istos y
suspendidos
Seleccionar otro proceso para ejecucin
C #i d ) t d d l
7/25/2019 Chapter03 Sp
50/59
.8
Cam#io de )stado de los
Procesos
$ctuali!ar el #loque de control del
proceso seleccionado
$ctuali!ar las estructuras de datos de
%estin de memoria
Restaurar el conteto del procesador a
aquel que eistFa en el momento en el
que el proceso seleccionado dej por@ltima ve! el estado de )jecucin
7/25/2019 Chapter03 Sp
51/59
.7
Fnciones )sicas del N.cleo
de n Sistema #perati!oestin de %rocesos
Creacin y terminacin de los procesos
Plani"icacin y epedicin de los procesos
Cam#io de procesos
Sincroni!acin de procesos y soporte para la comunicacin entre procesos
Jestin de los #loques de control de procesos
estin de memoria
$si%nacin de espacios de direcciones a los procesos
Intercam#io
Jestin de p%inas y se%mentos
estin de E/S
Jestin de #u""ers
$si%nacin de canales de )-S y dispositivos a los procesosFnciones de Soporte
6ratamiento de interrupciones
Conta#ilidad
Supervisin
E,ec cin del sistema
7/25/2019 Chapter03 Sp
52/59
.2
E,eccin del sistema
operati!o Ncleo fuera de todo proceso
9 )jecucin del n@cleo "uera de cualquier proceso
9 )l cdi%o del sistema operativo se ejecuta comouna entidad separada que opera en modo
privile%iado Ejecucin dentro de los procesos de usuario
9 SO en el conteto de un proceso de usuario:coleccin de rutinas que el usuario llama para
llevar a ca#o varias "unciones y que son ejecutadasdentro del entorno del proceso de usuario;
9 )l proceso se ejecuta en modo privile%iado cuandoejecuta cdi%o del SO
7/25/2019 Chapter03 Sp
53/59
.3
P1 P( Pn
5ernel
*a, Separate kernel
P1 P( Pn S1 Sk
*c, S !unctions execute as separate pro
Figure 3.1& elations$ip Bet6ee
System and 7ser Processe
SFunc8tions
SFunc8tions
SFunc8tions
P1 P( Pn
Process S6itc$ing Functions
Process S6itc$ing Functions
*2, S !unctions execute 6it$in user proc
7/25/2019 Chapter03 Sp
54/59
.,
E,eccin del sistema
7/25/2019 Chapter03 Sp
55/59
..
E,eccin del sistema
operati!o
Sistema operativo basado en procesos
9implementacin del sistema operativo como
una coleccin de procesos del sistema
9@til en un entorno de multiprocesador o devarias computadoras
&
7/25/2019 Chapter03 Sp
56/59
./
&
7/25/2019 Chapter03 Sp
57/59
.1
&
7/25/2019 Chapter03 Sp
58/59
.
&
7/25/2019 Chapter03 Sp
59/59
Top Related