Planificación SRT

August 20, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Planificación SRT...

Description

 

Planificación SRT http://www.obasoft.es/CF/SIINF/SIINF_02_Contenidos/2_componentes_de_un_sistema_o  perativo.html    perativo.html Los principales objetivos de los sistemas operativos son:

 





 

 



 



 



 



 



 



 



 



Abstraer al usuario de la complejidad del hardware: El sistema operativo hace que el ordenador sea más fácil de utilizar. Eficiencia: Permite que los recursos del ordenador se utilicen de la forma más eficiente posible. Por ejemplo, se deben optimizar los accesos a disco para acelerar las operaciones de entrada y salida. Permitir la ejecución de programas: Cuando un usuario quiere ejecutar un  programa, el sistema operativo realiza todas las tareas necesarias para ello, ello, tales como cargar las instrucciones y datos del programa en memoria, iniciar dispositivos de entrada/salida y preparar otros recursos. Acceder a los dispositivos entrada/salida : El sistema operativo suministra una interfaz homogénea para los dispositivos de entrada/salida para que el usuario pueda utilizar de forma más sencilla los mismos. Proporcionar una estructura y conjunto de operaciones  para el sistema de archivos.  Controlar el acceso al sistema y los recursos : en el caso de sistemas compartidos,

 proporcionando protección a los recursos y los datos frente a usuarios no autorizados. Detección y respuesta ante errores: El sistema operativo debe prever todas las  posibles situaciones críticas y resolverlas, si es que se producen. Capacidad de adaptación: Un sistema operativo debe ser construido de manera que pueda evolucionar a la vez que surgen actualizaciones hardware y software. Gestionar las comunicaciones en red:  El sistema operativo debe permitir al usuario manejar con facilidad todo lo referente a la instalación y uso de las redes de ordenadores. Permitir a los usuarios compartir recursos y datos : Este aspecto está muy relacionado con el anterior y daría al sistema operativo el papel de g gestor estor de los recursos de una red.

Dentro de un sistema operativo podemos destacar los siguientes componentes o niveles:

 

 



 



El "Kernel" o núcleo, es un programa que reside permanentemente en memoria. Es la parte esencial de un sistema operativo que provee los servicios más básicos del sistema. Es el principal responsable de facilitar a los distintos programas acceso seguro al hardware del ordenador. En los siguientes niveles podemos encontrar los programas de utilidad. Podemos realizar la siguiente clasificación por la función que realizan:

  Utilidades para la gestión de memoria:  se encarga de administrar la memoria para los

o

procesos y programas, repartiendo la memoria disponible entre los distintos procesos. Utilidades para la gestión de procesos:  controla los procesos en ejecución en tareas como o  inicio, parada, coordinación, la creación y destrucción de procesos, intercambio, detección y arranque de mensajes.

Elaboración propia utilizando la galería openclipart-0.18-full. openclipart-0.18-full.  Procedencia  Procedencia 

  Utilidades para la gestión de E/S a disco: gestiona la comunicación entre dispositivos que

o

se encargan de la E/S de la información y de su almacenamiento en función de los dispositivos existentes. Utilidades para la gestión de ficheros y de la información:  cuyo objetivo es el de controlar co ntrolar o  los archivos para mantener una correcta organización or ganización dentro y fuera del sistema, realizando tareas como la asignación de nombres, permisos, atributos, etc. a los ficheros y programas. Gestiona los nombres lógicos y la protección de la información realizando re alizando funciones de creación y destrucción de ficheros, lectura y escritura y protecc protección ión de accesos.  



Programa interface de usuario o Shell : encargados de permitir al usuario la comunicación con el sistema por medio de entornos e ntornos gráficos o de texto mediante una línea de entrada de comandos.

 

3.1. Control y gestión de procesos  procesos  Un proceso o tarea, se puede definir como un programa en ejecución. Entre las principales tareas del sistema operativo está la de administrar los procesos del sistema. ¿A qué nos referimos cuando hablamos de procesos? Un proceso es un programa en ejecución . Un proceso simple tiene un hilo de ejecución  (o subproceso), en ocasiones, un proceso puede pu ede dividirse en varios subprocesos. Un hilo es  básicamente una tarea que puede ser ejecutada en paralelo con otra tarea. Por lo que los hilos de ejecución permiten a un programa realizar varias tareas a la vez.

