Globered
Consigue tu propia página web

SISTEMAS U.L.E.A.M

3 ro "A" SISTEMAS EL CARMEN


0 0 0

CALENDARIZACIÓN EN SISTEMAS

Por: HECTOR BASURTO | Publicado: 22/06/2012 18:45 | | #Cont:1

UNIVERSIDAD LAICA “ELOY ALFARO DE MANABÍ

CAMPUS EL CARMEN

ASIGNATURA:

SISTEMA OPERATIVO II

 

TUTOR:

WLADIMIR MINAYA

 

CURSO:

3ro”A” DE ING: DE SISTEMAS

 

TIPO DE TRABAJO:

EXPOCICIÓN SOBRE CANDELARIZACIÓN

 

INTEGRANTES:

BASURTO HÉCTOR

GARCÍA LEONELA

CHAQUINGA SILVANA

 

 

AÑO LECTIVO:

2012-2013






TEMAS:

ü Calendarización.

ü Introducción de calendarización.

ü Comportamiento de procesos.

ü Cuando calendarizar.

ü Categorías de algoritmos de calendarización.

ü Metas de los algoritmos de calendarización.

ü Si solo se encuentra con la CPU, es preciso decir cual proceso se ejecutara a continuación.

ü La parte del sistema operativo que toma de decisión se denomina calendarizador, y el algoritmo que se usa, algoritmo de calendarización.

INTRODUCCION DE CALENDARIZACION:

El algoritmo de calendarización era sencillo: tan solo se ejecutaba el siguiente trabajo de la cinta. Cuando aparecieron los sistemas de tiempo compartido, el algoritmo de calendarización se volvió más complejo porque casi siempre había varios usuarios en espera de ser atendidos.

Por cierto, un trabajo por lotes podría ser una solicitud de ejecutar varios programas en forma sucesiva, pero en eta sección daremos por hecho que esta solicitud de ejecutar un solo programa.

Con la llegada de las computadoras personales, la situación cambio en dos sentidos:

Casi todo el tiempo solo hay un proceso activo

Es poco probable que un usuario que esta capturando un documento en un procesador de texto este complicado al mismo tiempo un programa. Cuando el usuario emite un control al procesador de texto, el calendarizador no tiene que trabajar mucho para determinar que proceso ejecutara.

Con el paso de los años las computadoras se han vuelto tan rápidas que la CPU ya casi nunca es un recurso escaso :

La mayoría de los programas para computadoras personales esta limitada por la rapidez con que el usuario puede suministrar entradas.

Aun si dos programas se están ejecutando a la vez, como un procesador de texto y una hoja de calculo, no es muy importante cual se ejecute primero porque con toda seguridad el usuario esta esperando que los dos terminen.

Si separamos las estaciones de trabajo y servidores de alta capacidad conectados a redes, la situación cambia. Aquí es común que varios procesos compitan por la CPU, así que la calendarización vuelve a ser importante.

Por ejemplo:

Cuando la CPU tiene que escoger entre ejecutar un proceso que actualiza la pantalla después de que un usuario a cerrado una ventana y ejecutar un proceso que envía correo electrónico en cola, la diferencia en cuanto a respuesta percibida es considerable.

Si el cierre de la ventana tarda 2 segundos mientras se esta enviando el correo, es probable que el usuario pensara que el sistema esta muy lento, mientras que si el correo se tarda 2 segundos, el usuario de seguro ni se da cuenta.

COMPORTAMIENTO DE LOS PROCESOS:

Casi todos los procesos alteran ráfagas de computo con solicitudes de E/S(de disco). Por lo general, la CPU opera durante un tiempo sin parar, y luego emite una llamada al sistema para leer de un archivo o escribir en uno.

Cuando la llamada al sistema termina, la CPU vuelve a computar hasta que necesita o tiene que escribir mas datos, y así en forma sucesiva. Cabe señalar que algunas actividades de E/S cuentan como computo. Por ejemplo: cuando la CPU copia bits en una RAM de video para actualizar la pantalla, esta computando, no efectuando E/S, porque esta usando la CPU.

esta computando, no efectuando E/S, porque esta usando la CPU.

En este sentido, E/S es cuando un proceso pasa al estado bloqueado en espera de que un dispositivo externo termine su trabajo.

Cuando calendarizar:

v Cuando se crea un proceso.

v Presenta cuando un proceso termina.

