Sei sulla pagina 1di 22

ADMINISTRACION DE

ARCHIVOS

INSTITUTO DE ESTUDIOS SUPERIORES METROPOLITANO


ADMINISTRACIÓN DE PROCESOS

 Un proceso es un programa en ejecución, una actividad de


cierto tipo que contiene un programa, entradas salidas y
estados.
 Los procesos pueden ser cooperantes o independientes, en el
primer caso se entiende que los procesos interactúan entre sí
y pertenecen a una misma aplicación. En el caso de procesos
independientes en general se debe a que no interactúan y un
proceso no requiere información de otros o bien porque son
procesos que pertenecen a distintos usuarios.
ADMINISTRACIÓN DE PROCESOS

 Todos los Sistemas Operativos (SO) de multiprogramación


están construidos en torno al concepto de procesos
 El SO debe crear un mecanismo de para la inicialización y
terminación de procesos
 El SO debe proporcionar a la comunicación entre procesos y
ofrecer mecanismo para su creación y terminación
ADMINISTRACIÓN DE PROCESOS

 Estados de los procesos

 Un proceso puede estar en cualquiera de los siguientes tres


estados: listo, en ejecución y bloqueado.

 Los procesos en el estado listo son los que pueden pasar a


estado de ejecución si el planificador los selecciona.

 Los procesos en el estado ejecución son los que se están


ejecutando en el procesador en ese momento dado.

 Los procesos que se encuentran en estado bloqueado están


esperando la respuesta de algún otro proceso para poder
continuar con su ejecución. Por ejemplo operación de E/S.
ADMINISTRACIÓN DE PROCESOS

 Implantación de los procesos

 La implementación del modelo de procesos se logra debido a que el


sistema operativo almacena en una tabla denominada tabla de
control de procesos información relativa a cada proceso que se esta
ejecutando en el procesador. Cada línea de esta tabla representa a
un proceso.

 La información que se almacena es la siguiente :

 1) Identificación del proceso.

 2) Identificación del proceso padre.

 3) Información sobre el usuario y grupo.

 4) Estado del procesador.

 5) Información de control de proceso.


ADMINISTRACIÓN DE PROCESOS

 Condiciones de competencia
 Las condiciones de competencia se dan cuando dos o más
procesos intentan acceder a un mismo recurso.

 Secciones críticas
 Para solucionar las condiciones de competencia se
implementó un modelo para prohibir que dos procesos
accedan al mismo recurso. El modelo en cuestión se
denomina exclusión mutua

 Exclusión mutua con espera ocupada


 Las soluciones con espera ocupada funcionan de la
siguiente manera, cuando un proceso intenta ingresar a su
región crítica, verifica si esta permitida la entrada. Si no, el
proceso se queda esperando hasta obtener el permiso.
ADMINISTRACIÓN DE PROCESOS

 Desactivación de interrupciones
 El método más simple para evitar las condiciones de
competencia es hacer que cada proceso desactive todas sus
interrupciones antes de entrar a su sección crítica y las active
una vez que salió de la misma.

 Variables cerradura
 En éste caso se genera una variable la cual puede tener dos
valores o bien 0 (no hay ningún proceso en su sección crítica)
o bien 1 (indicando que la sección crítica está ocupada)
entonces cada proceso antes de ingresar a la sección crítica
verifica el estado de la variable de cerradura y en caso de que
la misma este en 0, le cambia el valor e ingresa a la misma y
en caso de que la misma sea 1 el proceso se queda
verificando el estado de la misma hasta que el mismo sea 0.
 El problema aquí se presenta si dos procesos verifican al
mismo tiempo que la variable cerradura esta en 0 e ingresan a
la región crítica.
ADMINISTRACIÓN DE PROCESOS

 Alternancia estricta
 El algoritmo de alternancia estricta no bloquea el ingreso a
la región crítica cuando otro proceso se esta ejecutando. El
problema de ésta solución es que cuando un proceso no
esta en la sección crítica igualmente tiene bloqueado el
acceso a la misma y por lo tanto no permite que otro
proceso que requiera ingresar a la misma logre hacerlo.

 Instrucción TSL
 Esta solución requiere ayuda del hardware y es debido a