En los sistemas operativos modernos los procesos pueden tener diferentes estados, según el momento de creación, si están en ejecución, si se encuentran a la espera de algún recurso, etc. Pero podemos hacer una simplificación, y un proceso, en un instante dado, puede estar en uno de los tres estados siguientes:      







Listo. En ejecución. Bloqueado.

Los procesos en estado listo son los que pueden pasar a estado de ejecución si el  planificador del sistema operativo los selecciona, esto es, cuando llegue su turno (según el orden de llegada o prioridad). Los procesos en estado de ejecución  son los que se están ejecutando en el procesador en un momento dado. Los procesos que se encuentran en estado bloqueado están esperando la respuesta de algún otro proceso para poder continuar con su ejecución, por ejemplo una operación de entrada/salida. El sistema operativo sigue la pista de en qué estado se encuentran los procesos, decide qué procesos pasan a ejecución, cuáles quedan bloqueados, en definitiva, gestiona los cambios de estado de los procesos . Los procesos pueden comunicarse entre sí o ser independientes. En el primer caso, los procesos necesitarán n ecesitarán sincronizarse y establecer una serie de mecanismos para la comunicación; por ejemplo, los procesos que pertenecen a una

 

misma aplicación y necesitan intercambiar información. En el caso de procesos independientes estos, por lo general, no interactúan y un proceso no requiere información de otros.

Un proceso en un S.O. presenta las siguientes características:  



 



 



 



 



Para iniciar su ejecución debe cargarse completamente en memoria y tener asignados todos los recursos que necesite. Está protegido del resto de procesos; ningún otro proceso p roceso podrá escribir en la zona de memoria perteneciente a ese proceso. Puede pertenecer al usuario o ser propio del sistema operativo. (Ver admin. tareas) Los procesos pertenecientes a los usuarios se ejecutan en el modo usuario del d el  procesador (con restricciones de acceso a los recursos hardware). Los procesos que  pertenecen al S.O. se ejecutan en el modo núcleo o modo privilegiado del  procesador (sin restricciones de acceso a los recursos hardware). Cada proceso tendrá una estructura de datos llamada bloque de control de proceso , donde se almacenará información acerca del proceso. Cada proceso puede comunicarse, sincronizarse y colaborar con los demás.La razón de estas operaciones es que, al residir cada proceso en zonas de memoria independientes, se ha de llamar al sistema para compartir datos entre los procesos.

Para poder ejecutar un proceso, deberá debe rá estar siempre cargado en memoria principal, tanto las instrucciones del propio código que lo componen como los datos a los que afecta la ejecución del mismo. Un programa no es un proceso siempre y cuando no esté en ejecución. Por ejemplo, Microsoft Word será simplemente un archivo almacenado en el disco duro si no se está ejecutando. Una vez se ejecute, el archivo Microsoft Word seguirá almacenado donde estaba originalmente, pero las instrucciones necesarias para su ejecución se habrán cargado en memoria. Una vez que se está ejecutando el programa, se convierte en proceso. El reparto de los recursos del sistema entre los distintos procesos y su ejecución concurrente se conoce como multiprogramación. Algoritmos de planificación. Algoritmos Los algoritmos de planificación son los siguientes:

FCFS (first come first serverd)   Este método se conoce también como “primero en entrar, primero en salir”.   Es una política no apropiativa.

Cuenta con el inconveniente de que sus prestaciones son bastante pobres, pues si se asigna un

 

trabajo largo a la CPU, todos los demás permanecen a la espera, por lo que se retienen los procesos cortos, es decir, se produce el efecto convoy. Sin embargo, si aplicamos prioridades a los procesos, los cortos entraran e ntraran si tienen una mayor prioridad, pues se tendrá en cuenta el e l orden de llegada. La ventaja sería que los procesos con prioridad se ejecutarían e jecutarían sin problemas. El inconveniente es la posibilidad de que los procesos entren en un estado e stado de inanición y nunca lleguen a ejecutarse.

