UD2 Planificación de Procesos PDF

Summary

This document is a presentation on process scheduling, covering topics like different scheduling algorithms (FCFS, SJF, SRTF, RR) and their applications in operating systems. It also briefly discusses the concepts of process priorities and scheduling criteria. The document includes examples and diagrams related to the topic.

Full Transcript

UD2 Planificación de procesos Índice  Introducción.  Planificación de procesos.  Algoritmos de planificación.  Tipos de algoritmos de planificación.  FCFS (First Come First Served).  SJF (Shortest Job First).  SRTF (Short Remaining Time Next).  RR (Round Robin)  Conclusión In...

UD2 Planificación de procesos Índice  Introducción.  Planificación de procesos.  Algoritmos de planificación.  Tipos de algoritmos de planificación.  FCFS (First Come First Served).  SJF (Shortest Job First).  SRTF (Short Remaining Time Next).  RR (Round Robin)  Conclusión Introducción Para ejecutar un proceso intervienen, entre otros, los siguientes módulos del sistema operativo:  Interprete de comandos: encargado de determinar el programa a ejecutar interpretando el nombre del fichero ejecutable introducido (CLI) o el clic realizado sobre el icono de un fichero ejecutable (GUI).  Cargador de programas: usualmente es una parte del núcleo del sistema operativo. Se encarga de cargar en memoria el programa a ejecutar.  Planificador: asigna prioridad al nuevo proceso generado para la ejecución del programa cargado. Para ello utiliza algoritmos de planificación. Introducción Cuando varios procesos se ejecutan de forma concurrente (a la vez), el sistema operativo debe ordenar los procesos para que se ejecuten en orden adecuado según una prioridad asignada. Para ello utiliza un módulo llamado planificador o scheduler. El scheduler admite o rechaza las peticiones de recursos usando lo que denominamos algoritmos de planificación. El algoritmo de planificación es el encargado de elegir el proceso que se ejecuta en el procesador en cada momento. Este proceso se encontrará en estado Ejecución y el resto de procesos estarán en estado Preparado, si están a la espera de pasar a ejecución, o Bloqueado si están pendientes de la asignación de algún recurso hardware o software del sistema. Introducción Actividad Actividad 7: Prioridad de procesos. 1. Abrir el administrador de tareas de Windows 10 y visualizar la prioridad de varios procesos. 2. Realiza captura de pantalla donde se observe esta información. 3. ¿Cuáles son las prioridades posibles en tu sistema operativo? Realiza captura de pantalla donde se observen las prioridades posibles. 4. Indica el nombre de dos procesos para cada una de las prioridades posibles en tu ordenador. Planificación de procesos La planificación es la técnica para indicar al procesador los procesos que deben ejecutarse y los estados que estos pueden adoptar. La planificación se basa en el uso de algoritmos de planificación que permiten decidir qué proceso ha de ejecutarse en cada momento y por qué. Planificación de procesos La siguiente figura representa la ejecución de tres procesos de Microsoft Office, pasando de estar activos a estar en espera, según se asignen tiempos de ejecución de CPU. Los diferentes estados tienen una relación directa con la prioridad que tenga asignada (bien por el sistema operativo, bien por el usuario o administrador). Algoritmos de planificación Los algoritmos de planificación se utilizan para ganar eficiencia a la hora de ejecutar múltiples procesos. Son los encargados de ordenar y dirigir los procesos para asegurar que ninguno de ellos monopolice el uso de la CPU. Los criterios para comparar distintos algoritmos pueden ser:  Equidad: los procesos usan la CPU de forma equilibrada.  Eficiencia: la CPU se usa en 100% del tiempo.  Productividad o rendimiento: número de trabajos procesados por unidad de tiempo.  Tiempo de retorno (o de trabajo global): tiempo que tarda un proceso en ejecutarse completamente.  Tiempo de espera: tiempo que un proceso está en la cola de procesos listos para ejecutarse.  Tiempo de respuesta: tiempo que un proceso bloqueado tarda en entrar en ejecución. Algoritmos de planificación El objetivo de los algoritmos de planificación será:  Maximizar la equidad, eficiencia y la productividad.  Minimizar el tiempo de retorno, espera y respuesta. Tiempo retorno Equidad Tiempo espera Eficiencia Tiempo respuesta Productividad Tipos de algoritmos de planificación Existen dos grandes tipos de algoritmos de planificación:  No Apropiativos:  No permiten la expulsión de un proceso en ejecución hasta que no finaliza completamente.  Un proceso nuevo no entrará hasta que termine el anterior.  Apropiativos:  También conocido como expulsivo o expropiativo.  Permiten la expulsión de procesos antes de finalización, para ejecutar un nuevo proceso. El proceso expulsado se pone de nuevo en la cola de procesos en espera de ejecución. Tipos de algoritmos de planificación Los algoritmos de planificación más usuales son:  FCFS(First Come First Served): el primer proceso que llega es el primero en ejecutarse.  SJF(Sortest Job First): el proceso con menor número de ciclos de CPU (más pequeño) es el primero en ejecutarse.  SRT(Sortest remaining time first): el proceso al que queda menos ciclos de CPU para terminar es el primero en ejecutarse.  RR(Round Robin): rota los procesos, asignándoles porciones iguales de tiempo de CPU a todos ellos (Quantum). ¿Son algoritmos apropiativos o no apropiativos? Tipos de algoritmos de planificación FCFS (First Come First Served) También llamado FIFO (First In First Out). Es el más simple → menor rendimiento. Hasta que no se termina de ejecutar un proceso no se empieza a ejecutar el siguiente. Ejemplo: una cola de personas en la caja de en un supermercado.  El primero que llega es el primero en ser atendido.  Nadie es atendido hasta que no termina de ser atendida la persona que tiene delante.  Nadie deja de ser atendido a la mitad para que otra persona sea atendida. Tipos de algoritmos de planificación FCFS (First Come First Served) Tipos de algoritmos de planificación SJF (Shortest Job First) Prioriza los procesos más cortos (menos ciclos de CPU para su ejecución), independientemente de su llegada. Si dos procesos son iguales de cortos utilizara el método FIFO para determinar cuál se ejecutará primero. Tiene el riesgo de poner siempre al final de la cola los procesos más largos y que nunca se ejecuten. Esto se conoce como inanición. Ejemplo: una cola de personas en la caja de en un supermercado en la que siempre dejemos pasar a las personas que llevan una compra menor a la nuestra. Tipos de algoritmos de planificación SJF (Shortest Job First) Tipos de algoritmos de planificación SRTF (Short Remaining Time Next) Se basa en el algoritmo SJF pero añadiendo la posibilidad de expulsar un proceso a lo largo de su ejecución. Siempre se ejecuta el proceso al que queda menos tiempo (unidades de ciclo de CPU) para que termine de ejecutarse. Después de cada ciclo de CPU se evalúa si se debe seguir con la ejecución del proceso que está utilizando la CPU o si se debe expulsar para ejecutar otro proceso al que resta menos tiempo para finalizar su ejecución. Problema: un proceso largo puede llegar a expulsarse muchas veces y nunca terminar debido a la ejecución de otros mas cortos. Tipos de algoritmos de planificación SRTF (Short Remaining Time Next) Tipos de algoritmos de planificación RR (Round Robin) Es uno de los algoritmos más complejos y difíciles de implementar. Asigna a cada proceso un tiempo equitativo de uso de la CPU tratando a todos los procesos por igual y con la misma prioridad. Para controlar este método, a cada proceso se le asigna un intervalo de tiempo llamado quantum (Q) o cuanto. Es un algoritmo es circular:  Es un algoritmo apropiativo.  Dedica a cada proceso un Q.  Cuando termina el Q de un proceso, éste vuelve al final de la cola. Para definir el valor de Q, tener en cuenta:  Si Q muy grande → FCFS.  Si Q muy pequeño → cambio constante de procesos (ineficiencia).  Regla generar: 80% de los procesos tienen que durar menos tiempo que el Q definido. Tipos de algoritmos de planificación RR (Round Robin) Pueden ocurrir dos situaciones:  El tiempo de ejecución de un proceso es menor que el quantum:  El proceso en ejecución terminará antes del tiempo máximo que puede disponer de la CPU (quantum).  Al terminar antes, este proceso finaliza y se planifica un nuevo proceso de la cola.  El tiempo de ejecución de un proceso es mayor que el quantum:  El proceso en ejecución no termina antes del tiempo máximo que puede disponer de la CPU (quantum).  Al terminar el quantum:  Expulsa proceso que pasa a colocarse al final de la cola.  Da paso al primer proceso en la cola. Tipos de algoritmos de planificación RR (Round Robin) Quantum = 4 Tipos de algoritmos de planificación Ejemplos Algoritmos de Planificación. FCFS SJF https://www.youtube.com/watch?v=p7sJlmhLGDY https://www.youtube.com/watch?v=iPmU3VGNxV8 SRTF RR (Q=1) https://www.youtube.com/watch?v=9wkl5mKj0YU https://www.youtube.com/watch?v=iUTT2xwJcr8 Tipos de algoritmos de planificación Ejemplos Algoritmos de Planificación. RR (Q=2) RR (Q=3) https://www.youtube.com/watch?v=AeO0LVvVzgY https://www.youtube.com/watch?v=SwxBbsxGiHg Conclusion En la práctica, se suelen implementar varias colas de procesos listos para su ejecución. Es lo que se denomina colas multinivel. Cada cola puede:  Utilizar el mismo o distintos algoritmo de planificación.  Ejecutarse un procesador concreto o en varios procesadores.  Asumir procesos que estaban en otra cola. Por tanto, para implementar colas multinivel habrá que definir:  El algoritmo a seguir en cada cola. Por ejemplo:  RR para procesos interactivos con el usuario en primer plano  FCFS para procesos del sistema en segundo plano.  En cuál procesador o procesadores se ejecuta cada cola.  Cuál es el criterio por el que un proceso cambia de cola y por tanto de algoritmo de planificación. Por ejemplo:  Si un proceso está tardando mucho en ejecutarse en una cola SJF, puede pasar a otra cola con RR. Tipos de algoritmos de planificación Actividad Actividad: Comparativa Algoritmos de Planificación.  Aplica los distintos algoritmos de planificación estudiados a los siguiente caso:  Calcula en para cada algoritmo de planificación Tiempo Medio de Espera y el Tiempo Medio de Retorno.  ¿Qué algoritmo es el mejor en cada caso?

Use Quizgecko on...
Browser
Browser