Please enable JavaScript.
Coggle requires JavaScript to display documents.
Planificación de la CPU - Coggle Diagram
Planificación de la CPU
La adecuada planificación de la CPU depende de una propiedad observada de los procesos: la ejecución de un proceso consta de un ciclo de ejecución en la CPU,seguido de una espera de E/S;los procesos alternan entre estos dos estados.la ejecución del proceso comienza con una ráfagas de CPU.Esta ba seguida de una ráfaga de E/S, a la cual sigue otra ráfaga de CPU, luego otra ráfaga de F/S, y finalmente la ráfaga final de CPU concluye con una solicitud al sistema para terminar la ejecución.
-
Cuando la CPU queda inactiva, el sistema operativo debe seleccionar uno de los procesos que se encuentran en la cola de procesos preparados para ejecución. El planificador a corto plazo (o planificador de la CPU) lleva a cabo esa selección del proceso.El planificador elige uno de los procesos que están en memoria preparados para ejecutarse y asigna la CPU a dicho proceso.
-
Este método de planificación era el utilizado por Microsoft Windows 3.x; Windows 95 introdujo la planificación apropiativa y todas las versiones siguientes de los sistemas operativos Windows han usado dicho tipo de planificación. El sistema operativo Mac OS x para Macitosh utilíza la planificación apropiativa; las versiones anteriores del sistema operativo Macitosh se basaban en la planificación cooperativa.la planificación cooperativa es el único método que se puede emplear en determinadas plataformas hardware, dado que no requiere el hardware especial (por ejemplo, un temporizador ) necesario para la planificación apropiativa.
-
El despachador es el módulo que proporciona el control de la CPU a los procesos seleccionados por el planificador a corto plazo.Esta función implica lo siguiente: cambio de contexto. cambio al modo usuario. salto a la posición correcta dentro del programa de usuario para reiniciar dicho programa.El despachador debe ser lo más rápido posible, ya que se invoca en cada conmutación de procesos, el tiempo que tarda el despachador en detener un proceso e iniciar la ejecución de otro se conoce como latencia de despacho.
-
Es un sistema de un único procesador, solo puede ejecutarse un proceso cada vez; cualquier otro proceso tendra que esperar hasta que la CPU quede libre y pueda volver a clasificarse.El objetivo de la multiprogramacion es tener continuamente varios procesos en ejecución, con el fin de maximizar el uso de la CPU.
-
La utilización de la CPU se define en el rango comprendido : entre el 0 y el 100 por cien.Es un sistema real, debe variar entre 40 por ciento.
-
Si la CPU esta ocupada ejecutando procesos, entonces se estará llevando a cabo algún tipode trabajo.una medida de esa cantidad de trabajo es el número de procesos que se completan por unidad de tiempo, y dicha medida se denomina tasa de procesamiento.para procesos de larga duración, este valor puede ser de un proceso por hora, para transacciones cortas , pueden ser de 10 procesos por segundo.
-
El intervalo que va desde el instante en que se ordena la ejecución de un proceso hasta el instante en que completa es el tiempo de ejecución.Ese tiempo de ejecución es la suma de los periodos que el proceso invierte en esperar para cargarse en memoria, esperar en la cola de procesos preparados, ejecutarse en la CPU y realizar las operaciones de E/S.
-
El algoritmo de planificación de la CPU no afecta a la cantidad de tiempo durante la que un proceso se ejecuta o hace una operación de E/S; afecta solo al periodo de tiempo que un proceso invierte en esperar en la cola de procesos preparados.El tiempo de espera es la suma de los periodos invertidos en espera en la cola de procesos preparados.
-
A menudo un proceso puede generar parte de la salida con relativa rapidez y puede continuar calculando nuevos resultados mientras que los resultados previos se envían a la salida para ponerlos a la disposición del usuario.otra medida es el tiempo transcurrido desde que se envía una solicitud hasta que se produce la primera repuesta; esta medida se le denomina tiempo de repuesta ya que es el tiempo que el proceso tarda en empezar a responder generalmente el tiempo de repuesta esta limitado por la velocidad del dispositivo de salida.
-
Se han sugerido muchos criterios para comparar los distintos algoritmos de planificación.las características que se usen para realizar la comparación pueden afectar enormemente a la determinación de cual es el mejor algoritmo.
-
La planificación de la CPU aborda el problema de decidir aque proceso preparados debe asignarle la CPU.
-
El algoritmo más simple de planificación de la CPU es con mucho el algoritmo FCFS (Firts-come Firts -served; primero en yegar primero en ser servido). Con esta esquema se asigna primero la CPU al proceso que primero le solicite. La implementación de la política FCFS se gestiona fácilmente con una cola FIFO.Cuando un proceso entra en la cola de procesos preparados, su PCB se coloca al final de la cola
-
El algoritmo de planificación con selección del trabajo más corto (SJF, shortest-job.firtst)Este algoritmo asocia con cada proceso la duración de la siguiente ráfaga de CPU del proceso.cuando la CPU esta disponible, se asigna al proceso que tiene la siguiente ráfaga de CPU más corta. Si las siguientes ráfagas de CPU de dos procesos son iguales se usa la planificación FCFS para romper el empate.
-
El algoritmo SJF es un caso especial del algoritmo de planificación por prioridades general.A cada proceso se le asocia una prioridad y la CPU se asigna al proceso que tenga la prioridad más alta.Los procesos con la misma prioridad se planifican en ordenes FCFS.
-
El algoritmo de planificación por turno(RR,round Robin) está diseñado específicamente para los sistemas de tiempo compartido. Es similar a la planificación FCSF, pero se añade la técnica de desalojo para conmutar entre procesos. En este tipo de sistema se define una pequeña unidad de tiempo, denominada cuanto de tiempo o franja temporal.
-
Un algoritmo de planificación mediante colas multinivel divide la cola de procesos preparados en varias colas distintas, cada cola tiene su propio algoritmo de planificación por ejemplo pueden emplearse colas distintas para los procesos de primer plano y de segundo plano.La cola de primer plano puede planificarse mediante un algoritmo por turnos, mientras que para la cola de segundo plano puede emplearse un algoritmo FCFS.
-
Normalmente cuando se usa el algoritmo planificación mediante colas multinivel, los procesos se asignan de forma permanente a una cola cuando entran en el sistema.por ejemplo si hay colas diferentes para los procesos de primer y segundo plano, los procesos no se mueven de una cola a otra dado que no pueden cambiar su naturaleza de proceso de primer o segundo plano.por el contrario el algoritmo de planificación mediante colas multinivel realimentadas permite mover un proceso de una cola a otra.La idea es separar los procesos en función de las características de sus ráfagas de CPU.
-
En este tipo de sistema, podemos usar cualquiera de los procesadores disponibles para ejecutar cualquier proceso de la cola, sin embargo observe que incluso con múltiples procesadores homogéneos, en ocasiones hay limitaciones que afectan a la planificación, los procesos que deseen emplear este dispositivo deberán planificarse para ser ejecutados en dicho procesador.
-
Un método para planificar las CPU en un sistema multiprocesador consiste en que todas las decisiones sobre la planificación el procesamiento de E/S y otras actividades del sistema sean gestionadas por un mismo procesador, el servidor maestro.Este multiprocesamiento asimétrico resulta simple por que solo hay un procesador que accede a las estructuras de datos de sistemas, reduciendo la necesidad de compartir datos.
-
La afinidad al procesador toma varias formas. Cuando un sistema operativo tiene la política de intentar mantener un proceso en ejecución en el mismo procesador, pero no está garantizado que lo haga,nos encontramos ante una situación conocida como en este caso es posible que un proceso migre entre procesadores.Algunos sistemas como Linux también proporcionan llamadas al sistema que soportan la afinidad dura, la cual permite a un proceso especificar que no debe migrar a otros procesadores.
-
El equilibrado de carga intenta distribuir equitativamente la carga de trabajo entre todos los procesadores del sistema SMP.
-
Los sistemas SMP permiten que varias hebras se ejecuten de forma concurrente, ya que proporcionan varios procesadores lógicos, en lugar de físicos .Esta estrategia se conoce con el nombre de mecanismo Multihebra simétrico (SMP symmetric multithreading) aunque también se denomina tecnología hiperhebra en los procesadores Intel.
-
Las hebras de nivel de usuario son gestionadas por una biblioteca de hebras, y el kernel no es consciente de ellas.para ejecutarse en una CPU, las hebras de usuario deben ser asignadas a una hebras de nivel de kernel asociada. Aunq esta asignación puede ser indirecta y puede emplear un proceso ligero(LWP).
-
Ámbito de contienda del proceso dado que la competición por la CPU tiene lugar entre hebras que pertenecen al mismo proceso.cuando decimos que la biblioteca de hebras planifica las hebras del usuario sobre los procesos ligeros disponibles no queremos desir que la hebras se ejecute realmente en una CPU física.
-
pthreads utiliza los siguientes valores para definir el ámbito de contienda:PTHREAD-SCOPE-PROCESS planifica las hebras usando la planificación PCS. PTHREAD-SCOPE-SYSTEM planifica las hebras usando la planificación SCS.
-
Linux no diferencia entre procesos y hebras por lo tanto utilizamos el término tarea al hablar de planificador de linux
-
Solaris usa una planificación de hebras basada en prioridades, definiendo cuatro clases para la planificación y son por orden de prioridad:1 tiempo real, 2 sistema, 3 tiempo compartido, 4 interactiva .
-
Windows XP gestiona la planificación se denomina despachador.Una hebra selecciona para ejecutarse por el despachador se ejecutará hasta que sea desalojada por una hebra de prioridad más alta hasta que termine , hasta que su cuanto tiempo concluya o hasta que invoque una llamada bloqueante al sistema.
-
Los problemas que tiene el planificador tradicional de unix es que por un lado no proporciona el adecuado soporte para sistemas SMP y por otro lado no puede escalarse bien al aumentar el número de tareas en el sistema. El planificador de Linux es un algoritmo basado en propiedades y apropiativo con dos rangos distintos de prioridade:un rango de tiempo real de 0 a 99 y un valor normal en el rango comprendido entre 100 y 140.
-
Existen muchos algoritmos de planificación distintos cada uno con sus propios parámetros, por tanto seleccionar un algoritmo puede resultar complicado
-
Modelado determinista este método toma una carga de trabajo predeterminada concreta y define el rendimiento de cada algoritmo para dicha carga de trabajo predeterminada concreta y define el rendimiento de cada algoritmo para dicha carga d trabajo.
-
Estas distribuciones pueden medirse y luego aproximarse o simplemente estimarse el resultado es una fórmula matemática que describe la probabilidad de aparición de una rafaga de CPU concreta.
-
Para obtener una evaluación más precisa de los algoritmos de planificación podemos usar simulaciones.ejecutar las simulaciones requiere programar un modelo del sistema informatico.
-
La principal dificultad de este método es su alto coste. Una desventaja de este método esque a menudo ajustar el rendimiento de un sistema o aplicación concretos no permite mejorar el rendimiento en otras sitaciones más generales.
-