Resumen de procesos
Planificación de procesos
Es como determina el sistema operativo el cual será el orden, cual se ejercerán los procesos y a como será su uso para que no se alargue mucho la ejecución con respecto al sistema, hay tres tipos de planificación a largo, mediano y corto plazo.
Largo plazo: Decide qué procesos serán los siguientes en ser iniciados. las decisiones son tomadas considerando los requisitos pre-declarados de los procesos, también teniendo en cuenta los proceso finalizados. Puede llevarse con periodicidad de una vez cada varios segundos, minutos e inclusive horas.
Mediano plazo: Decide cuáles procesos es conveniente bloquear por diferentes condiciones, falta de memoria, saturación de recursos , también porque se esta realizando alguna solicitud que no puede realizarse en esos instantes, toma las decisiones a los procesos que entran y salen del estado de bloqueado
Corto plazo: Decide cómo compartir al equipo todos los procesos que requieren de sus recursos, especialmente el procesador. La planificación a corto plazo es llevada acabo toto el tiempo, haciendo que los códigos diseñados sean cortos simples y eficientes para su lectura
En resumen:
El planificador a largo plazo se encarga de admitir un nuevo proceso: pasándolo de nuevo a listo.
El planificador a mediano plazo maneja la activación y bloqueo de un proceso relacionado con eventos
El planificador a corto plazo decide entre los procesos que están listos para ejecutarse , determinando cuál de ellos activar y detiene a los cuales excedan el tiempo de procesador, estos se pueden ver en los estados listo y en ejecución.
Tipos de procesos
los procesos típicamente alternan entre periodos de tiempo en el cual realizan los cálculos internos para desde o hacia dispositivos externos.
Procesos largos: aquellos que por mucho tiempo han estado en listos o en ejecución, son procesos que estén en una larga ráfaga limitada por CPU.
Procesos cortos: son los que están en una ráfaga limitada por entrada-salida y requieran atención ocasional del procesador, o que también estén 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 el caso de un proceso interactivo, se buscará ubicar al proceso en una cola preferente (para obtener un tiempo de respuesta más ágil, para mejorar la percepción del usuario), pero en caso de sufrir demoras, es preferible buscar dar una respuesta consistente aún Para este tema, en vez de emplear unidades temporales formales, es común emplear ticks y quantums. Porque en el campo del cómputo las velocidades de acceso y uso efectivo cambian constantemente, al ser ambos parámetros ajustables, una misma implementación puede sobrevivir ajustándose a la evolución del hardware. Tick Una fracción de tiempo durante la cual se puede realizar trabajo útil.
Algoritmos de planificación
Un algoritmo de planificación se utiliza para calcular los recursos que consume otro algoritmo o conjunto de algoritmos al realizar una determinada tarea. Al considerar al tiempo ocupado por el núcleo como un proceso más, cuyo trabajo en este espacio de tiempo finalizó junto con los demás
Objetivos de la planificación
- Ser justo
- Maximizar el rendimiento
- Ser predecible Minimizar la sobrecarga El tiempo que el algoritmo pierda en burocracia debe mantenerse al mínimo, dado que éste es tiempo de procesamiento útil perdido.
- 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
Primero llegado, primero servido (FCFS)
Este es el más sencillo. La carga de trabajo se procesa simplemente en un orden de llegada una vez que el procesador le es asignado a un proceso este lo mantiene hasta que termina o se bloquea
Ronda (Round Robin)
Se asigna a cada proceso una porción de tiempo equitativa y ordenada, normal mente comenzando desde el primer elemento de la lista hasta llegar al ultimo, tratando a todos los procesos con la misma prioridad
El proceso más corto a continuación (SPN, shortest process next)
Se selecciona el proceso con menor tiempo esperado de ejecución. un proceso corto saltara a la cabeza de la cola, sobrepasando a trabajos largos
Ronda egoísta (SRR, selfish round robin)
Este método busca favorecer a los procesos que ya han pasado tiempo ejecutando que a los recién llegados. 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.
Retroalimentación multinivel (FB, multilevel feedback)
Se trata de una planificación con preferencia basada en el tiempo, y es usado un mecanismo de prioridad dinámica. Cuando un proceso entra por primera vez al sistema es ubicado en la cola de listos 0. Después de la primer ejecución, cuando vuelve al estado de Listo, es ubicado en la cola de listos 1. Cada vez que es ejecutado subsecuentemente, luego es ubicado en la próxima cola de menor prioridad. En cada cola, exceptuando la de más baja prioridad, es usado un simple mecanismo FCFS. Una vez en la cola con menor prioridad, el proceso no puede ir más abajo, pero es retornado a esta cola repetidamente hasta que completa su ejecución. Esta última cola es tratada como un Round Robin
Esquemas híbridos
Es una combinación de diversas formas de representación de conocimiento para resolver un problema
Planificación 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 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) y de hilos no unidos , de los cuales uno o más estarán mapeados a cada
Los hilos POSIX (pthreads)
El á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
Ámbito de contención de sistema
Tiempo real duro y suave
Al inicializarse, su controlador declarará 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.
Para solventar necesidades como las expresadas en sistemas de uso general, el tiempo real suave sigue requiriendo que los procesos críticos reciban un trato prioritario por encima de los procesos comunes
Sistema operativo interrumpible (prevenible)
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
Inversión de prioridades y administración de memoria.
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
El único espacio de almacenamiento que el procesador puede utilizar directamente, más allá de los registros (que si bien le son internos y sumamente rápidos, son de capacidad demasiado limitada) es la memoria física. Todas las arquitecturas de procesador tienen instrucciones para interactuar con la memoria.
Comentarios
Publicar un comentario