24
GESTIÓN DE PROCESOS GESTIÓN DE PROCESOS

GESTIÓN DE PROCESOS. El PROCESO Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

Embed Size (px)

Citation preview

Page 1: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

GESTIÓN DE GESTIÓN DE PROCESOSPROCESOS

Page 2: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

El PROCESOEl PROCESO

Informalmente, un proceso es un programa en Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe ejecución. La ejecución de un proceso debe proceder de manera secuencialproceder de manera secuencial..

Un proceso es más que el código del programa, Un proceso es más que el código del programa, incluye la actividad actual, representada por el incluye la actividad actual, representada por el valor del contador de programa y el contenido de valor del contador de programa y el contenido de los registros del procesador, la pila del proceso, los registros del procesador, la pila del proceso, que contiene datos temporales ( como los que contiene datos temporales ( como los parámetros de subrutinas, direcciones de retorno parámetros de subrutinas, direcciones de retorno y variables temporales), y una sección de datos y variables temporales), y una sección de datos que contiene variables globales.que contiene variables globales.

Page 3: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

EL PROCESOEL PROCESO

nuevo

listo

En espera

En ejecución

Terminadoadmitido

interrupción

salir

Despacho del planificador

Terminación de E/S o suceso Espera por E/S o suceso

Page 4: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

ESTADO DE UN PROCESOESTADO DE UN PROCESO A medida que un proceso se ejecuta, cambia de A medida que un proceso se ejecuta, cambia de

estado. El estado de un proceso está definido estado. El estado de un proceso está definido en parte por la actividad actual de ese proceso. en parte por la actividad actual de ese proceso. Cada proceso puede estar en uno de los Cada proceso puede estar en uno de los siguientes estados:siguientes estados:

• Nuevo (new):Nuevo (new): El proceso se está creando. El proceso se está creando.• En ejecución (Running):En ejecución (Running): Se está ejecutando Se está ejecutando

instrucciones.instrucciones.• En espera (Waiting):En espera (Waiting): El proceso está esperando que El proceso está esperando que

ocurra algún suceso (como la terminación de una ocurra algún suceso (como la terminación de una operación de E/S o la recepción de una señal).operación de E/S o la recepción de una señal).

• Listo (Ready):Listo (Ready): El proceso está esperando que se le El proceso está esperando que se le asigne a un procesador.asigne a un procesador.

• Terminado (Terminated):Terminado (Terminated): El proceso terminó su El proceso terminó su ejecución.ejecución.

Page 5: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

BLOQUE DE CONTROL DE PROCESOBLOQUE DE CONTROL DE PROCESO

Cada proceso se Cada proceso se representa en el SO con un representa en el SO con un bloque de control de bloque de control de proceso (PCB, process proceso (PCB, process control block), también control block), también llamado bloque de control llamado bloque de control de tarea. de tarea.

puntero Estado del proceso

Número del puntero

CONTADOR DE PROGRAMA

REGISTROS

LÍMITES DE MEMORIA

LISTA DE ARCHIVOS ABIERTOS

……

**EL PCB simplemente sirve como depósitoDe cualquier información que pueda variarDe un proceso a otro.**

Page 6: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

BLOQUE DE CONTROL DE PROCESOBLOQUE DE CONTROL DE PROCESO Estado del proceso:Estado del proceso: Que puede ser nuevo, listo, en ejecución, en espera, Que puede ser nuevo, listo, en ejecución, en espera,

detenido, etc.detenido, etc.

Contador de programa:Contador de programa:Indica la dirección de la siguiente instrucción que se Indica la dirección de la siguiente instrucción que se ejecutará para este proceso.ejecutará para este proceso.

Registros de CPU:Registros de CPU: El número y el tipo de los registros varía dependiendo de El número y el tipo de los registros varía dependiendo de la arquitectura del computador. la arquitectura del computador. Incluyen acumuladores, registros índice, punteros de pila y registros de Incluyen acumuladores, registros índice, punteros de pila y registros de propósito general, entre otros.propósito general, entre otros.

