Sistemas Operativos - Procesos
Los primeros sistemas de cómputo sólo permitían la ejecución de un programa a la vez. Este programa tenía el control absoluto del sistema y el acceso a todos sus recursos. Los sistemas de hoy en día permiten cargar varios programas en la memoria y ejecutarlos de manera concurrente. Esta evolución requirió de un control más firme y una mayor división, de los diferentes programas. Estasnecesidades dieron por resultado el concepto de proceso, el cual es un programa en ejecución. Un proceso es la unidad de trabajo en un sistema moderno de tiempo compartido'.
Entre más complejo sea el sistema operativo, se espera que haga más en beneficio de sus usuarios. Aunque su ocupación principal es la ejecución de los programas del usuario, también necesita encargarse de varias tareas delsistema que es preferible dejar fuera del kernelmismo. Por lo tanto, un sistema consiste en una colección de procesos: procesos del sistema operativo ejecutando código del sistema y procesos de usuario ejecutando código de usuario. Potencialmente, todos estos procesos pueden ejecutarse de manera concurrente, multiplexando el o los procesadores. Al conmutar la CPU entre los procesos; el sistemaoperativo hace que la computadora sea más productiva.
CONCEPTO DE PROCESO
Un punto por resolver en nuestro estudio de los sistemas operativos es la cuestión acerca de qué nombre debe asignarse a todas las actividades de la CPU. Un sistema por lotes ejecuta trabajos, en tanto que un sistema de tiempo compartido tiene programas de usuario o tareas. Incluso en un sistema de un solo usuario, comoWindows y Macintosh OS, el usuario es capaz de ejecutar varios programas a la vez: un procesador de palabras, un navegador de red y algún paquete de correo electrónico.
Incluso si el usuario ejecuta sólo un programa a la vez, el sistema operativo necesita dar soporte a sus propias actividades internas programadas, como la administración de la memoria. Como en muchos aspectos estas actividades sonsimilares, las llamaremos a todas ellas procesos.
Los términos trabajo y proceso se utilizan casi de manera intercambiable en este texto. Aunque personalmente preferimos el término proceso, gran parte de la teoría y terminología de los sistemas operativos se desarrollaron durante una época en la que la actividad principal de los sistemas operativos era el procesamiento de trabajos. Sería engañoso oconfuso evitar el empleo de términos comúnmente aceptados que incluyen la palabra trabajo (como planificación de trabajos) simplemente porque el concepto de proceso ha sustituido al de trabajo.
EL PROCESO
Informalmente, un proceso es un programa en ejecución. Un proceso es más que el código del programa, el cual también es conocido como la sección de texto. También incluye la actividad actual,representada por el valor del contador de programa y el contenido de los registros del procesador. Un proceso por lo general también incluye la pila del proceso, que contiene datos temporales (parámetros de método, direcciones de retorno y variables locales) y una sección de datos, que contiene variables globales.
Hacemos énfasis en que un programa por sí mismo no es un proceso; un programa es unaentidad pasiva, tal como el contenido de un archivo almacenado en disco, en tanto que un proceso es una entidad activa, con un contador de programa que especifica la siguiente instrucción a ejecutarse y un conjunto de recursos asociados.
Aunque dos procesos pueden estar asociados al mismo programa, se les considera como dos secuencias de ejecución distintas. Por ejemplo, varios usuarios puedenestar ejecutando copias diferentes del programa de correo, o el mismo usuario puede invocar varias copias del programa editor. Cada una de éstas es un proceso distinto, y aunque las secciones de texto son equivalentes, las secciones de datos varían. También es común tener un proceso que genera muchos procesos a medida que se ejecuta.
ESTADO DE UN PROCESO
A medida que se ejecuta un proceso,...
Regístrate para leer el documento completo.