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"
Modelo de procesos
Actividad de 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, que se utiliza para
determinar cuando detener el trabajo a un proceso y dar servicio a otro distinto
Cada modelo es una descripción de un proceso software que se presenta desde una
perspectiva particular.
El sistema operativo para permitir la multiprogramación y la
concurrencia requiere de un modelo de procesos que ofrezca el
soporte necesario para proveerla.
Multiprogramación
La CPU alterna de programa
en programa, en un esquema
de seudoparalelismo
(paralelismo virtual).
Paralelismo real de hardware:
Cuando se ejecutan las
instrucciones de un programa
con más de un procesador.
CREACIÓN DE PROCESOS
Inicialización del sistema: Cuando se
arranca un SO se crean varios sucesos.
Ejecución de una llamada al sistema para crear
procesos por parte de un proceso en ejecución.
Solicitud de un usuario para crear un proceso.
Inicio de un trabajo por lotes.
DESTRUCCIÓN DE PROCESOS.
Terminación normal
Terminación por error
Error fatal
Terminación por otro proceso
Jerarquía de procesos
La secuencia de creación de procesos genera un árbol de procesos
Estados de los procesos
Activo
Bloqueado
Preparado
hilos
Un hilo en un sistema operativo es la
característica que permite a una
aplicación realizar varias tareas a la
vez concurrentemente
El modelo clásico de hilo
El modelo de procesos se basa en dos conceptos
independientes: agrupamiento de recursos y
ejecución