Sistemas Operativos
Enviado por juliocesar08 • 10 de Mayo de 2013 • 17.010 Palabras (69 Páginas) • 226 Visitas
3.1 CONCEPTO DE PROCESO
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 Según Deitel:
Un programa que se está ejecutando.
Una actividad asincrónica.
El espíritu animado de un procedimiento
El centro de 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.
Los procesos son asíncronos e independientes unos de otros. En el CPU sólo se ejecuta un proceso cada vez.
EL MODELO DE PROCESOS
Posee las siguientes características:
Todo el software ejecutable, inclusive el Sistema Operativo, se organiza en varios procesos secuénciales 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 el CPU alterna entre los procesos, la velocidad a la que ejecuta un proceso no será uniforme, por lo que es necesario aclarar lo siguiente:
1. Que los procesos no deben programarse con hipótesis implícitas acerca del tiempo.
2. Que normalmente la mayoría de los procesos no son afectados por la multiprogramación subyacente del 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.
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.
ESTADOS DEL PROCESO
Deben efectuarse las siguientes consideraciones:
Cada proceso es una entidad independiente pero frecuentemente debe interactuar con otros procesos.
Los procesos pueden bloquearse en su ejecución porque:
1. Desde el punto de vista Lógico no puede continuar porque espera datos que aún no están disponibles.
2. El Sistema Operativo asignó el CPU a otro proceso.
Los estados que puede tener un proceso son:
1. En ejecución: utiliza el cpu en el instante dado.
2. Listo: ejecutable, se detiene en forma temporal para que se ejecute otro proceso.
3. Bloqueado: no se puede ejecutar debido a la ocurrencia de algún evento extremo.
Son posibles cuatro transiciones entre estos estados.
1. El proceso se bloquea en espera de datos: Esto ocurre cuando el proceso descubre que no puede continuar. En algunos sistemas hay que hacer una llamada al ídem para pasar al estado de bloqueo.
2. El planificador elige otro proceso: Esto se produce cuando el planificador decide que el proceso en ejecución ya ha sido ejecutado el tiempo suficiente y que es hora de que otro proceso tenga tiempo del CPU.
3. El planificador elige este proceso: Ocurre cuando los demás procesos han tenido su parte y este proceso vuelve a ejecutarse.
4. Los datos están disponibles: Se produce cuando ocurre el evento externo por el cual espera el proceso (ejemplo: entrada de datos nuevos). Si no existe otro proceso en ejecución en ese momento se produce la transición a ejecutándose de forma inmediata.
Cuando a uno de los procesos se le retira el CPU, cada ves que pasa de Bloqueado a ejecutable o al revés, el S.O. debe guardar toda la información necesaria del proceso que luego vuelve al mismo lugar donde estaba.
ESTADOS DE PROCESOS
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 arte de la "Lista de Listos”. La asignación del 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 según 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 el 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 el 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.
Crear el bloque de control del proceso.
Asignar los recursos iniciales del proceso.
Un proceso puede "crear un nuevo proceso', en cuyo caso el proceso creador se denomina "proceso padre" y el proceso creado 'proceso hijo" y se obtiene una "estructura Jerárquica de procesos'.
La "destrucción" de un proceso implica:
Borrarlo del sistema.
Devolver sus recursos al sistema.
Purgarlo de todas las listas o tablas
...