Академический Документы
Профессиональный Документы
Культура Документы
Privilegios.
Crear el proceso.
Un proceso se crea cuando se da la orden de ejecucin y suele necesitar varios
argumentos como por ejemplo su nombre y la prioridad, en este momento se crea su
PCB. La creacin de un proceso suele ser de dos tipos:
o Jerrquica: donde cada proceso que se crea es hijo de otro proceso y hereda su
entorno de ejecucin.
o No jerrquica: Cada proceso es independiente y tiene su propio entorno de
ejecucin.
Destruir un proceso.
Se trata de la eliminacin de un proceso y de su PCB.
Suspender un proceso.
Es una operacin de alta prioridad que paraliza un proceso que posteriormente puede ser
reanudado.
Reanudar un proceso.
Activar un proceso que ha sido previamente suspendido
Cambiar la prioridad de un proceso.
Temporizar la ejecucin de un proceso.
Hace que un determinado proceso se ejecute cada cierto tiempo
Despertar un proceso.
Desbloquear un proceso bloqueado
2.4.- Prioridades.
En general todo proceso lleva aparejadas necesidades de ejecucin en cuanto a su urgencia
y asignacin de recursos mediante unas prioridades que el sistema operativo le otorga o el propio
propietario del proceso.
Puede haber prioridades estticas no pueden ser modificadas durante la ejecucin del
proceso o dinmicas que si pueden ser variadas.
Estas prioridades van servir para que el proceso pueda tener preferencias sobre otros.
2.5.- Tipos de procesos.
a). Segn uso y forma de cdigo.
Reutilizables: Aquellos que pueden cambiar los datos que utilizan, pero si
vuelven a utilizar los datos necesitan comenzar en su estado inicial y procesar
nuevos datos.
Reentrantes: no tener asociados datos.
Tiempo de respuesta: Velocidad con la que el ordenador da respuesta a una peticin, depende
mucho de los dispositivos de entrada - salida.
Tiempo de procesador: tiempo que un proceso utiliza el procesador sin contar el tiempo que
se encuentra bloqueado.
Tiempo de espera: es el tiempo en que los procesos estn activos pero sin ser ejecutados es
decir, los tiempos de espera en las distintas colas.
operaciones de entrada y salida. La unidad de tiempo que utilizaremos es una medida abstracta, y
el indice medio de servicio o eficiencia se suele expresar en porcentaje).
a). FCFS.
finaliza.
Sencillo y simple pero de poco rendimiento.
Se caracteriza por:
No es apropiativo.
Los procesos largos hacen esperar a los cortos.
Es predecible, es decir, podemos saber a priori como se llevar a cabo la planificacin.
Tiempo medio de servicio es muy variable y depende del numero de procesos y su duracin.
Ejemplo:
Se pide calcular los datos restantes y las media de T, E, I. Y el diagrama de Gantt
correspondiente aplicando algoritmos de FCFS:
Tenemos la siguiente tabla de procesos:
T(tiempo servicio)= Final Llegada.
E(tiempo espera)= T T. ejecucin.
I(ndice de servicio) = T. Ejecucin / T.
Proceso
A
B
C
D
E
Llegada
0
1
4
5
8
T. Ejecucin
3
5
2
6
4
Finaliza
3
8
10
16
20
T(servicio)
3
7
6
11
12
7.8
11
A0
0
I(iservicio)
1.00
0.71
0.33
0.55
0.33
0.58
12
E(espera)
0
2
4
5
8
3.8
10
12
14
16
18
20
Llegada
0
1
4
5
8
T. Ejecucin
3
5
2
6
4
Finaliza
5
13
9
20
18
medias
T(servicio)
5
12
5
15
10
9.4
E(espera)
2
7
3
9
6
5.4
I(iservicio)
0.60
0.42
0.40
0.40
0.40
0.44
0 1 2
20
A B A
A
A
B
5
C
8
C
10 11 12 13
14
15 16 17 18 19
E
A
B
C
D
D
E
q=3
A
A
B
B
C
C
D
D
E
Es una poltica de planificacin no apropiativa que trata de cubrir los mismos objetivos
que Round Robin. Consiste en tomar de la cola de preparados aquel proceso que necesite menos
tiempo de ejecucin, para ello se debe conocer el tiempo que necesita cada proceso lo cual no es
fcil pero se pueden conseguir unas aproximaciones a travs de diversos mtodos que el sistema
operativo utiliza para estimar el tiempo de ejecucin.
SJN es bueno para los procesos cortos y salen perjudicados los largos. Sus caractersticas
principales son :
No es apropiativo.
El tiempo de espera aumenta de acuerdo con la longitud de los procesos, pero el
tiempo medio de espera con respecto a otros algoritmos es optimo.
Es poco predecible.
Perjudica los procesos largos.
Se obtiene un buen tiempo de servicio.
Resulta difcil de poner en prctica por los datos que necesita para realizarse la
aplicacin.
(Mirar ejercicio en hoja)
Es una mezcla de los RR y SJN, para ello cambia el proceso que esta en ejecucin por
otro que exige menos tiempo de ejecucin mediante apropiacin de procesador.
El tiempo de respuesta medio de los procesos largos es mejor que en SJN, presenta un
excelente ndice de servicios (I) y el tiempo de espera (E) es bastante corto para la mayora de
Prof.: Justo Sez Arenas
los procesos. Consigue una buena eficiencia ya que logra que la lista de preparados sea lo ms
corta posible.
Sus principales caractersticas son :
Es una variante de SJN para hacerlo apropiativo.
Puede ser injusto ya que un proceso corto puede echar a uno largo que est haciendo
uso del procesador y que adems est terminando.
Presenta una mayor sobrecarga.
Excelente tiempo medio de servicio.
Es muy eficiente.
e). Prioridades.
En este algoritmo se asocia a cada proceso una prioridad de forma que se ejecutarn antes
los procesos de mayor prioridad. Las prioridades se pueden asignar interna o externamente, en el
primer caso el sistema operativo realiza unos clculos y asigna prioridades en base a criterios
como tiempos de ejecucin, necesidad de memoria, etc.; las prioridades externas las asigna el
usuario u otro programa.
El principal problema que puede surgir es el bloqueo o postergacin indefinida, ya que un
proceso de baja prioridad puede estar esperando su turno indefinidamente, una forma de evitar
esta postergacin es lo que se denomina envejecimiento de prioridades y consiste en aumentar
gradualmente las prioridades de los procesos que estn en espera.
Este algoritmo puede estar basado tanto en polticas apropiativas como no apropiativas,
en el caso de utilizar un criterio apropiativo, un proceso puede ser retirado si aparece otro de
mayor prioridad.
f). Prximo el de mas alto ndice de respuesta (HRN. High Response Next).
Este algoritmo intenta corregir las injusticias de SJN con los procesos largos o del FCFS
con los procesos cortos.
Se basa en hacer variables la prioridad de los procesos recalculandola constantemente
desacuerdo a la expresin.
P = (W + t) / t
10
Los procesos que van a ser ejecutados se agrupan y se asignan a diferentes colas cada una
puede tener su propia planificacin. Para decidir que cola tomar normalmente se utiliza un
algoritmo apropiativo de prioridad fija.
Un mtodo que se utiliza son las colas mltiples con realimentacin o Feedback Multiple
Queues (FB). Cuando el proceso que hace uso del procesador finaliza su quantum se selecciona
un nuevo proceso del principio de la cola. Cuando un proceso consume sus quantum en una cola
pasa a la siguiente. Caractersticas:
Es apropiativo.
Soporta bien la sobrecarga del sistema.
Es muy adaptable a las necesidades del sistema, ya que cada cola puede ser gestionada de
forma diferente.
3.5.- Proceso en paralelo e interbloqueo.
a). Conceptos.
Supuesto.
Tenemos un archivo formado por registros de cinco campos.
DNI
Nombre
Ap1
Ap2
Domicilio
Para que un registro sea valido debe estar actualizado en todo momento, as si
modificamos el campo DNI los dems campos deben ser coherentes
Si en el momento que un proceso escribe o modifica un registro existe otro proceso que
quiere leer el registro puede que se obtengan datos errneos. Para evitar esta situacin debemos
sincronizar las actividades de forma que cuando una esta escribiendo no permitimos que otro lea.
En el momento en que cambiamos de un proceso o actividad a otra se pueden producir las
siguientes actividades:
Sin sincronizacin entre procesos.
Si no sincronizamos corre el riesgo de leer datos inconsistentes.
Con sincronizacin entre procesos.
Prof.: Justo Sez Arenas
11
Si una actividad desea impedir que otra acceda a ciertos datos compartidos, mientras no
se cumpla una determinada condicin, debemos sincronizar las actividades con dicha condicin.
Se disean algoritmos para realizar esta operacin y podemos clasificarles en tres grupos:
Espera Activa: se establece la espera de entrada a la seccin crtica mediante un bucle
que se romper cuando se cumpla una determinada condicin. Se denomina activa
porque ele proceso no queda bloqueado durante su ejecucin sino que estar
compitiendo por el uso del procesador. Estos algoritmos sobrecargan el sistema
innecesariamente.
Tenemos tres tipos:
Espera con Mutex: se utiliza un switches o mutex a travs del cual se produce
la sincronizacin.
Algoritmos de alternancia: mejores que el anterior aunque tambin utilizan
una variable turno.
Algoritmo Dekker: resuelve el problema mediante la solucin propuesta por
Dekker que basa su funcionamiento en una tabla de switches.
Espera No activa: son algoritmos que establecen la espera para entrar en la seccin
crtica bloqueando el proceso hasta que se cumpla una condicin de desbloqueo.
Entre ellos tenemos a los siguientes:
Semforos: diseados por Dijkstra se basan en un mecanismo que utiliza una
variable entera como contador de peticiones de entrada a una seccin crtica.
Regiones crticas: slo permiten que los datos compartidos puedan ser
accedidos desde determinadas regiones del cdigo. No permiten que varias
actividades puedan leer simultneamente.
Monitores: en los mecanismos anteriores el programador deba proporcionar la
forma de sincronizacin. Para ellos se disea el monitor que permite compartir
datos entre varias actividades sin necesidad que el programador indique como.
Se basa en dos premisas: una consiste en separar las operaciones a ejecutar
sobre los datos, de los detalles de diseo propios de los mismos, otra es
realizar la exclusin mutua tal cual. Bsicamente consiste en reunir todas las
funciones que operan sobre un conjunto de datos compartidos en un solo
modulo de forma que todos los acceso a esos datos estarn forzados a utilizar
dichas funciones.
Mensajes: se basa en permitir a los procesos comunicarse entre s mediante
mensajes que utilizan una zona de memoria compartida oculta y gestionada
por el sistema operativo, de esta forma un proceso que quiere enviar un
mensaje a otro lo deja en la zona compartida donde lo leer el otro.
Llamadas remotas: cuando un proceso se ejecuta se crea una copia del mismo
que se sigue ejecutando de forma concurrente y hasta que no termina un
proceso no comienza otro. Se utiliza en programas que necesitan iniciarse
tantas veces como usuarios lo solicitan.
Prof.: Justo Sez Arenas
12
3.6.- Interbloqueo.
Es la situacin a la que se llega cuando un conjunto de procesos en estado de espera
puede continuar su ejecucin (por ejemplo, cuando un puente de va estrecha quieren entrar
varios coches a la vez).
El interbloqueo interfieren cuestiones como:
Recursos: elementos que un programa o proceso puede utilizar en el ordenador ya
sean dispositivos hardware como software. El problema consiste en aquellos recursos
que solo pueden ser utilizados por un proceso en un momento dado, en este caso se
siguen la secuencia: solicitar el recurso, optimizarlo y liberarlo.
Bloqueo o abrazo mortal (deadlock): se produce cuando a todos los procesos en
espera ninguno de ellos puede producir un suceso que solucione la situacin.
Postergacin indefinida: se produce cuando un proceso queda en espera indefinida
por algn recurso mientras los otros procesos son atendidos por el sistema. Esto se
suele producir en sistemas gestionados por prioridades (como vimos, se solucionaba
mediante el envejecimiento de prioridades).
Condiciones del interbloqueo: un conjunto de procesos llega al interbloqueo si se
producen las siguientes condiciones:
-. Exclusin mutua: existe al menos un recurso compartido al que solo puede
acceder un proceso.
-. Posesin y espera: un proceso tiene asignado un recurso pero no continua
porque espera otro recurso.
-. No apropiacin: los recursos no pueden ser liberados por el sistema u otros
procesos, solamente por el proceso que los utiliza, lo que puede producir
interbloqueos, esto se solucionara si el sistema u otros procesos pudiesen
apropiarse de otros recursos.
-. Espera circular: un proceso espera un recurso que utiliza otro proceso y este a su
vez espera un recurso que utiliza el primero.
Tratamiento de interbloqueo: existen cuatro estrategias para tratar el interbloqueo:
13
14