Unidad 3 Administración del Procesador
TEMAS
Objetivo de la planificación: Minimizar el tiempo de espera y minimizar el tiempo de respuesta. La planificación (scheduling) es la base para lograr la multiprogramación.
Un sistema multiprogramado tendrá varios procesos que requerirán el recurso procesador a la vez. Esto sucede cuando los procesos están en estado ready (pronto). Si existe un procesador disponible, se debe elegir el proceso que será asignado para ejecutar. La parte del sistema operativo que realiza la elección del proceso es llamada planificador (scheduler).
La planificación hace referencia a un conjunto de políticas Y mecanismos incorporados a sistemas operativos que gobiernan el orden en que se ejecutan los trabajos.
3.2 Conceptos Basicos Job ScheDuling
Un planificador de tareas es una aplicación de software de la empresa que se encarga de las ejecuciones desatendida fondo, comúnmente conocido por razones históricas como del procesamiento por lotes.
Los sinónimos son lote sistema, Sistema de Gestión de Recursos Distribuidos (SGDD), y Distributed Resource Manager (DRM). Hoy en día el trabajo de programadores suelen ofrecer una interfaz gráfica de usuario.
PLANEACION DE TRABAJOS (JOB SCHEDULING)
Objetivo de la planificación: Minimizar el tiempo de espera y minimizar el tiempo de respuesta. La planificación (scheduling) es la base para lograr la multiprogramación.
Un sistema multiprogramado tendrá varios procesos que requerirán.
La planificación hace referencia a un conjunto de políticas Y mecanismos incorporados a sistemas operativos que gobiernan el orden en que se ejecutan los trabajos.
Un planificador es un módulo del S.O que selecciona el siguiente trabajo que hay que admitir en el sistema y el siguiente proceso que hay que ejecutar
En muchos sistemas, la actividad de planificación se divide en tres funciones independientes: planificación a largo, medio, y corto plazo.
FIFO se utiliza en estructuras de datos para implementar colas. La implementación puede efectuarse con ayuda de vectores, o bien mediante el uso de punteros y asignación dinámica de memoria.
En algunas aplicaciones, esto supone un problema ya que puede desconocerse el número de elementos a contener en la cola. La sencilla solución de reservar más memoria de la que se supone que se necesitará, puede conducir a un despilfarro de la memoria (la cola puede esté llena, aprovechando toda la memoria reservada; o bien, nunca terminar de llenarse, ocupando recursos innecesarios en memoria). Sin embargo, si se usa asignación dinámica de memoria, el número máximo no está declarado en tiempo de compilación sino en tiempo de ejecución, es decir, se reserva memoria a medida que se necesite expandir el tamaño de la cola (adaptándose al tamaño necesario en cada momento en función de los elementos que hay en la cola), haciendo un mejor uso de la memoria disponible.
El largo plazo, o la admisión, el planificador decide qué puestos de trabajo o procesos deben ser admitidos a la cola de listos, es decir, cuando se intenta ejecutar un programa, su admisión en el conjunto de procesos actualmente en ejecución esté autorizado o retraso por el planificador a largo plazo.
Por lo tanto, este programador dicta lo que los procesos se ejecutan en un sistema, y el grado de simultaneidad que se apoyó en un momento dado - es decir: si una cantidad alta o baja de los procesos se ejecutan al mismo tiempo, y cómo la división entre IO intensiva y los procesos de uso intensivo de CPU se va a manejar.
Este algoritmo es la versión no apropiativa o espulsiva del algoritmo Shortest Process Next (SPN) o también llamado Shortest Job First (SJF).
. Definición: Algoritmo apropiativo (que en cualquier momento se le puede quitar la CPU para asignársela otro proceso) consistente en elegir de la cola de listos el proceso con menos necesidad de tiempo restante de CPU para cada instante de tiempo.
Características:
Ø Ofrece un buen tiempo de respuesta.
Ø La productividad es alta a cambio de la sobrecarga del sistema (a cada paso debe decidir a que proceso asignarle la CPU).
Ø Penaliza los procesos largos.
Ø Se puede producir inanición.
En el algoritmo Shortest Remaining Time el planificador selecciona el proceso más corto, al igual que antes, pero en este caso el cambio se controla cada vez que un proceso llega a la cola. Es decir, cuando un proceso se desbloquea o se crea uno nuevo y el tiempo de ráfaga es menor que el tiempo de ráfaga del proceso que se está ejecutando, entonces se realiza un cambio de contexto, el bloqueado se ejecuta y el que se estaba ejecutando pasa a la cola de procesos listos. De este modo cuando se desbloquea o entra un proceso nuevo, se calcula su tiempo de ráfaga. Si el proceso que se está ejecutando le queda más tiempo de ráfaga que nuestro tiempo de ráfaga calculado entonces se procede a realizar el cambio de contexto.
Proporción de respuesta más alta siguiente (HRRN) la programación es una disciplina no-preventiva, similar a la más corta de trabajo siguiente (SJN) , en los que la prioridad de cada trabajo depende de su tiempo de ejecución estimado, y también la cantidad de tiempo que ha pasado de espera. Trabajos obtener mayor prioridad cuanto más tiempo espere que impide aplazamiento indefinido ( proceso de inanición). De hecho, los trabajos que han pasado un largo tiempo de espera competir contra los que se estima que han corrido los tiempos cortos.
El multiprocesamiento es el uso de dos o más unidades centrales de proceso (CPU) dentro de un solo sistema informático. El término también refiere a la capacidad de unsistemade apoyar más de un procesador y/o a la capacidad de asignar tareas entre ellas. Hay muchas variaciones en este tema básico, y la definición del multiprocesamiento puede variar con contexto, sobre todo en función de cómo se definen las CPU (los corazones del múltiplo en uno mueren, las virutas múltiples en un paquete, los paquetes múltiples en una unidad de sistema, etc.
CLASIFICACION POR USO DE LOS RECURSOS
Sistemas monoprogramados: Son los que solo permiten la ejecución de un programa en el sistema, se instalan en la memoria y permanecen allí hasta que termine su ejecución. Sistemas multiprogramados: Son aquellos que se basan en las técnicas de multiprogramación, existen dos tipos:
- Multitarea apropiativa (preemptive): Se utiliza en sistemas operativos cuya gestión es quitar el control del microprocesador al programa que lo tiene.
- Multitarea cooperativa: El programa tiene el control del microprocesador, el sistema operativo no puede decidir quien usa el microprocesador.
PARALELISMO
El paralelismo consiste en ejecutar más instrucciones en menos tiempo, aunque las instrucciones sigan tardando lo mismo en ejecutarse, mediante un simple truco, aunque algo difícil de explicar en detalle. Intentémoslo.
Un sistema de multiprocesamiento con varios funcionamientos juntos a la vez proporcionará un ambiente de multiprogramación. La multiprogramación permite que programas múltiples residan en áreas separadas de la memoria principal al mismo tiempo. Con este acercamiento, es posible mantener dos o más empleos simultáneamente en la ejecución o en estados de la ejecución.
Los sistemas de ordenador de multiprocesador son caros y encontraron su uso sólo en la aplicación de informática compleja y en la alta velocidad que funda el punto aplicación de cálculo numérica en espacios de Investigación e Industria.
o Un multiprocesador contiene dos o más procesadores con capacidades aproximadamente comparables.
o Todos los procesadores comparten el acceso a un almacenamiento común y a canales de Entrada / Salida, unidades de control y dispositivos.
o Todo está controlado por un Sistema Operativo que proporciona interacción entre procesadores y sus programas en los niveles de trabajo, tarea, paso, archivo y elementos de datos.
Referencias bibliográficas:
· www.linuxvirtualserver.org/docs/scheduling.html -
· temario-tecnico-informatica.bichotoblog.com/.../multiproceso-simetrico/