ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

PRINCIPIO DE SISTEMAS DE INFORMACIÓN Y BASE DE DATOS


Enviado por   •  20 de Octubre de 2014  •  9.985 Palabras (40 Páginas)  •  210 Visitas

Página 1 de 40

CAPÍTULO I

PROCESO, ENTORNO, ENTIDAD Y SISTEMA

PROCESO:

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 sistema asociados".

Para entender lo que es un proceso y 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 cumpleañ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:

• Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador.

• 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 rige 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.

Esta definición varía ligeramente en el caso de sistemas operativos multihilo, donde un proceso consta de uno o más hilos, la memoria de trabajo (compartida por todos los hilos) y la información de planificación. Cada hilo consta de instrucciones y estado de ejecución.

Los procesos son creados y eliminados por el sistema operativo, así como también éste se debe hacer cargo de la comunicación entre procesos, pero lo hace a petición de otros procesos (interrupción o tiempo de reloj). El mecanismo por el cual un proceso crea otro proceso se denomina bifurcación (fork). El proceso de arranque de GNU/Linux inicia con un sólo proceso (init) y después comienza a crear los hilos necesarios para tener el sistema listo para su uso. Los nuevos procesos pueden ser independientes y no compartir el espacio de memoria con el proceso que los ha creado o ser creados en el mismo espacio de memoria.

En los sistemas operativos multihilo es posible crear tanto hilos como procesos. La diferencia estriba en que un proceso solamente puede crear hilos para sí mismo y en que dichos hilos comparten toda la memoria reservada para el proceso.

Los procesos pueden ser cooperativos o independientes. Dos o más procesos pueden cooperar mediante señales de forma que uno obliga a detenerse a los otros hasta que reciban una señal para continuar.

• Se usa una variable de tipo semáforo para sincronizar los procesos.

• Si un proceso está esperando una señal, se suspende hasta que la señal se envíe.

• Se mantiene una cola de procesos en espera en el semáforo.

• La forma de elegir los procesos de la cola en espera es mediante una política first in first out.

La sincronización explícita entre procesos es un caso particular del estado "bloqueado". En este caso, el suceso que permite desbloquear un proceso no es una operación de entrada/salida, sino una señal generada a propósito por el programador desde otro proceso.

Hay cuatro eventos principales que provocan la creación de procesos:

• El arranque del sistema.

• La ejecución, desde un proceso, de una llamada al sistema para la creación de otro proceso.

• Una petición de usuario para crear un proceso.

• El inicio de un trabajo por lotes.

Los procesos pueden contener uno o más hilos, haciendo más eficiente las tareas, asimismo la complejidad de los algoritmos de sincronización, ya que podría ocurrir la condición de carrera muy a menudo, inclusive los indeseados interbloqueos.

Creación de un proceso:

Básicamente hasta el día de hoy existen sólo 4 formas de crear un proceso:

• Arranque del sistema.

• En la ejecución, desde un proceso, de una llamada al sistema para la creación del proceso.

• Una petición deliberada del usuario para crear un proceso.

• El inicio de un trabajo por lotes.

Terminación de un proceso:

El ciclo de vida de un proceso es sencillo, consta de la creación, la ejecución de instrucciones y la terminación. Cabe señalar que un proceso en el transcurso de su ciclo puede estar en diferentes estados.

• Salida normal: ésta se presenta cuando el proceso termina de forma voluntaria, por ejemplo, cuando se cierra en navegador web o el procesador de textos.

• Salida por error: ésta se presenta cuando el proceso tiene que salir debido a insuficiencia de datos, por ejemplo, cuando solicita un archivo que no existe.

• Error fatal: éste sucede por un error en el programa, como las divisiones entre 0 o requerimiento de memoria inaccesible.

• Eliminado por otro proceso: éste es sumamente útil cuando un proceso se queda colgado, es decir, sin terminar, pero tampoco responde.

Estados de un proceso:

Los estados de un proceso obedecen a su participación y disponibilidad dentro del sistema operativo y surgen de la necesidad de controlar la ejecución de cada proceso. Los procesadores sólo pueden ejecutar un sólo proceso a la vez, turnándolos para el uso de éste. Existen procesos apropiativos que básicamente ocupan todo el tiempo del procesador hasta que ellos deciden dejarlo. Los procesos no apropiativos son aquellos que ocupan por un periodo de tiempo el procesador hasta que una interrupción o señal llega al procesador para hacer el cambio de proceso, a esto se le conoce como cambio de contexto.

Los posibles estados que puede tener un proceso son ejecución, bloqueado y listo:

• Ejecución, es un proceso

...

Descargar como (para miembros actualizados) txt (67 Kb)
Leer 39 páginas más »
Disponible sólo en Clubensayos.com