SJF (shortest job first)  Este algoritmo se basa en ejecutar primero los procesos de menor tamaño, y en caso de que haya dos iguales, se prioriza el que llegó antes ante s al sistema. Es un algoritmo no apropiativo. Una de las ventajas es que con este método el tiempo de espera medio se reduce, sin embargo, el inconveniente que presenta este algoritmo es que en la vida real tendríamos que intentar predecir el tiempo que un proceso tarda en ejecutarse en función de tiempos de referencia tomados de ejecuciones anteriores.

SRT (shortest remaining time first) La evolución lógica será convertir el algoritmo anterior anter ior en apropiativo. Para ello tenemos en cuenta el e l tiempo restante de ejecución y no el tiempo inicial. Las ventajas de este algoritmo son su eficiencia e ficiencia y su excelente tiempo medio de servicio. El inconveniente es que es injusto, pues una serie se rie de procesos cortos quitan repetidamente el procesador a uno largo que a la vez ve z lo está usando y está terminando.

RR (round-robbin)  Se trata de un algoritmo apropiativo. El diseño del algoritmo RR consiste en definir una unidad de tiempo llamada quantum. Los procesos ya no pelean por los recursos r ecursos si no que estos se asignan equitativamente a to todos dos ellos por turnos, los cuales finalizan cuando lo indique el quantum. Se pueden dar dos casos: - Que el proceso requiera menos tiempo que el quantum asignado. - Que el proceso requiera más tiempo que el quantum asignado. El inconveniente de este método es que cuando finalizan los quantums nos encontramos con una interrupción procedente del temporizador que provoca que haya que salvar todos los registros del

 

proceso antiguo y restaurar los del nuevo. Es lo que se conoce como cambio de contexto. Además, si el proceso es demasiado corto el sistema puede llegar a bloquearse. La ventaja de este algoritmo es que se establecen turnos equitativos entre las colas de menor prioridad, por lo que todos los procesos pueden avanzar y finalizarse.

SRTF, Short Remaining Time First.  

SJF,, con la diferencia de que si un nuevo proceso pasa a listo se activa Es similar al  al SJF eldispatcher  para ver si es más corto que lo que queda por ejecutar del proceso en ejecución. Si es así, el proceso en ejecución pasa a listo y su tiempo de estimación se decremento con el tiempo que ha estado ejecutándose. En SRTF se penaliza a las ráfagas largas (como en  en SJF SJF)). Un punto débil de este algoritmo se evidencia cuando una ráfaga muy corta suspende a otra un poco más larga, siendo más larga la ejecución en este orden al ser preciso un cambio adicional de proceso y la ejecución del código del planificador. Trabajos cortos.  C aracte racterís rís tica ticas s : 

- De los procesos que están esperando para usar la CPU,SRTF lleva a ejecución el proceso al que le reste menos tiempo para terminar. - Los empates se dirimen mediante FIFO / FCFS Funcionamiento:  

- Los procesos llegan a la cola y solicitan un intervalo de CPU - Si dicho intervalo es inferior al que le falta al proceso en ejecución para abandonar la CPU, el nuevo proceso pasa a la CPU y el que se ejecutaba a la cola de preparados. Inconvenientes Inconveniente s : 

- El intervalo de CPU es difícil de predecir - Posibilidad de inanición: los trabajos largos no se ejecutarán mientras hayan trabajos cortos.  .

 

 

0 http://www.utnianos.com.ar/foro/tema-diferencia-entre-srt-y-sjf   Caracteristicas -Entra en la CPU el proceso con la ráfaga de CPU más corta. -Minimiza el tiempo de espera medio. -Riesgo de inaniciónde los procesos de larga duración. -No es implementable. Se pueden estimar las duraciones de los procesos, según su historia reciente. -Versión expulsiva (SRTF):el proceso en CPU es desalojado si llega a la cola un proceso con duración más corta. Algoritmo SJF