que en general las computadoras diseñadas para tener más
de un procesador tienen una instrucción TEST AND SET
LOCK
ADMINISTRACIÓN DE PROCESOS

 Alternancia estricta
 El algoritmo de alternancia estricta no bloquea el ingreso a la
región crítica cuando otro proceso se esta ejecutando. El
problema de ésta solución es que cuando un proceso no esta
en la sección crítica igualmente tiene bloqueado el acceso a la
misma y por lo tanto no permite que otro proceso que requiera
ingresar a la misma logre hacerlo.

 Instrucción TSL
 Esta solución requiere ayuda del hardware y es debido a que
en general las computadoras diseñadas para tener más de un
procesador tienen una instrucción TEST AND SET LOCK

 Dormir y despertar
 El modelo de espera acotada tienen el inconveniente que se
desperdicia tiempo de procesador.
ADMINISTRACIÓN DE PROCESOS

 El problema del productor y el consumidor


 El problema del productor y el consumidor describe el echo de que
cuando hay dos o más procesos interactuando a través de un buffer
común habiendo procesos que ponen información o datos y otros que
los sacan se pueden llegar a dar condiciones en las cuales los
procesos que ingresan los datos no puedan hacerlo debido a que el
buffer ya se encuentra lleno y para el caso de los que sacan los
datos del buffer intenten sacar datos cuando ya no hay nada que
sacar.

 Planificación de procesos
 La planificación es el proceso por el cual el sistema operativo
selecciona que proceso ejecutar. La selección del proceso se basa
en alguno de los algoritmos de planificación que se describen más
abajo.

 Expulsión
 Es la característica por el cual el sistema operativo puede o no
expulsar del estado de ejecución a un proceso dado.
ADMINISTRACIÓN DE PROCESOS

 P r o c e so s l i g e r o s
 L o s p r o c es os l i ger os s on p r og r a ma s e n e j e c u c i ó n , s o n bás i c a ment e pr oc es os
p e r o a d i f e r e n c i a d e é s t o s ú l t i mo s q u e s o l o t i e n e n u n h i l o d e e j e c u c i ó n , l o s
p r i me r o s t i e n e n e l h i l o p r i n c i p a l má s h i l o s s e c u n d a r i o s o h i j o s , e n é s t e c a s o
t o d o s l o s p r o c e s o s h i j o s c o mp a r t e n l a i n f o r ma c i ó n d e l h i l o p r i n c i p a l p e r o a d emá s
p u e d e c a d a h i l o t e n e r s u i n f o r m a c i ó n p r i va d a .

 D e n t r o d e l a i n f o r ma c i ó n p r o p i a t e n e m o s :

 C o n t a d o r d e p r o gr am a
 Pila
 Registros.
 Estado del proceso ligero.
 D e n t r o d e l a i n f o r ma c i ó n c o m p a r t i d a t e n e m o s :
 Va r i a b l e s g l o b a l e s .
 A r c h i vo s a b i e r t o s
 Señales
 Semáforos.
 Contabilidad.
 del estado de ejecución a un proceso dado.
ADMINISTRACIÓN DE PROCESOS

 Señales

 Las señales son el mecanismo de comunicación que se


establece entre los procesos. Cuando un proceso recibe una
señal detiene su ejecución, divide a la rutina del tratamiento
de la señal que esta en el mismo proceso y luego una vez
finalizado sigue la ejecución en el punto que había dividido
anteriormente.

 Las señales se pueden originar en un proceso o bien en el


sistema operativo. Las señales se pueden enviar entre
procesos, solo los que tengan el mismo uid, o bien el
sistema operativo puede enviarle una señal a un proceso,
por ejemplo excepciones de ejecución.
PROCESOS CONCURRENTES

 Decimos que los procesos son concurrentes, paralelos, o que


se ejecutan concurrentemente, cuando son procesados al
mismo tiempo, es decir, que para ejecutar uno de ellos, no
hace falta que se haya ejecutado otro.

 Cuando tenemos un solo procesador se producirá un


