Vous êtes sur la page 1sur 7

1.2.

Procesos y Multiprogramacin

Procesos
El concepto de proceso es uno de los ms importantes dentro de un sistema
operativo. Se trata de una abstraccin muy valiosa para describir las
actividades elementales que evolucionan dentro de un sistema informtico.
Lo primero es comprender la administracion de recursos de procesamiento de
un equipo de cmputo, ya sea una computadora personal o un dispositivo
mvil.
Los sistemas operativos modernos tienen a su disposicin mltiples ncleos de
procesamiento de tipos diversos, como los procesadores de grficos, de
operaciones matemticas, de procesamiento general, etc. Dicho esto, debemos
vigilar que la carga de trabajo a ejecutar se distribuya conforme a los objetivos
del sistema y las caractersticas especficas de cada tipo de procesador.

Modelo de Procesos
Para poder manejar la complejidad inherente de los esquemas de
administracin del procesador se ha integrado el uso de una abstraccin
conocida como modelo de procesos, que se basa en el siguiente concepto de
proceso.
Proceso es la representacin de todos los elementos que constituyen una
instancia de ejecucin de un programa
Los elementos de un proceso son los siguientes:

Una identificacin nica para el proceso, a menudo numrica.


El comportamiento definido por el programa.
Elementos de E/S.
El estado, que consiste en la memoria asignada y en los valores de los
registros del procesador.

En este modelo, todo el software ejecutable en la computadora, que algunas


veces incluye al sistema operativo, se organiza en varios procesos
secuenciales (procesos, para abreviar).
La figura 2-1(a) muestra una computadora multiprogramando cuatro
programas en memoria; la figura 2-1(b) lista cuatro procesos, cada uno con su
propio flujo de control (es decir, su propio contador de programa lgico) y cada
uno ejecutndose en forma independiente. En la figura 2-1(c) podemos ver que
durante un intervalo suficientemente largo todos los procesos han progresado,
pero en cualquier momento dado slo hay un proceso en ejecucin.

La

idea clave es que un proceso es una actividad de cierto tipo: tiene un


programa, una entrada, una salida y un estado. Varios procesos pueden
compartir un solo procesador mediante el uso de un algoritmo de planificacin
para determinar cundo se debe detener el trabajo en un proceso para dar
servicio a otro.

Creacin de un Proceso
Hay cuatro eventos principales que provocan la creacin de procesos:
1. El arranque del sistema.
2. La ejecucin, desde un proceso, de una llamada al sistema para
creacin de procesos.
3. Una peticin de usuario para crear un proceso.
4. El inicio de un trabajo por lotes.
Generalmente, cuando se arranca un sistema operativo se crean varios
procesos. Algunos de ellos son procesos en primer plano; es decir, procesos
que interactan con los usuarios (humanos) y realizan trabajo para ellos.
Los procesos que permanecen en segundo plano para manejar ciertas
actividades como correo electrnico, pginas Web, noticias, impresiones,
etctera, se conocen como demonios (daemons).
Adems de los procesos que se crean al arranque, posteriormente se pueden
crear otros. A menudo, un proceso en ejecucin emitir llamadas al sistema
para crear uno o ms procesos nuevos, para que le ayuden a realizar su
trabajo.

Bloques de Control de Procesos


El sistema operativo a de mantener una estructura de datos para cada proceso,
denominada bloque de control de procesos (BCP). En esta estructura se
almacena informacin acerca del estado del proceso, su contador de programa,
puntero de la pila, lmites de la memoria, estado de los ficheros, etc.

Analicemos brevemente algunos campos del BCP:


Estado
Hace referencia al estado en que se encuentra el proceso, pudiendo ser uno
de los siguientes:

Preparado o listo, en este estado el proceso tiene asignados todos los


recursos que necesita excepto la UCP.
En espera o bloqueado, es donde el proceso se encuentra detenido
hasta que se produzca un nuevo evento (se le asigne un recurso o se
produzca una E/S).
En ejecucin, en el que el proceso esta con todos los recursos
asignados y ejecutndose en el procesador.

Identificador de proceso
Par identificar un proceso se le asocia un numero nico i tal que 0<=i<n;
siendo n el nmero mximo de procesos que puede soportar el sistema, el cual
indica la profundidad de multiprogramacin del sistema. En la figura 2.1 se
muestran
unos
esquemas en
los que
aparecen las
transiciones
de
estado de un
proceso para
un
sistema
monoproceso
y para
un
sistema
multiproceso.

Registros de la CPU

Hay una fotografa de los registros del procesador en el momento en el


que el proceso fue sacado de l. Se utiliza para continuar con el proceso a
partir del pinto en que perdi el control del procesador.
Lmites de memoria
Indican la zona de memoria utilizada por el proceso, de manera que
cualquier acceso a otras zonas de memoria estar prohibido por el sistema.

Informacin del status E/S


Donde se encuentran las peticiones de E/S que no han sido atendidas para
un proceso, los ficheros que tiene abierto, etc.
Informacin de planificacin de CPU
Dicha informacin se utiliza para asignar la CPU a un proceso; es necesario
conocer la prioridad, los punteros a la cola que gestiona el procesador, etc.

