Procesos – Parte 1

Concepto de proceso

Un proceso se puede definir como un programa en ejecución, o como la unidad de procesamiento gestionada por el sistema operativo.

El sistema operativo mantiene por cada proceso una serie de estructuras de información que permiten identificar las características de este, así como los recursos que tiene asignados.

Una parte muy importante de estas informaciones se encuentra en el llamado bloque de control de proceso (BCP). El sistema operativo mantiene una tabla de procesos con todos los BCP de los procesos (estructura estática).

Los segmentos de memoria en los que residen el código y los datos del proceso se lo denomina imagen en memoria.

En UNIX, un procesos sabe quien es su padre, mientras que otros sistemas operativos como el Windows NT no la mantienen.

El entorno del proceso consiste en un conjunto de variables que se le pasan al proceso en el momento de sus creación.

Multitarea

Dependiendo del numero de procesos y de usuarios que puedan ejecutar simultáneamente, un sistema operativos puede ser.

  • Monotarea o monoproceso (un procesos en cada instante).

  • Multitarea o multiproceso (varios procesos activos a la vez).

  • Monousuario (da soporte a un solo usuario).

  • Multiusuario (tiempo compartido, soporte a varios usuarios).

Base de la multitarea

La multitarea se basa en las tres características siguientes:

  • Paralelismo real entre E/S y procesador.

  • Alternancia en los procesos de fases de E/S y procesamiento.

  • Memoria principal capaz de almacenar varios procesos.

Mientras se están realizando una operación de E/S de un proceso, se puede estar ejecutando otro proceso.

El sistema operativo entra a ejecutar al final de las fases de procesamiento y al final de las fases de entrada/salida. Esto es así puesto que las operaciones de E/S no las gobiernan directamente los procesos, sino que se limitan a pedirle al sistema operativo que ellas realice.

Proceso Nulo: El procesador no para de ejecutar nunca, este proceso consiste en un bucle infinito que no realiza ninguna operación útil.

Planificador (scheduler) forma parte del núcleo del sistema operativo. Entra en ejecución cada vez que se activa el sistema operativo y si misión es seleccionar el procesos que se va de ejecutar a continuación.

Activador (dispatcher) también forma parte del sistema operativo y su función es poner en ejecución el procesos seleccionado por el planificador. La activación del proceso consiste en copiar los registros del procesador el estado del procesador, que esta almacenado en el BCP.

Ventajas de la multitarea

  • Facilita la programación.

  • Permite prestar un buen servicio.

  • Aprovecha los tiempos muertos.

  • Aumenta el uso de la UCP.

Se denomina grado de multiprogramación al numero de procesos activos que mantiene un sistema.

En un sistema sin memoria virtual los procesos activos han de residir totalmente en memoria principal. Por tanto. el grado de multiprogramación viene limitado por el tamaño del proceso y por la memoria disponible.

En los sistemas con memoria virtual la situación es mas compleja, puesto que los procesos solo tienen en memoria principal su conjunto residente , lo que hace que quepan mas procesos.

Se denomina hiperpaginación (trashing) a la situación de alta paginación producida cuando los conjuntos residentes de los procesos son demasiado pequeños.

Se denomina conjunto residente a las paginas que un procesos tiene en memoria principal. El conjunto de trabajo de un proceso esta formado por el conjunto de paginas que un proceso esta actualmente utilizando.

Saludos…

  • Share/Bookmark

Puedes seguir cualquier respuesta a esta entrada mediante el canal RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio.

Deja un comentario

XHTML: Puedes usar las siguientes etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

 
Twitter RSS email