|
Un proceso puede informalmente entenderse como
un programa en ejecución. Formalmente un
proceso es "Una unidad de actividad que se caracteriza por la ejecución
de una secuencia de instrucciones, un estado actual, y un conjunto de
recursos del sistemas asociados".
Para entender la diferencia entre un programa y un
proceso, A. S. Tanenbaum propone la analogía "Un científico
computacional con mente culinaria hornea un pastel de compleaños para su
hija; tiene la receta para un pastel de cumpleaños y una cocina bien equipada
con todos los ingredientes necesarios, harina, huevo azúcar, leche, etcétera."
Situando cada parte de la analogía se puede decir que la receta representa el
programa (el algoritmo), el científico computacional es el procesador y los
ingredientes son las entradas del programa. El proceso es la actividad que
consiste en que el científico computacional vaya leyendo la receta,
obteniendo los ingredientes y horneando el pastel.
Cada proceso tiene su contador de programa, registros y variables,
aislados de otros procesos, incluso siendo el mismo programa en ejecución 2
veces. Cuándo este último caso sucede, el sistema operativo usa la misma
región de memoria de código, debido a que dicho código no cambiará, a menos
que se ejecute una versión distinta del programa.
Los procesos son gestionados por el sistema operativo y están formados por:
§ Su estado de ejecución en un momento dado,
esto es, los valores de los registros de la unidad central de procesamiento para
dicho programa.
§ Su memoria de trabajo (memoria crítica), es
decir, la memoria que ha reservado y sus contenidos.
§ Otra información que permite al sistema
operativo su planificación.
Un proceso se erige en pequeñas porciones, conocidas
como páginas, y cada proceso tiene su propia tabla de paginación, fungiendo como una
optimización del sistema operativo ante los fallo de página.
|








0 comentarios:
Publicar un comentario