v Es cuando un proceso se bloquea por E/S.

Categorías de algoritmos de calendarización:

Esto se debe a que la diferencia áreas de aplicaciones (y los distintos tipos de sistemas operativos) tiene diferentes objetivos:

v Por lotes.

v Interactivo.

v Tiempo real

TODOS LOS SISTEMAS:

v Equidad: Dar a cada proceso una porción equitativa del tiempo de cpu.

v Cumplimiento de políticas: Cuidar que se ponga en practica la política establecida.

v Equilibrio: Mantener ocupadas todas las partes del sistema.

SISTEMAS POR LOTES:

v Rendimiento: Procesar al máximo de trabajos por hora.

v Tiempo de retorno: Reducir al mínimo el lapso entre la presentación y la terminación de un trabajo.

v Utilización de cpu: Mantener ocupada todo el tiempo a la CPU.

SISTEMAS INTERACTIVOS:

v Tiempo de respuesta: Responder rápido a las solicitudes.

v Proporcionalidad: Satisfacer las expectativas de los usuarios.

Sistemas en el tiempo real.

CUMPLIR LOS PLAZOS: Evitar le perdida de datos.

v Producibilidad: Evitar la degradación de la calidad en sistemas multimedia.

CALENDARIZACIÓN EN SISTEMAS POR LOTES:

SISTEMAS INTERACTIVOS.

Se denomina sistema interactivo a aquel sistema que se interrelaciona y depende de las acciones de un usuario para realizar una tarea, es decir, todo sistema en el que interactúan persona y máquina. Podríamos considerar interactivo desde un reproductor de dvd hasta un juego de ordenador en el que nuestras acciones determinan el trascurso de la acción.

SISTEMAS EN TIEMPO REAL:

Un sistema en tiempo real (STR) es aquel sistema digital que interactúa activamente con un entorno con dinámica conocida en relación con sus entradas, salidas y restricciones temporales, para darle un correcto funcionamiento de acuerdo con los conceptos de predictibilidad, estabilidad, controlabilidad y alcanzabilidad.

PRIMERO EN LLEGAR, PRIMERO EN SER ATENDIDO:

Es uno de los mas sencillos que es no expropiativo, aquí la CPU se asigna a los procesos en el orden en que lo solicitan.

  • Hay una cola de procesos listos.
  • Cuando el primer trabajo entra en el sistema en la mañana, se le inicia de inmediato y se le permite ejecutar todo el tiempo que desee.
  • A medida que llegan otros trabajos se les coloca al final de la cola.

TRABAJO Mas CORTO PRIMERO:

  • Este supone un conocimiento anticipado de los tiempos de ejecución. Si hay varios trabajos de la misma importancia en la cola de entrada, es calendarizador escoge el trabajo mas corto primero.

 

TIEMPO RESTANTE MAS CORTO A CONTINUACION:

Una versión expropiativa de la estrategia anterior es la de tiempo restante mas corto a continuación. En este algoritmo, el calendarizador siempre escoge el proceso con base en el tiempo que falta para que termine de ejecutarse, en este caso también es preciso conocer los tiempos de ejecución. Este esquema permite que trabajos cortos nuevos obtengan buen servicio.

CALENDARIZACION DE SISTEMAS INTERACTIVOS:

Estos también pueden usarse como calendarizador de CPU, en los sistemas por lotes aquí no es posible tener calendarización de tres niveles, es posible e incluso común, uno de dos niveles (Calendarizador de memoria y calendarizador de CPU.)

CALENDARIZACION POR TURNO CIRCULAR:

Observamos algunos algoritmos específicos:

El turno circular, siendo el mas sencillo , antiguo y equitativo (round-robin). A cada proceso se le asigna un intervalo de tiempo llamado CUANTO durante el que se le permitirá ejecutarse.

Sin al termino del cuanto el proceso se sigue ejecutando se le expropia la CPU para designársela a otro proceso. Lo interesante este calendarizador es la magnitud del cuanto.

CALENDARIZACIÓN POR PRIORIDADES:

La idea básica de utilizar este calendarizador es que cada proceso s le asigne un prioridad, y el proceso listo que tenga la prioridad mas alta e la que se ejecute.

Las prioridades pueden asignarse a los procesos de forma estática y dinámica.

