Caracterizado porque su ejecución no
precisa ningún tipo de interacción con el
usuario.
Se utiliza en tareas repetitivas sobre
grandes conjuntos de información
Algunos ejemplos de procesos batch
pueden ser la generación de extractos
bancarios, el cálculo de intereses corrientes
o moratorios de cuentas de crédito.
Los programas que se ejecutan por lotes suelen
especificar su funcionamiento mediante
scripts o guiones (procedimientos)
Algunos algoritmos
Primero en llegar primero en ser atendido
(First In First Out, FIFO)
Trabajo más corto a continuación (Shortest Job Next)
Tiempo compartido (Time share) o interactivos
Añaden multitarea y capacidades de
interacción con el usuario y entre
procesos en el sistema operativo
Algunos algoritmos
Primero el de menor tiempo restante
(Shortest Remaining Time First)
Se puede también definir como una
versión apropiativa de “El trabajo
mas corto primero” .
Con este algoritmo el planificador siempre
selecciona el proceso cuyo tiempo restante
de ejecución sea el más corto
Cuando un trabajo llega a pedir la CPU su tiempo total se compara con el
tiempo restante del proceso actual. Si el nuevo proceso necesita menos tiempo
en ejecutarse que el proceso actual, el actual se suspende y el nuevo inicia.
Con esto podemos solucionar que los trabajos
mas cortos obtengan una mejor posición en
cuanto a pedido de la CPU se refiere.
Turno circular (Round Robin)
Constituye la política más sencilla de
asignación de turnos de atención de
procesos al tener multitarea.
Uno de los algoritmos más antiguos,
simples, equitativos y de mayor uso.
A cada proceso se le asigna un intervalo
de tiempo, conocido como quántum,
durante el cual se le permite ejecutarse.
Selecciona el primero de la cola de listas. Si el
proceso se sigue ejecutando al final del cuanto, la
CPU es apropiada para dársela a otro proceso.
Por lo general, estos se incluyen en sistemas
operativos modernos como UNIX, Linux y
Windows.
Tiempo real (Real Time)
Tiene mecanismos para hacer lo máximo posible para
garantizar que sus procesos de tiempo real cumplan
los plazos de finalización que tienen establecidos.
Deben reaccionar a eventos de tiempo real
de forma predecible en tiempos cortos, en
vez de orientarse a la cantidad de trabajos
que puede procesar en un periodo largo
Tipos de procesos para atender
en sistemas de tiempo real
Estricto (hard-realtime)
Flexible (soft-realtime)
Eventuales (o Terminating Process)
Persistentes (o Nonterminating Process)
Periódicos
Aperiódicos
Primer compromiso (Earliest dead line)
Análisis de tasa monótona (Rate Monotonicanalysis)
Planificación de hilos
La planificacion hace referencia a la tarea de
manejar la CPU, compartiéndola con una
comunidad de procesos/hilos listos para correr.
Scheduler policy: determina cuando un hilo
debe ser desalojado de la CPU y cual hilo listo
debe ser asignado a continuación.
Scheduler mechanism: determina como un
manejador de procesos puede determinar que es
tiempo de multiplexar la CPU, y como un hilo
puede ser asignado y removido de la CPU
Existen cuatro posibles
razones para que un hilo
abandone la CPU.
El hilo completa su ejecución.
El hilo realiza petición de recursos y
este no esta disponible.
El hilo decide ceder la CPU
voluntariamente.
El hilo es desalojado de la CPU
porque el sistema decide detener
el hilo hasta nueva orden.