Introducción:Los objetivos de Desarrollo Sostenible
SO-Procesos
1. INSTITUTO TECNOLÓGICO DEL ISTMO
ESPECIALIDAD:
INGENIERÍA INFORMÁTICA
ASIGNATURA:
SISTEMAS OPERATIVOS
DOCENTE
LIC. TOLEDO TORRES JACINTO
ALUMNO
BENJAMÍN VILLASENTE VILLASEÑOR
GRUPO: S SEMESTRE: 4
HEROICA CIUDAD DE JUCHITÁN DE
ZARAGOZA
2. CONCEPTO DE PROCESO
Un proceso no es mas que un programa en
ejecución, e incluye los valores actuales del contador
de programa, los registros y las variables.
Conceptualmente cada unos de estos procesos tiene
su propia CPU virtual. Desde luego, en la realidad la
verdadera CPU conmuta de un proceso a otro.
4. 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.
Un proceso puede variar entre 5 distintos estado
New: cuando el proceso esta siendo creado.
Running: cuando el proceso se esta ejecutando.
Waiting: cuando el proceso esta esperando que se cumpla algún
otro evento.
Ready: cuando el proceso esta pronto para ejecutar, esperando
por la CPU.
Terminated: cuando el proceso esta terminado.
5. ESTADO DE LOS PROCESOS
Los bloques de control de los procesos se almacenan en colas,
cada una de las cuales representa un estado particular de los
procesos, existiendo en cada bloque, entre otras
informaciones. Los estados de los procesos son internos del
sistema operativo y transparentes al usuario.
6. Los estados de los procesos se pueden dividir
en dos tipos: activos e inactivos.
1.- Estados activos
Son aquellos que compiten con el procesador o están en condiciones de
hacerlo. Se dividen en:
Ejecución: Estado en el que se encuentra un proceso cuando tiene el
control del procesador. En un sistema monoprocesador este estado sólo
lo puede tener un proceso.
Preparado: Aquellos procesos que están dispuestos para ser ejecutados,
pero no están en ejecución por alguna causa (Interrupción, haber entrado
en cola estando otro proceso en ejecución, etc.).
Bloqueado: Son los procesos que no pueden ejecutarse de momento por
necesitar algún recurso no disponible (generalmente recursos de
entrada/salida).
2.- Estados inactivos
Son aquellos que no pueden competir por el procesador, pero que
pueden volver a hacerlo por medio de ciertas operaciones. En estos
estados se mantiene el bloque de control de proceso aparcado hasta que
vuelva a ser activado. Se trata de procesos que no han terminado su
trabajo que lo han impedido y que pueden volver a activarse desde el
punto en que se quedaron sin que tengan que volver a ejecutarse desde
el principio.
7. Suspendido bloqueado: Es el proceso que fue suspendido en espera
de un evento, sin que hayan desaparecido las causas de su bloqueo.
Suspendido programado: Es el proceso que han sido suspendido, pero
no tiene causa parta estar bloqueado.
Información asociada con cada proceso:
Estado del proceso.
Program counter.
Registros del CPU.
Información de planificación del CPU.
Memoria.
Información para administración.
Información de estatus de E/S.
Clasificados en:
8. CREACIÓN DE PROCESOS
Crear un proceso implica operaciones como:
Dar un nombre a un proceso.
Insertarlo en la lista de procesos conocidos del sistema ( o tabla de procesos)
Determinar la prioridad inicial de proceso.
Crear el bloque de control de proceso.
Asignar los recursos iniciales al proceso.
Un proceso puede crear un nuevo proceso. Si lo hace el proceso creador se
denomina proceso padre, y el proceso creado, proceso hijo. Sólo se necesita un
padre para crear un hijo. Tal creación origina una estructura jerárquica de
procesos. No se puede destruir un proceso cuando este ha creado otros
procesos. Destruir un proceso implica eliminarlo del sistema. Se le remueve de
la tabla o listas del sistema, sus recursos se devuelven al sistema y su bloque de
control de proceso se borra (es decir, el espacio de memoria ocupado por su
PCB se devuelve al espacio de memoria disponible.
9. OPERACIONES DE PROCESOS Y
RECURSOS.
Los sistemas operativos poseen una serie de funciones cuyo objetivo es el de la
manipulación de los procesos. En general las operaciones que se pueden hacer
sobre un proceso son las siguientes:
Crear el proceso. Se produce con la orden de ejecución del programa y
suele necesitar varios argumentos, como el nombre y la prioridad del
proceso.
La creación de un proceso puede ser de dos tipos:
Jerárquica. En ella cada proceso que se crea es hijo del proceso creador y
hereda el entorno de ejecución de su padre. El primer proceso que ejecuta un
usuario será hijo del intérprete de comandos con el que interactúa.
No jerárquico. Cada proceso creado por otro proceso se ejecuta
independientemente de su creador con un entorno diferente. Es un tipo de
creación que no suele darse en los sistemas operativos actuales.
10. DESCRIPTOR DE PROCESOS
Y RECURSOS
Es una estructura de datos asociada a una entidad informática ya sea un (Recurso o Proceso),
en la cual se indica y actualiza todas las informaciones relativas a dicha entidad.
En el caso de un proceso la información general que contiene es:
1) Identificador: Que puede ser interno y externo.
Interno: Sistemas.
Externo: Usuario.
2) Descripción de la máquina virtual asociada: como espacio virtual asignado, tipo de
mapeo, tipo de acceso.
3) Descripción de los recursos de la máquina que usa como: Lista de recursos que el
proceso tiene derecho a solicitar, dirección real en la memoria principal, estado de
las variables internas del CPU, prioridad, etc.
4) Estados funcionales del proceso: Los estados de los procesos son internos del
sistema operativo y transparente al usuario. Para éste, su proceso estará siempre en
ejecución independientemente del estado en que se encuentre internamente el sistema.
11. TRANSICIONES
Un proceso puede encontrarse en estado de ejecución, bloqueado o listo (que también se
llama ejecutable). De estos estados de los procesos se derivan las siguientes transiciones y
estados:
Transición: El paso de un estado a otro.
1. El proceso se bloquea en la entrada.
2. El planificador elige otro proceso.
3. El planificador elige este proceso.
4. La entrada se vuelve disponible.
Estados:
1. Ejecución (que en realidad hace uso del CPU en ese instante).
2. Bloqueado (incapaz de correr hasta que suceda algún evento externo.
3. Listo (ejecutable; se detiene temporalmente para permitir que se ejecute otro
proceso).
12. Transiciones de estado
Mientras el proceso tenga CPU, se dice que esta en ejecución. Para
prevenir que cualquier proceso monopolice el sistema, ya sea de
manera accidental o maliciosamente el sistema operativo ajusta un
reloj de interrupción del hardware para permitir al usuario ejecutar su
proceso durante un intervalo de tiempo especifico o cuanto.
Si el proceso no abandona voluntariamente el CPU, antes de que
expire el intervalo, el reloj genera una interrupción, haciendo que el
sistema operativo recupere el control. El sistema operativo hace que el
proceso que anteriormente se hallaba en estado de ejecución pase al
de listo, y hace que el primer proceso de la lista de listos pase al
estado de ejecución.
13. Estas transiciones de estado se indican como:
- tiempo excedido (nombre del proceso): en
ejecución Listo
- bloqueado (nombre del proceso): en
ejecución bloqueado
El proceso cambia del estado bloqueado al estado listo:
- despertar ( nombre del proceso):
bloqueado Listo.
14. Suspensión y Reanudación
Un proceso suspendido no puede proseguir sino hasta que lo reanuda otro proceso.
Reanudar (o activar) un proceso implica reiniciarlo a partir del punto en el que se
suspendió.
Las operaciones de suspensión y reanudación son importantes por diversa razones:
Si un sistema está funcionando mal y es probable que falle, se puede suspender
los procesos activos para reanudarlos cuando se haya corregido el problema.
Un usuario que desconfíe de los resultados parciales de un proceso puede suspenderlo
(en vez de abortarlo) hasta que verifique si el proceso funciona correctamente o no.
Algunos procesos se puede suspender como respuesta a las fluctuaciones a corto
plazo de la carga del sistema y reanudarse cuando las cargas regresen a niveles
normales.
15. Transiciones de estados de los procesos con suspensión y
reanudación
Muestra el diagrama de transiciones de estado de los procesos, modificado para incluir
las operaciones de suspensión y reanudación. Se han añadido dos nuevos estados,
denominados suspendido-listo y suspendido bloqueado; no hay necesidad de un
estado suspendido-ejecutado. Sobre la línea discontinua se encuentran los estados
activos, y debajo de ella los estados suspendidos.
Una suspensión puede ser iniciada por el propio proceso o por otro. En un sistema con
un solo procesador el proceso en ejecución puede suspenderse a si mismo; ningún otro
proceso podría estar en ejecución al mismo tiempo para realizar la suspensión (aunque
otro proceso sí podría solicitar la suspensión cuando se ejecute). En un sistema de
múltiples procesadores, un proceso en ejecución puede suspender a otro que se esté
ejecutando en ese mismo momento en un procesador diferente.
Solamente otro proceso puede suspender un proceso listo. La transición
correspondiente es:
1) Suspender (nombre_del_proceso): Listo Suspendido-Listo.
16. Un proceso puede hacer que otro proceso que se encuentre en el estado suspendido-listo
pase al estado listo. La transición correspondiente es:
2) reanudar ( nombre_del_proceso): Suspendido-Listo Listo.
Un proceso puede suspender a otro proceso que esté bloqueado. La transición
correspondiente es:
3) suspender ( nombre_del_proceso): Bloqueado Suspendido-Bloqueado.
Un proceso puede reanudar otro proceso que esté suspendido-bloqueado. La transición
correspondiente es:
4) reanudar ( nombre_del_proceso): Suspendido-Bloqueado Bloqueado.
Como la suspensión es por lo general una actividad de alta prioridad, se debe realizar de
inmediato. Cuando se presenta finalmente el término de la operación ( si es que termina), el
proceso suspendido-bloqueado realiza la siguiente transición.
5)completar(nombre_del _proceso): suspendido-bloqueado suspendido-listo.
17. 6) suspender (nombre_del_proceso): Ejecución Suspendido-Listo.
En conclusión los sistemas que administran procesos deben ser capaces de realizar
operaciones sobre procesos y con ellos. Tales operaciones incluyen:
Crear un proceso.
Destruir un proceso.
Suspender un proceso.
Reanudar un proceso.
Cambiar la prioridad de un proceso.
Bloquear un proceso.
Despertar un proceso.
Despachar un proceso.
Permitir que un proceso se comunique con otro (esto se denomina comunicación entre
procesos).
19. Exclusión mutua
Consiste en que un solo proceso excluye temporalmente a todos los demás para
usar un recurso compartido de forma que garantice la integridad del sistema
Para la solución al problema de la exclusión mutua hay 3 tipos de soluciones
* Soluciones software
*Soluciones hardware
* Soluciones aportadas por el sistema operativo
20. SECCIÓN CRITICA
Es la parte del programa con un comienzo y un final claramente marcados que
generalmente contiene la actualización de una o más variables compartidas. Para que
una solución al problema de la exclusión mutua sea válida, se tienen que cumplir una
serie de condiciones:
*Hay que garantizar la exclusión mutua entre los diferentes procesos a la hora de acceder
al recurso compartido. No puede haber 2 procesos dentro de sus respectivas secciones
críticas. No se deben hacer suposiciones en cuanto a la velocidad relativa de los procesos
en conflicto.
*Ningún proceso que este fuera de su sección critica debe interrumpir a otro para el
acceso a la sección critica.
*Cuando mas de un proceso desee entrar en su sección critica, se le debe conceder la
entrada en un tiempo finito.
21. SEMÁFORO
Un semáforo es una estructura diseñada para sincronizar dos o más procesos, de modo que su
ejecución se realice de forma ordenada y sin conflictos entre ellos consta de dos operaciones.
*Primitivas señal
*Espera Originalmente definidas como P y V por que operan sobre un tipo especial de variable semáforo
“S”.
La variable semáforo puede tomar valores enteros y, excepto posiblemente en su inicialización, solo
puede ser accedida y manipulada por medio de las operaciones
* Signal
* Wait
23. F.C.F.S.
Se elige el proceso a entrar en la CPU según el tiempo que lleva esperando; es decir, en el orden
de entrada al estado de preparados. La implementación de esta política es sencilla: la cola de
procesos preparados se gestiona con disciplina FIFO. Presenta el problema del efecto convoy.
La existencia de programas muy largos dispara el tiempo de finalización, la latencia y el tiempo
de espera medios.
En el ejemplo de la Figura se muestra el orden de ejecución de acuerdo a FCFS de tres procesos
que llegan en el orden P1, P2, P3. La latencia media, Tr, es (0+10+11)/3= 7 unidades de tiempo,
frente a una Tr mínima de 1 que se obtendría si los procesos se planificasen en orden P2, P3, P1.
24. S.J.F.
Se selecciona para entrar a ejecutarse el proceso de menor duración. Esta planificación es
(teóricamente) óptima para los tiempos medios de respuesta, ffinalización y espera.
Es necesario estimar la duración de un proceso. Esta estimación dependerá del plazo de la
planificación:
Largo plazo. El usuario proporciona la estimación.
Corto plazo. El scheduler puede predecir la duración del próximo intervalo de CPU en función de las
duraciones de los intervalos de CPU anteriores. Así, la duración prevista para el instante n+1, τn+1,
se calcula a partir de una media ponderada de la duración del intervalo n, tn, y predicciones
anteriores:
Al trabajar con estimaciones en lugar de duraciones reales, el éxito de la planificación dependerá de lo
adecuado que sea el modelo de estimación.
25. R.R.
LOS PROCESOS SE DESPACHAN EN “FIFO” Y DISPONEN DE UNA CANTIDAD LIMITADA DE
TIEMPO DE CPU, LLLAMADA “DIVISIÓN DE TIEMPO” O “CUANTO”.
SI UN PROCESO NO TERMINA ANTES DE EXPIRAR SU TIEMPO DE CPU OCURREN LAS
SIGUIENTES ACCIONES:
LA CPU ES APROPIADA.
LA CPU ES OTORGADA AL SIGUIENTE PROCESO EN ESPERA.
EL PROCESO APROPIADO ES SITUADO AL FINAL DE LA LISTA DE LISTOS.
ES EFECTIVA EN AMBIENTES DE TIEMPO COMPARTIDO. LA SOBRECARGA DE LA APROPIACIÓN
SE MANTIENE BAJA MEDIANTE MECANISMOS EFICIENTES DE INTERCAMBIO DE CONTEXTO Y
CON SUFICIENTE MEMORIA PRINCIPAL PARA LOS PROCESOS.
26. H.R.N.
CORRIGE ALGUNAS DE LAS DEBILIDADES DEL SJF, TALES COMO EL EXCESO
DE PERJUICIO HACIA LOS PROCESOS (TRABAJOS) LARGOS Y EL EXCESO DE
FAVORITISMO HACIA LOS NUEVOS TRABAJOS CORTOS.
ES UNA DISCIPLINA NO APRECIATIVA.
LA PRIORIDAD DE CADA PROCESO ESTÁ EN FUNCIÓN NO SÓLO DEL TIEMPO
DE SERVICIO DEL TRABAJO, SINO QUE TAMBIÉN INFLUYE LA CANTIDAD DE
TIEMPO QUE EL TRABAJO HA ESTADO ESPERANDO SER SERVIDO.
CUANDO UN PROCESO HA OBTENIDO LA CPU, CORRE HASTA TERMINAR.
LAS PRIORIDADES, QUE SON DINÁMICAS, SE CALCULAN SEGÚN LA
SIGUIENTE FÓRMULA, DONDE PR ES LA “PRIORIDAD”, TEES EL “TIEMPO DE
ESPERA” Y TS ES EL “TIEMPO DE SERVICIO”:
28. Suponga que los sig. Procesos han sido planificados para trabajar el primero en llegar,
el primero en ser servido.
Los datos de tiempo de inicio son:
Proceso Inicio T.exe
A 0 8
B 1 5
C 3 3
D 5 6
a) Determine el tiempo en que finaliza cada proceso
b) Determine el tiempo de servicio para cada proceso
c) Obtenga el valor promedio del tiempo de servicio
d) Obtenga el valor promedio del tiempo de espera
e) Represente gráficamente, una grafica de gantt el tiempo en que
cada proceso utiliza el procesador
f) Obtenga el rendimiento del procesador para cada proceso
g) Elabore un resumen explicando como funciona ese método de
planificación.
29. a) Determine el tiempo en que finaliza cada proceso
a a a a a a a a b b b b b c c c d d d d d d
finaliza finaliza finaliza finaliza
Proceso Inicio T.exe T.Final
A 0 8 8
B 1 5 13
C 3 3 16
D 5 6 22
30. b) Determine el tiempo de servicio para cada proceso
t= t.final – t.inicio
A = 8 - 0 = 8
B = 13 – 1 = 12
C = 16 – 3 = 13
D = 22 – 5 = 17
Proceso Inicio T.exe T.Final T.Ser
A 0 8 8 8
B 1 5 13 12
C 3 3 16 13
D 5 6 22 17
c) Obtenga el valor promedio del tiempo de servicio
T.Ser = (8+12+13+17)/4
= 50/4
promedio = 12.5 %
31. d) Obtenga el valor promedio de tiempo de espera
Proceso Inicio T.exe T.Final T.Ser T.Esp
A 0 8 8 8 0
B 1 5 13 12 7
C 3 3 16 13 10
D 5 6 22 17 11
E = T – T.Exe
A = 8 - 8 = 0
B = 12 – 5 = 7
C = 13 – 3 = 10
D = 17 – 6 = 11
T.Esp = (0+7+10+11)/4
= 28/4
promedio = 7 %
32. e) Representa gráficamente. Una grafica de gantt el tiempo en que
cada proceso utiliza el procesador
a a a a a a a a b b b b b c c c d d d d d d
f) Obtenga el rendimiento del procesador para cada proceso
I = (T / T.Exe) x 100
A = ( 8 / 8 ) x 100 = 100
B = ( 12 / 15 ) x 100 = 240
C = ( 13 / 3 ) x 100 = 433.333
D = ( 17 / 6) x 100 = 283.333
Proceso Inicio T.exe T.Final T.Ser T.Esp I
A 0 8 8 8 0 100
B 1 5 13 12 7 240
C 3 3 16 13 10 433.333
D 5 6 22 17 11 283.333