Suspensin de Procesos
Cada cierto tiempo, el sistema operativo decide detener la ejecucin de un
proceso y empezar a ejecutar otro; por ejemplo, debido a que el primero ha
utilizado ms tiempo del que le corresponda de la CPU en el ltimo segundo.
Cuando un proceso se suspende en forma temporal como en el ejemplo
anterior, debe reiniciarse despus exactamente en el mismo estado que tena
cuando se detuvo. Esto significa que toda la informacin acerca del proceso
debe guardarse en forma explcita en alguna parte durante la suspensin. Por
ejemplo, el proceso puede tener varios archivos abiertos para leerlos al mismo
tiempo. Con cada uno de estos archivos hay un apuntador asociado que
proporciona la posicin actual (es decir, el nmero del byte o registro que se va
a leer a continuacin). Cuando un proceso se suspende en forma temporal,
todos estos apuntadores deben guardarse de manera que una llamada a read
que se ejecute despus de reiniciar el proceso lea los datos apropiados. En
muchos sistemas operativos, toda la informacin acerca de cada proceso
(adems del contenido de su propio espacio de direcciones) se almacena en
una tabla del sistema operativo, conocida como la tabla de procesos, la cual
es un arreglo (o lista enlazada) de estructuras, una para cada proceso que se
encuentre actualmente en existencia. As, un proceso (suspendido) consiste en
su espacio de direcciones, que se conoce comnmente como imagen de ncleo
(en honor de las memorias de ncleo magntico utilizadas antao) y su
entrada en la tabla de procesos, que guarda el contenido de sus registros y
muchos otros elementos necesarios para reiniciar el proceso ms adelante

Jerarquas de procesos

En algunos sistemas, cuando un proceso crea otro, el proceso padre y el


proceso hijo continan asociados en ciertas formas. El proceso hijo puede crear
por s mismo ms procesos, formando una jerarqua de procesos.

Terminacin de Procesos
Una vez que se crea un proceso, empieza a ejecutarse y realiza el trabajo al
que est destinado. Sin embargo, nada dura para siempre, ni siquiera los
procesos. Tarde o temprano el nuevo proceso terminar, por lo general debido
a una de las siguientes condiciones:
1. Salida normal (voluntaria).
2. Salida por error (voluntaria).
3. Error fatal (involuntaria).
4. Eliminado por otro proceso (involuntaria)
La mayora de los procesos terminan debido a que han concluido su trabajo.
Cuando un compilador ha compilado el programa que recibe, ejecuta una
llamada al sistema para indicar al sistema operativo que ha terminado.
La segunda razn de terminacin es que el proceso descubra un error.
La tercera razn de terminacin es un error fatal producido por el proceso, a
menudo debido a un error en el programa. Algunos ejemplos incluyen el
ejecutar una instruccin ilegal, hacer referencia a una parte de memoria no
existente o la divisin entre cero.
La cuarta
la que un
podra
es
que
una
sistema
indique al
operativo que elimine otros procesos.

Implementacin de Procesos

razn por
proceso
terminar
ejecute
llamada al
que
sistema

Para implementar el modelo de procesos, el sistema operativo mantiene una


tabla (un arreglo de estructuras) llamada tabla de procesos, con slo una
entrada por cada proceso (algunos autores llaman a estas entradas bloques de
control de procesos). Esta entrada contiene informacin importante acerca del
estado del proceso, incluyendo su contador de programa, apuntador de pila,
asignacin de memoria, estado de sus archivos abiertos, informacin de

contabilidad y planificacin, y todo lo dems que debe guardarse acerca del


proceso cuando ste cambia del estado en ejecucin a listo o bloqueado, de
manera que se pueda reiniciar posteriormente como si nunca se hubiera
detenido.

La
figura
2-4
muestra algunos de los campos clave en un sistema tpico. Los campos en la
primera columna se relacionan con la administracin de procesos; los otros dos
se relacionan con la administracin de memoria y archivos, respectivamente.
Hay que recalcar que los campos contenidos en la tabla de procesos varan de
un sistema a otro, pero esta figura nos da una idea general de los tipos de
informacin necesaria.

Fuentes:
Autor: SOL LLAVEN, DANIEL
Editorial: PATRIA
Formato: RUSTICA
Edicin: 01
Ao:2016
ISBN: 9786077441397
Autor: Libro de Pablo Martnez Cobo; Manuel Cabello Requena; Juan Carlos Daz
Martn
Editorial: Ediciones Daz de Santos, S.A.
Edicin: 1
Ao: 1996
272 pginas; 23x19 cm
ISBN: 8479782625 ISBN-13: 9788479782627
Encuadernacin: Rstica

ANDREW S. TANENBAUM , AUTOR-EDITOR, 2009


DATOS DEL LIBRO

N de pginas: 1104 pgs.

Encuadernacin: Tapa blanda

Editorial: AUTOR-EDITOR

Lengua: CASTELLANO

ISBN: 9786074420463

Vous aimerez peut-être aussi