Ir al contenido principal

✅ Tecnicas de administración del planificador (Sistemas Operativos)


Hola de nuevo el dia de hoy veremos lo relevante a las tecnicas de administración del planificador de los Sistemas Operativos. La primer cosa que debemos mencionar es que un ordenador fue creado con el principal proposito de procesar odernenes y tareas, por lo que un ordenador que no esta realizando nada o presenta una utilidad de algún tipo no presenta razón de ser. Por lo tanto podemos decir que un ordenador esta en constante trabajo, realizando miles de tareas al instante, sin embargo debemos de saber que, como en el caso de nosotros como humanos, entre mejor tengamos planificado nuestros deberes de mejor manera podremos llevarlos a cabo.

La misma situación sucede con los ordenadores, pues hasta ellos planifican sus acciones antes de realizarlas, es asi que se le denomina planificador al software del sistema operativo encargado de asignar los recursos de un sistema entre los procesos que los solicitan. Siempre que haya tomar una decisión, el planificador debe decidir cuál de los procesos que compiten por la posesión de un determinado recursos lo recibirá. 

Y es que siempre que el CPU queda libre el Sistema Operativo debe seleccionar para su ejecución de entre los procesos en la lista de listos. Esta seleccion es revisada por el planificador a corto plazo (te recomiendo visitar nuestra entrada Niveles, objetivos y criterios de planificación (Sistemas Operativos) para que entiendas mas de esto). Esto genera que la decisiones del planificador sean modificadas o retomadas cuando un proceso cambia de:
  • De ejecución a bloqueado
  • De ejecución a listo 
  • De bloqueado a listo
  • Cuando termina
De esta manera podemos decir que el planificador debe tener sus planes de contingencia ante cualquier cambio dado, estos son los llamados Algoritmos de planficicación que por lo regular entran en juego cuando se inicia una nueva aplicación o algún proceso deja de estar en ejecución. 

Estos algoritomos (o tecnicas) tienen distintas propiedades de acuerdo a los criterios basados para su construcción, lo cual vemos reflejado en la forma en que maneja los procesos. Para elegir uno contra otro debemos considerar los siguientes puntos:
  • Eficacia: Se expresa como un porcentaje del tiempo medio de utilización. Aunque puede parecer lógico intentar mantener este parámetro próximo al 100%, con un valor tan elevado otros aspectos importantes de medida del comportamiento del sistema pueden verse deteriorados, como por ejemplo el tiempo medio de espera.
  • Rendimiento: Es una medida del número de procesos completados por unidad de tiempo. Por ejemplo 10 procesos por segundo.
  • Tiempo de retorno o regreso: Es el intervalo de tiempo que transcurre desde que un proceso se crea o presenta hasta que completa por el sistema.
  • Tiempo de espera: Es el tiempo que el proceso espera hasta que se le concede el procesador. Puede resultar una medida más adecuada de la eficiencia del sistema, ya que se elimina de la media el tiempo que tarda en ejecutarse el mismo.
  • Tiempo de respuesta a un evento: Se denomina así el intervalo de tiempo que transcurre desde que se señala un evento hasta que se ejecuta la primera instrucción de la rutina de servicio de dicho evento. El criterio de selección de un algoritmo se suele basar en la maximización o minimización de una función de los parámetros anteriores.

Estos algoritmos pueden ser clasificados dentro de dos tipos principales:
  • No Apropiativa: Cuando una vez que un proceso tiene el uso de la CPU, este no puede serle arrebatado el uso del mismo. Es como decir "si ya me lo dieron ya nadie puede quitarmelo".
  • Apropiativa: Es lo contrario a la anterior, si un proceso tiene el uso del la CPU, otro proceso puede sacarlo de su estado de ejecución para poder ejecutar sus propias instrucciones. Diriamos aqui que "Tu lo tienes pero te lo puedo quitar"
En fin veamos unos cuantos de estos algoritmos, entre ellos tenemos a:

FIFO - (First in - First out)
Mejor conocido en español como: "El primero que llega es el primero que sale", este guarda relación con las tipicas colas de supermercado, el primero que se forma es el primero en ser atentido y asi sucesivamente. Una vez que un proceso obtiene la cpu, se ejecuta hasta terminar, ya que es una disciplina “no apropiativa”. Puede ocasionar que procesos largos hagan esperar a procesos cortos y que procesos no importantes hagan esperar a procesos importantes. En resumen este proceso escoge al que lleva más tiempo esperando, sin importar el grado de importacia o tiempo de ejecución requerido para ese trabajo. Una vez el proceso entra a la CPU nadie puede quitarle su lugar hasta que este termine de hacer sus tareas.

SJF - (Short Job First)
Este podria ser traducido como "Primero los trabajos cortos" o "trabajo mas corto primero", que vendria siendo que se llevaran acabo todos los procesos pequeños primero y los procesos pesados hasta al ultimo, es una diciplina no apropiativa en donde favorece a los procesos cortos a costa de los procesos largos.

SRTF - (Short Remaining Time First)
Planificación por Prioridad al Tiempo Restante más Corto, este metodo refiere a una diciplina apropiativa, donde el cpu albergara al proceso con el tiempo restante de ejecución mas corto, es por decir si tengo un proceso ejecutantose, el cual tardaria 10s en acabar, pero surge otro que me dice que solo necesita 2s, pues el sistema no lo pensara y atendera al de 2s primero, es como en las filas de banco, si tu transacción requiere mucho tiempo te piden permiso para atender a las demas personas con operaciones mas rapidas que la tuya mientras la tuya es procesada en espera.

Round Robin
En este tipo de algoritmo cada proceso tiene asignado un intervalo de tiempo de ejecución, llamado quantum o cuanto. Si el proceso agota su quantum de tiempo, se elige a otro proceso para ocupar la CPU. Si el proceso se bloquea o termina antes de agotar su quantum también se alterna el uso de la CPU. En comparativa es como cuando compartes algo con tus hermanos, digamos una consola de videojuegos, cada uno tiene un tiempo y horario para usarla, si te pasas de ese tiempo tu hermano puede venir a quitartela y no podras rechistar al respecto por que ya caduco tu tiempo para usarla (se lo se es injusto pero ni modo).

QuevesMultilevel
Un algoritmo de planificación multinivel particiona la cola de listos en colas separadas. Se asignan en forma permanente los trabajos a una cola, generalmente, basándose en alguna propiedad del mismo (requerimientos de memoria, tipo de trabajo), teniendo cada cola su propio algoritmo. Por ejemplo, la cola interactiva podría planificarse usando RR y la batch FIFO.
Ningún trabajo en una cola de baja prioridad puede ejecutarse si las colas con mayor prioridad no están vacías. Si algún trabajo entra en una cola de mayor prioridad, el trabajo de otras colas es interrumpido. Este lo podemos ejemplificar de nuevo con las colas del banco, donde podemos separar a los clientes segun la transacción que estos realizaran, como por ejemplo una cola para puros depostios, otra cola para puros retiros, otra para transacciones bancarias etc.

MultiLevel Feedback Queves
En colas multinivel realimentadas los trabajos pueden moverse dentro de distintas colas. La idea es separar procesos con distintos tipos de interrupciones de la CPU. Si un trabajo consume mucho tiempo de CPU, será movido a una cola con menor prioridad.
En forma similar, si un proceso espera demasiado tiempo en una cola de baja prioridad, lo moveremos a una cola de mayor prioridad. Aplicando la misma analogia anterior, si un cliente lleva mucho tiempo esperando realizar un retiro y la cola proxima no tiene mucha carga de trabajo, este puede cambiarse de fila para agilizar su proceso.














Comentarios

  1. Dating for everyone is here: ❤❤❤ Link 1 ❤❤❤


    Direct sexchat: ❤❤❤ Link 2 ❤❤❤

    Bk..

    ResponderEliminar

Publicar un comentario