EL ALGORITMO DE CALENDARIZACIÓN:

  • Mientras haya procesos ejecutables en la clase de prioridad 4, se ejecutara cada uno durante un cuanto, por turno circular, sin ocuparse de las clases de mas baja prioridad.
  • Si la clase 4 esta vacía, se ejecutan los procesos de clase 3por turno circular.
  • Si tanto la clase 4 como la 3 están vacías se ejecutaran la clase 2por turno circular y así en forma sucesiva. Si las prioridades no se ejecutan deben en cuando, podrían ser que las clases de mas baja prioridad mueran de inanición.
  • Mientras haya procesos ejecutables en la clase de prioridad 4, se ejecutara cada uno durante un cuanto, por turno circular, sin ocuparse de las clases de mas baja prioridad.
  • Si la clase 4 esta vacía, se ejecutan los procesos de clase 3por turno circular.
  • Si tanto la clase 4 como la 3 están vacías se ejecutaran la clase 2por turno circular y así en forma sucesiva. Si las prioridades no se ejecutan deben en cuando, podrían ser que las clases de mas baja prioridad mueran de inanición.
  • Mientras haya procesos ejecutables en la clase de prioridad 4, se ejecutara cada uno durante un cuanto, por turno circular, sin ocuparse de las clases de mas baja prioridad.
  • Si la clase 4 esta vacía, se ejecutan los procesos de clase 3por turno circular.
  • Si tanto la clase 4 como la 3 están vacías se ejecutaran la clase 2por turno circular y así en forma sucesiva. Si las prioridades no se ejecutan deben en cuando, podrían ser que las clases de mas baja prioridad mueran de inanición.

 

MÚLTIPLES COLAS:

Uno de los primero calendarizadores por prioridades se usa en CTSS (corbato et al…1962).

CTSS._ Tenia el problema de que la conmutación de procesos era muy lenta porque la 7094 solo podía tener un procesos en la memoria. Cada conmutación implicaba intercambiar el proceso actual al disco y leer uno nuevo del disco.

CALENDARIZACIÓN GARANTIZADA:

consiste en hacer a los usuarios promesas en cuanto al desempeño y luego cumplirlas .

EJEMPLOS:

ü Si hay n usuarios en sesión, cada uno recibirá aproximadamente 1/n de la capacidad de la CPU .

ü En un sistema monousuario en el que se están ejecutando n procesos , si todos los demás factores son iguales cada uno deberá recibir 1/n de los ciclos de la CPU.

 

CALENDARIZACIÓN POR LOTERÍA:

Consiste en entregar a los procesos “billetes de loterías” para los distintos recursos del sistema, como el tiempo de CPU. cada vez que tenga que tomar una decisión de calendarización.

FUNCIONAMIENTO DE LA CALENDARIZACIÓN POR LOTERÍA:

Si llega un proceso nuevo y recibe cierto números de billetes , en el siguiente proceso tendrá una posibilidad de ganar proporcional al números de billetes que tenga.

 

CALENDARIZACIÓN POR PORCION EQUITATIVA :

En este caso a cada usuario se le asigna cierta fracción del tiempo de la CPU y el calendarizador escoge los procesos a modo de respetar esa división .

FUNCIONAMIENTO DE LA CALENDARIZACIÓN POR PORCION EQUITATIVA :

En este caso se toma en cuenta a quien pertenece el proceso antes de calendarizarlo para poder asignarle a cada usuario cierta cantidad de fracción del tiempo de la CPU.

CALENDARIZACIÓN EN SISTEMAS EN TIEMPO REAL:

En este tipo de calendarización el tiempo desempeña u papel fundamental hay varios tipos de tiempos.

TIEMPO REAL ESTRICTO:

En este tipo de calendarización hay plazo absolutos que deben cumplirse, pase lo que pase .

 

 

TIEMPO REAL NO ESTRICTO:

En este tipo de calendarización se pueden tolerar incumplimientos ocasionales, aunque indispensables, de los pasos. En que ambos casos, el comportamiento en tiempo real se logra dividiendo el programa en varios procesos cuyo comportamiento es predecible y se conoce con antelación.

POLÍTICA EN COMPARACIÓN CON MECANISMO:

Se separa el mecanismo de calendarización de la política de calendarización. Esto significa que el algoritmo de calendarización tiene ciertos parámetros que que puede especificar los procesos de usuario.


Comentarios
nello
nello
buen trabajo
Comenta