Ii unidad de sistemas operativos
2.1._ Concepto de proceso…………………………………………………………... 59 2.2._ Estados y transiciones de los procesos……………………………………… 60 2.3._ Procesos ligeros (Hilos o hebras)…………………………………………….. 69 2.4._ Concurrencia y secuenciabilidad……………………………………………… 75 2.4.1._ Exclusión mutua de secciones criticas……………………………………... 77 2.4.2._ Sincronización de procesos enS.C………………………………………… 80 2.4.2.1._ Mecanismo de semáforos……………………………………………….… 82 2.4.2.2._ Mecanismo de monitores………………………………………………….. 85 2.4.3._ Interbloqueo (DeadLock)…………………………………………………….. 87 2.4.3.1._ Prevención…………………………………………………………………... 89 2.4.3.2._ Detección………………………………………………………………….… 90 2.4.3.3._ Recuperación……………………………………………………………….. 94 2.5._ Niveles, objetivos y criterios deplanificación………………………………… 95 2.6._ Técnicas de administración del planificador………………………………... 101 2.6.1._ FIFO…………………………………………………………………………... 102 2.6.2._ SJF……………………………………………………………………………. 104 2.6.3._ RR…………………………………………………………………………...…106 2.6.4._ Queves multi-level…………………………………………………………... 107 2.6.5._ Multi-level feedback queves……………………………………………….. 110
58
UNIDAD 2.- ADMINISTRACION DE PROCESOS Y DEL PROCESADOR2.1.- CONCEPTO DE PROCESO
¿Qué es un proceso? Un programa es una secuencia de instrucciones escrita en un lenguaje dado. Un proceso es una instancia de ejecución de un programa, caracterizado por su contador de programa, su palabra de estado, sus registros del procesador, su segmento de texto, pila y datos, etc. Un programa es un concepto estático, mientras que un proceso es un conceptodinámico. Es posible que un programa sea ejecutado por varios usuarios en un sistema multiusuario, por cada una de estas ejecuciones existirá un proceso, con su contador de programa, registros, etc. El sistema operativo necesita el concepto de proceso para poder gestionar el procesador mediante la técnica de multiprogramación o de tiempo compartido, de hecho, el proceso es la unidad planificable, o deasignación de la CPU. Un proceso es un programa en ejecución, 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 CPU para dicho programa. Su memoria de trabajo, es decir, la memoria que hareservado y sus contenidos. Otra información que permite al sistema operativo su planificación.
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 ydestruidos por el sistema operativo, así como también este se debe hacer cargo de la comunicación entre procesos, pero lo hace a petición de otros procesos. El mecanismo por el cual un proceso crea otro proceso se denomina bifurcación (fork). 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. Enlos sistemas operativos multihilo es posible crear tanto hilos como procesos. La diferencia estriba en que un proceso solamente puede crear hilos
59
para sí mismo y en que dichos hilos comparten toda la memoria reservada para el proceso.
2.2.- ESTADOS Y TRANSICIONES DE LOS PROCESOS
Un proceso es un programa en ejecución, los procesos son gestionados por el sistema operativo y estánformados 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 CPU para dicho programa. Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos. Otra información que permite al sistema operativo su planificación. El Sistema Operativo...
Regístrate para leer el documento completo.