Información de planificación de CPU:Información de planificación de CPU: Incluye una prioridad del proceso, Incluye una prioridad del proceso, punteros a colas de planificación y cualesquier otros parámetros de punteros a colas de planificación y cualesquier otros parámetros de planificación.planificación.

Información de gestión de memoria:Información de gestión de memoria: Puede incluir datos como el valor de Puede incluir datos como el valor de los registros de base y límite, las tablas de páginas o las tablas de los registros de base y límite, las tablas de páginas o las tablas de segmentos, dependiendo del sistema de memoria empleado por el SO.segmentos, dependiendo del sistema de memoria empleado por el SO.

Información contable:Información contable: Incluye la cantidad de tiempo real consumida, Incluye la cantidad de tiempo real consumida, límites de tiempo, números de cuenta, números de trabajo o proceso, etc.límites de tiempo, números de cuenta, números de trabajo o proceso, etc.

Page 7: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

PLANIFICACIÓN DE PROCESOSPLANIFICACIÓN DE PROCESOS

El objetivo de la multiprogramación es tener El objetivo de la multiprogramación es tener algún proceso en ejecución en todo momento, a algún proceso en ejecución en todo momento, a fin de maximizar el aprovechamiento de la CPUfin de maximizar el aprovechamiento de la CPU. .

El objetivo del tiempo compartido es conmutar la El objetivo del tiempo compartido es conmutar la

CPU entre procesos con tal frecuencia que los CPU entre procesos con tal frecuencia que los usuarios puedan interactuar con cada programa usuarios puedan interactuar con cada programa durante su ejecución. durante su ejecución.

Page 8: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

COLAS DE PLANIFICACIÓNCOLAS DE PLANIFICACIÓN Conforme los procesos ingresan en el sistema, se colocan en una Conforme los procesos ingresan en el sistema, se colocan en una

cola de trabajos. cola de trabajos. Esta cola incluye todos los procesos del sistema.Esta cola incluye todos los procesos del sistema. Los procesos que están en la memoria principal y están listos y Los procesos que están en la memoria principal y están listos y

esperando para ejecutarse se mantienen en una lista llamada esperando para ejecutarse se mantienen en una lista llamada COLA DE PROCESOS LISTOS, que se normalmente se almacena COLA DE PROCESOS LISTOS, que se normalmente se almacena como lista enlazada. como lista enlazada.

La cabecera de esta cola contiene punteros al primer y al último La cabecera de esta cola contiene punteros al primer y al último PCB de la lista.PCB de la lista.

Cada PCB tiene un campo de puntero que apunta al siguiente Cada PCB tiene un campo de puntero que apunta al siguiente proceso de la cola de procesos listos.proceso de la cola de procesos listos.

Cuando a un proceso se le asigna la CPU, se ejecuta durante un Cuando a un proceso se le asigna la CPU, se ejecuta durante un tiempo y finalmente termina, es interrumpido o espera que ocurra tiempo y finalmente termina, es interrumpido o espera que ocurra un suceso en particular, como la terminación de un proceso de un suceso en particular, como la terminación de un proceso de E/S.E/S.

La lista de procesos que esperan un dispositivo de E/S en La lista de procesos que esperan un dispositivo de E/S en particular se llama COLA DE DISPOSITIVO. Cada dispositivo tiene particular se llama COLA DE DISPOSITIVO. Cada dispositivo tiene su cola.su cola.

Page 9: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

COLAS DE PLANIFICACIÓNCOLAS DE PLANIFICACIÓN

Un proceso nuevo se coloca inicialmente en la Un proceso nuevo se coloca inicialmente en la cola de procesos listos, donde espera hasta que cola de procesos listos, donde espera hasta que se le escoge para ejecutarse (se le despacha) y se le escoge para ejecutarse (se le despacha) y recibe la CPU. Una vez asignado puede ocurrir:recibe la CPU. Una vez asignado puede ocurrir:

• El proceso podría emitir una solicitud de E/S y El proceso podría emitir una solicitud de E/S y entonces colocarse en una cola E/S.entonces colocarse en una cola E/S.

• El proceso podría crear un nuevo subproceso y El proceso podría crear un nuevo subproceso y esperar a que termine.esperar a que termine.

• El proceso podría ser desalojado por el CPU El proceso podría ser desalojado por el CPU (interrupción). (interrupción).

Page 10: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

PLANIFICADORESPLANIFICADORES Un proceso migra de una cola de Un proceso migra de una cola de

planificación a otra durante toda el ciclo.planificación a otra durante toda el ciclo.

El planificador adecuado se encarga de El planificador adecuado se encarga de este proceso de selección.este proceso de selección.

En un sistema por lotes es común que En un sistema por lotes es común que haya más procesos presentados de los que haya más procesos presentados de los que se pueden ejecutar enseguida. se pueden ejecutar enseguida.

Se colocan en spool en un dispositivo de Se colocan en spool en un dispositivo de almacenamiento masivo (disco) y ahí almacenamiento masivo (disco) y ahí esperan hasta ejecutarse. esperan hasta ejecutarse.

Page 11: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

TIPOS DE PLANIFICACIÓNTIPOS DE PLANIFICACIÓN

A LARGO PLAZOA LARGO PLAZO Escoge procesos de esta reserva (listos) y los Escoge procesos de esta reserva (listos) y los

carga en la memoria para que se ejecuten.carga en la memoria para que se ejecuten. Se ejecuta con una frecuencia menor a los de Se ejecuta con una frecuencia menor a los de

CORTO PLAZO. CORTO PLAZO. Controla el grado de multiprogramación (el Controla el grado de multiprogramación (el

número de procesos que están en la memoria).número de procesos que están en la memoria). Si el grado de multiprogramación es estable, la Si el grado de multiprogramación es estable, la

frecuencia promedio de creación de procesos frecuencia promedio de creación de procesos debe ser igual a la frecuencia promedio de salida debe ser igual a la frecuencia promedio de salida de proceso del sistema.de proceso del sistema.

Page 12: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

TIPOS DE PLANIFICACIÓNTIPOS DE PLANIFICACIÓN

PROCESOS A MEDIANO PLAZOPROCESOS A MEDIANO PLAZO

Forma parte de la función de intercambio.Forma parte de la función de intercambio.

Se basa en la necesidad de controlar el grado de Se basa en la necesidad de controlar el grado de multiprogramaciónmultiprogramación

Si nos emplea memoria virtual, deberá tener en Si nos emplea memoria virtual, deberá tener en cuenta las cuenta las necesidades de memoria del proceso.necesidades de memoria del proceso.

La idea clave en que se basan es que en ocasiones es La idea clave en que se basan es que en ocasiones es provechoso sacar procesos de la memoria (y de la provechoso sacar procesos de la memoria (y de la contención activa por la CPU), a fin de reducir el grado de contención activa por la CPU), a fin de reducir el grado de multiprogramación.multiprogramación.

En algún momento posterior, el proceso se reintroducirá en En algún momento posterior, el proceso se reintroducirá en la memoria y podrá continuar su ejecución donde se quedó. la memoria y podrá continuar su ejecución donde se quedó. (Swapping). (Swapping).

Page 13: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

TIPOS DE PLANIFICACIÓNTIPOS DE PLANIFICACIÓNPROCESO A CORTO PLAZOPROCESO A CORTO PLAZO Escoge entre los procesos que estén listo para ejecutarse, y Escoge entre los procesos que estén listo para ejecutarse, y

asigna la CPU a uno de ellos.asigna la CPU a uno de ellos.

Debe seleccionar un proceso nuevo para la CPU de forma Debe seleccionar un proceso nuevo para la CPU de forma relativamente frecuente. relativamente frecuente.

Un proceso podría ejecutarse durante unos cuantos Un proceso podría ejecutarse durante unos cuantos milisegundos antes de esperar una solicitud de E/S. milisegundos antes de esperar una solicitud de E/S.

