Resumen de procesos

 PLANIFICACION DE PROCESOS

La planificación de procesos es como determina el sistema operativo el orden en que ira trabajando el procesador según lo vayan solicitando y que políticas empleara para que el uso del sistema no sea de tiempo excesivo respecto al uso esperado del sistema.  


TIPOS DE PLANIFICACION

A LARGO PLAZO: Decide que procesos serán los siguientes en ser iniciados; este tipo de proceso era muy utilizado en empresas o maquinas con un trabajo programado, sin embargo hoy en día este tipo de proceso ya casi no se efectúa ya que son los mismos usuarios que dan las instrucciones. 

A MEDIANO PLAZO: Decide cuales procesos es conveniente bloquear en determinado momento ya sea por escases o saturación de algún recurso o por que están realizando una solicitud que no puede satisfacerse momentáneamente; este se encarga de tomar las decisiones  respecto a los procesos conforme entran y salen del estado de bloqueado, quizá en espera durante la espera de algún evento externo o una transferencia de datos.


A CORTO PLAZO: Decide como compartir momento a momento el equipo entre todos los procesos que requieren los recursos, en especial el procesador. Esta se lleva a cabo decenas de veces por segundo; es el encargado de planificar los procesos que están listos para la ejecución.



En conclusión:

1. El planificador a largo plazo se encarga de admitir un nuevo proceso: la transición de nuevo a listo.

2. El planificador a mediano plazo maneja la activación y bloqueo de un proceso relacionado con eventos, esto es, las transiciones entre en ejecución y bloqueado, y entre bloqueado y listo.

3. El planificador a corto plazo decide entre los procesos que están listos para ejecutarse y determina a cuál de ellos activar, y detiene a aquellos que exceden su tiempo de procesador —implementa las transiciones entre los estados listo y en ejecución.


TIPOS DE PROCESO
 
Los procesos alternan entre ráfagas en que realizan principalmente computo interno y otras en donde la atención esta puesta en transmitir los datos desde o hacia dispositivos externos.
cuando un proceso se suspende para realizar entrada- salida deja de estar listo y pasa a estado de bloqueado, y sale de la atención del planificador a corto plazo; los procesos que están en ejecución y listos pueden separarse en:

PROCESOS LARGOS: Aquellos que por mucho tiempo1 han estado en listos o en ejecución, esto es, procesos que estén en una larga ráfaga limitada por CPU.

PROCESOS CORTOS: Los que, ya sea que en este momento estén en una ráfaga limitada por entrada-salida y requieran atención meramente ocasional del procesador, o tienden a estar bloqueados esperando a eventos.


MIDIENDO LA RESPUESTA

Cada patrón de uso del sistema debe seguir políticas de planificación distintas. Por ejemplo en un proceso interactivo se busca ubicar el proceso en una cola preferente, para tener un tiempo de respuesta mas ágil y el usuario pueda tener una mejor percepción; sin embargo hay procesos en donde los tiempos de respuesta no son los esperados y puede tardar un poco.
Para estos casos se emplean los ticks y quantums.  
Tick Una fracción de tiempo durante la cual se puede realizar trabajo útil.
si bien en el campo del cómputo las velocidades de acceso y uso efectivo cambian constantemente, los conceptos y las definiciones permanecen. Además, al ser ambos parámetros ajustables, una misma implementación puede sobrevivir ajustándose a la evolución del hardware.



ALGORITMOS DE PLANIFICACION 

El planificador a corto plazo puede ser invocado cuando un proceso se encuentra en algunas de las cuatro siguientes circunstancias:

1. Pasa de estar ejecutando a estar en espera (por ejemplo, por solicitar una operación de E/S, esperar a la sincronización con otro proceso, etc.). 

2. Pasa de estar ejecutando a estar listo (por ejemplo, al ocurrir la interrupción del temporizador, o de algún evento externo). 

3. Deja de estar en espera a estar listo (por ejemplo, al finalizar la operación de E/S que solicitó). 

4. Finaliza su ejecución, y pasa de ejecutando a terminado.

En el primer y cuarto casos, el sistema operativo siempre tomará el control, un sistema siempre que opera bajo multitarea apropiativa  implementara también el segundo y tercer casos mientras que uno que opera bajo multitarea cooperativa no necesariamente reconocerá dichos estados.

OBJETIVOS DE LA PLANIFICACION 

Ser Justo

. Maximizar el rendimiento

. Ser predecible

. Minimizar la sobrecarga

. Equilibrar el uso de recursos

. Evitar la postergación indefinida 

. Favorecer el uso esperado del sistema

. Dar preferencia a los procesos que podrían causar bloqueo 

. Favorecer los procesos con un comportamiento deseable

. Degradarse suavemente


PRIMER LLEGADO PRIMER SERVICIO (FCFS)

Este es un mecanismo cooperativo, con la mínima lógica posible: cada proceso se ejecuta en el orden en que fue llegando, y hasta que suelta el control. El despachador es muy simple, básicamente una cola FIFO.

