Proceso S
Proceso S
Proceso S
PROCESOS
Creación de Procesos
Jerarquías de Procesos
Implementación de Procesos
O En este modelo, todo el software ejecutable en el ordenador,
incluyendo a veces al propio sistema operativo, se organiza en
un número de procesos secuenciales, o simplemente procesos
para acortar.
O Un proceso es justamente un programa en ejecución,
incluyendo los valores actuales del contador de programa,
registros y variables. Conceptualmente cada proceso tiene su
propia CPU virtual. En realidad, por supuesto, la CPU real
conmuta sucesivamente de un proceso a otro, pero para
entender el sistema, es mucho más fácil pensar sobre una
colección de procesos ejecutándose en (pseudo) paralelo, que
intentar seguir la pista de cómo la CPU conmuta de un
programa a otro.
O Esta rápida conmutación de un proceso a otro en algún orden se
denomina multiprogramación
Menu
O Con la CPU conmutando de un proceso a otro, la
velocidad a la cual un proceso realiza su computación
no es uniforme y probablemente ni siquiera es
reproducible si los mismos procesos se ejecutan de
nuevo.
Menu
O Los sistemas operativos necesitan asegurar de alguna
forma que puedan existir todos los procesos
necesarios.
O Los cuatro principales sucesos que provocan la
creación de nuevos procesos son:
O 1. La inicialización del sistema
O 2. La ejecución por parte de un proceso (en ejecución)
de una llamada al sistema de creación de un nuevo
proceso.
O 3. La petición por parte del usuario de la creación de un
nuevo proceso.
O 4. El inicio de un trabajo en batch.
Menu
O Los procesos que se ejecutan como procesos de fondo
para llevar a cabo alguna actividad tal como el correo
electrónico, las páginas web, las news o la impresión
de ficheros de salida, etc, se denominan demonios.
Los sistemas grandes tienen comúnmente docenas de
ellos. En UNIX, el programa ps puede utilizarse para
listar los procesos que están en marcha. En Windows
95/98/Me tecleando CTRL-ALT-SUPR una vez, se
muestra todo lo que está en marcha. En Windows
2000 se utiliza el administrador de tareas
Menu
O Adicionalmente a los procesos creados en el momento
del arranque, también pueden crearse nuevos procesos
después.
O En sistemas interactivos los usuarios pueden arrancar un
programa tecleando un comando o pinchando (dos veces)
con el ratón sobre un icono. Realizando cualquiera de
esas acciones conseguimos que comience un nuevo
proceso y se ejecuta
O La última situación que provoca la creación de procesos
se aplica sólo a los sistemas en batch que podemos
encontrar en los grandes mainframes. En esos sistemas
los usuarios pueden lanzar (submit) al sistema trabajos en
batch (posiblemente de forma remota)e el programa
correspondiente
Menu
O Tras la creación de un proceso comienza su ejecución realizando
el trabajo que se le ha encomendado. Sin embargo nada dura para
siempre, ni siquiera los procesos. Pronto o tarde el nuevo proceso
debe terminar, usualmente debido a una de las siguientes causas.
Menu
O En algunos sistemas, cuando un proceso crea otro proceso,
el proceso padre y el proceso hijo, continúan estando
asociados de cierta manera. El proceso hijo puede a su vez
crear más procesos formando una jerarquía de procesos.
Menu
O Cuando un proceso se bloquea, lo hace porque desde un
punto de vista lógico no puede continuar, normalmente
debido a que está esperando por datos de entrada que
aún no están disponibles. También es posible para un
proceso que esté conceptualmente preparado y sea capaz
de ejecutarse, que esté parado debido a que el sistema
operativo ha decidido temporalmente asignar la CPU a
otro proceso. Estas dos situaciones son completamente
diferentes. En el primer caso, la suspensión es inherente
a la situación (no puede procesarse el comando del
usuario hasta que no halla terminado de teclearse). En el
segundo caso, se trata simplemente de una cuestión
técnica del sistema (no hay suficientes CPUs para dar a
cada proceso su propio procesador privado).
Menu
O Los tres estados en los que puede estar un proceso:
O 1. En ejecución (utilizando realmente la CPU en ese
instante).
O 2. Preparado (ejecutable; detenido temporalmente para
permitir que otro proceso se ejecute).
O 3. Bloqueado (incapaz de ejecutarse hasta que tenga
lugar algún suceso externo).
Menu
O Desde un punto de vista lógico, los dos primeros estados
son similares. En ambos casos el proceso está dispuesto
a ejecutarse, sólo que en el segundo caso temporalmente
no existe ninguna CPU disponible para él. El tercer
estado es diferente de los dos primeros ya que el proceso
no puede ejecutarse, ni siquiera en el caso de que la
CPU no tuviera ninguna otra cosa que hacer.
Menu
O Para implementar el modelo de los procesos el sistema
operativo mantiene una tabla (un array de registros o
estructuras), denominada la tabla de procesos, con una
entrada por proceso. Algunos autores denominan a cada una
de esas entradas descriptor de proceso o bloque de control
de proceso. Estas entradas contienen información sobre el
estado de cada proceso, su contador de programa, su puntero
de pila, su asignación de memoria, el estado de sus ficheros
abiertos, la información relativa a su planificación y a la
contabilidad de los recursos que ha consumido, así como
cualquier otra información sobre el proceso que deba
guardarse cuando el proceso conmute del estado de en
ejecución al estado de preparado o bloqueado, de forma que
su ejecución pueda retomarse posteriormente como si nunca
se hubiera detenido.
Menu
Menu
O Una vez presentada la tabla de procesos, es posible
precisar un poco más cómo es posible ofrecer la ilusión de
la existencia de múltiples procesos secuenciales que
desarrollan su actividad concurrentemente, sobre una
máquina con una única CPU y muchos dispositivos de
E/S. Cada clase de dispositivos de E/S (como por ejemplo
las disqueteras, los discos duros, los timers o los
terminales) tiene asociada una posición de memoria (a
menudo situada en las posiciones más bajas de la
memoria) que se denomina el vector de interrupción
utilizado por ese tipo de dispositivos. Esta posición de
memoria contiene la dirección de la rutina de
tratamiento de la interrupción que atiende a ese tipo de
dispositivos.
Menu
O En resume el tratamiento de las interrupciones y la
planificación. Es necesario insistir en que los detalles
varían considerablemente de un sistema operativo a
otro
Menu