En muchos casos, el planificador a corto plazo se ejecuta En muchos casos, el planificador a corto plazo se ejecuta por lo menos una vez cada 100 milisegundos.por lo menos una vez cada 100 milisegundos.

Debe tomarse en cuenta los factores:Debe tomarse en cuenta los factores:• Equidad: Repartir el uso de la cpuEquidad: Repartir el uso de la cpu• Eficiencia: Evitar tiempos ociosos de la cpu.Eficiencia: Evitar tiempos ociosos de la cpu.• Rendimiento: Maximizar números de peticiones.Rendimiento: Maximizar números de peticiones.

Page 14: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

COMMUTACIÓN DE CONTEXTOCOMMUTACIÓN DE CONTEXTO

El cambio de la CPU a otro proceso El cambio de la CPU a otro proceso requiere guardar el estado del proceso requiere guardar el estado del proceso anterior y cargar el estado guardado del anterior y cargar el estado guardado del nuevo proceso. nuevo proceso.

Esta tarea se denomina conmutación de Esta tarea se denomina conmutación de contexto (context switch).contexto (context switch).

El tiempo de conmutación de contexto es El tiempo de conmutación de contexto es exclusivamente gasto extra (overhead), exclusivamente gasto extra (overhead), porque el sistema no realiza trabajo útil porque el sistema no realiza trabajo útil durante la conmutación.durante la conmutación.

Page 15: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

OPERACIONES CON PROCESOSOPERACIONES CON PROCESOSCreación de procesos:Creación de procesos:

Un proceso puede crear varios procesos nuevos, a través Un proceso puede crear varios procesos nuevos, a través de una llamada al sistema de “crear proceso”, durante el de una llamada al sistema de “crear proceso”, durante el curso de su ejecución. curso de su ejecución.

El proceso creador se denomina PADRE, y los nuevos El proceso creador se denomina PADRE, y los nuevos procesos son los HIJOS de ese proceso.procesos son los HIJOS de ese proceso.

Cada uno de estos procesos nuevos puede a su vez crear Cada uno de estos procesos nuevos puede a su vez crear otros procesos, formando un árbol de procesos.otros procesos, formando un árbol de procesos.

Un proceso necesita ciertos recursos (tiempo de cpu, Un proceso necesita ciertos recursos (tiempo de cpu, memoria, archivos dispositivos de e/s) para efectuar su memoria, archivos dispositivos de e/s) para efectuar su tarea.tarea.

El padre quizás tenga que dividir sus recursos entre sus El padre quizás tenga que dividir sus recursos entre sus hijos, o tal vez varios de sus hijos puedan compartir algunos hijos, o tal vez varios de sus hijos puedan compartir algunos recursos.recursos.

Page 16: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

OPERACIONES CON PROCESOSOPERACIONES CON PROCESOSCreación de procesos:Creación de procesos: Cuando un proceso crea un proceso nuevo Cuando un proceso crea un proceso nuevo

puede ocurrir en términos de ejecución:puede ocurrir en términos de ejecución:• El padre sigue ejecutándose de forma El padre sigue ejecutándose de forma

concurrente con sus hijos.concurrente con sus hijos.• El padre espera hasta que algunos de sus hijos, El padre espera hasta que algunos de sus hijos,

o todos, han terminado.o todos, han terminado.

También hay 2 posibilidades en términos También hay 2 posibilidades en términos de espacio de direcciones del nuevo de espacio de direcciones del nuevo proceso:proceso:• El proceso hijo es un duplicado del proceso El proceso hijo es un duplicado del proceso

padre.padre.• Se carga un programa en el proceso hijo.Se carga un programa en el proceso hijo.

Page 17: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

OPERACIONES CON PROCESOSOPERACIONES CON PROCESOS

TERMINACIÓN DE PROCESOSTERMINACIÓN DE PROCESOS