El algoritmo SJF (Shortest-Job-First) se basa en los ciclos de vida de los procesos, los cuales transcurren en dos etapas o periodos que son: ciclos de CPU y ciclos de entrada/salida, también conocidos por ráfagas. La palabra shortest (el más corto) se refiere al proceso que tenga el el próximo ciclo de CPU mas corto. La idea es escoger es coger entre todos los procesos listos el que tenga su próximo ciclo de CPU más pequeño. El SJF se puede comportar de dos formas:

 

  Con Desalojo: Si se incorpora un nuevo proceso a la cola de listos lis tos y este tiene un ciclo de CPU menor que el ciclo de CPU del proceso que se está ejecuando,entonces dicho proceso es desalojado y el nuevo proceso toma la CPU. Sin desalojo: Cuando un proceso toma la CPU, ningún otro proceso podrá apropiarse de ella hasta que que el proceso que la posee termine de ejecutarce.

Ejemplo del Algoritmo SJF (Con Desalojo)

Para el siguiente ejemplo se tienen 4 procesos (P1, P2,P3 y P4). A medida que estos se van incorporando a la cola de listos, se les calcula su próximo ciclo de CPU. Para calcular el próximo ciclo de CPU se pueden emplear: métodos estadísticos, cálculos probabilísticos, entre otros.

CCPU: próximo ciclo de CPU.

En el ejemplo se toma como criterio que la cola de procesos listos está inicialmente vacía.

 

En la figura se representa la llegada de P1 a la cola de listos con un tiempo de llegada (0,0). Luego a P1 se le calcula cal cula su CCPU (CCPU = 7) y en ese instante se comienza a ejecutar.

Estando en ejecución el proceso P1, se incorpora a la cola de listos P2, al cual se le calcula su CCPU (CCPU = 4). Pero como el CCPU de P2 es menor que el CCPU de P1, entonces P1 es desalojado y P2 toma la CPU. En este caso P1 se reincorpora a la cola de listos porque no ha terminado su ejecución, y en ese instante se le vuelve a calcular el valor del CCPU (CCPU = 6).

Luego llega el proceso P3 a la cola col a de listos y se le calcula el CCPU (CCPU = 1). Por lo que sucede igual que el caso anterior, el CCPU de P3 es menor que el CCPU de P2, por lo que se desaloja P2 para cederle la CPU a P3. P2 es reincorporado a la cola de listos porque no ha terminado su ejecución CCPU y se le vuelve a calcular cal cular su CCPU (CCPU = 3).

El proceso P4 se incorpora a la cola de listos y se le cal calcula cula su CCPU (CCPU = 4). Luego P3 termina su ejecución para cederle la CPU al próximo proceso que le corresponda según el criterio que establece el algoritmo. Para el ejemplo le corresponde el turno a P2, luego a P4 y finalmente a P1.

 

Ejemplo del Algoritmo SJF (No Apropropiativa) En esta implementación sucede muy similar a la Apropiativa, pues el SJF si reorganiza la cola por el TE, pero la diferencia es que cuando un proceso obtiene la CPU no lo abandona hasta que no concluye.

¿Algoritmo Óptimo? El SJF se considera como un algoritmo óptimo, porque da el mínimo tiempo de espera promedio para un conjunto de procesos, así como las estimaciones de CPU. Su dificultad radica en que materialmente es un algoritmo imposible de implementar RE: Diferencia entre SRT y SJF En el SRT, va evaluando los procesos que va ingresando. Es decir, estoy corriendo un proceso de 10 unidades de tiempo, y luego cae uno de 2 unidad, entonces freno el de 10 unidades (a excepcion de que le falte una unidad) y corro el de 2 unidades y y luego vuelvo al de 10 unidades. En el SJF, se corre el de 10 unidades de tiempo hasta el final, y luego el de 2 unidades.

En los PPT de Adriano dice: SJF hay 2 tipos:  No expropiativo  –  cuando  cuando se asigna la CPU a un proceso no se puede expropiar hasta que completa su ráfaga de CPU Expropiativo  –  si  si llega un proceso a la cola de listos con una ráfaga de CPU más corta que el tiempo restante, se expropia. El SJF expropiativo se conoce también como Shortest Remaining Time First (SRTF)

http://dcc2009.yolasite.com/resources/srt.pdf   http://dcc2009.yolasite.com/resources/TSO-practica2.pdf   ftp://iesjuandelacierva.com/pub/pilarsimm/temas%20teor%EDa%20SSOO/ Ejemplo%20Algoritmo%20SRT.htm   Ejemplo%20Algoritmo%20SRT.htm

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF