<< Volver atrás

Tesis:

Sistema heurístico para la planificación de tareas en computador


  • Autor: ALONSO AMO, Fernando

  • Título: Sistema heurístico para la planificación de tareas en computador

  • Fecha: 1985

  • Materia: Sin materia definida

  • Escuela: FACULTAD DE INFORMATICA

  • Departamentos: SIN DEPARTAMENTO DEFINIDO

  • Acceso electrónico:

  • Director/a 1º: PAZOS SIERRA, Juan

  • Resumen: Los sistemas actuales de planificación de tareas, implementados en los Sistemas Operativos de los computadores, estan diseñados bajo una óptica determinista, y en base a una planificación externa de las tareas a procesar, cuya prioridad se define manualmente. Cada "cuenta usuario", que pasa programas por el computador, dispone de una prioridad base o un rango de prioridades, entre los que se tiene que mover para planificar sus trabajos. Es el valor de esta prioridad el que define toda la jerarquía de prioridades de unas tareas con respecto a otras. Este sistema de planificación de prioridades no es apropiado, ya que además de no ser adaptativo, no tiene en cuenta una serie de factores que son importantes para una buena planificación. Para un mismo nivel de prioridad, y a igualdad del resto de las características, se debería considerar, por ejemplo: a) La fecha que entra una tarea en el Sistema. Lo normal es que se procese primero la que ha entrado en primer lugar, con independencia de la posición que ocupe en la cola de entrada creada por el operador. b) El tiempo de Unidad Central de Proceso que va a consumir. Las tareas mas largas deben presentar, por este hecho, una prioridad inferior que las cortas. c) La memoria ocupada, las páginas que imprime, las fichas que perfora y los dispositivos especiales asignados. Las tareas que ocupan en mayor cantidad estos recursos deben tener un nivel de prioridad inferior que las que utilizan menos, porque al ser recursos caros y escasos, su utilización se debe grabar en alguna medida. d) Las tareas que son meras compilaciones, cuya ejecución suele ser más prioritaria porque son la base del desarrollo de los proyectos, deben procesarse antes, para un mismo nivel de prioridad, que las tareas que constituyen la ejecución de algún programa de aplicación, etc. Todas estas limitaciones y las consideraciones anteriores derivaron de una forma natural a establecer, como hipótesis de trabajo, la plausibilidad de un sistema adaptativo. Esto ha conducido al planteamiento de un sistema heurístico, de evaluación de prioridades, de forma que el propio sistema va determinando la prioridad de la ejecución de cada una de las tareas, en función de una serie de parametros de evaluación suministrados por los usuarios, como son: (tcpu) Tiempo estimado de C.P.U. que consume la tarea. (ks) Memoria máxima que ocupa. (pag) Páginas impresas estimadas. (com) Indicador de si la tarea lleva un proceso de compilación. (eje) Indicador de si la tarea lleva un proceso de ejecución. (des) Dispositivos especiales (varias cintas, dispositivos rápidos, etc.) que utiliza la tarea. La función heurística de evaluación de prioridades que es la que asigna prioridades a cada tarea, se calcula en base a estos parámetros de evaluación y a unos coeficientes ponderatorios que se aplican a estos parámetros. Esta función heurística se va automodificando con la "experiencia" de planificaciones de tareas anteriores, al modificarse algunos coeficientes de ponderación (los llamados coeficientes heurísticos) de una tarea a otra como consecuencia de la diferencia producida entre los valores asignados, por el usuario, a los parametros de evaluación, y los valores realmente obtenidos después de la ejecución de cada tarea. Los resultados obtenidos, durante la experimentación real del planificador, han permitido confirmar la hipotesis establecida, constatándose de que eran mas coherentes. Por otra parte, se vió que la eficiencia del sistema usuario-computador aumentó substancialmente, con lo que el grado de satisfacción de los usuarios era más que aceptable