Un proceso finaliza cuando termina de ejecutar su último Un proceso finaliza cuando termina de ejecutar su último enunciado y le pide al SO que lo elimine utilizando la enunciado y le pide al SO que lo elimine utilizando la llamada SALIR (exit). llamada SALIR (exit).

EL SO liberara todos los recursos del proceso, o puede EL SO liberara todos los recursos del proceso, o puede devolver datos a su proceso padre.devolver datos a su proceso padre.

También ocurre la terminación cuando un proceso causa la También ocurre la terminación cuando un proceso causa la finalización de otro con una llamada al sistema apropiado finalización de otro con una llamada al sistema apropiado (abortar). (abortar).

Normalmente, sólo el padre del proceso que se terminará Normalmente, sólo el padre del proceso que se terminará puede emitir tal llamada. puede emitir tal llamada.

El padre necesita conocer la identidad de sus hijos. Cuando El padre necesita conocer la identidad de sus hijos. Cuando crea un proceso nuevo, el SO le pasa la identidad del crea un proceso nuevo, el SO le pasa la identidad del proceso recién creado.proceso recién creado.

Page 18: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

OPERACIONES CON PROCESOSOPERACIONES CON PROCESOS

TERMINACIÓN DE PROCESOSTERMINACIÓN DE PROCESOS

Un padre podría terminar la ejecución de uno Un padre podría terminar la ejecución de uno de sus hijos por:de sus hijos por:• El hijo se ha excedido en la utilización de algunos El hijo se ha excedido en la utilización de algunos

de los recursos que se le asignaron.de los recursos que se le asignaron.• La tarea que se asignó al hijo ya no es necesaria.La tarea que se asignó al hijo ya no es necesaria.• El padre va a salir, y el SO no permite que un hijo El padre va a salir, y el SO no permite que un hijo

continúe si su padre termina.continúe si su padre termina.

Page 19: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

PROCESOS INDEPENDIENTES Y PROCESOS INDEPENDIENTES Y COOPERATIVOSCOOPERATIVOS

Los procesos concurrentes que se ejecutan en el SO pueden ser Los procesos concurrentes que se ejecutan en el SO pueden ser independientes o cooperativos.independientes o cooperativos.

Uno proceso es independiente si no puede afectar ni ser afectado Uno proceso es independiente si no puede afectar ni ser afectado por los demás procesos que se ejecutan en el sistema. por los demás procesos que se ejecutan en el sistema.

Un proceso es cooperativo si puede afectar o ser afectado por los Un proceso es cooperativo si puede afectar o ser afectado por los demás procesos que se ejecutan en el sistema.demás procesos que se ejecutan en el sistema.

Hay varias razones para crear un entorno que permita la Hay varias razones para crear un entorno que permita la cooperación entre procesos:cooperación entre procesos:Compartir información: Ofrecer entorno que permita acceso concurrente a Compartir información: Ofrecer entorno que permita acceso concurrente a

recursos.recursos.Aceleración de los cálculosAceleración de los cálculos: Tarea que se divide en subtareas paralelas : Tarea que se divide en subtareas paralelas

para que se ejecute con mayor rapidez.. Se puede dar si el para que se ejecute con mayor rapidez.. Se puede dar si el computador cuenta con varios elementos procesadores o canales de computador cuenta con varios elementos procesadores o canales de e/s.e/s.

Modularidad:Modularidad: Patrón modular dividiendo las funciones del sistema en Patrón modular dividiendo las funciones del sistema en procesos individuales.procesos individuales.

Comodidad:Comodidad: Un usuario podría tener muchas tareas que realizar en un Un usuario podría tener muchas tareas que realizar en un momento dado.momento dado.

La ejecución concurrente precisa cooperación entre los procesos La ejecución concurrente precisa cooperación entre los procesos por tanto requiere de mecanismos y sincronizar acciones.por tanto requiere de mecanismos y sincronizar acciones.

Page 20: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

Ilustración de proceso cooperativoIlustración de proceso cooperativo Un proceso productor produce información que es Un proceso productor produce información que es

