Sistemas De Informacion Sobre Procesos
Enviado por • 23 de Febrero de 2013 • 1.504 Palabras (7 Páginas) • 504 Visitas
Introducción y Definiciones Sobre Procesos
El concepto central de cualquier Sistema Operativo es el de proceso: una abstracción de un programa en ejecución también llamada tarea.
No hay un acuerdo universal sobre una definición de proceso, pero sí algunas definiciones aceptadas [7, Deitel]:
Un programa que se está ejecutando.
• Una actividad asincrónica.
• El emplazamiento del control de un procedimiento que está siendo ejecutado.
• Aquello que se manifiesta por la existencia en el Sistema Operativo de un bloque de control de proceso.
• Aquella entidad a la cual son asignados los procesadores.
• La unidad despachable.
En sistemas de multiprogramación la cpu alterna de programa en programa, en un esquema de seudo paralelismo , es decir que la cpu ejecuta en cierto instante un solo programa, intercambiando muy rápidamente entre uno y otro.
El paralelismo real de hardware se da en las siguientes situaciones:
• En ejecución de instrucciones de programa con más de un procesador de instrucciones en uso simultáneamente.
• Con la superposición de ejecución de instrucciones de programa con la ejecución de una o más operaciones de entrada / salida.
El objetivo es aumentar el paralelismo en la ejecución.
El modelo de procesos posee las siguientes características:
• Todo el software ejecutable, inclusive el Sistema Operativo, se organiza en varios procesos secuenciales o procesos.
• Un proceso incluye al programa en ejecución y a los valores activos del contador, registros y variables del mismo.
• Conceptualmente cada proceso tiene su propia cpu virtual.
• Si la cpu alterna entre los procesos, la velocidad a la que ejecuta un proceso no será uniforme, por lo que es necesario aclarar lo siguiente:
o Que los procesos no deben programarse con hipótesis implícitas acerca del tiempo.
o Que normalmente la mayoría de los procesos no son afectados por la multiprogramación subyacente de la cpu o las velocidades relativas de procesos distintos.
• Un proceso es una actividad de un cierto tipo, que tiene un programa, entrada, salida y estado.
• Un solo procesador puede ser compartido entre varios procesos con cierto “algoritmo de planificación” , el cual determina cuándo detener el trabajo en un proceso y dar servicio a otro distinto (ver Figura 2.1 [23, Tanenbaum]).
En cuanto a las jerarquías de procesos es necesario señalar que los Sistemas Operativos deben disponer de una forma de crear y destruir procesos cuando se requiera durante la operación, teniendo además presente que los procesos pueden generar procesos hijos mediante llamadas al Sistema Operativo, pudiendo darse ejecución en paralelo.
Respecto de los estados del proceso deben efectuarse las siguientes consideraciones:
• Cada proceso es una entidad independiente pero frecuentemente debe interactuar con otros procesos (ver Figura 2.2 [23, Tanenbaum]).
• Los procesos pueden bloquearse en su ejecución porque:
o Desde el punto de vista lógico no puede continuar porque espera datos que aún no están disponibles.
o El Sistema Operativo asignó la cpu a otro proceso.
• Los estados [23, Tanenbaum] que puede tener un proceso son (ver Figura 2.3 [23, Tanenbaum]):
o En ejecución: utiliza la cpu en el instante dado.
o Listo: ejecutable, se detiene en forma temporal para que se ejecute otro proceso.
o Bloqueado: no se puede ejecutar debido a la ocurrencia de algún evento externo.
• Son posibles cuatro transiciones entre estos estados.
Estados de Procesos
Durante su existencia un proceso pasa por una serie de estados discretos, siendo varias las circunstancias que pueden hacer que el mismo cambie de estado.
Debido a ello se puede establecer una “Lista de Listos” para los procesos “listos” y una “Lista de Bloqueados” para los “bloqueados”.
La “Lista de Listos” se mantiene en orden prioritario y la “Lista de Bloqueados” está desordenada, ya que los procesos se desbloquean en el orden en que tienen lugar los eventos que están esperando.
Al admitirse un trabajo en el sistema se crea un proceso equivalente y es insertado en la última parte de la “Lista de Listos”.
La asignación de la cpu al primer proceso de la “Lista de Listos” se denomina “Despacho”, que es ejecutado por una entidad del Sistema Operativo llamada “Despachador”.
El “Bloqueo” es la única transición de estado iniciada por el propio proceso del usuario, puesto que las otras transiciones son iniciadas por entidades ajenas al proceso.
La manifestación de un proceso en un Sistema Operativo es un “Bloque de Control de Proceso” (PCB) con información que incluye [7, Deitel]:
• Estado actual del proceso.
• Identificación única del proceso.
• Prioridad del proceso.
• Apuntadores para localizar la memoria del proceso.
• Apuntadores para asignar recursos.
• Área para preservar registros.
Cuando el Sistema Operativo cambia la atención de la cpu entre los procesos, utiliza las áreas de preservación del PCB para mantener la información que necesita para reiniciar el proceso cuando consiga de nuevo la cpu.
Los sistemas que administran los procesos deben poder crear, destruir, suspender, reanudar, cambiar la prioridad, bloquear, despertar y despachar un proceso.
La “creación” de un proceso significa:
• Dar nombre al proceso.
• Insertar un proceso en la lista del sistema de procesos conocidos.
• Determinar la prioridad inicial del proceso.
...