intercalado de las instrucciones de ambos procesos, de tal
forma que tendremos la sensación de que hay un paralelismo
en el sistema (concurrencia, ejecución simultánea de más de
un proceso).

 Si ambos procesos intentan acceder a la sección crítica de


una ejecución simultáneamente, un algoritmo (algoritmo de
Drekker)elige un proceso según una variable en turno. Si el
otro proceso está ejecutando en su sección crítica, deberá
esperar su finalización
PROCESOS CONCURRENTES

 En los sistemas operativos multi programados surge el


concepto de proceso, asociado a la ejecución de un
programa. En algunos sistemas es posible determinar el
contexto propio de un proceso en el momento de su
creación, como ocurre con la llamada al sistema clone de
Linux.
 Uno de los objetivos del sistema operativo es la
representación de los procesos y el soporte de los cambios
de contexto entre procesos, que posibilitan la compartición
del recurso CPU.
PROCESOS CONCURRENTES

 El Multiprocesamiento simétrico (symmetric multiprocessing /


SMP) tiene un diseño simple pero aún así efectivo. En SMP,
múltiples procesadores comparten la memoria RAM y el bus
del sistema. Este diseño es también conocido como
estrechamente acoplado (tightly coupled), o compartiendo todo
(shared everything). Uno de los objetivos del sistema
operativo es la representación de los procesos y el soporte de
los cambios de contexto entre procesos, que posibilitan la
compartición del recurso CPU.
PROCESOS CONCURRENTES

 El Procesamiento masivamente paralelo (Massively parallel


processing / MPP) es otro diseño de procesamiento
paralelo. Para evitar los cuellos de botella en el bus de
memoria, MPP no utiliza memoria compartida. En su lugar,
distribuye la memoria RAM entre los procesadores de modo
que se semeja a una red (cada procesador con su memoria
distribuida asociada es similar a un computador dentro de
una red de procesamiento distribuido).
PROCESOS CONCURRENTES

 La última arquitectura paralela, el Procesamiento paralelo


escalable (Scalable parallel processing / SPP), es un
híbrido de SMP y MPP, que utiliza una memoria jerárquica
de dos niveles para alcanzar la escalabilidad. La primera
capa de memoria consiste de un nodo que es esencialmente
un sistema SMP completo, con múltiples procesadores y su
memoria globalmente compartida
INTERBLOQUEOS

 En sistemas operativos, el bloqueo mutuo es el bloqueo


permanente de un conjunto de procesos o hilos de ejecución
en un sistema concurrente que compiten por recursos del
sistema o bien se comunican entre ellos. A diferencia de otros
problemas de concurrencia de procesos, no existe una
solución general para los interbloqueos.

 Todos los interbloqueos surgen de necesidades que no pueden


ser satisfechas, por parte de dos o más procesos. En la vida
real, un ejemplo puede ser el de dos niños que intentan jugar
al arco y flecha, uno toma el arco, el otro la flecha. Ninguno
puede jugar hasta que alguno libere lo que tomó.
INTERBLOQUEOS

 C o n d i c io nes n e c e sari as p a r a e l i n t e rbl oq ueo

 Exc l u s i ó n m u t u a
 S i dos p ro c e s o s s ol ic itan u n recurs o e xcl us i vo, un o de los d os qu edar á
s u s p endi do h a s ta q u e e l f a vo r e cid o l i b e r e e l r e c ur so .

 C o n t e nci ón o r e t e nci ón y e s p e ra
 S i un p r o c e s o n eces ita má s d e un r ecurs o par a re al izar su tr ab ajo,
co nser var á en su po der los recu rsos e xcl us i vos ya as ig nados, mi entras
e s p e ra p o r o t r o r e c u rso a d i c i o nal .

 I n a p ropi ati vi d ad
 L os recu rsos as ign ados a un proces o, sól o p u e d e n ser li bera dos p or e l
pr oceso mis mo y n o pue den ser d esas igna dos por el s iste ma, cua ndo otro
p r o c eso l o s n e c e site .

 Es p e r a c i r c u la r
 D e pen denc ia : S i un pr oceso P1 est á suspe ndi do e n esper a de un recurs o