consumida por un proceso consumidor. consumida por un proceso consumidor.

Ej. Un compilador podría producir código de ensamble, que Ej. Un compilador podría producir código de ensamble, que es consumido por un ensamblador. Éste, a su vez, podría es consumido por un ensamblador. Éste, a su vez, podría producir módulos objetos, que son consumidos por el producir módulos objetos, que son consumidos por el cargador.cargador.

**Para que los procesos productores y consumidores **Para que los procesos productores y consumidores puedan ejecutarse de forma concurrente, es preciso puedan ejecutarse de forma concurrente, es preciso contar con un buffer de elementos que el productor contar con un buffer de elementos que el productor pueda llenar y el consumidor pueda vaciar. pueda llenar y el consumidor pueda vaciar.

** Deben estar sincronizados** Deben estar sincronizados. .

Page 21: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

MECANISMOS DE PLANIFICACIÓNMECANISMOS DE PLANIFICACIÓN

Encolador (Enqueuer)Encolador (Enqueuer) Cuando un proceso cambia al estado LISTOS, el Cuando un proceso cambia al estado LISTOS, el

encolador lo coloca en una estructura de datos de encolador lo coloca en una estructura de datos de tipo cola.tipo cola.

Conmutador de contexto (Context switcher)Conmutador de contexto (Context switcher) Cuando un proceso va a ser desalojado de la CPU, Cuando un proceso va a ser desalojado de la CPU,

el conmutador de contexto guarda el contenido el conmutador de contexto guarda el contenido de los registros de la CPU en el BCP del proceso.de los registros de la CPU en el BCP del proceso.

Distribuidor (dispatcher)Distribuidor (dispatcher) El distribuidor selecciona uno de los procesos de El distribuidor selecciona uno de los procesos de

la cola de LISTOS y le asigna la CPU.la cola de LISTOS y le asigna la CPU.

Page 22: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

MECANISMOS DE PLANIFICACIÓNMECANISMOS DE PLANIFICACIÓNGráficoGráfico

Page 23: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

CRITERIOS DE LA PLANIFICACIÓNCRITERIOS DE LA PLANIFICACIÓN

Criterios para comparar el rendimiento de los Criterios para comparar el rendimiento de los diversos algoritmos de planificación:diversos algoritmos de planificación:• Tiempo de servicio (Ts)Tiempo de servicio (Ts)

Tiempo estimado de ejecuciónTiempo estimado de ejecución

• Tiempo de retorno (Tr)Tiempo de retorno (Tr)Tiempo transcurrido desde que llega al sistema hasta Tiempo transcurrido desde que llega al sistema hasta que terminaque termina

• Tiempo de espera (Tw)Tiempo de espera (Tw)Suma de tiempos que el proceso está en no ejecuciónSuma de tiempos que el proceso está en no ejecución

• Tiempo de retorno normalizado (Tr / Ts)Tiempo de retorno normalizado (Tr / Ts)Tiempo de retorno dividido por el tiempo de servicioTiempo de retorno dividido por el tiempo de servicio

Page 24: GESTIÓN DE PROCESOS. El PROCESO  Informalmente, un proceso es un programa en ejecución. La ejecución de un proceso debe proceder de manera secuencial

PRIORIDADESPRIORIDADES

El planificador seleccionará siempre a un proceso El planificador seleccionará siempre a un proceso de mayor prioridad antes que a los de menor de mayor prioridad antes que a los de menor prioridad.prioridad.

Utiliza múltiples colas de Listos para representar Utiliza múltiples colas de Listos para representar cada nivel de prioridad.cada nivel de prioridad.

Los procesos de prioridad más baja pueden sufrir Los procesos de prioridad más baja pueden sufrir inanición (no son elegidos nunca).inanición (no son elegidos nunca).

Una solución ante la inanición consiste en Una solución ante la inanición consiste en permitir que un proceso cambie su prioridad en permitir que un proceso cambie su prioridad en función de su edad o su historial de ejecución.función de su edad o su historial de ejecución.