View
190
Download
3
Category
Preview:
Citation preview
Ing. Rodrigo Higuera
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Universidad Nacional Experimental de Guayana- 2012 UNEG - Venezuela
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Introducción
La planificación es el proceso por el cual el sistema operativo selecciona que proceso ejecutar. La selección del proceso se basa en alguno de los algoritmos de planificación existentes. Esta es una función primordial del Sistema. La mayoría de los recursos, si no es que todos, se planifican antes de que se utilicen. La asignación de procesadores físicos a los procesos hace posible que éstos realicen su trabajo, y tal asignación es un problema complejo manejado por el Sistema Operativo.
¿Cómo conseguir tener ocupados varios componentes de manera
simultanea?
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Programa Vs Proceso
Programa: es una secuencia estática de instrucciones generalmente almacenadas en un archivo en disco. Aquí el termino estático hace referencia al hecho de que esas instrucciones no varían con el tiempo.
Proceso: representación del estado de una instancia de un programa en ejecución. Desde el punto de vista de S.O. un proceso es la entidad mínima planificable que posee:
Códigos. Datos. Atributos.
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Estructuras de datos utilizadas por el kernel del SO
Desde todo punto de vista se considera que los procesos es la unidad mínima
planificable y está formado por:
Instrucciones de programa o código.
Estructuras de datos del programa.
Atributos.
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Estados de un proceso
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Estructura del BCP
Aunque la información del BCP varia dependiendo del sistema operativo en cuestión se
puede decir a grueso modo que el BCP esta constituido por:
Información relacionada con la administración del proceso.
Información relacionada con la gestión y administración de memoria.
Información relacionada con los dispositivos y el sistema de archivos.
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Dispatcher Vs Scheduler
El Sistema Operativo debe:
Conmutar la CPU entre los procesos.
No permitir que los procesos se modifiquen entre si ni al S.O.
El código del dispatcher se ejecuta desde que se inicia el S.O. constituye su
parte mas interna y esta escrito en ensamblador, pues se ejecuta con mucha
frecuencia.
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Funciones que realiza el Dispatcher
Permitir de que el proceso que se encuentre en el CPU cumpla su
Quantum de tiempo.
Modificar el estado del proceso en su respectivo BCP.
Actualizar el estado de los demás procesos mediante su BCP.
Transferir el control del CPU a un nuevo proceso.
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Cuando se Activan el Dispatcher y el Scheduler
El Dispatcher se activa una vez el scheduler decide entregar la CPU a otro proceso. En cambio, el scheduler se activa al:
Cambio de Ejecución a Bloqueado.
Cambio de Ejecución a Listo.
Cambio de Bloqueado a Listo.
Al finalizar el proceso.
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Cuando se Activan el Dispatcher y el Scheduler
En algunos SO el scheduler entra en acción al realizar una llamada al sistema o cuando terminan los casos 1 y 4 vistos anteriormente. Este tipo de planificación recibe el nombre de planificación no apropiativa, cooperativa o sin requisa. Si la activación del scheduler se produce con todas las condiciones vistas anteriormente estamos ante una planificación apropiativa, no cooperativa y con requisa.
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Algoritmos de planificación del CPU
Para poder comparar los diferentes algoritmos de planificación se
establecen diversos criterios:
Rendimiento o productividad.
Tiempo de espera.
Tiempo de retorno o de estancia.
Tiempo de respuesta.
Grado de sobrecarga.
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Tipos de planificadores
Planificadores a largo plazo: Son típicos de los sistemas por lotes. Se encarga de determinar que trabajos, de los contenidos en una cola de trabajos en espera, van a ser cargados en memoria para su ejecución. Po lo que determina el grado de multiprogramación. Distinguimos dos tipos de procesos:
Procesos limitados por E/S.
Procesos limitados por CPU.
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Tipos de planificadores
Planificadores a medio plazo: Son propios de los sistemas interactivos. Su misión principal consiste es reducir y aumentar el grado la multiprogramación.
Planificadores a corto plazo: Se encarga de seleccionar cual de los procesos cargados en memoria y listos para ser ejecutados obtendrá la CPU. Este tipo de planificador se ejecuta con mucha frecuencia.
Con requisa Planificación apropiativa
Sin Requisa Planificación no apropiativa o cooperativa.
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Algoritmos de planificación más comunes
Primero en llegar primero en ser servido (FCFS)
En este algoritmo las peticiones de uso del CPU se atienden en el mismo orden que ingresan al sistema. Se trata por tanto del algoritmo más sencillo.
Se implementa tratando la cola de proceso preparados (listos) como una estructura FIFO.
No apropiativo. Un proceso retiene la CPU hasta que esta finaliza o solicita una operación de E/S.
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Algoritmos de planificación más comunes
Primero el trabajo más corto (SPN)
También conocido como SJF. Consiste en asociar a cada trabajo la duración de su siguiente ráfaga de CPU y asignar la CPU a aquel que presente menor ráfaga.
Puede producirse inanición sobre procesos con ráfagas de CPU grandes.
Existe una variante de este algoritmo denominado SRTF (shortest Remaining Time First), en esta variante siempre que ingresa un trabajo se compara la duración de la siguiente ráfaga frente al tiempo que le queda al proceso en la CPU para terminar su ráfaga.
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Algoritmos de planificación más comunes – Con prioridad
Round Robin
Similar a FCFS pero con requisa. Para evitar que algunos procesos monopolicen el uso del CPU. round robin define el lapso máximo de tiempo que un proceso puede disponer de la CPU al que se denomina quantum. El planificador seleccionar el primer proceso de la cola y le cede el CPU hasta que ocurre alguno de estos eventos.
Fin del proceso.
Fin del quantum.
Solicitud de algún otro recurso.
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Hilos (Threads)
Hilos soportados en el nivel de usuario
Lo hilos se ofrecen a los usuarios a través de un biblioteca fuera del kernel del sistema operativo. También se posee un planificador de hilos que se ejecuta dentro del tiempo asignado al proceso, para determinar que hilos ejecutar dentro del quantum asignado al proceso.
El bloqueo de un hilo provoca el bloqueo de todos los hilos pertenecientes a la tarea.
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Hilos (Threads)
Hilos soportados por el núcleo del SO
Dispone de un planificador de hilos en el kernel para reparte el tiempo de la CPU.
El bloqueo de un hilo no afecta al resto de los hilos de la misma tarea. El único inconveniente es la sobrecarga del Sistema Operativo.
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Actividad
Compárese el rendimiento ofrecido al planificar el conjunto de tareas multi-hilo descrito en la tabla 1 bajo las siguientes configuraciones.
Sistema Operativo multitarea con hilos en espacio del usuario. En este sistema se dispone de un biblioteca para la programación con hilos en el espacio del usuario. El algoritmo de planificación de CPU utilizado por el sistema operativo es Round-Robin con un quantum de 100ut y un coste por cambio de contexto entre tareas de 20ut. El planificador de la biblioteca de hilos reparte el quantum de la tarea entre los hilos utilizando round robin con un quantum para cada hilo de 10ut y sin coste en el cambio de contexto entre sus hilos.
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Actividad (Continuación)
Sistema Operativo multitarea con hilos soportados dentro del núcleo. El sistema operativo planifica las tareas mediante round-robin con un quantum de 100ut; este tiempo se distribuye de forma circular entre los hilos de esa tarea en rodajas de 10ut. Como en el caso anterior, la unica sobrecarga que se considera es el cambio de contexto entre tareas con un coste de 20utconsidere además que las operaciones de E/S de una tarea únicamente bloquean al hilo que las solicita.
Suponga que en ambos casos que las dos tareas están disponibles y que el planificador entrega la CPU a T1.
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Actividad (Continuación)
Hilos Duración Ráfaga
Tiempo Espera
Duración Ráfaga
Tarea 1 Hilo 1 30 110 40
Hilo 2 50 - -
Hilo 3 30 - -
Hilo 4 20 60 40
Tarea 2 Hilo 1 20 50 60
Hilo 2 40 110 20
Uso CPU =
CPU Ocupada
Tiempo Total
Uso efectivo = de la CPU
CPU Ocupada en hilos
Tiempo Total
Sobrecarga SO = CPU Ocupada en SO
Tiempo Total
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Actividad 2
El siguiente conjunto de trabajos va a ser planificado siguiendo el algoritmo FCFS:
Trabajo Duración Ráfaga Tiempo bloqueado
T0 7 4
T1 1 2
T2 1 2
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Actividad 2 (Continuación…)
Estudie los siguientes casos:
1. Cada trabajo necesita para su finalización tres ráfagas de CPU y todos los trabajos se bloquean cuando solicitan operaciones de E/S sobre un mismo dispositivo compartido. Estas solicitudes son atendidas por el sistema operativo secuencialmente y en el mismo orden que fueron efectuadas por los procesos.
2. Cada trabajo necesita para su finalización tres ráfagas de CPU, pero por ahora los trabajo se bloquean cuando solicitan operaciones de E/S sobre dispositivos diferentes, por lo que el S.O. puede atenderlas concurrentemente.
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Actividad 3
El siguiente conjunto de trabajos va a ser planificado siguiendo el algoritmo SJF y SRTF:
Calcular los tiempos medio de espera que resulta de aplicar el algoritmo de SJF y SRTF(expulsivo)
Proceso Llegada Duración
P1 0 7
P2 2 4
P3 4 1
P4 5 4
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Actividad 4
Determine cual debe ser la duración de las ráfagas de CPU del conjunto de trabajos que se muestran en la siguiente tabla, sabiendo que utilizando un cierto algoritmo de planificación, el tiempo de espera de los trabajos T1 y T2 fue de 5 u.t. en ambos casos, para el trabajo T3 su tiempo de espera coincide con su tiempo de proceso. Además se sabe que el tiempo de permanencia medio es de 20 u.t.
Trabajo Duración Ráfagas
T1 X, 5
T2 3, X, 10
T3 4, X
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Actividad 4 (Continuación)
Por último represente gráficamente el resultado de planificar los trabajos mediante el algoritmo de planificación SRTF. Para ello, tenga en cuenta que siempre que un trabajo abandona la CPU requiere de 2 u.t. sobre un dispositivo común antes de volver a la cola de trabajos preparados y que los trabajos llegan en los siguientes instantes:
• T1 = 0 u.t.
• T2 = 1 u.t.
• T3 = 3 u.t.
De igual manera se debe hallar el tiempo de respuesta medio al aplicar el algoritmo de SRTF.
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Actividad 5
Sean los siguientes procesos a ejecutar en un sistema
Proceso Instante de llegada
Orden de llegada
Tiempo de CPU
Prioridad
A 0 1 8 3
B 0 2 1 1
C 0 3 2 3
D 0 4 1 4
E 0 5 5 2
Aplicar Algoritmo de prioridades no expulsivo, considere mayor número de prioridad el que tenga más prioridad
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Actividad 6
Se tienen cuatro(04) procesos en un sistema con las siguientes características:
Proceso Instante de llegada
Tiempo de CPU
P1 0 8
P2 2 4
P3 5 9
p4 12 3
Aplicar Algoritmo de prioridades expulsivas, considere mayor número de prioridad el que llega más tarde
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Actividad 1 - Respuesta
El siguiente conjunto de trabajos va a ser planificado siguiendo el algoritmo SJF y SRTF:
Uso CPU =
470
520
Uso efectivo = de la CPU
350
520
Sobrecarga SO =
120
520
A)
Uso CPU =
430
430
Uso efectivo = de la CPU
350
430
Sobrecarga SO =
80
430
B)
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Actividad 2 - Respuesta
El siguiente conjunto de trabajos va a ser planificado siguiendo el algoritmo SJF y SRTF:
Grado de ocupación del CPU =
(7 + 1 + 1) x 3
31
Grado de ocupación del Dispositivo =
16
31
Grado de solapamiento Obtenido=
12
31
A)
Grado de ocupación del CPU =
(7 + 1 + 1) x 3
29
Grado de ocupación del Subsistema E/S=
10
29
Grado de solapamiento Al menos un dispositivo= 34%
B) Grado de solapamiento Al menos dos dispositivo= 17%
Grado de solapamiento Al menos dos dispositivo= 3%
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Actividad 3 - Respuesta
El siguiente conjunto de trabajos va a ser planificado siguiendo el algoritmo SJF y SRTF:
SJF no expulsivo = (0 + 6 + 3 + 7) / 4 = 4 (espera media)
A)
SJF expulsivo = (9 + 1 + 0 + 2) / 4 = 3 (espera media)
B)
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Actividad 4 - Respuesta
El valor de la ráfaga a Buscar es:
X = 6 A) Proceso Tiempo
Espera Tiempo
Permanencia
T1 13 24
T2 20 39
T3 17 27
B)
Tpermanencia = 30
C) Trespuesta = 12.83
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Actividad 5 - Respuesta
Valores obtenidos:
A) B) Tpermanencia = 10.8 Tespera = 7.4
Actividad 6 - Respuesta
Valor obtenido:
A) Tespera = 7.75
Universidad Nacional Experimental de Guayana
Vicerrectorado académico.
Coordinación de Ingeniería en Informática.
Con el uso de esta presentación se acepta las condiciones abajo descritas basadas en la licencia LGPL.
La presentación puede ser utilizada libremente por los particulares. El empleo comercial de la presentación gratuita no está permitido.
En ningún caso Rodrigo Higuera será responsable por ningún daño indirecto, especial o consecuente que surja de o en conexión con el uso de la presentación.
En caso de preguntas o inquietudes técnicas, no se las lleve a casa, Pregunte.
E-Mail: rodrigoghm@gmail.com / rhiguera@ucab.edu.ve
Muchas Gracias…
Recommended