Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema Nro. 2
PROCESOS Y SUBPROCESOS
1. PROCESOS
Una computadora realiza varias tareas al mismo tiempo. Mientras se ejecuta un programa de
usuario, una computadora puede realizar diferentes tareas como ser: leer un disco y enviar
texto a una pantalla o impresora. La CPU trabaja en decenas y centenas de milisegundos, a
lo largo de un segundo puede interactuar con varios programas, lo que da al usuario la
ilusión de paralelismo.
Para ello, los diseñadores de sistemas operativos han desarrollado un modelo conceptual
(procesos secuenciales) que facilita y tratar con el paralelismo. Para explicar con más detalle
nos enfocaremos en este capítulo.
La idea clave aquí es que un proceso es una actividad de algún tipo: tiene un programa
entradas, salidas y un estado. Varios procesos pueden compartir un solo procesador, y se
usa algún algoritmo de calendarización para determinar cuándo hay que dejar de trabajar en
un proceso y atender otro.
1
UNIVERSIDAD PUBLICA DE EL ALTO M. Sc. ZARA YUJRA CAMA
CARRERA INGENIERIA DE SISTEMAS SISTEMAS OPERATIVOS (SIS - 421B)
Para la creación de procesos. Hay cuatro sucesos principales que ayudan a crear los
procesos.
Desde el punto de vista técnico, en todos estos casos un proceso se crea haciendo que un
proceso existe y ejecute una llamada al sistema para crear procesos. Dicho proceso
existente podría ser uno de usuario que ya este ejecutando, uno de sistema invocado con el
teclado o el ratón, o un administrador de lotes. Lo que hace es ejecutar una llamada al
sistema para crear el proceso; esta llamada le ordena al sistema operativo crear un proceso
e indica, de manera directa o indirecta, cual programa debe ejecutarse en el.
La creación de procesos tiene especial utilidad cuando el trabajo a realizar puede formularse
con facilidad a partir de varios procesos relacionados, pero independientes, que interactúan
entre sí.
Todos los procesos llegan a terminar, por lo regular debido a una de las siguientes
condiciones:
La mayoría de los procesos termina porque ya realizo su trabajo. Una vez que un compilador
ha compilado el programa que se le alimento, ejecuta una llamada para indicar al sistema
operativo que ya termino.
2
UNIVERSIDAD PUBLICA DE EL ALTO M. Sc. ZARA YUJRA CAMA
CARRERA INGENIERIA DE SISTEMAS SISTEMAS OPERATIVOS (SIS - 421B)
El tercer motivo para terminar un error causado por el proceso es a menudo debido a un
defecto en el programa.
La cuarta razón por la que un proceso podría terminar es que otro proceso ejecute una
llamada para pedir al sistema operativo que termine el proceso en cuestión.
Cuando un proceso crea a otro, el proceso padre y el proceso hijo mantienen cierta
asociación. El proceso hijo puede, a su vez, crear más procesos y formar así una jerarquía
de procesos.
Pero tenemos que especificar que un proceso solo tiene un solo padre.
Todos los procesos tienen un estado en especial tres que son los siguientes:
2.-Listo (puede ejecutarse; detenido en forma temporal para permitir que se ejecute otro
proceso).
Desde el punto de vista lógico, los primeros dos estados son similares. En ambos casos, el
proceso está dispuesto a ejecutarse, solo que en el segundo por el momento no hay CPU
disponibles para él. El tercer estado es diferente de los primeros dos en cuanto a que el
proceso no puede ejecutarse, aun que la CPU no tenga nada más que hacer.
1 En Ejecución 2
3 Listo
Bloqueado
3
UNIVERSIDAD PUBLICA DE EL ALTO M. Sc. ZARA YUJRA CAMA
CARRERA INGENIERIA DE SISTEMAS SISTEMAS OPERATIVOS (SIS - 421B)
tiempo de CPU. La transición 3 ocurre cuando los demás procesos han recibido su porción
equitativa y toca al primero recibir la CPU para ejecutarse otra vez.
Esta entrada contiene información acerca del estado de proceso, su contador de programa,
apuntador de pila, asignación de memoria, estado de sus archivos abiertos, información
contable y de calendarización, todos estas tareas se debe guardar cuando un proceso pasa
del estado en ejecución al listo o bloqueado, para que se le pueda volver a poner en marcha
posteriormente, como si nunca se hubiera detenido.
Administración de procesos Administración de memoria Administración de archivos
Registros Apuntador a segmento de texto Directorio raíz
Contador de programas Apuntador a segmento de datos Directorio de trabajo
Apuntador de pila Apuntador a segmento de pila Descriptores de archivos
Estados de procesos ID de usuarios
Prioridad ID de grupo.
Parámetros de calendarización
ID de procesos
Procesos padre
Grupo de procesos
Señales
Hora de inicio del proceso
Tiempo de CPU consumido
Tiempo de CPU de los hijos
Hora de la siguiente alarma.
Cuando esta rutina termina, llama a un procedimiento en C que realizara el resto del trabajo
para este tipo específico de interrupción. (Damos por hecho que el sistema operativo está
escrito en C. como es el caso en la mayoría de los sistemas operativos reales.) Una vez que
dicho procedimiento ha terminado su labor, con los cuales es probable que ahora un proceso
esté listo, se llama al calendarizador para ver quien se ejecutara a continuación. Después, el
control regresa al código en lenguaje ensamblador para que cargue los registros y el mapa
de memoria del proceso actual y lo ponga en marcha.
2. SUBPROCESOS
4
UNIVERSIDAD PUBLICA DE EL ALTO M. Sc. ZARA YUJRA CAMA
CARRERA INGENIERIA DE SISTEMAS SISTEMAS OPERATIVOS (SIS - 421B)
En el segundo, los procesos comparten una memoria física, disco, impresora y otros
recursos.
Un subproceso tiene todos los accesos a todas las direcciones de memoria y comparten las
mismas variables globales del proceso.
Por lo tanto un proceso siempre pertenece a un solo usuario, y es de suponer que el usuario
creo múltiples subprocesos con el fin de cooperar en forma activa y estrecha.
Y por último, son útiles en sistemas con múltiples CPUs, en los que es posible un verdadero
paralelismo.
5
UNIVERSIDAD PUBLICA DE EL ALTO M. Sc. ZARA YUJRA CAMA
CARRERA INGENIERIA DE SISTEMAS SISTEMAS OPERATIVOS (SIS - 421B)
El kernel realiza la misma forma, guarda información acerca de los procesos en la tabla de
procesos.
Un subproceso quiere crear o destruir otros subproceso y para realizar esta acción, emite
una llamada al kernel, que se encarga de crearlo o destruirlo actualizando su tabla de
subprocesos.
La tabla de subprocesos del kernel contiene los registros, el estado y demás información de
cada subproceso.
6
UNIVERSIDAD PUBLICA DE EL ALTO M. Sc. ZARA YUJRA CAMA
CARRERA INGENIERIA DE SISTEMAS SISTEMAS OPERATIVOS (SIS - 421B)
Para que exista una buena comunicación entre procesos enfocaremos tres aspectos
fundamentales:
Condiciones de competencias
Regiones críticas
Exclusión mutua con espera activa
Activar y desactivar
Semáforos
Mutexes
Monitores
Transferencia de mensajes
Barreras
7
UNIVERSIDAD PUBLICA DE EL ALTO M. Sc. ZARA YUJRA CAMA
CARRERA INGENIERIA DE SISTEMAS SISTEMAS OPERATIVOS (SIS - 421B)
5. CALENDARIZACION
5.2 Existen varios tipos de calendarización entre ellos tenemos los siguientes: