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
- 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:
- Que los procesos no deben programarse con hipótesis implícitas acerca del tiempo.
- 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
Estados de un procesoModelo de 3 estadosModelo de 5 estadosBloque de Control de Proceso (BCP)Cambio de contextoCambio de modoTipos de interrupcionesRegiones de un Proceso en Unix