Si bien un esquema FCFS reduce al mínimo la sobrecarga administrativa (que incluye, tanto al tiempo requerido por el planificador para seleccionar al siguiente proceso, como el tiempo requerido para el cambio de contexto), el rendimiento percibido por los últimos procesos en llegar (o por procesos cortos llegados en un momento inconveniente) resulta inaceptable. 


RONDA (ROUND ROBIN)

El esquema ronda busca dar una relación de respuesta buena, tanto para procesos largos como para los cortos. Si un proceso no ha terminado de ejecutar al final de su quantum, será interrumpido y puesto al final de la lista de procesos listos, para que espere a su turno nuevamente.

EL PROCESO MAS CORTO A CONTINUACION (SPN, shortest process next)

Cuando no se tiene la posibilidad de implementar multitarea apropiativa, pero se requiere de un algoritmo más justo, contando con información por anticipado acerca del tiempo que requieren los procesos que forman la lista, puede elegirse el más corto de los presentes. 

RONDA EGOISTA (SRR, selfish round robin)

Este método busca favorecer los procesos que ya han pasado tiempo ejecutando que a los recién llegados. De hecho, los nuevos procesos no son programados directamente para su ejecución, sino que se les forma en la cola de procesos nuevos, y se avanza únicamente con la cola de procesos aceptados.

RETROALIMENTACION MULTINIVEL (FB, multilevel feedback)

El mecanismo descrito en la sección anterior, la ronda egoísta, introdujo el concepto de tener no una sino varias colas de procesos, que recibirán diferente tratamiento. Este mecanismo es muy poderoso, y se emplea en prácticamente todos los planificadores en uso hoy en día; Los procesos se ejecutan entre mayor prioridad a menor prioridad.

LOTERIA

Bajo el esquema de la lotería, cada proceso tiene un número determinado de boletos, y cada boleto le representa una oportunidad de jugar a la lotería. Cada vez que el planificador tiene que elegir el siguiente proceso a poner en ejecución, elige un número al azar, y otorga el siguiente quantum al proceso que tenga el boleto ganador.

ESQUEMAS HIBRIDOS 

Es una combinación de diversas formas de representación de conocimiento para resolver un problema.

PLANIFICACION DE HILOS


Muchos a uno: Muchos hilos son agrupados en un sólo proceso. Los hilos verdes entran en este supuesto: para el sistema operativo, hay un sólo proceso; mientras tiene la ejecución, éste se encarga de repartir el tiempo entre sus hilos.

Uno a uno: Cada hilo es ejecutado como un proceso ligero; podría dar la impresión de que este esquema desperdicia la principal característica de los hilos, que es una mayor sencillez y rapidez de inicialización que los procesos.

Muchos a muchos: Este mecanismo permite que hayan hilos de ambos modelos: permite hilos unidos, en que cada hilo corresponde a un (y solo un) LWP, y de hilos no unidos, de los cuales uno o más estarán mapeados a cada LWP.

LOS HILOS POSIX (pthreads)

Ámbito de contención de los hilos POSIX (pthreads).

Hay dos enfoques respecto a la contención que deben tener los hilos, esto es: en el momento que un proceso separa su ejecución en dos hilos:

Ámbito de contención de proceso y Ámbito de contención de sistema.

TIEMPO REAL DURO Y SUAVE

Supóngase que un dispositivo genera periódicamente determinada cantidad de información y la va colocando en un área determinada de memoria compartida, al iniciarse su controlador declara al sistema operativo cuánto tiempo de ejecución le tomará recoger y procesar dicha información, liberando el buffer para el siguiente ciclo de escritura del dispositivo, y la frecuencia con que dicha operación tiene que ocurrir.

Los sistemas en que el tiempo máximo es garantizarle son conocidos como de tiempo real duro.

SISTEMA OPERATIVO INTERRUMPIBLE (prevenible)

Para que la implementación de tiempo real suave sea apta para estos requisitos es necesario modificar el comportamiento del sistema operativo.

Para lograr que el núcleo pueda ser interrumpido para dar el control de vuelta a procesos de usuario, un enfoque fue el poner puntos de interrupción en los puntos de las funciones del sistema donde fuera seguro, tras asegurarse que las estructuras estaban en un estado estable.

INVERSION DE PRIORIDADES

Un efecto colateral de que las estructuras del núcleo estén protegidas por mecanismos de sincronización es que puede presentarse la inversión de prioridades. Esto es: 

Un proceso A de baja prioridad hace una llamada al sistema, y es interrumpido a la mitad de dicha llamada. 

Un proceso B de prioridad tiempo real hace una segunda llamada al sistema, que requiere de la misma estructura que la que tiene bloqueada el proceso A.


Comentarios

Entradas populares de este blog

ventaja del sistema operativo

Reconociendo las leyes de la electrónica para el funcionamiento de los circuitos eléctricos

Ventajas de SQLite