e xc lus i vo que está as ign ado a otr o p roceso P 2 , e ntonces dec im os qu e P1
d e p e nd e d e P 2 ( P 1 < = P 2 )
 Espe ra c irc u la r: Exi ste u na ca dena circ ul ar de p rocesos e n esp era de u n
rec urso, s i e xiste u na cad ena d e de pend enc ias e ntre proc esos de la for ma
P1 <= P2 <= P3 <= ... <= Pn <= P1
INTERBLOQUEOS

 Formas de enfrentar los interbloqueos


 Existen varias políticas y es trategias que el sis tema operativo puede
tomas, para tratar con los interbloqueos:

 Indi ferenci a : Problema del usuario y del programador, lograr que no se


dé el interbloqueo .

 Prevención : Consis ten en c ondicionar el sis tem a con una s eri e de


restricciones a los programadores , para que no se den al menos una de
las condiciones del interbloqueo, por lo que éste nunca sucederá.

 Evitaci ón o predicción : E sta es trategi a consis te en dejar que las


condiciones para el interbl oqueo se puedan dar, pero en el momento de
asignar recur sos , y s e detec te que puede oc urri r un interbloqueo,
deniega la asignación del recurso que puede des enc adenar el
interbloqueo .

 Detec ción y r ecuperación : En es ta pol ítica, el sis tema deja que s uc eda
el interbloqueo, pero se i mplementan procesos encargados de revis ar el
es tado de asi gnación de l os proc esos , para detec tar los interbloqueo .
Una v ez detectado, se pueden i mplementar polític as de rec uperación de
interbloqueo, que básicamente consisten en matar procesos.
INTERBLOQUEOS

 Prevención
 S e p u e d en a d o pt ar 4 p o s i b l e s e s t r a t e g i a s d e p r e v e n c i ó n d e l i n t er bl oqueo, u n a
p a r a c a d a c o n d i c i ó n . Ya q u e p a r a s e d é u n i n t e r b l o q u e o s o n n e c e s a r i a s l a s
cuatro, con negar una de ellas, se niega la posibilidad del interbloqueo:

 Negación de la exclusividad
 Sólo se aplica a recursos compartidos, es muy difícil poder aplicarlo a todos los
r e c u r s o s , d a d o q u e h a y r e c u r s o s q u e s o n i n h e r e n t e me n t e d e u s o n o c o m p a r t i d o .

 U s o d e s p o o l e r s : d a r u n A P I c o n c u r r e n t e ( c o mp a r ti d o ) a l o s p r o c es os p a r a
a c c e s a r r e c u r so s . L a e s t r a t e g i a b á s i c a e s q u e u n s e r v i c i o d e l s i s t e m a ( d a e mo n )
proporciona un API, y ese servicio es el único que accesa el recurso compartido,
e x c l u s i v o . E j : u n a i m p r e s a e s u n r e c u r so e x c l u s i v o e i n a p r o p i a t i v o , p e r o c o n e l
uso de un spooler se convierte en un recurso compartido.

 Te s t & G e t : u n A P I e s p e c i a l q u e p e r mi t e r e v i s a r p r i m e r o s i e l r e c u r s o e s t á
disponible, y pedirlo, o retornar un código de error que indica que no está
d i s p o n i b l e. R e q u i er e q u e l o s p r o c e so s h a g a n u s o d e e s t e A P I .

 Negación de la contención
 E s t r a t e g i a 1 : E l p r o c e s o p i d e a l s i s t e m a TO D O S l o s r e c u r so s a n e c e s i t a r a n t e s
de iniciar su proceso (todo o nada). No siempre se sabe cuántos recursos se
u t i l i za r á n .
 E s t r a t e g i a 2 : Ta m b i é n p u e d e e s t a b l e c e r s e q u e u n p r o c e so s p u e d e p e d i r r e c u r s o s
cuando no tiene recursos asignados
GENERACIÓN DE SISTEMAS OPERATIVOS

Gracias por su atención

Potrebbero piacerti anche