<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://1984.lsi.us.es/wiki-ssoo/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Josmorgav1</id>
		<title>Wiki de Sistemas Operativos - Contribuciones del usuario [es]</title>
		<link rel="self" type="application/atom+xml" href="https://1984.lsi.us.es/wiki-ssoo/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Josmorgav1"/>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php/Especial:Contribuciones/Josmorgav1"/>
		<updated>2026-05-15T00:00:03Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.29.0</generator>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_ejercicio_5&amp;diff=798</id>
		<title>Solución ejercicio 5</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_ejercicio_5&amp;diff=798"/>
				<updated>2011-05-10T10:13:34Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: solución ejercicio 5&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[[Usuario:Josmorgav1|Josmorgav1]] 10:13 10 may 2011 (UTC) Posible solución al ejercicio 5&lt;br /&gt;
&lt;br /&gt;
     X = El proceso pasa a estado bloqueado.&lt;br /&gt;
     / = El proceso pasa a estado preparado.&lt;br /&gt;
     &amp;gt; = Fin de su ejecución&lt;br /&gt;
&lt;br /&gt;
     |   |   | #1| #2| #3| #4| #1| #2|   |   |   |   | #3| #4| #1|   |   |   |   |   |&lt;br /&gt;
   P1|   |   |---|---|---|---|---|---X   |   /   |   |---|---|---&amp;gt;FIN|   |   |   |   |&lt;br /&gt;
     |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
     | #1| #2|   |   |   |   |   |   | #3| #4| #1| #2|   |   |   | #3| #4| #1|   |   |&lt;br /&gt;
   P2|---|---X   |   |   |   /   |   |---|---|---|---X   |   /   |---|---|---&amp;gt;FIN|   |&lt;br /&gt;
     |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
     |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|&lt;br /&gt;
     0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_ejercicio_2&amp;diff=772</id>
		<title>Solución ejercicio 2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_ejercicio_2&amp;diff=772"/>
				<updated>2011-05-09T16:57:14Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: respuesta a la duda&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;      X = El proceso pasa a estado bloqueado.&lt;br /&gt;
      / = El proceso pasa a estado preparado.&lt;br /&gt;
      &amp;gt; = Fin de su ejecucion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      | #1| #2| #3|   |   | #4| #1| #2|   |   |   | #3| #4|   |   |   |   |   |   |   |&lt;br /&gt;
    p1|---|---|---|   |   |---|---|---X   |   /   |---|---&amp;gt;   |   |   |   |   |   |   |&lt;br /&gt;
      |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
      |   |   |   | #1| #2|   |   |   | #3| #4| #1|   |   | #2| #3| #4|   |   |   |   |&lt;br /&gt;
    p2|   |   |   |---|---X   /   |   |---|---|---|   |   |---|---|---&amp;gt;   |   |   |   |&lt;br /&gt;
      |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
      |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|&lt;br /&gt;
      0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
&lt;br /&gt;
El proceso P1 comienza su ejecucion hasta agotar su ventana de tiempo , luego el proceso P2 bloquea al hacer el down(s2) ya que el semaforo s2 tiene el valor 0 , y como sabemos de los semaforos el proceso se bloquea hasta que no se vuelva a hacer un up(s2). P1 comienza y al hacer un up(s2) pasa p2 a estado preparado , luego al final de la ventana bloquea al hacer down(s1) ya que el contador en ese momento vale 0. Comienza la ejecucion p2 que estaba en estado preparado en el instante T = 10 hace un up(s1) por lo tanto p1 pasa a esta preparado. P1 se ejecuta y finaliza su ejecucion , y luego P2 se ejecuta y finaliza su ejecucion.&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:DvS 013|DvS 013]] 15:30 9 may 2011 (UTC) : las ultimas instrucciones #1 de ambos programas deben ejecutarse para poder ver que i==2 y finalizar el bucle for, no?¿&lt;br /&gt;
&lt;br /&gt;
       / : bloqueado,  @: preparado, &amp;gt;: fin del programa, X : se ejecuta el planificador&lt;br /&gt;
 &lt;br /&gt;
        |i1=0       |i2=0   |    i1=1   |       i2=1|       i1=2|           i2=2|&lt;br /&gt;
        | #1| #2| #3|   |   | #4| #1| #2|   |   |   | #3| #4| #1|   |   |   |   |&lt;br /&gt;
 P1     |---|---|---|   |   |---|---|---/   |   @   |---|---|---&amp;gt;   |   |   |   |&lt;br /&gt;
 s1     | 1 | 0                             | 0                         | 1     |&lt;br /&gt;
        |   |   |   | #1| #2|   |   |   | #3| #4| #1|   |   |   | #2| #3| #4| #1|&lt;br /&gt;
 P2     |   |   |   |---|---/   @   |   |---|---|---|   |   |   |---|---|---|---&amp;gt;&lt;br /&gt;
 s2     | 0                 | 0                         | 1     | 0             |&lt;br /&gt;
 planif X   |   |   X   |   X   |   |   X   |   |   X   |   |   X   |   |   X   |&lt;br /&gt;
        |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|&lt;br /&gt;
        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Josmorgav1|Josmorgav1]] 15:38 9 may 2011 (UTC)&lt;br /&gt;
Es correcto, la instrucción #1 si no la ejecuta, no hace la comprobación para continuar o salir del bucle, yo también he hecho el ejercicio en papel, y me da la misma solución que a David Martin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Jorcalmar|Jorcalmar]] 16:33 9 may 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
Duda acerca de semáforos:&lt;br /&gt;
&lt;br /&gt;
La operación down(s) verifica si el  valor del semáforo es 0, si es así, añade el proceso a la lista de procesos bloqueados que tiene el semáforo y si no, contador--. Ahora bien:&lt;br /&gt;
&lt;br /&gt;
¿No sería necesario verificar esta condición por ejemplo en el instante 8? Para verificar si hemos hecho un up que nos permita volver a poner el proceso en preparado. Con verificar me refiero volver a realizar la llamada.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Josmorgav1|Josmorgav1]] 16:57 9 may 2011 (UTC)&lt;br /&gt;
No entiendo bien tu pregunta, pero como aclaración te digo, que respecto al down(s) es correcta la definición que has dado.&lt;br /&gt;
Para el caso del instante 8, realizas un up(s) que por definición, si no tiene procesos en la lista de semáforo, incrementa la variable (s++), en caso de tener algún proceso en esa lista, implica que estaría bloqueado, por lo cual, al hacer el up(s), se pone el proceso en modo preparado, y no se incrementa el contador, ya que al hacer up(s) permitimos que entre otro proceso en la sección crítica, pero a la vez, si está en la lista de  semáforo, ya estamos &amp;quot;preparando&amp;quot; el proceso que entrará en la sección crítica, por eso se mantiene el semáforo con el valor que tenía antes del up(s).&lt;br /&gt;
Espero que haya servido de aclaración, aunque el up(s) es un poco enredoso.&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_ejercicio_2&amp;diff=754</id>
		<title>Solución ejercicio 2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_ejercicio_2&amp;diff=754"/>
				<updated>2011-05-09T15:38:33Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: Aclaración compañeros&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;      X = El proceso pasa a estado bloqueado.&lt;br /&gt;
      / = El proceso pasa a estado preparado.&lt;br /&gt;
      &amp;gt; = Fin de su ejecucion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      | #1| #2| #3|   |   | #4| #1| #2|   |   |   | #3| #4|   |   |   |   |   |   |   |&lt;br /&gt;
    p1|---|---|---|   |   |---|---|---X   |   /   |---|---&amp;gt;   |   |   |   |   |   |   |&lt;br /&gt;
      |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
      |   |   |   | #1| #2|   |   |   | #3| #4| #1|   |   | #2| #3| #4|   |   |   |   |&lt;br /&gt;
    p2|   |   |   |---|---X   /   |   |---|---|---|   |   |---|---|---&amp;gt;   |   |   |   |&lt;br /&gt;
      |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
      |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|&lt;br /&gt;
      0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
&lt;br /&gt;
El proceso P1 comienza su ejecucion hasta agotar su ventana de tiempo , luego el proceso P2 bloquea al hacer el down(s2) ya que el semaforo s2 tiene el valor 0 , y como sabemos de los semaforos el proceso se bloquea hasta que no se vuelva a hacer un up(s2). P1 comienza y al hacer un up(s2) pasa p2 a estado preparado , luego al final de la ventana bloquea al hacer down(s1) ya que el contador en ese momento vale 0. Comienza la ejecucion p2 que estaba en estado preparado en el instante T = 10 hace un up(s1) por lo tanto p1 pasa a esta preparado. P1 se ejecuta y finaliza su ejecucion , y luego P2 se ejecuta y finaliza su ejecucion.&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:DvS 013|DvS 013]] 15:30 9 may 2011 (UTC) : las ultimas instrucciones #1 de ambos programas deben ejecutarse para poder ver que i==2 y finalizar el bucle for, no?¿&lt;br /&gt;
&lt;br /&gt;
       / : bloqueado,  @: preparado, &amp;gt;: fin del programa, X : se ejecuta el planificador&lt;br /&gt;
 &lt;br /&gt;
        |i1=0       |i2=0   |    i1=1   |       i2=1|       i1=2|           i2=2|&lt;br /&gt;
        | #1| #2| #3|   |   | #4| #1| #2|   |   |   | #3| #4| #1|   |   |   |   |&lt;br /&gt;
 P1     |---|---|---|   |   |---|---|---/   |   @   |---|---|---&amp;gt;   |   |   |   |&lt;br /&gt;
 s1     | 1 | 0                             | 0                         | 1     |&lt;br /&gt;
        |   |   |   | #1| #2|   |   |   | #3| #4| #1|   |   |   | #2| #3| #4| #1|&lt;br /&gt;
 P2     |   |   |   |---|---/   @   |   |---|---|---|   |   |   |---|---|---|---&amp;gt;&lt;br /&gt;
 s2     | 0                 | 0                         | 1     | 0             |&lt;br /&gt;
 planif X   |   |   X   |   X   |   |   X   |   |   X   |   |   X   |   |   X   |&lt;br /&gt;
        |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|&lt;br /&gt;
        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Josmorgav1|Josmorgav1]] 15:38 9 may 2011 (UTC)&lt;br /&gt;
Es correcto, la instrucción #1 si no la ejecuta, no hace la comprobación para continuar o salir del bucle, yo también he hecho el ejercicio en papel, y me da la misma solución que a David Martin.&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_ejercicio_1&amp;diff=751</id>
		<title>Solución ejercicio 1</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_ejercicio_1&amp;diff=751"/>
				<updated>2011-05-09T15:32:30Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: Aclaración compañeros&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; &lt;br /&gt;
      X = El proceso pasa a estado bloqueado.&lt;br /&gt;
      / = El proceso pasa a estado preparado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      |   |   | #1| #2| #3| #4| #5| #1|   |   |   | #2| #3| #4|   |   |   | #5| fin de ejecucion&lt;br /&gt;
    p1|   |   |---|---|---|---|---|---|   |   |   |---|---|---|   |   |   |---|   |   |&lt;br /&gt;
      |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
      | #1| #2|   |   |   |   |   |   | #3| #4| #1|   |   |   | #2| #3| #4| fin de ejecucion&lt;br /&gt;
    p2|---|---X   |   |   |   |   /   |---|---|---|   |   |   |---|---|---|   |   |   |&lt;br /&gt;
      |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
      |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|&lt;br /&gt;
      0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
&lt;br /&gt;
El proceso P2 comienza su ejecucion y al hacer el down al semaforo s2 que vale 0 bloquea , ya que los semaforo es un sincronizacion bloqueante, p1 comienza su ejecucion hasta que se hace up(s2) y agota su ventana de tiempo y p2 puede comenzar su ejecucion.&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:DvS 013|DvS 013]] 15:09 9 may 2011 (UTC) : había conflicto cuando le he dado a subir así que pongo debajo lo que yo estaba editando antes de que se subiera nada&lt;br /&gt;
 p1: &amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 for (int i=0; i&amp;lt;2; i++) {  #1&lt;br /&gt;
    down(s1);               #2&lt;br /&gt;
    f1();                   #3&lt;br /&gt;
    if (get(s1) == 0)       #4&lt;br /&gt;
        up(s2);             #5&lt;br /&gt;
 } &amp;lt;/source&amp;gt; &lt;br /&gt;
 P2: &amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 for (int i=0; i&amp;lt;2; i++) {   #1&lt;br /&gt;
    down(s2);               #2&lt;br /&gt;
    f2();                   #3&lt;br /&gt;
    up(s1);                 #4&lt;br /&gt;
 } &amp;lt;/source&amp;gt; &lt;br /&gt;
 &lt;br /&gt;
              X : se ejecuta el planificador&lt;br /&gt;
              &amp;gt; : fin del proceso&lt;br /&gt;
             #nº : número de insturcción&lt;br /&gt;
 &lt;br /&gt;
        |i2=0       |i1=0       |    i2=1   |    i1=1   |           |       i2=2|i1=2   |&lt;br /&gt;
        |   |   |   | #1| #2| #3|   |   |   | #4| #1| #2| #3| #4| #5|   |   |   | #1|   |&lt;br /&gt;
 P1     |   |   |   |---|---|---|   |   |   |---|---|---|---|---|---|   |   |   |---&amp;gt;   |&lt;br /&gt;
 s1     | 1             | 0     | 1                 | 0                 | 1         |   |&lt;br /&gt;
        | #1| #2| #3|   |   |   | #4| #1| #2|   |   |   |   |   |   | #3| #4| #1|   |   |&lt;br /&gt;
 P2     |---|---|---|   |   |   |---|---|---|   |   |   |   |   |   |---|---|---&amp;gt;   |   |&lt;br /&gt;
 s2     | 1 | 0                                                 | 0 |   |   |   |   |   |&lt;br /&gt;
 planif X   |   |   X   |   |   X   |   |   X   |   |   X   |   |   X   |   |   X   X   |&lt;br /&gt;
        |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|&lt;br /&gt;
        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nueva solución:&lt;br /&gt;
Con respecto a la primera, una simple aclaración --[[Usuario:David|David]] 15:26 9 may 2011 (UTC)&lt;br /&gt;
      X = El proceso pasa a estado bloqueado.&lt;br /&gt;
      / = El proceso pasa a estado preparado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      |   |   | #1| #2| #3| #4| #5| #1|   |   |   | #2| #3| #4|   | #5| #1|   | &lt;br /&gt;
    p1|   |   |---|---|---|---|---|---|   |   |   |---|---|---|   |---|---|   |   |   |&lt;br /&gt;
      |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
      | #1| #2|   |   |   |   |   |   | #3| #4| #1|   |   |   | #2|   |   | #3| #4| #1|&lt;br /&gt;
    p2|---|---X   |   |   |   |   /   |---|---|---|   |   |   |---X   /   |---|---|---|&lt;br /&gt;
      |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
      |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|&lt;br /&gt;
      0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
&lt;br /&gt;
Como aclaración: cuando se realiza el up de un semáforo que vale 0, si hay procesos en su lista de semáforos, se coge el primero y se pasa a estado preparado, valiendo el contador del semáforo 0, por eso en el instante 15 al hacer el down de s2 vuelve a bloquear.&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Josmorgav1|Josmorgav1]] 15:32 9 may 2011 (UTC)&lt;br /&gt;
Una aclaración al compañero David Martin, el contador de semáforo s2, en un principio vale 0, y como el primer proceso en ejecutar es P2, al hacer el down(s2); bloquea, creo que en tu solución consideras que s2 vale 1.&lt;br /&gt;
Desde mi punto de vista, la solución por ahora más correcta, es la del compañero David Suárez.&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol-ejer3-planif-procesos&amp;diff=488</id>
		<title>Sol-ejer3-planif-procesos</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol-ejer3-planif-procesos&amp;diff=488"/>
				<updated>2011-03-22T21:42:21Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: Aclaración de enunciado&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Ejercicio 3 =&lt;br /&gt;
&lt;br /&gt;
 Datos del problema:&lt;br /&gt;
                         | Pa | Pb | Pc  | Pd |&lt;br /&gt;
                     --------------------------&lt;br /&gt;
                      H0 | 0  | 1  |  2  | 3  |&lt;br /&gt;
                     --------------------------&lt;br /&gt;
                      t  | 4  | 4  |  12 | 12 |&lt;br /&gt;
                     --------------------------&lt;br /&gt;
 &lt;br /&gt;
                  Pa y Pb bloquean por operación de E/S tras 1 unidad de ejecución&lt;br /&gt;
 &lt;br /&gt;
                       &amp;lt; = indica el instante de lanzamiento del proceso&lt;br /&gt;
                       &amp;gt; = indica el instante de finalización del proceso&lt;br /&gt;
                       X = se ejecuta el código del planificador&lt;br /&gt;
 &lt;br /&gt;
       |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
 Pa    &amp;lt;---|   |   |   |   |   |---|   |   |   |   |   |   |   |   |   |---|   |---|   |&lt;br /&gt;
 Pb    |   &amp;lt;---|   |   |   |   |   |---|   |   |   |   |   |   |   |   |   |---|   |---|&lt;br /&gt;
 Pc    |   |   &amp;lt;---|---|   |   |   |   |---|---|---|---|   |   |   |   |   |   |   |   |&lt;br /&gt;
 Pd    |   |   |   &amp;lt;   |---|---|   |   |   |   |   |   |---|---|---|---|   |   |   |   |&lt;br /&gt;
 Plnf  X   X   X   |   X   |   X   X   X   |   |   |   X   |   |   |   X   |   |   |   X&lt;br /&gt;
       |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|&lt;br /&gt;
       0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
 ... continuación ...&lt;br /&gt;
 &lt;br /&gt;
       |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
 Pa    |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
 Pb    |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
 Pc    |---|---|---|---|   |   |   |   |---|---|   |   |&lt;br /&gt;
 Pd    |   |   |   |   |---|---|---|---|   |   |---|---|&lt;br /&gt;
 Plnf  |   |   |   |   X   |   |   |   X   |   X   |   | &lt;br /&gt;
       |___|___|___|___|___|___|___|___|___|___|___|___|&lt;br /&gt;
       20  21  22  23  24  25  26  27  28  29  30  31  32&lt;br /&gt;
 &lt;br /&gt;
 Cálculo de índices:&lt;br /&gt;
 &lt;br /&gt;
                         | Pa | Pb |  Pc | Pd |&lt;br /&gt;
                     --------------------------&lt;br /&gt;
                      t  | 4  | 4  |  12 | 12 |&lt;br /&gt;
                     --------------------------&lt;br /&gt;
                      T  | 19 | 20 |  30 | 32 |&lt;br /&gt;
                     --------------------------&lt;br /&gt;
                    T/t  |4.75| 5  | 2.5 |2.66|&lt;br /&gt;
                     --------------------------&lt;br /&gt;
&lt;br /&gt;
Explicación:&lt;br /&gt;
&lt;br /&gt;
Todos los procesos empiezan inicialmente en la segunda cola. Pa y Pb reciben una oportunidad de ejecución sin consumir su quantum debido a bloqueo, por tanto, permanecen en la segunda cola. Pc y Pd consumen todo su quantum, por tanto, promocionan a la primera cola. Los procesos Pa y Pb se ejecutan otra vez, pues los procesos que se encuentran en la segunda cola reciben dos oportunidades de ejecución. Tras esto, los procesos recién ascendidos a la primera cola, que son Pc y Pd, reciben su oportunidad de ejecución, en este caso con quantum de 4 unidades. De nuevo, se le da oportunidad de ejecución a los procesos de la segunda cola, que terminan su ejecución. Como no hay más procesos en la segunda cola, se le da una oportunidad de ejecución a los de la primera. --[[Usuario:Pneira|Pneira]] 18:36 22 mar 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
= Dudas =&lt;br /&gt;
&lt;br /&gt;
No entiendo por qué en la unidad de tiempo 18 no aparece el proceso c y d y posteriormente a b c y d.Esto es a lo que me refiero --[[Usuario:Jherrera|Jherrera]]:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
       |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
 Pa    |   |   |   |   |   |   |   |   |---&amp;gt;   |   |   |&lt;br /&gt;
 Pb    |   |   |   |   |   |   |   |   |   |---&amp;gt;   |   |&lt;br /&gt;
 Pc    |---|---|---|---|   |   |   |   |   |   |-------&amp;gt;&lt;br /&gt;
 Pd    |   |   |   |   |---|---|---|---|   |   |   |   |------&amp;gt;&lt;br /&gt;
 Plnf  |   |   |   |   X   |   |   |   X   |   X   |   X &lt;br /&gt;
       |___|___|___|___|___|___|___|___|___|___|___|___|&lt;br /&gt;
       18  19  20  21  22  23  24  25  26  27  28  29  30&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Solucion: Por que en la 2ª cola estan los procesos A y B, por que nunca consumen los quantums, y la 2ª cola siempre se itera 2 veces.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
¿No se supone que la cola 1 posee mayor prioridad que la 2? siendo asi, mientras C y D esten en la 1ª cola no se le debería volver a dar oportunidad a la cola 2 no?¿--[[Usuario:DvS 013|DvS 013]]&lt;br /&gt;
&lt;br /&gt;
Creo que se lo que dices. Aunque C y D esten en la primera cola, se pasa a la segunda. Esto es porque la primera cola no tiene mas prioridad, sino solo un quantum más ancho. Entonces se mira la primera cola, luego 2 veces la segunda, y vuelta a empezar --[[Usuario:PCamino|PCamino]]&lt;br /&gt;
&lt;br /&gt;
El problema creo yo es que el enunciado ha sido modificado de esta mañana para acá, porque yo también hice el ejercicio para subirlo a la wiki, pero se me adelantaron, y esta mañana en el enunciado ponia que la cola 1 tenia más prioridad que la 2, y ademas no ponia el tiempo que estaban en estado bloqueado los procesos, ahora si lo pone, y no pone lo de la prioridad. Yo estoy de acuerdo con la solucion propuesta arriba. --[[Usuario:Josmorgav1|Josmorgav1]] 21:42 22 mar 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol-ejer3-planif-procesos&amp;diff=428</id>
		<title>Sol-ejer3-planif-procesos</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol-ejer3-planif-procesos&amp;diff=428"/>
				<updated>2011-03-22T12:45:29Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: Aclaración/explicación de la discusión&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Ejercicio 3 =&lt;br /&gt;
&lt;br /&gt;
                     ____|_P&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;_|_P&amp;lt;sub&amp;gt;B&amp;lt;/sub&amp;gt;_|_P&amp;lt;sub&amp;gt;C&amp;lt;/sub&amp;gt;_|_P&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt;_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|_3__|&lt;br /&gt;
           problema  _t__|_4__|_4__|_12_|_12_|&lt;br /&gt;
 &lt;br /&gt;
                  P&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; y P&amp;lt;sub&amp;gt;B&amp;lt;/sub&amp;gt; bloquean por operación de E/S tras 1 unidad de ejecución&lt;br /&gt;
                       &amp;lt; = indica el instante de lanzamiento del proceso&lt;br /&gt;
                       &amp;gt; = indica el instante de finalización del proceso&lt;br /&gt;
                       X = se ejecuta el código del planificador&lt;br /&gt;
                                                                 &lt;br /&gt;
  &amp;lt;sub&amp;gt; &amp;lt;/sub&amp;gt;  |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
 P&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;  &amp;lt;---|   |   |   |   |   |---|   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |---|   |---&amp;gt;   |&lt;br /&gt;
 P&amp;lt;sub&amp;gt;B&amp;lt;/sub&amp;gt;  |   &amp;lt;---|   |   |   |   |   |---|   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |---|   |---&amp;gt;&lt;br /&gt;
 P&amp;lt;sub&amp;gt;C&amp;lt;/sub&amp;gt;  |   |   &amp;lt;---|---|   |   |   |   |---|---|---|---|   |   |   |   |---|---|---|---|   |   |   |   |---|---&amp;gt;   |   |   |   |   |   |&lt;br /&gt;
 P&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt;  |   |   |   &amp;lt;   |---|---|   |   |   |   |   |   |---|---|---|---|   |   |   |   |---|---|---|---|   |   |---|---&amp;gt;   |   |   |   |&lt;br /&gt;
 PlnfX   X   X   |   X   |   X   X   X   |   |   |   X   |   |   |   X   |   |   |   X   |   |   |   X   |   X   |   X   X   X   X   X  &lt;br /&gt;
  ___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|_&amp;gt; t&lt;br /&gt;
     0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32&lt;br /&gt;
 &lt;br /&gt;
                   _____|_P&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;_|_P&amp;lt;sub&amp;gt;B&amp;lt;/sub&amp;gt;_|_P&amp;lt;sub&amp;gt;C&amp;lt;/sub&amp;gt;_|_P&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt;_|&lt;br /&gt;
        Cálculos   __t__|_4__|_4__|_12_|_12_|&lt;br /&gt;
       de tiempos  __T__|_31_|_31_|_24_|_25_|&lt;br /&gt;
                   _T/t_|7.75|7.75|_2__|2.08|&lt;br /&gt;
&lt;br /&gt;
-Observaciones&lt;br /&gt;
&lt;br /&gt;
Por que ejecutas seguidamente los procesos C y D seguidamente, ¿la cola 1 solo se ejecuta 1 vez y pasa a la 2ª o varias veces hasta que se agotan los procesos? ¿qué opináis? &lt;br /&gt;
&lt;br /&gt;
Yo creo que la cola 1 tiene mas prioridad que la cola 2 y por eso se ejecutan los procesos de la cola 1 hasta que no queden más pero no estoy totalmente seguro de que sea así. No se si cuando se ejecutan los procesos de la cola 1 al pasar a preparados otra vez entran en la 2 o se quedan en la 1 yo supongo lo segundo&lt;br /&gt;
&lt;br /&gt;
Yo también estoy de acuerdo con la repetitividad de C y D debido a la prioridad superior de la cola 1.&lt;br /&gt;
En respuesta a ¿dónde se quedan los procesos de la cola 1?, en el enunciado te comentan:&lt;br /&gt;
-Si el proceso está en la cola 2 y agota el quantum, pasa a la cola 1, en caso contrario, sigue en la cola 2.&lt;br /&gt;
-Si el proceso está en la cola 1 y agota el quantum, se mantiene en ella, pero si no lo agota completamente vuelve a la cola 2.&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=243</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=243"/>
				<updated>2011-03-16T12:25:05Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: aclaración de lanzamiento de proceso + centrado de grafica&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente el proceso a ser asignado al procesador. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Es un criterio de planificación teórico que sirve de referencia, si se emplea un criterio de planificación que ofrece resultados peores que la planificación de procesos estocástica, entonces es que no se trata de un buen criterio de planificación.&lt;br /&gt;
&lt;br /&gt;
No se ofrece un ejemplo, puesto que para un conjunto de procesos existen tantas trazas de ejecución como posible combinaciones aleatorias.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Se trata también de un criterio de planificación teórico. Si un criterio de planificación se acerca al criterio de planificación con conocimiento de futuro, entonces es que se trata de un buen planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_6__|_7__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso                                                                       &lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
         |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pd  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|&lt;br /&gt;
     Pe  |---|---|---|---|---|---|---&amp;lt;---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
         0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_8__|_4__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_8/3|_4/1|&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, al conocer los tiempos en los que llegará cada proceso, y el tiempo de proceso, podemos buscar la forma de asignarlos de forma que, por ejemplo, consigamos la mínima penalización.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
        |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
    Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
   -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_7__|_6__|_8__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_7/5|_7/2|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
           problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                       &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                       &amp;gt; = finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
         |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
     Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
    -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
         0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_6__|_8__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo en estado preparado, sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_7__|_6__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
        |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pd  |---|---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
    Pe  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|&lt;br /&gt;
   -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_9__|_13_|_11_|&lt;br /&gt;
                    z(3)|_1__|_'''2/5'''|_0/4|____|____|&lt;br /&gt;
                    z(8)|_1__|_7/5|_'''5/4'''|_1/3|_2/5|&lt;br /&gt;
                   z(12)|_1__|_7/5|_9/4|_5/3|_'''6/5'''|      z = índice de penalización&lt;br /&gt;
                   z(17)|_1__|_7/5|_9/4|'''10/3'''|11/5|&lt;br /&gt;
                   z(20)|_1__|_7/5|_9/4|13/3|11/5|&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador. Su orden de complejidad es O(n), pero, a diferencia del no apropiativo, cuando entra un proceso en la lista de procesos, se ejecuta código de planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_4__|_6__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                        $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                            proceso y establecer otro según el criterio&lt;br /&gt;
                        &amp;amp; = se ejecuta el código del planificador&lt;br /&gt;
        |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pb  |---&amp;lt;---|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pc  |---|---|---|---&amp;lt;xxx&amp;gt;---|---|---|---|---|---|---$---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pd  |---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
    Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
 Planif.|---&amp;amp;---|---&amp;amp;---&amp;amp;---&amp;amp;---&amp;amp;---|---|---&amp;amp;---|---|---&amp;amp;---|---|---&amp;amp;---|---|---|---|---|&lt;br /&gt;
     ---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
       de tiempos   _T__|_3__|_8__|_1__|_14_|_3__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_8/5|_1__|14/8|_1__|&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario. En el caso de sistemas operativos tipo Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático, después se va recalculando en base a las observaciones que realiza el planificador sobre el comportamiento de los procesos.&lt;br /&gt;
&lt;br /&gt;
El orden es siempre O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                                                                                         &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|_3__|&lt;br /&gt;
           problema  _t__|_2__|_4__|_2__|_7__|    p = prioridad estática&lt;br /&gt;
                     _p__|_0__|-20_|_4__|_10_|&lt;br /&gt;
                                                       &lt;br /&gt;
                       &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                       &amp;gt; = finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                       $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                           proceso y establecer otro según el criterio&lt;br /&gt;
                       &amp;amp; = se ejecuta el código del planificador&lt;br /&gt;
         |---$---|---|---|---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pa  &amp;lt;xxx|---|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pb  |---&amp;lt;xxx|xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pc  |---|---&amp;lt;---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pd  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|&lt;br /&gt;
 Planif. |---&amp;amp;---&amp;amp;---&amp;amp;---|---&amp;amp;---&amp;amp;---|---&amp;amp;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
  -------|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
         0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
                                                                                                   &lt;br /&gt;
                   ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
       Cálculos    _t__|_2__|_4__|_2__|_7__|&lt;br /&gt;
      de tiempos   _T__|_6__|_4__|_6__|_12_|        z = índice de penalización&lt;br /&gt;
                   _z__|_3__|_1__|_3__|12/7|&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio estricto (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
En este criterio, todo proceso es asignado al procesador durante un tiempo establecido denominado '''quantum''', tras el cual se le retira y se asigna a otro proceso rotatoriamente. De esta manera, los procesos acceden al procesador por turnos.&lt;br /&gt;
&lt;br /&gt;
El tamaño del '''quantum''' es fundamental para determinar el comportamiento de este criterio de planificación. &lt;br /&gt;
Si el '''quantum''' empleado es pequeño, por ejemplo de 10 ms, suponiendo que la conmutación de procesos requiere 10ms, el 50% del tiempo se empleará el procesador para ejecutar el código que permite conmutar entre procesos. Sin embargo, Si el '''quantuam''' empleado es grande, por ejemplo de 5 s, la latencia será mayor, degradando la experiencia del usuario que notará como sus procesos progresan ''a saltos'', puesto que, en el peor de los casos, hasta pasados 5 s no se le asignará el procesador a otro proceso .&lt;br /&gt;
&lt;br /&gt;
Si un proceso bloquea antes de consumir su '''quantum''', como sucede con proceso cuyo comportamiento está limitado por operaciones de entrada/salida, se añade al final de la cola. Esto beneficia a los procesos cuyo comportamiento está limitado por el procesador.&lt;br /&gt;
&lt;br /&gt;
Este criterio se puede implementar con una cola, de manera que la complejidad de la selección de un proceso es O(1). Nótese que a mayor número de procesos preparados, mayor tiempo tardará un proceso en volver a pasar a estado activo.&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                                                                                         &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|_3__|&lt;br /&gt;
           problema  _t__|_2__|_4__|_2__|_7__|    quantum = 1 unidad de tiempo&lt;br /&gt;
                                                       &lt;br /&gt;
                       &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                       &amp;gt; = finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                       $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                           proceso y establecer otro según el criterio&lt;br /&gt;
        |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pa  &amp;lt;xxx|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pb  |---&amp;lt;xxx|---|---|---|xxx|---|---|xxx|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pc  |---|---&amp;lt;xxx|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pd  |---|---|---&amp;lt;xxx|---|---|---|xxx|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
     $  $---$---$---$---$---$---$---$---$---$---$---$---|---|---|---|---|---|---|---|---|&lt;br /&gt;
   -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
                                                                                                   &lt;br /&gt;
                   ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
       Cálculos    _t__|_2__|_4__|_2__|_7__|&lt;br /&gt;
      de tiempos   _T__|_5__|_10_|_5__|_12_|        z = índice de penalización&lt;br /&gt;
                   _z__|_5/2|10/4|_5/2|12/7|&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con compensación ==&lt;br /&gt;
&lt;br /&gt;
Es una variante del anterior. Para no perjudicar a los procesos cuyo comportamiento está limitado por operaciones de entrada/salida, se reinsertan en la cola en proporción al tiempo consumido. Es decir, que si un cierto proceso ha consumido el 25% de su '''quantum''', se reinserta en el 25% de la cola, contando desde el principio.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con quantum dependiente del número de procesos ==&lt;br /&gt;
&lt;br /&gt;
Otra variante se trata de emplear un '''quantum''' proporcional al número de procesos que haya en estado preparado. De esta forma se obtiene una progresión más uniforme, y por tanto una mejor experiencia para el usuario. Sin embargo, esto aumenta el número de conmutaciones entre procesos. Para evitar la degradación del rendimiento por un exceso de conmutaciones, se establece un mínimo de manera que el quantum no puede ser menor a éste.&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=242</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=242"/>
				<updated>2011-03-16T12:23:24Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: aclaración de lanzamiento de proceso + centrado de grafica&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente el proceso a ser asignado al procesador. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Es un criterio de planificación teórico que sirve de referencia, si se emplea un criterio de planificación que ofrece resultados peores que la planificación de procesos estocástica, entonces es que no se trata de un buen criterio de planificación.&lt;br /&gt;
&lt;br /&gt;
No se ofrece un ejemplo, puesto que para un conjunto de procesos existen tantas trazas de ejecución como posible combinaciones aleatorias.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Se trata también de un criterio de planificación teórico. Si un criterio de planificación se acerca al criterio de planificación con conocimiento de futuro, entonces es que se trata de un buen planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_6__|_7__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso                                                                       &lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
         |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pd  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|&lt;br /&gt;
     Pe  |---|---|---|---|---|---|---&amp;lt;---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
         0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_8__|_4__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_8/3|_4/1|&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, al conocer los tiempos en los que llegará cada proceso, y el tiempo de proceso, podemos buscar la forma de asignarlos de forma que, por ejemplo, consigamos la mínima penalización.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
        |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
    Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
   -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_7__|_6__|_8__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_7/5|_7/2|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
           problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                       &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                       &amp;gt; = finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
         |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
     Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
    -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
         0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_6__|_8__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo en estado preparado, sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_7__|_6__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
        |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pd  |---|---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
    Pe  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|&lt;br /&gt;
   -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_9__|_13_|_11_|&lt;br /&gt;
                    z(3)|_1__|_'''2/5'''|_0/4|____|____|&lt;br /&gt;
                    z(8)|_1__|_7/5|_'''5/4'''|_1/3|_2/5|&lt;br /&gt;
                   z(12)|_1__|_7/5|_9/4|_5/3|_'''6/5'''|      z = índice de penalización&lt;br /&gt;
                   z(17)|_1__|_7/5|_9/4|'''10/3'''|11/5|&lt;br /&gt;
                   z(20)|_1__|_7/5|_9/4|13/3|11/5|&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador. Su orden de complejidad es O(n), pero, a diferencia del no apropiativo, cuando entra un proceso en la lista de procesos, se ejecuta código de planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_4__|_6__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                        $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                            proceso y establecer otro según el criterio&lt;br /&gt;
                        &amp;amp; = se ejecuta el código del planificador&lt;br /&gt;
        |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pb  |---&amp;lt;---|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pc  |---|---|---|---&amp;lt;xxx&amp;gt;---|---|---|---|---|---|---$---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pd  |---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
    Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
 Planif.|---&amp;amp;---|---&amp;amp;---&amp;amp;---&amp;amp;---&amp;amp;---|---|---&amp;amp;---|---|---&amp;amp;---|---|---&amp;amp;---|---|---|---|---|&lt;br /&gt;
     ---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
       de tiempos   _T__|_3__|_8__|_1__|_14_|_3__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_8/5|_1__|14/8|_1__|&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario. En el caso de sistemas operativos tipo Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático, después se va recalculando en base a las observaciones que realiza el planificador sobre el comportamiento de los procesos.&lt;br /&gt;
&lt;br /&gt;
El orden es siempre O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                                                                                         &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|_3__|&lt;br /&gt;
           problema  _t__|_2__|_4__|_2__|_7__|    p = prioridad estática&lt;br /&gt;
                     _p__|_0__|-20_|_4__|_10_|&lt;br /&gt;
                                                       &lt;br /&gt;
                       &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                       &amp;gt; = finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                       $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                           proceso y establecer otro según el criterio&lt;br /&gt;
                       &amp;amp; = se ejecuta el código del planificador&lt;br /&gt;
         |---$---|---|---|---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pa  &amp;lt;xxx|---|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pb  |---&amp;lt;xxx|xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pc  |---|---&amp;lt;---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pd  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|&lt;br /&gt;
 Planif. |---&amp;amp;---&amp;amp;---&amp;amp;---|---&amp;amp;---&amp;amp;---|---&amp;amp;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
  -------|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
         0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
                                                                                                   &lt;br /&gt;
                   ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
       Cálculos    _t__|_2__|_4__|_2__|_7__|&lt;br /&gt;
      de tiempos   _T__|_6__|_4__|_6__|_12_|        z = índice de penalización&lt;br /&gt;
                   _z__|_3__|_1__|_3__|12/7|&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio estricto (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
En este criterio, todo proceso es asignado al procesador durante un tiempo establecido denominado '''quantum''', tras el cual se le retira y se asigna a otro proceso rotatoriamente. De esta manera, los procesos acceden al procesador por turnos.&lt;br /&gt;
&lt;br /&gt;
El tamaño del '''quantum''' es fundamental para determinar el comportamiento de este criterio de planificación. &lt;br /&gt;
Si el '''quantum''' empleado es pequeño, por ejemplo de 10 ms, suponiendo que la conmutación de procesos requiere 10ms, el 50% del tiempo se empleará el procesador para ejecutar el código que permite conmutar entre procesos. Sin embargo, Si el '''quantuam''' empleado es grande, por ejemplo de 5 s, la latencia será mayor, degradando la experiencia del usuario que notará como sus procesos progresan ''a saltos'', puesto que, en el peor de los casos, hasta pasados 5 s no se le asignará el procesador a otro proceso .&lt;br /&gt;
&lt;br /&gt;
Si un proceso bloquea antes de consumir su '''quantum''', como sucede con proceso cuyo comportamiento está limitado por operaciones de entrada/salida, se añade al final de la cola. Esto beneficia a los procesos cuyo comportamiento está limitado por el procesador.&lt;br /&gt;
&lt;br /&gt;
Este criterio se puede implementar con una cola, de manera que la complejidad de la selección de un proceso es O(1). Nótese que a mayor número de procesos preparados, mayor tiempo tardará un proceso en volver a pasar a estado activo.&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                                                                                         &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|_3__|&lt;br /&gt;
           problema  _t__|_2__|_4__|_2__|_7__|    quantum = 1 unidad de tiempo&lt;br /&gt;
                                                       &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                       $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                           proceso y establecer otro según el criterio&lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;xxx|---|---|---|xxx|---|---|xxx|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---&amp;lt;xxx|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---&amp;lt;xxx|---|---|---|xxx|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                $  $---$---$---$---$---$---$---$---$---$---$---$---|---|---|---|---|---|---|---|---|&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
                                                                                                   &lt;br /&gt;
                   ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
       Cálculos    _t__|_2__|_4__|_2__|_7__|&lt;br /&gt;
      de tiempos   _T__|_5__|_10_|_5__|_12_|        z = índice de penalización&lt;br /&gt;
                   _z__|_5/2|10/4|_5/2|12/7|&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con compensación ==&lt;br /&gt;
&lt;br /&gt;
Es una variante del anterior. Para no perjudicar a los procesos cuyo comportamiento está limitado por operaciones de entrada/salida, se reinsertan en la cola en proporción al tiempo consumido. Es decir, que si un cierto proceso ha consumido el 25% de su '''quantum''', se reinserta en el 25% de la cola, contando desde el principio.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con quantum dependiente del número de procesos ==&lt;br /&gt;
&lt;br /&gt;
Otra variante se trata de emplear un '''quantum''' proporcional al número de procesos que haya en estado preparado. De esta forma se obtiene una progresión más uniforme, y por tanto una mejor experiencia para el usuario. Sin embargo, esto aumenta el número de conmutaciones entre procesos. Para evitar la degradación del rendimiento por un exceso de conmutaciones, se establece un mínimo de manera que el quantum no puede ser menor a éste.&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=241</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=241"/>
				<updated>2011-03-16T12:20:43Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: aclaración de lanzamiento de proceso + centrado de grafica&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente el proceso a ser asignado al procesador. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Es un criterio de planificación teórico que sirve de referencia, si se emplea un criterio de planificación que ofrece resultados peores que la planificación de procesos estocástica, entonces es que no se trata de un buen criterio de planificación.&lt;br /&gt;
&lt;br /&gt;
No se ofrece un ejemplo, puesto que para un conjunto de procesos existen tantas trazas de ejecución como posible combinaciones aleatorias.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Se trata también de un criterio de planificación teórico. Si un criterio de planificación se acerca al criterio de planificación con conocimiento de futuro, entonces es que se trata de un buen planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_6__|_7__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso                                                                       &lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
         |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pd  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|&lt;br /&gt;
     Pe  |---|---|---|---|---|---|---&amp;lt;---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
         0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_8__|_4__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_8/3|_4/1|&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, al conocer los tiempos en los que llegará cada proceso, y el tiempo de proceso, podemos buscar la forma de asignarlos de forma que, por ejemplo, consigamos la mínima penalización.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
        |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
    Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
   -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_7__|_6__|_8__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_7/5|_7/2|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
           problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                       &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                       &amp;gt; = finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
         |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
     Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
    -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
         0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_6__|_8__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo en estado preparado, sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_7__|_6__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
        |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pd  |---|---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
    Pe  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|&lt;br /&gt;
   -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_9__|_13_|_11_|&lt;br /&gt;
                    z(3)|_1__|_'''2/5'''|_0/4|____|____|&lt;br /&gt;
                    z(8)|_1__|_7/5|_'''5/4'''|_1/3|_2/5|&lt;br /&gt;
                   z(12)|_1__|_7/5|_9/4|_5/3|_'''6/5'''|      z = índice de penalización&lt;br /&gt;
                   z(17)|_1__|_7/5|_9/4|'''10/3'''|11/5|&lt;br /&gt;
                   z(20)|_1__|_7/5|_9/4|13/3|11/5|&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador. Su orden de complejidad es O(n), pero, a diferencia del no apropiativo, cuando entra un proceso en la lista de procesos, se ejecuta código de planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_4__|_6__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                        $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                            proceso y establecer otro según el criterio&lt;br /&gt;
                        &amp;amp; = se ejecuta el código del planificador&lt;br /&gt;
        |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pb  |---&amp;lt;---|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pc  |---|---|---|---&amp;lt;xxx&amp;gt;---|---|---|---|---|---|---$---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pd  |---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
    Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
 Planif.|---&amp;amp;---|---&amp;amp;---&amp;amp;---&amp;amp;---&amp;amp;---|---|---&amp;amp;---|---|---&amp;amp;---|---|---&amp;amp;---|---|---|---|---|&lt;br /&gt;
     ---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
       de tiempos   _T__|_3__|_8__|_1__|_14_|_3__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_8/5|_1__|14/8|_1__|&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario. En el caso de sistemas operativos tipo Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático, después se va recalculando en base a las observaciones que realiza el planificador sobre el comportamiento de los procesos.&lt;br /&gt;
&lt;br /&gt;
El orden es siempre O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                                                                                         &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|_3__|&lt;br /&gt;
           problema  _t__|_2__|_4__|_2__|_7__|    p = prioridad estática&lt;br /&gt;
                     _p__|_0__|-20_|_4__|_10_|&lt;br /&gt;
                                                       &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                       $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                           proceso y establecer otro según el criterio&lt;br /&gt;
                       &amp;amp; = se ejecuta el código del planificador&lt;br /&gt;
  &lt;br /&gt;
                   |---$---|---|---|---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|---|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;xxx|xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---&amp;lt;---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|&lt;br /&gt;
      Planificador |---&amp;amp;---&amp;amp;---&amp;amp;---|---&amp;amp;---&amp;amp;---|---&amp;amp;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
                                                                                                   &lt;br /&gt;
                   ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
       Cálculos    _t__|_2__|_4__|_2__|_7__|&lt;br /&gt;
      de tiempos   _T__|_6__|_4__|_6__|_12_|        z = índice de penalización&lt;br /&gt;
                   _z__|_3__|_1__|_3__|12/7|&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio estricto (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
En este criterio, todo proceso es asignado al procesador durante un tiempo establecido denominado '''quantum''', tras el cual se le retira y se asigna a otro proceso rotatoriamente. De esta manera, los procesos acceden al procesador por turnos.&lt;br /&gt;
&lt;br /&gt;
El tamaño del '''quantum''' es fundamental para determinar el comportamiento de este criterio de planificación. &lt;br /&gt;
Si el '''quantum''' empleado es pequeño, por ejemplo de 10 ms, suponiendo que la conmutación de procesos requiere 10ms, el 50% del tiempo se empleará el procesador para ejecutar el código que permite conmutar entre procesos. Sin embargo, Si el '''quantuam''' empleado es grande, por ejemplo de 5 s, la latencia será mayor, degradando la experiencia del usuario que notará como sus procesos progresan ''a saltos'', puesto que, en el peor de los casos, hasta pasados 5 s no se le asignará el procesador a otro proceso .&lt;br /&gt;
&lt;br /&gt;
Si un proceso bloquea antes de consumir su '''quantum''', como sucede con proceso cuyo comportamiento está limitado por operaciones de entrada/salida, se añade al final de la cola. Esto beneficia a los procesos cuyo comportamiento está limitado por el procesador.&lt;br /&gt;
&lt;br /&gt;
Este criterio se puede implementar con una cola, de manera que la complejidad de la selección de un proceso es O(1). Nótese que a mayor número de procesos preparados, mayor tiempo tardará un proceso en volver a pasar a estado activo.&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                                                                                         &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|_3__|&lt;br /&gt;
           problema  _t__|_2__|_4__|_2__|_7__|    quantum = 1 unidad de tiempo&lt;br /&gt;
                                                       &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                       $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                           proceso y establecer otro según el criterio&lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;xxx|---|---|---|xxx|---|---|xxx|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---&amp;lt;xxx|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---&amp;lt;xxx|---|---|---|xxx|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                $  $---$---$---$---$---$---$---$---$---$---$---$---|---|---|---|---|---|---|---|---|&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
                                                                                                   &lt;br /&gt;
                   ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
       Cálculos    _t__|_2__|_4__|_2__|_7__|&lt;br /&gt;
      de tiempos   _T__|_5__|_10_|_5__|_12_|        z = índice de penalización&lt;br /&gt;
                   _z__|_5/2|10/4|_5/2|12/7|&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con compensación ==&lt;br /&gt;
&lt;br /&gt;
Es una variante del anterior. Para no perjudicar a los procesos cuyo comportamiento está limitado por operaciones de entrada/salida, se reinsertan en la cola en proporción al tiempo consumido. Es decir, que si un cierto proceso ha consumido el 25% de su '''quantum''', se reinserta en el 25% de la cola, contando desde el principio.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con quantum dependiente del número de procesos ==&lt;br /&gt;
&lt;br /&gt;
Otra variante se trata de emplear un '''quantum''' proporcional al número de procesos que haya en estado preparado. De esta forma se obtiene una progresión más uniforme, y por tanto una mejor experiencia para el usuario. Sin embargo, esto aumenta el número de conmutaciones entre procesos. Para evitar la degradación del rendimiento por un exceso de conmutaciones, se establece un mínimo de manera que el quantum no puede ser menor a éste.&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=240</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=240"/>
				<updated>2011-03-16T12:16:34Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: aclaración de lanzamiento de proceso + centrado de grafica&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente el proceso a ser asignado al procesador. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Es un criterio de planificación teórico que sirve de referencia, si se emplea un criterio de planificación que ofrece resultados peores que la planificación de procesos estocástica, entonces es que no se trata de un buen criterio de planificación.&lt;br /&gt;
&lt;br /&gt;
No se ofrece un ejemplo, puesto que para un conjunto de procesos existen tantas trazas de ejecución como posible combinaciones aleatorias.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Se trata también de un criterio de planificación teórico. Si un criterio de planificación se acerca al criterio de planificación con conocimiento de futuro, entonces es que se trata de un buen planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_6__|_7__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso                                                                       &lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
         |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pd  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|&lt;br /&gt;
     Pe  |---|---|---|---|---|---|---&amp;lt;---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
         0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_8__|_4__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_8/3|_4/1|&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, al conocer los tiempos en los que llegará cada proceso, y el tiempo de proceso, podemos buscar la forma de asignarlos de forma que, por ejemplo, consigamos la mínima penalización.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
        |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
    Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
   -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_7__|_6__|_8__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_7/5|_7/2|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
           problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                       &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                       &amp;gt; = finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
         |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
     Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
    -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
         0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_6__|_8__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo en estado preparado, sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_7__|_6__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
        |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pd  |---|---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
    Pe  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|&lt;br /&gt;
   -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_9__|_13_|_11_|&lt;br /&gt;
                    z(3)|_1__|_'''2/5'''|_0/4|____|____|&lt;br /&gt;
                    z(8)|_1__|_7/5|_'''5/4'''|_1/3|_2/5|&lt;br /&gt;
                   z(12)|_1__|_7/5|_9/4|_5/3|_'''6/5'''|      z = índice de penalización&lt;br /&gt;
                   z(17)|_1__|_7/5|_9/4|'''10/3'''|11/5|&lt;br /&gt;
                   z(20)|_1__|_7/5|_9/4|13/3|11/5|&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador. Su orden de complejidad es O(n), pero, a diferencia del no apropiativo, cuando entra un proceso en la lista de procesos, se ejecuta código de planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_4__|_6__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                        $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                            proceso y establecer otro según el criterio&lt;br /&gt;
                        &amp;amp; = se ejecuta el código del planificador&lt;br /&gt;
  &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---|---&amp;lt;xxx&amp;gt;---|---|---|---|---|---|---$---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
       Planificador |---&amp;amp;---|---&amp;amp;---&amp;amp;---&amp;amp;---&amp;amp;---|---|---&amp;amp;---|---|---&amp;amp;---|---|---&amp;amp;---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
       de tiempos   _T__|_3__|_8__|_1__|_14_|_3__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_8/5|_1__|14/8|_1__|&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario. En el caso de sistemas operativos tipo Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático, después se va recalculando en base a las observaciones que realiza el planificador sobre el comportamiento de los procesos.&lt;br /&gt;
&lt;br /&gt;
El orden es siempre O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                                                                                         &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|_3__|&lt;br /&gt;
           problema  _t__|_2__|_4__|_2__|_7__|    p = prioridad estática&lt;br /&gt;
                     _p__|_0__|-20_|_4__|_10_|&lt;br /&gt;
                                                       &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                       $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                           proceso y establecer otro según el criterio&lt;br /&gt;
                       &amp;amp; = se ejecuta el código del planificador&lt;br /&gt;
  &lt;br /&gt;
                   |---$---|---|---|---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|---|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;xxx|xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---&amp;lt;---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|&lt;br /&gt;
      Planificador |---&amp;amp;---&amp;amp;---&amp;amp;---|---&amp;amp;---&amp;amp;---|---&amp;amp;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
                                                                                                   &lt;br /&gt;
                   ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
       Cálculos    _t__|_2__|_4__|_2__|_7__|&lt;br /&gt;
      de tiempos   _T__|_6__|_4__|_6__|_12_|        z = índice de penalización&lt;br /&gt;
                   _z__|_3__|_1__|_3__|12/7|&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio estricto (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
En este criterio, todo proceso es asignado al procesador durante un tiempo establecido denominado '''quantum''', tras el cual se le retira y se asigna a otro proceso rotatoriamente. De esta manera, los procesos acceden al procesador por turnos.&lt;br /&gt;
&lt;br /&gt;
El tamaño del '''quantum''' es fundamental para determinar el comportamiento de este criterio de planificación. &lt;br /&gt;
Si el '''quantum''' empleado es pequeño, por ejemplo de 10 ms, suponiendo que la conmutación de procesos requiere 10ms, el 50% del tiempo se empleará el procesador para ejecutar el código que permite conmutar entre procesos. Sin embargo, Si el '''quantuam''' empleado es grande, por ejemplo de 5 s, la latencia será mayor, degradando la experiencia del usuario que notará como sus procesos progresan ''a saltos'', puesto que, en el peor de los casos, hasta pasados 5 s no se le asignará el procesador a otro proceso .&lt;br /&gt;
&lt;br /&gt;
Si un proceso bloquea antes de consumir su '''quantum''', como sucede con proceso cuyo comportamiento está limitado por operaciones de entrada/salida, se añade al final de la cola. Esto beneficia a los procesos cuyo comportamiento está limitado por el procesador.&lt;br /&gt;
&lt;br /&gt;
Este criterio se puede implementar con una cola, de manera que la complejidad de la selección de un proceso es O(1). Nótese que a mayor número de procesos preparados, mayor tiempo tardará un proceso en volver a pasar a estado activo.&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                                                                                         &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|_3__|&lt;br /&gt;
           problema  _t__|_2__|_4__|_2__|_7__|    quantum = 1 unidad de tiempo&lt;br /&gt;
                                                       &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                       $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                           proceso y establecer otro según el criterio&lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;xxx|---|---|---|xxx|---|---|xxx|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---&amp;lt;xxx|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---&amp;lt;xxx|---|---|---|xxx|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                $  $---$---$---$---$---$---$---$---$---$---$---$---|---|---|---|---|---|---|---|---|&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
                                                                                                   &lt;br /&gt;
                   ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
       Cálculos    _t__|_2__|_4__|_2__|_7__|&lt;br /&gt;
      de tiempos   _T__|_5__|_10_|_5__|_12_|        z = índice de penalización&lt;br /&gt;
                   _z__|_5/2|10/4|_5/2|12/7|&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con compensación ==&lt;br /&gt;
&lt;br /&gt;
Es una variante del anterior. Para no perjudicar a los procesos cuyo comportamiento está limitado por operaciones de entrada/salida, se reinsertan en la cola en proporción al tiempo consumido. Es decir, que si un cierto proceso ha consumido el 25% de su '''quantum''', se reinserta en el 25% de la cola, contando desde el principio.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con quantum dependiente del número de procesos ==&lt;br /&gt;
&lt;br /&gt;
Otra variante se trata de emplear un '''quantum''' proporcional al número de procesos que haya en estado preparado. De esta forma se obtiene una progresión más uniforme, y por tanto una mejor experiencia para el usuario. Sin embargo, esto aumenta el número de conmutaciones entre procesos. Para evitar la degradación del rendimiento por un exceso de conmutaciones, se establece un mínimo de manera que el quantum no puede ser menor a éste.&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=239</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=239"/>
				<updated>2011-03-16T12:14:54Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: aclaración de lanzamiento de proceso + centrado de grafica&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente el proceso a ser asignado al procesador. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Es un criterio de planificación teórico que sirve de referencia, si se emplea un criterio de planificación que ofrece resultados peores que la planificación de procesos estocástica, entonces es que no se trata de un buen criterio de planificación.&lt;br /&gt;
&lt;br /&gt;
No se ofrece un ejemplo, puesto que para un conjunto de procesos existen tantas trazas de ejecución como posible combinaciones aleatorias.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Se trata también de un criterio de planificación teórico. Si un criterio de planificación se acerca al criterio de planificación con conocimiento de futuro, entonces es que se trata de un buen planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_6__|_7__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso                                                                       &lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
         |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pd  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|&lt;br /&gt;
     Pe  |---|---|---|---|---|---|---&amp;lt;---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
         0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_8__|_4__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_8/3|_4/1|&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, al conocer los tiempos en los que llegará cada proceso, y el tiempo de proceso, podemos buscar la forma de asignarlos de forma que, por ejemplo, consigamos la mínima penalización.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
        |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
    Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
   -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_7__|_6__|_8__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_7/5|_7/2|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
           problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                       &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                       &amp;gt; = finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
         |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
     Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
    -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
         0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_6__|_8__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo en estado preparado, sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_7__|_6__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_9__|_13_|_11_|&lt;br /&gt;
                    z(3)|_1__|_'''2/5'''|_0/4|____|____|&lt;br /&gt;
                    z(8)|_1__|_7/5|_'''5/4'''|_1/3|_2/5|&lt;br /&gt;
                   z(12)|_1__|_7/5|_9/4|_5/3|_'''6/5'''|      z = índice de penalización&lt;br /&gt;
                   z(17)|_1__|_7/5|_9/4|'''10/3'''|11/5|&lt;br /&gt;
                   z(20)|_1__|_7/5|_9/4|13/3|11/5|&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador. Su orden de complejidad es O(n), pero, a diferencia del no apropiativo, cuando entra un proceso en la lista de procesos, se ejecuta código de planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_4__|_6__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                        $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                            proceso y establecer otro según el criterio&lt;br /&gt;
                        &amp;amp; = se ejecuta el código del planificador&lt;br /&gt;
  &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---|---&amp;lt;xxx&amp;gt;---|---|---|---|---|---|---$---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
       Planificador |---&amp;amp;---|---&amp;amp;---&amp;amp;---&amp;amp;---&amp;amp;---|---|---&amp;amp;---|---|---&amp;amp;---|---|---&amp;amp;---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
       de tiempos   _T__|_3__|_8__|_1__|_14_|_3__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_8/5|_1__|14/8|_1__|&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario. En el caso de sistemas operativos tipo Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático, después se va recalculando en base a las observaciones que realiza el planificador sobre el comportamiento de los procesos.&lt;br /&gt;
&lt;br /&gt;
El orden es siempre O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                                                                                         &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|_3__|&lt;br /&gt;
           problema  _t__|_2__|_4__|_2__|_7__|    p = prioridad estática&lt;br /&gt;
                     _p__|_0__|-20_|_4__|_10_|&lt;br /&gt;
                                                       &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                       $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                           proceso y establecer otro según el criterio&lt;br /&gt;
                       &amp;amp; = se ejecuta el código del planificador&lt;br /&gt;
  &lt;br /&gt;
                   |---$---|---|---|---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|---|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;xxx|xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---&amp;lt;---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|&lt;br /&gt;
      Planificador |---&amp;amp;---&amp;amp;---&amp;amp;---|---&amp;amp;---&amp;amp;---|---&amp;amp;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
                                                                                                   &lt;br /&gt;
                   ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
       Cálculos    _t__|_2__|_4__|_2__|_7__|&lt;br /&gt;
      de tiempos   _T__|_6__|_4__|_6__|_12_|        z = índice de penalización&lt;br /&gt;
                   _z__|_3__|_1__|_3__|12/7|&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio estricto (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
En este criterio, todo proceso es asignado al procesador durante un tiempo establecido denominado '''quantum''', tras el cual se le retira y se asigna a otro proceso rotatoriamente. De esta manera, los procesos acceden al procesador por turnos.&lt;br /&gt;
&lt;br /&gt;
El tamaño del '''quantum''' es fundamental para determinar el comportamiento de este criterio de planificación. &lt;br /&gt;
Si el '''quantum''' empleado es pequeño, por ejemplo de 10 ms, suponiendo que la conmutación de procesos requiere 10ms, el 50% del tiempo se empleará el procesador para ejecutar el código que permite conmutar entre procesos. Sin embargo, Si el '''quantuam''' empleado es grande, por ejemplo de 5 s, la latencia será mayor, degradando la experiencia del usuario que notará como sus procesos progresan ''a saltos'', puesto que, en el peor de los casos, hasta pasados 5 s no se le asignará el procesador a otro proceso .&lt;br /&gt;
&lt;br /&gt;
Si un proceso bloquea antes de consumir su '''quantum''', como sucede con proceso cuyo comportamiento está limitado por operaciones de entrada/salida, se añade al final de la cola. Esto beneficia a los procesos cuyo comportamiento está limitado por el procesador.&lt;br /&gt;
&lt;br /&gt;
Este criterio se puede implementar con una cola, de manera que la complejidad de la selección de un proceso es O(1). Nótese que a mayor número de procesos preparados, mayor tiempo tardará un proceso en volver a pasar a estado activo.&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                                                                                         &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|_3__|&lt;br /&gt;
           problema  _t__|_2__|_4__|_2__|_7__|    quantum = 1 unidad de tiempo&lt;br /&gt;
                                                       &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                       $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                           proceso y establecer otro según el criterio&lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;xxx|---|---|---|xxx|---|---|xxx|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---&amp;lt;xxx|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---&amp;lt;xxx|---|---|---|xxx|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                $  $---$---$---$---$---$---$---$---$---$---$---$---|---|---|---|---|---|---|---|---|&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
                                                                                                   &lt;br /&gt;
                   ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
       Cálculos    _t__|_2__|_4__|_2__|_7__|&lt;br /&gt;
      de tiempos   _T__|_5__|_10_|_5__|_12_|        z = índice de penalización&lt;br /&gt;
                   _z__|_5/2|10/4|_5/2|12/7|&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con compensación ==&lt;br /&gt;
&lt;br /&gt;
Es una variante del anterior. Para no perjudicar a los procesos cuyo comportamiento está limitado por operaciones de entrada/salida, se reinsertan en la cola en proporción al tiempo consumido. Es decir, que si un cierto proceso ha consumido el 25% de su '''quantum''', se reinserta en el 25% de la cola, contando desde el principio.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con quantum dependiente del número de procesos ==&lt;br /&gt;
&lt;br /&gt;
Otra variante se trata de emplear un '''quantum''' proporcional al número de procesos que haya en estado preparado. De esta forma se obtiene una progresión más uniforme, y por tanto una mejor experiencia para el usuario. Sin embargo, esto aumenta el número de conmutaciones entre procesos. Para evitar la degradación del rendimiento por un exceso de conmutaciones, se establece un mínimo de manera que el quantum no puede ser menor a éste.&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=238</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=238"/>
				<updated>2011-03-16T12:13:10Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: centrado de la grafica&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente el proceso a ser asignado al procesador. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Es un criterio de planificación teórico que sirve de referencia, si se emplea un criterio de planificación que ofrece resultados peores que la planificación de procesos estocástica, entonces es que no se trata de un buen criterio de planificación.&lt;br /&gt;
&lt;br /&gt;
No se ofrece un ejemplo, puesto que para un conjunto de procesos existen tantas trazas de ejecución como posible combinaciones aleatorias.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Se trata también de un criterio de planificación teórico. Si un criterio de planificación se acerca al criterio de planificación con conocimiento de futuro, entonces es que se trata de un buen planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_6__|_7__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso                                                                       &lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
         |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pd  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|&lt;br /&gt;
     Pe  |---|---|---|---|---|---|---&amp;lt;---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
         0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_8__|_4__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_8/3|_4/1|&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, al conocer los tiempos en los que llegará cada proceso, y el tiempo de proceso, podemos buscar la forma de asignarlos de forma que, por ejemplo, consigamos la mínima penalización.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
        |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
    Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
   -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_7__|_6__|_8__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_7/5|_7/2|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
           problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento                        &lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_6__|_8__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo en estado preparado, sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_7__|_6__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_9__|_13_|_11_|&lt;br /&gt;
                    z(3)|_1__|_'''2/5'''|_0/4|____|____|&lt;br /&gt;
                    z(8)|_1__|_7/5|_'''5/4'''|_1/3|_2/5|&lt;br /&gt;
                   z(12)|_1__|_7/5|_9/4|_5/3|_'''6/5'''|      z = índice de penalización&lt;br /&gt;
                   z(17)|_1__|_7/5|_9/4|'''10/3'''|11/5|&lt;br /&gt;
                   z(20)|_1__|_7/5|_9/4|13/3|11/5|&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador. Su orden de complejidad es O(n), pero, a diferencia del no apropiativo, cuando entra un proceso en la lista de procesos, se ejecuta código de planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_4__|_6__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                        $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                            proceso y establecer otro según el criterio&lt;br /&gt;
                        &amp;amp; = se ejecuta el código del planificador&lt;br /&gt;
  &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---|---&amp;lt;xxx&amp;gt;---|---|---|---|---|---|---$---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
       Planificador |---&amp;amp;---|---&amp;amp;---&amp;amp;---&amp;amp;---&amp;amp;---|---|---&amp;amp;---|---|---&amp;amp;---|---|---&amp;amp;---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
       de tiempos   _T__|_3__|_8__|_1__|_14_|_3__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_8/5|_1__|14/8|_1__|&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario. En el caso de sistemas operativos tipo Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático, después se va recalculando en base a las observaciones que realiza el planificador sobre el comportamiento de los procesos.&lt;br /&gt;
&lt;br /&gt;
El orden es siempre O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                                                                                         &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|_3__|&lt;br /&gt;
           problema  _t__|_2__|_4__|_2__|_7__|    p = prioridad estática&lt;br /&gt;
                     _p__|_0__|-20_|_4__|_10_|&lt;br /&gt;
                                                       &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                       $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                           proceso y establecer otro según el criterio&lt;br /&gt;
                       &amp;amp; = se ejecuta el código del planificador&lt;br /&gt;
  &lt;br /&gt;
                   |---$---|---|---|---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|---|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;xxx|xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---&amp;lt;---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|&lt;br /&gt;
      Planificador |---&amp;amp;---&amp;amp;---&amp;amp;---|---&amp;amp;---&amp;amp;---|---&amp;amp;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
                                                                                                   &lt;br /&gt;
                   ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
       Cálculos    _t__|_2__|_4__|_2__|_7__|&lt;br /&gt;
      de tiempos   _T__|_6__|_4__|_6__|_12_|        z = índice de penalización&lt;br /&gt;
                   _z__|_3__|_1__|_3__|12/7|&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio estricto (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
En este criterio, todo proceso es asignado al procesador durante un tiempo establecido denominado '''quantum''', tras el cual se le retira y se asigna a otro proceso rotatoriamente. De esta manera, los procesos acceden al procesador por turnos.&lt;br /&gt;
&lt;br /&gt;
El tamaño del '''quantum''' es fundamental para determinar el comportamiento de este criterio de planificación. &lt;br /&gt;
Si el '''quantum''' empleado es pequeño, por ejemplo de 10 ms, suponiendo que la conmutación de procesos requiere 10ms, el 50% del tiempo se empleará el procesador para ejecutar el código que permite conmutar entre procesos. Sin embargo, Si el '''quantuam''' empleado es grande, por ejemplo de 5 s, la latencia será mayor, degradando la experiencia del usuario que notará como sus procesos progresan ''a saltos'', puesto que, en el peor de los casos, hasta pasados 5 s no se le asignará el procesador a otro proceso .&lt;br /&gt;
&lt;br /&gt;
Si un proceso bloquea antes de consumir su '''quantum''', como sucede con proceso cuyo comportamiento está limitado por operaciones de entrada/salida, se añade al final de la cola. Esto beneficia a los procesos cuyo comportamiento está limitado por el procesador.&lt;br /&gt;
&lt;br /&gt;
Este criterio se puede implementar con una cola, de manera que la complejidad de la selección de un proceso es O(1). Nótese que a mayor número de procesos preparados, mayor tiempo tardará un proceso en volver a pasar a estado activo.&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                                                                                         &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|_3__|&lt;br /&gt;
           problema  _t__|_2__|_4__|_2__|_7__|    quantum = 1 unidad de tiempo&lt;br /&gt;
                                                       &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                       $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                           proceso y establecer otro según el criterio&lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;xxx|---|---|---|xxx|---|---|xxx|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---&amp;lt;xxx|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---&amp;lt;xxx|---|---|---|xxx|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                $  $---$---$---$---$---$---$---$---$---$---$---$---|---|---|---|---|---|---|---|---|&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
                                                                                                   &lt;br /&gt;
                   ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
       Cálculos    _t__|_2__|_4__|_2__|_7__|&lt;br /&gt;
      de tiempos   _T__|_5__|_10_|_5__|_12_|        z = índice de penalización&lt;br /&gt;
                   _z__|_5/2|10/4|_5/2|12/7|&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con compensación ==&lt;br /&gt;
&lt;br /&gt;
Es una variante del anterior. Para no perjudicar a los procesos cuyo comportamiento está limitado por operaciones de entrada/salida, se reinsertan en la cola en proporción al tiempo consumido. Es decir, que si un cierto proceso ha consumido el 25% de su '''quantum''', se reinserta en el 25% de la cola, contando desde el principio.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con quantum dependiente del número de procesos ==&lt;br /&gt;
&lt;br /&gt;
Otra variante se trata de emplear un '''quantum''' proporcional al número de procesos que haya en estado preparado. De esta forma se obtiene una progresión más uniforme, y por tanto una mejor experiencia para el usuario. Sin embargo, esto aumenta el número de conmutaciones entre procesos. Para evitar la degradación del rendimiento por un exceso de conmutaciones, se establece un mínimo de manera que el quantum no puede ser menor a éste.&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=237</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=237"/>
				<updated>2011-03-16T12:11:59Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: centrado de la grafica&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente el proceso a ser asignado al procesador. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Es un criterio de planificación teórico que sirve de referencia, si se emplea un criterio de planificación que ofrece resultados peores que la planificación de procesos estocástica, entonces es que no se trata de un buen criterio de planificación.&lt;br /&gt;
&lt;br /&gt;
No se ofrece un ejemplo, puesto que para un conjunto de procesos existen tantas trazas de ejecución como posible combinaciones aleatorias.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Se trata también de un criterio de planificación teórico. Si un criterio de planificación se acerca al criterio de planificación con conocimiento de futuro, entonces es que se trata de un buen planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_6__|_7__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso                                                                       &lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
         |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
     Pd  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|&lt;br /&gt;
     Pe  |---|---|---|---|---|---|---&amp;lt;---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
    -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
         0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_8__|_4__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_8/3|_4/1|&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, al conocer los tiempos en los que llegará cada proceso, y el tiempo de proceso, podemos buscar la forma de asignarlos de forma que, por ejemplo, consigamos la mínima penalización.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_7__|_6__|_8__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_7/5|_7/2|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
           problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento                        &lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_6__|_8__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo en estado preparado, sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_7__|_6__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_9__|_13_|_11_|&lt;br /&gt;
                    z(3)|_1__|_'''2/5'''|_0/4|____|____|&lt;br /&gt;
                    z(8)|_1__|_7/5|_'''5/4'''|_1/3|_2/5|&lt;br /&gt;
                   z(12)|_1__|_7/5|_9/4|_5/3|_'''6/5'''|      z = índice de penalización&lt;br /&gt;
                   z(17)|_1__|_7/5|_9/4|'''10/3'''|11/5|&lt;br /&gt;
                   z(20)|_1__|_7/5|_9/4|13/3|11/5|&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador. Su orden de complejidad es O(n), pero, a diferencia del no apropiativo, cuando entra un proceso en la lista de procesos, se ejecuta código de planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_4__|_6__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                        $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                            proceso y establecer otro según el criterio&lt;br /&gt;
                        &amp;amp; = se ejecuta el código del planificador&lt;br /&gt;
  &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---|---&amp;lt;xxx&amp;gt;---|---|---|---|---|---|---$---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
       Planificador |---&amp;amp;---|---&amp;amp;---&amp;amp;---&amp;amp;---&amp;amp;---|---|---&amp;amp;---|---|---&amp;amp;---|---|---&amp;amp;---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
       de tiempos   _T__|_3__|_8__|_1__|_14_|_3__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_8/5|_1__|14/8|_1__|&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario. En el caso de sistemas operativos tipo Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático, después se va recalculando en base a las observaciones que realiza el planificador sobre el comportamiento de los procesos.&lt;br /&gt;
&lt;br /&gt;
El orden es siempre O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                                                                                         &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|_3__|&lt;br /&gt;
           problema  _t__|_2__|_4__|_2__|_7__|    p = prioridad estática&lt;br /&gt;
                     _p__|_0__|-20_|_4__|_10_|&lt;br /&gt;
                                                       &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                       $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                           proceso y establecer otro según el criterio&lt;br /&gt;
                       &amp;amp; = se ejecuta el código del planificador&lt;br /&gt;
  &lt;br /&gt;
                   |---$---|---|---|---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|---|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;xxx|xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---&amp;lt;---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|&lt;br /&gt;
      Planificador |---&amp;amp;---&amp;amp;---&amp;amp;---|---&amp;amp;---&amp;amp;---|---&amp;amp;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
                                                                                                   &lt;br /&gt;
                   ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
       Cálculos    _t__|_2__|_4__|_2__|_7__|&lt;br /&gt;
      de tiempos   _T__|_6__|_4__|_6__|_12_|        z = índice de penalización&lt;br /&gt;
                   _z__|_3__|_1__|_3__|12/7|&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio estricto (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
En este criterio, todo proceso es asignado al procesador durante un tiempo establecido denominado '''quantum''', tras el cual se le retira y se asigna a otro proceso rotatoriamente. De esta manera, los procesos acceden al procesador por turnos.&lt;br /&gt;
&lt;br /&gt;
El tamaño del '''quantum''' es fundamental para determinar el comportamiento de este criterio de planificación. &lt;br /&gt;
Si el '''quantum''' empleado es pequeño, por ejemplo de 10 ms, suponiendo que la conmutación de procesos requiere 10ms, el 50% del tiempo se empleará el procesador para ejecutar el código que permite conmutar entre procesos. Sin embargo, Si el '''quantuam''' empleado es grande, por ejemplo de 5 s, la latencia será mayor, degradando la experiencia del usuario que notará como sus procesos progresan ''a saltos'', puesto que, en el peor de los casos, hasta pasados 5 s no se le asignará el procesador a otro proceso .&lt;br /&gt;
&lt;br /&gt;
Si un proceso bloquea antes de consumir su '''quantum''', como sucede con proceso cuyo comportamiento está limitado por operaciones de entrada/salida, se añade al final de la cola. Esto beneficia a los procesos cuyo comportamiento está limitado por el procesador.&lt;br /&gt;
&lt;br /&gt;
Este criterio se puede implementar con una cola, de manera que la complejidad de la selección de un proceso es O(1). Nótese que a mayor número de procesos preparados, mayor tiempo tardará un proceso en volver a pasar a estado activo.&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                                                                                         &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|_3__|&lt;br /&gt;
           problema  _t__|_2__|_4__|_2__|_7__|    quantum = 1 unidad de tiempo&lt;br /&gt;
                                                       &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                       $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                           proceso y establecer otro según el criterio&lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;xxx|---|---|---|xxx|---|---|xxx|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---&amp;lt;xxx|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---&amp;lt;xxx|---|---|---|xxx|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                $  $---$---$---$---$---$---$---$---$---$---$---$---|---|---|---|---|---|---|---|---|&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
                                                                                                   &lt;br /&gt;
                   ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
       Cálculos    _t__|_2__|_4__|_2__|_7__|&lt;br /&gt;
      de tiempos   _T__|_5__|_10_|_5__|_12_|        z = índice de penalización&lt;br /&gt;
                   _z__|_5/2|10/4|_5/2|12/7|&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con compensación ==&lt;br /&gt;
&lt;br /&gt;
Es una variante del anterior. Para no perjudicar a los procesos cuyo comportamiento está limitado por operaciones de entrada/salida, se reinsertan en la cola en proporción al tiempo consumido. Es decir, que si un cierto proceso ha consumido el 25% de su '''quantum''', se reinserta en el 25% de la cola, contando desde el principio.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con quantum dependiente del número de procesos ==&lt;br /&gt;
&lt;br /&gt;
Otra variante se trata de emplear un '''quantum''' proporcional al número de procesos que haya en estado preparado. De esta forma se obtiene una progresión más uniforme, y por tanto una mejor experiencia para el usuario. Sin embargo, esto aumenta el número de conmutaciones entre procesos. Para evitar la degradación del rendimiento por un exceso de conmutaciones, se establece un mínimo de manera que el quantum no puede ser menor a éste.&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=236</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=236"/>
				<updated>2011-03-16T12:08:07Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: aclaración de lanzamiento de proceso&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente el proceso a ser asignado al procesador. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Es un criterio de planificación teórico que sirve de referencia, si se emplea un criterio de planificación que ofrece resultados peores que la planificación de procesos estocástica, entonces es que no se trata de un buen criterio de planificación.&lt;br /&gt;
&lt;br /&gt;
No se ofrece un ejemplo, puesto que para un conjunto de procesos existen tantas trazas de ejecución como posible combinaciones aleatorias.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Se trata también de un criterio de planificación teórico. Si un criterio de planificación se acerca al criterio de planificación con conocimiento de futuro, entonces es que se trata de un buen planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_6__|_7__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso                                                                       &lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---&amp;lt;---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_8__|_4__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_8/3|_4/1|&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, al conocer los tiempos en los que llegará cada proceso, y el tiempo de proceso, podemos buscar la forma de asignarlos de forma que, por ejemplo, consigamos la mínima penalización.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_7__|_6__|_8__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_7/5|_7/2|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
           problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento                        &lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_6__|_8__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo en estado preparado, sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_7__|_6__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_9__|_13_|_11_|&lt;br /&gt;
                    z(3)|_1__|_'''2/5'''|_0/4|____|____|&lt;br /&gt;
                    z(8)|_1__|_7/5|_'''5/4'''|_1/3|_2/5|&lt;br /&gt;
                   z(12)|_1__|_7/5|_9/4|_5/3|_'''6/5'''|      z = índice de penalización&lt;br /&gt;
                   z(17)|_1__|_7/5|_9/4|'''10/3'''|11/5|&lt;br /&gt;
                   z(20)|_1__|_7/5|_9/4|13/3|11/5|&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador. Su orden de complejidad es O(n), pero, a diferencia del no apropiativo, cuando entra un proceso en la lista de procesos, se ejecuta código de planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_4__|_6__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                        $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                            proceso y establecer otro según el criterio&lt;br /&gt;
                        &amp;amp; = se ejecuta el código del planificador&lt;br /&gt;
  &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---|---&amp;lt;xxx&amp;gt;---|---|---|---|---|---|---$---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
       Planificador |---&amp;amp;---|---&amp;amp;---&amp;amp;---&amp;amp;---&amp;amp;---|---|---&amp;amp;---|---|---&amp;amp;---|---|---&amp;amp;---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
       de tiempos   _T__|_3__|_8__|_1__|_14_|_3__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_8/5|_1__|14/8|_1__|&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario. En el caso de sistemas operativos tipo Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático, después se va recalculando en base a las observaciones que realiza el planificador sobre el comportamiento de los procesos.&lt;br /&gt;
&lt;br /&gt;
El orden es siempre O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                                                                                         &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|_3__|&lt;br /&gt;
           problema  _t__|_2__|_4__|_2__|_7__|    p = prioridad estática&lt;br /&gt;
                     _p__|_0__|-20_|_4__|_10_|&lt;br /&gt;
                                                       &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                       $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                           proceso y establecer otro según el criterio&lt;br /&gt;
                       &amp;amp; = se ejecuta el código del planificador&lt;br /&gt;
  &lt;br /&gt;
                   |---$---|---|---|---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|---|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;xxx|xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---&amp;lt;---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|&lt;br /&gt;
      Planificador |---&amp;amp;---&amp;amp;---&amp;amp;---|---&amp;amp;---&amp;amp;---|---&amp;amp;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
                                                                                                   &lt;br /&gt;
                   ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
       Cálculos    _t__|_2__|_4__|_2__|_7__|&lt;br /&gt;
      de tiempos   _T__|_6__|_4__|_6__|_12_|        z = índice de penalización&lt;br /&gt;
                   _z__|_3__|_1__|_3__|12/7|&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio estricto (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
En este criterio, todo proceso es asignado al procesador durante un tiempo establecido denominado '''quantum''', tras el cual se le retira y se asigna a otro proceso rotatoriamente. De esta manera, los procesos acceden al procesador por turnos.&lt;br /&gt;
&lt;br /&gt;
El tamaño del '''quantum''' es fundamental para determinar el comportamiento de este criterio de planificación. &lt;br /&gt;
Si el '''quantum''' empleado es pequeño, por ejemplo de 10 ms, suponiendo que la conmutación de procesos requiere 10ms, el 50% del tiempo se empleará el procesador para ejecutar el código que permite conmutar entre procesos. Sin embargo, Si el '''quantuam''' empleado es grande, por ejemplo de 5 s, la latencia será mayor, degradando la experiencia del usuario que notará como sus procesos progresan ''a saltos'', puesto que, en el peor de los casos, hasta pasados 5 s no se le asignará el procesador a otro proceso .&lt;br /&gt;
&lt;br /&gt;
Si un proceso bloquea antes de consumir su '''quantum''', como sucede con proceso cuyo comportamiento está limitado por operaciones de entrada/salida, se añade al final de la cola. Esto beneficia a los procesos cuyo comportamiento está limitado por el procesador.&lt;br /&gt;
&lt;br /&gt;
Este criterio se puede implementar con una cola, de manera que la complejidad de la selección de un proceso es O(1). Nótese que a mayor número de procesos preparados, mayor tiempo tardará un proceso en volver a pasar a estado activo.&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                                                                                         &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|_3__|&lt;br /&gt;
           problema  _t__|_2__|_4__|_2__|_7__|    quantum = 1 unidad de tiempo&lt;br /&gt;
                                                       &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                       $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                           proceso y establecer otro según el criterio&lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;xxx|---|---|---|xxx|---|---|xxx|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---&amp;lt;xxx|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---&amp;lt;xxx|---|---|---|xxx|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                $  $---$---$---$---$---$---$---$---$---$---$---$---|---|---|---|---|---|---|---|---|&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
                                                                                                   &lt;br /&gt;
                   ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
       Cálculos    _t__|_2__|_4__|_2__|_7__|&lt;br /&gt;
      de tiempos   _T__|_5__|_10_|_5__|_12_|        z = índice de penalización&lt;br /&gt;
                   _z__|_5/2|10/4|_5/2|12/7|&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con compensación ==&lt;br /&gt;
&lt;br /&gt;
Es una variante del anterior. Para no perjudicar a los procesos cuyo comportamiento está limitado por operaciones de entrada/salida, se reinsertan en la cola en proporción al tiempo consumido. Es decir, que si un cierto proceso ha consumido el 25% de su '''quantum''', se reinserta en el 25% de la cola, contando desde el principio.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con quantum dependiente del número de procesos ==&lt;br /&gt;
&lt;br /&gt;
Otra variante se trata de emplear un '''quantum''' proporcional al número de procesos que haya en estado preparado. De esta forma se obtiene una progresión más uniforme, y por tanto una mejor experiencia para el usuario. Sin embargo, esto aumenta el número de conmutaciones entre procesos. Para evitar la degradación del rendimiento por un exceso de conmutaciones, se establece un mínimo de manera que el quantum no puede ser menor a éste.&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=235</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=235"/>
				<updated>2011-03-16T12:07:24Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: aclaración de lanzamiento de proceso&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente el proceso a ser asignado al procesador. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Es un criterio de planificación teórico que sirve de referencia, si se emplea un criterio de planificación que ofrece resultados peores que la planificación de procesos estocástica, entonces es que no se trata de un buen criterio de planificación.&lt;br /&gt;
&lt;br /&gt;
No se ofrece un ejemplo, puesto que para un conjunto de procesos existen tantas trazas de ejecución como posible combinaciones aleatorias.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Se trata también de un criterio de planificación teórico. Si un criterio de planificación se acerca al criterio de planificación con conocimiento de futuro, entonces es que se trata de un buen planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_6__|_7__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = lanzamiento del proceso&lt;br /&gt;
                        &amp;gt; = finalización del proceso                                                                       &lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---&amp;lt;---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_8__|_4__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_8/3|_4/1|&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, al conocer los tiempos en los que llegará cada proceso, y el tiempo de proceso, podemos buscar la forma de asignarlos de forma que, por ejemplo, consigamos la mínima penalización.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_7__|_6__|_8__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_7/5|_7/2|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
           problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento                        &lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_6__|_8__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo en estado preparado, sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_7__|_6__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_9__|_13_|_11_|&lt;br /&gt;
                    z(3)|_1__|_'''2/5'''|_0/4|____|____|&lt;br /&gt;
                    z(8)|_1__|_7/5|_'''5/4'''|_1/3|_2/5|&lt;br /&gt;
                   z(12)|_1__|_7/5|_9/4|_5/3|_'''6/5'''|      z = índice de penalización&lt;br /&gt;
                   z(17)|_1__|_7/5|_9/4|'''10/3'''|11/5|&lt;br /&gt;
                   z(20)|_1__|_7/5|_9/4|13/3|11/5|&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador. Su orden de complejidad es O(n), pero, a diferencia del no apropiativo, cuando entra un proceso en la lista de procesos, se ejecuta código de planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_4__|_6__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                        $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                            proceso y establecer otro según el criterio&lt;br /&gt;
                        &amp;amp; = se ejecuta el código del planificador&lt;br /&gt;
  &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---|---&amp;lt;xxx&amp;gt;---|---|---|---|---|---|---$---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
       Planificador |---&amp;amp;---|---&amp;amp;---&amp;amp;---&amp;amp;---&amp;amp;---|---|---&amp;amp;---|---|---&amp;amp;---|---|---&amp;amp;---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
       de tiempos   _T__|_3__|_8__|_1__|_14_|_3__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_8/5|_1__|14/8|_1__|&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario. En el caso de sistemas operativos tipo Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático, después se va recalculando en base a las observaciones que realiza el planificador sobre el comportamiento de los procesos.&lt;br /&gt;
&lt;br /&gt;
El orden es siempre O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                                                                                         &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|_3__|&lt;br /&gt;
           problema  _t__|_2__|_4__|_2__|_7__|    p = prioridad estática&lt;br /&gt;
                     _p__|_0__|-20_|_4__|_10_|&lt;br /&gt;
                                                       &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                       $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                           proceso y establecer otro según el criterio&lt;br /&gt;
                       &amp;amp; = se ejecuta el código del planificador&lt;br /&gt;
  &lt;br /&gt;
                   |---$---|---|---|---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|---|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;xxx|xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---&amp;lt;---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|&lt;br /&gt;
      Planificador |---&amp;amp;---&amp;amp;---&amp;amp;---|---&amp;amp;---&amp;amp;---|---&amp;amp;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
                                                                                                   &lt;br /&gt;
                   ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
       Cálculos    _t__|_2__|_4__|_2__|_7__|&lt;br /&gt;
      de tiempos   _T__|_6__|_4__|_6__|_12_|        z = índice de penalización&lt;br /&gt;
                   _z__|_3__|_1__|_3__|12/7|&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio estricto (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
En este criterio, todo proceso es asignado al procesador durante un tiempo establecido denominado '''quantum''', tras el cual se le retira y se asigna a otro proceso rotatoriamente. De esta manera, los procesos acceden al procesador por turnos.&lt;br /&gt;
&lt;br /&gt;
El tamaño del '''quantum''' es fundamental para determinar el comportamiento de este criterio de planificación. &lt;br /&gt;
Si el '''quantum''' empleado es pequeño, por ejemplo de 10 ms, suponiendo que la conmutación de procesos requiere 10ms, el 50% del tiempo se empleará el procesador para ejecutar el código que permite conmutar entre procesos. Sin embargo, Si el '''quantuam''' empleado es grande, por ejemplo de 5 s, la latencia será mayor, degradando la experiencia del usuario que notará como sus procesos progresan ''a saltos'', puesto que, en el peor de los casos, hasta pasados 5 s no se le asignará el procesador a otro proceso .&lt;br /&gt;
&lt;br /&gt;
Si un proceso bloquea antes de consumir su '''quantum''', como sucede con proceso cuyo comportamiento está limitado por operaciones de entrada/salida, se añade al final de la cola. Esto beneficia a los procesos cuyo comportamiento está limitado por el procesador.&lt;br /&gt;
&lt;br /&gt;
Este criterio se puede implementar con una cola, de manera que la complejidad de la selección de un proceso es O(1). Nótese que a mayor número de procesos preparados, mayor tiempo tardará un proceso en volver a pasar a estado activo.&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                                                                                         &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|_3__|&lt;br /&gt;
           problema  _t__|_2__|_4__|_2__|_7__|    quantum = 1 unidad de tiempo&lt;br /&gt;
                                                       &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                       $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                           proceso y establecer otro según el criterio&lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;xxx|---|---|---|xxx|---|---|xxx|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---&amp;lt;xxx|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---&amp;lt;xxx|---|---|---|xxx|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                $  $---$---$---$---$---$---$---$---$---$---$---$---|---|---|---|---|---|---|---|---|&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
                                                                                                   &lt;br /&gt;
                   ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
       Cálculos    _t__|_2__|_4__|_2__|_7__|&lt;br /&gt;
      de tiempos   _T__|_5__|_10_|_5__|_12_|        z = índice de penalización&lt;br /&gt;
                   _z__|_5/2|10/4|_5/2|12/7|&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con compensación ==&lt;br /&gt;
&lt;br /&gt;
Es una variante del anterior. Para no perjudicar a los procesos cuyo comportamiento está limitado por operaciones de entrada/salida, se reinsertan en la cola en proporción al tiempo consumido. Es decir, que si un cierto proceso ha consumido el 25% de su '''quantum''', se reinserta en el 25% de la cola, contando desde el principio.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con quantum dependiente del número de procesos ==&lt;br /&gt;
&lt;br /&gt;
Otra variante se trata de emplear un '''quantum''' proporcional al número de procesos que haya en estado preparado. De esta forma se obtiene una progresión más uniforme, y por tanto una mejor experiencia para el usuario. Sin embargo, esto aumenta el número de conmutaciones entre procesos. Para evitar la degradación del rendimiento por un exceso de conmutaciones, se establece un mínimo de manera que el quantum no puede ser menor a éste.&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=222</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=222"/>
				<updated>2011-03-15T09:28:50Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: introducción del ejemplo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente el proceso a ser asignado al procesador. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Es un criterio de planificación teórico que sirve de referencia, si se emplea un criterio de planificación que ofrece resultados peores que la planificación de procesos estocástica, entonces es que se trata de un buen criterio de planificación.&lt;br /&gt;
&lt;br /&gt;
No se ofrece un ejemplo, puesto que para un conjunto de procesos existen tantas trazas de ejecución como posible combinaciones aleatorias.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Se trata también de un criterio de planificación teórico. Si un criterio de planificación se acerca al criterio de planificación con conocimiento de futuro, entonces es que se trata de un buen planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_6__|_7__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---&amp;lt;---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_8__|_4__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_8/3|_4/1|&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, al conocer los tiempos en los que llegará cada proceso, y el tiempo de proceso, podemos buscar la forma de asignarlos de forma que, por ejemplo, consigamos la mínima penalización.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el procesa por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_7__|_6__|_8__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_7/5|_7/2|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
           problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento                        &lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_6__|_8__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo en estado preparado, sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_7__|_6__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_9__|_13_|_11_|&lt;br /&gt;
                    z(3)|_1__|_'''2/5'''|_0/4|____|____|&lt;br /&gt;
                    z(8)|_1__|_7/5|_'''5/4'''|_1/3|_2/5|&lt;br /&gt;
                   z(12)|_1__|_7/5|_9/4|_5/3|_'''6/5'''|      z = índice de penalización&lt;br /&gt;
                   z(17)|_1__|_7/5|_9/4|'''10/3'''|11/5|&lt;br /&gt;
                   z(20)|_1__|_7/5|_9/4|13/3|11/5|&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_4__|_6__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                        $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                            proceso y establecer otro según el criterio&lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---|---&amp;lt;xxx&amp;gt;---|---|---|---|---|---|---$---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
       de tiempos   _T__|_3__|_8__|_1__|_14_|_3__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_8/5|_1__|14/8|_1__|&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario. En el caso de sistemas operativos tipo Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático, después se va recalculando en base a las observaciones que realiza el planificador sobre el comportamiento de los procesos.&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                                                                                         &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|_3__|&lt;br /&gt;
           problema  _t__|_2__|_4__|_2__|_7__|    p = prioridad estática&lt;br /&gt;
                     _p__|_0__|-20_|_4__|_10_|&lt;br /&gt;
                                                       &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                       $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                           proceso y establecer otro según el criterio&lt;br /&gt;
                   |---$---|---|---|---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|---|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;xxx|xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---&amp;lt;---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
                                                                                                   &lt;br /&gt;
                   ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
       Cálculos    _t__|_2__|_4__|_2__|_7__|&lt;br /&gt;
      de tiempos   _T__|_6__|_4__|_6__|_12_|        z = índice de penalización&lt;br /&gt;
                   _z__|_3__|_1__|_3__|12/7|&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio estricto (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
En este criterio, todo proceso es asignado al procesador durante un tiempo establecido denominado '''quantum''', tras el cual se le retira y se asigna a otro proceso rotatoriamente. De esta manera, los procesos acceden al procesador por turnos.&lt;br /&gt;
&lt;br /&gt;
El tamaño del '''quantum''' es fundamental para determinar el comportamiento de este criterio de planificación. &lt;br /&gt;
Si el '''quantum''' empleado es pequeño, por ejemplo de 10 ms, suponiendo que la conmutación de procesos requiere 10ms, el 50% del tiempo se empleará el procesador para ejecutar el código que permite conmutar entre procesos. Sin embargo, Si el '''quantuam''' empleado es grande, por ejemplo de 5 s, la latencia será mayor, degradando la experiencia del usuario que notará como sus procesos progresan ''a saltos'', puesto que, en el peor de los casos, hasta pasados 5 s no se le asignará el procesador a otro proceso .&lt;br /&gt;
&lt;br /&gt;
Si un proceso bloquea antes de consumir su '''quantum''', como sucede con proceso cuyo comportamiento está limitado por operaciones de entrada/salida, se añade al final de la cola. Esto beneficia a los procesos cuyo comportamiento está limitado por el procesador.&lt;br /&gt;
&lt;br /&gt;
Este criterio se puede implementar con una cola, de manera que la complejidad de la selección de un proceso es O(1). Nótese que a mayor número de procesos preparados, mayor tiempo tardará un proceso en volver a pasar a estado activo.&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                                                                                         &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|_3__|&lt;br /&gt;
           problema  _t__|_2__|_4__|_2__|_7__|    quantum = 1 unidad de tiempo&lt;br /&gt;
                                                       &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                       $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                           proceso y establecer otro según el criterio&lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;xxx|---|---|---|xxx|---|---|xxx|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---&amp;lt;xxx|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---&amp;lt;xxx|---|---|---|xxx|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                $  $---$---$---$---$---$---$---$---$---$---$---$---|---|---|---|---|---|---|---|---|&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
                                                                                                   &lt;br /&gt;
                   ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
       Cálculos    _t__|_2__|_4__|_2__|_7__|&lt;br /&gt;
      de tiempos   _T__|_5__|_10_|_5__|_12_|        z = índice de penalización&lt;br /&gt;
                   _z__|_5/2|10/4|_5/2|12/7|&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con compensación ==&lt;br /&gt;
&lt;br /&gt;
Es una variante del anterior. Para no perjudicar a los procesos cuyo comportamiento está limitado por operaciones de entrada/salida, se reinsertan en la cola en proporción al tiempo consumido. Es decir, que si un cierto proceso ha consumido el 25% de su '''quantum''', se reinserta en el 25% de la cola, contando desde el principio.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con quantum dependiente del número de procesos ==&lt;br /&gt;
&lt;br /&gt;
Otra variante se trata de emplear un '''quantum''' proporcional al número de procesos que haya en estado preparado. De esta forma se obtiene una progresión más uniforme, y por tanto una mejor experiencia para el usuario. Sin embargo, esto aumenta el número de conmutaciones entre procesos. Para evitar la degradación del rendimiento por un exceso de conmutaciones, se establece un mínimo de manera que el quantum no puede ser menor a éste.&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=221</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=221"/>
				<updated>2011-03-15T09:15:42Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: introducción del ejemplo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente el proceso a ser asignado al procesador. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Es un criterio de planificación teórico que sirve de referencia, si se emplea un criterio de planificación que ofrece resultados peores que la planificación de procesos estocástica, entonces es que se trata de un buen criterio de planificación.&lt;br /&gt;
&lt;br /&gt;
No se ofrece un ejemplo, puesto que para un conjunto de procesos existen tantas trazas de ejecución como posible combinaciones aleatorias.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Se trata también de un criterio de planificación teórico. Si un criterio de planificación se acerca al criterio de planificación con conocimiento de futuro, entonces es que se trata de un buen planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_6__|_7__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---&amp;lt;---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_8__|_4__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_8/3|_4/1|&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, al conocer los tiempos en los que llegará cada proceso, y el tiempo de proceso, podemos buscar la forma de asignarlos de forma que, por ejemplo, consigamos la mínima penalización.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el procesa por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_7__|_6__|_8__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_7/5|_7/2|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
           problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento                        &lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_6__|_8__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo en estado preparado, sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_7__|_6__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_9__|_13_|_11_|&lt;br /&gt;
                    z(3)|_1__|_'''2/5'''|_0/4|____|____|&lt;br /&gt;
                    z(8)|_1__|_7/5|_'''5/4'''|_1/3|_2/5|&lt;br /&gt;
                   z(12)|_1__|_7/5|_9/4|_5/3|_'''6/5'''|      z = índice de penalización&lt;br /&gt;
                   z(17)|_1__|_7/5|_9/4|'''10/3'''|11/5|&lt;br /&gt;
                   z(20)|_1__|_7/5|_9/4|13/3|11/5|&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_4__|_6__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                        $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                            proceso y establecer otro según el criterio&lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---|---&amp;lt;xxx&amp;gt;---|---|---|---|---|---|---$---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
       de tiempos   _T__|_3__|_8__|_1__|_14_|_3__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_8/5|_1__|14/8|_1__|&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario. En el caso de sistemas operativos tipo Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático, después se va recalculando en base a las observaciones que realiza el planificador sobre el comportamiento de los procesos.&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                                                                                         &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|_3__|&lt;br /&gt;
           problema  _t__|_2__|_4__|_2__|_7__|    p = prioridad estática&lt;br /&gt;
                     _p__|_0__|-20_|_4__|_10_|&lt;br /&gt;
                                                       &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                       $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                           proceso y establecer otro según el criterio&lt;br /&gt;
                   |---$---|---|---|---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|---|---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;xxx|xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---&amp;lt;---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
                                                                                                   &lt;br /&gt;
                   ____|_Pa_|_Pb_|_Pc_|_Pd_|&lt;br /&gt;
       Cálculos    _t__|_2__|_4__|_2__|_7__|&lt;br /&gt;
      de tiempos   _T__|_6__|_4__|_6__|_12_|        z = índice de penalización&lt;br /&gt;
                   _z__|_3__|_1__|_3__|12/7|&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio estricto (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
En este criterio, todo proceso es asignado al procesador durante un tiempo establecido denominado '''quantum''', tras el cual se le retira y se asigna a otro proceso rotatoriamente. De esta manera, los procesos acceden al procesador por turnos.&lt;br /&gt;
&lt;br /&gt;
El tamaño del '''quantum''' es fundamental para determinar el comportamiento de este criterio de planificación. &lt;br /&gt;
Si el '''quantum''' empleado es pequeño, por ejemplo de 10 ms, suponiendo que la conmutación de procesos requiere 10ms, el 50% del tiempo se empleará el procesador para ejecutar el código que permite conmutar entre procesos. Sin embargo, Si el '''quantuam''' empleado es grande, por ejemplo de 5 s, la latencia será mayor, degradando la experiencia del usuario que notará como sus procesos progresan ''a saltos'', puesto que, en el peor de los casos, hasta pasados 5 s no se le asignará el procesador a otro proceso .&lt;br /&gt;
&lt;br /&gt;
Si un proceso bloquea antes de consumir su '''quantum''', como sucede con proceso cuyo comportamiento está limitado por operaciones de entrada/salida, se añade al final de la cola. Esto beneficia a los procesos cuyo comportamiento está limitado por el procesador.&lt;br /&gt;
&lt;br /&gt;
Este criterio se puede implementar con una cola, de manera que la complejidad de la selección de un proceso es O(1). Nótese que a mayor número de procesos preparados, mayor tiempo tardará un proceso en volver a pasar a estado activo.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con compensación ==&lt;br /&gt;
&lt;br /&gt;
Es una variante del anterior. Para no perjudicar a los procesos cuyo comportamiento está limitado por operaciones de entrada/salida, se reinsertan en la cola en proporción al tiempo consumido. Es decir, que si un cierto proceso ha consumido el 25% de su '''quantum''', se reinserta en el 25% de la cola, contando desde el principio.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con quantum dependiente del número de procesos ==&lt;br /&gt;
&lt;br /&gt;
Otra variante se trata de emplear un '''quantum''' proporcional al número de procesos que haya en estado preparado. De esta forma se obtiene una progresión más uniforme, y por tanto una mejor experiencia para el usuario. Sin embargo, esto aumenta el número de conmutaciones entre procesos. Para evitar la degradación del rendimiento por un exceso de conmutaciones, se establece un mínimo de manera que el quantum no puede ser menor a éste.&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=220</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=220"/>
				<updated>2011-03-15T09:03:32Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: correcciones&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente el proceso a ser asignado al procesador. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Es un criterio de planificación teórico que sirve de referencia, si se emplea un criterio de planificación que ofrece resultados peores que la planificación de procesos estocástica, entonces es que se trata de un buen criterio de planificación.&lt;br /&gt;
&lt;br /&gt;
No se ofrece un ejemplo, puesto que para un conjunto de procesos existen tantas trazas de ejecución como posible combinaciones aleatorias.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Se trata también de un criterio de planificación teórico. Si un criterio de planificación se acerca al criterio de planificación con conocimiento de futuro, entonces es que se trata de un buen planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_6__|_7__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---&amp;lt;---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_8__|_4__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_8/3|_4/1|&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, al conocer los tiempos en los que llegará cada proceso, y el tiempo de proceso, podemos buscar la forma de asignarlos de forma que, por ejemplo, consigamos la mínima penalización.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el procesa por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_7__|_6__|_8__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_7/5|_7/2|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
           problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento                        &lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_6__|_8__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo en estado preparado, sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_7__|_6__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_9__|_13_|_11_|&lt;br /&gt;
                    z(3)|_1__|_'''2/5'''|_0/4|____|____|&lt;br /&gt;
                    z(8)|_1__|_7/5|_'''5/4'''|_1/3|_2/5|&lt;br /&gt;
                   z(12)|_1__|_7/5|_9/4|_5/3|_'''6/5'''|      z = índice de penalización&lt;br /&gt;
                   z(17)|_1__|_7/5|_9/4|'''10/3'''|11/5|&lt;br /&gt;
                   z(20)|_1__|_7/5|_9/4|13/3|11/5|&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_4__|_6__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                        $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                            proceso y establecer otro según el criterio&lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---|---&amp;lt;xxx&amp;gt;---|---|---|---|---|---|---$---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
       de tiempos   _T__|_3__|_8__|_1__|_14_|_3__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_8/5|_1__|14/8|_1__|&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario. En el caso de sistemas operativos tipo Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático, después se va recalculando en base a las observaciones que realiza el planificador sobre el comportamiento de los procesos.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio estricto (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
En este criterio, todo proceso es asignado al procesador durante un tiempo establecido denominado '''quantum''', tras el cual se le retira y se asigna a otro proceso rotatoriamente. De esta manera, los procesos acceden al procesador por turnos.&lt;br /&gt;
&lt;br /&gt;
El tamaño del '''quantum''' es fundamental para determinar el comportamiento de este criterio de planificación. &lt;br /&gt;
Si el '''quantum''' empleado es pequeño, por ejemplo de 10 ms, suponiendo que la conmutación de procesos requiere 10ms, el 50% del tiempo se empleará el procesador para ejecutar el código que permite conmutar entre procesos. Sin embargo, Si el '''quantuam''' empleado es grande, por ejemplo de 5 s, la latencia será mayor, degradando la experiencia del usuario que notará como sus procesos progresan ''a saltos'', puesto que, en el peor de los casos, hasta pasados 5 s no se le asignará el procesador a otro proceso .&lt;br /&gt;
&lt;br /&gt;
Si un proceso bloquea antes de consumir su '''quantum''', como sucede con proceso cuyo comportamiento está limitado por operaciones de entrada/salida, se añade al final de la cola. Esto beneficia a los procesos cuyo comportamiento está limitado por el procesador.&lt;br /&gt;
&lt;br /&gt;
Este criterio se puede implementar con una cola, de manera que la complejidad de la selección de un proceso es O(1). Nótese que a mayor número de procesos preparados, mayor tiempo tardará un proceso en volver a pasar a estado activo.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con compensación ==&lt;br /&gt;
&lt;br /&gt;
Es una variante del anterior. Para no perjudicar a los procesos cuyo comportamiento está limitado por operaciones de entrada/salida, se reinsertan en la cola en proporción al tiempo consumido. Es decir, que si un cierto proceso ha consumido el 25% de su '''quantum''', se reinserta en el 25% de la cola, contando desde el principio.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con quantum dependiente del número de procesos ==&lt;br /&gt;
&lt;br /&gt;
Otra variante se trata de emplear un '''quantum''' proporcional al número de procesos que haya en estado preparado. De esta forma se obtiene una progresión más uniforme, y por tanto una mejor experiencia para el usuario. Sin embargo, esto aumenta el número de conmutaciones entre procesos. Para evitar la degradación del rendimiento por un exceso de conmutaciones, se establece un mínimo de manera que el quantum no puede ser menor a éste.&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=219</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=219"/>
				<updated>2011-03-15T09:01:53Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: correcciones&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente el proceso a ser asignado al procesador. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Es un criterio de planificación teórico que sirve de referencia, si se emplea un criterio de planificación que ofrece resultados peores que la planificación de procesos estocástica, entonces es que se trata de un buen criterio de planificación.&lt;br /&gt;
&lt;br /&gt;
No se ofrece un ejemplo, puesto que para un conjunto de procesos existen tantas trazas de ejecución como posible combinaciones aleatorias.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Se trata también de un criterio de planificación teórico. Si un criterio de planificación se acerca al criterio de planificación con conocimiento de futuro, entonces es que se trata de un buen planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_6__|_7__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---&amp;lt;---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_8__|_4__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_8/3|_4/1|&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, al conocer los tiempos en los que llegará cada proceso, y el tiempo de proceso, podemos buscar la forma de asignarlos de forma que, por ejemplo, consigamos la mínima penalización.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el procesa por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_7__|_6__|_8__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_7/5|_7/2|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
           problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento                        &lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_6__|_8__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo en estado preparado, sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_7__|_6__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_9__|_13_|_11_|&lt;br /&gt;
                    z(3)|_1__|_'''2/5'''|_0/4|____|____|&lt;br /&gt;
                    z(8)|_1__|_7/5|_'''5/4'''|_1/3|_2/5|&lt;br /&gt;
                   z(12)|_1__|_7/5|_9/4|_5/3|_'''6/5'''|      z = índice de penalización&lt;br /&gt;
                   z(17)|_1__|_7/5|_9/4|'''10/3'''|11/5|&lt;br /&gt;
                   z(20)|_1__|_7/5|_9/4|13/3|11/5|&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_4__|_6__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                            proceso y establecer otro según el criterio&lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---|---&amp;lt;xxx&amp;gt;---|---|---|---|---|---|---$---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
       de tiempos   _T__|_3__|_8__|_1__|_14_|_3__|&lt;br /&gt;
                    _x__|_1__|_8/5|_1__|14/8|_1__|&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario. En el caso de sistemas operativos tipo Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático, después se va recalculando en base a las observaciones que realiza el planificador sobre el comportamiento de los procesos.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio estricto (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
En este criterio, todo proceso es asignado al procesador durante un tiempo establecido denominado '''quantum''', tras el cual se le retira y se asigna a otro proceso rotatoriamente. De esta manera, los procesos acceden al procesador por turnos.&lt;br /&gt;
&lt;br /&gt;
El tamaño del '''quantum''' es fundamental para determinar el comportamiento de este criterio de planificación. &lt;br /&gt;
Si el '''quantum''' empleado es pequeño, por ejemplo de 10 ms, suponiendo que la conmutación de procesos requiere 10ms, el 50% del tiempo se empleará el procesador para ejecutar el código que permite conmutar entre procesos. Sin embargo, Si el '''quantuam''' empleado es grande, por ejemplo de 5 s, la latencia será mayor, degradando la experiencia del usuario que notará como sus procesos progresan ''a saltos'', puesto que, en el peor de los casos, hasta pasados 5 s no se le asignará el procesador a otro proceso .&lt;br /&gt;
&lt;br /&gt;
Si un proceso bloquea antes de consumir su '''quantum''', como sucede con proceso cuyo comportamiento está limitado por operaciones de entrada/salida, se añade al final de la cola. Esto beneficia a los procesos cuyo comportamiento está limitado por el procesador.&lt;br /&gt;
&lt;br /&gt;
Este criterio se puede implementar con una cola, de manera que la complejidad de la selección de un proceso es O(1). Nótese que a mayor número de procesos preparados, mayor tiempo tardará un proceso en volver a pasar a estado activo.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con compensación ==&lt;br /&gt;
&lt;br /&gt;
Es una variante del anterior. Para no perjudicar a los procesos cuyo comportamiento está limitado por operaciones de entrada/salida, se reinsertan en la cola en proporción al tiempo consumido. Es decir, que si un cierto proceso ha consumido el 25% de su '''quantum''', se reinserta en el 25% de la cola, contando desde el principio.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con quantum dependiente del número de procesos ==&lt;br /&gt;
&lt;br /&gt;
Otra variante se trata de emplear un '''quantum''' proporcional al número de procesos que haya en estado preparado. De esta forma se obtiene una progresión más uniforme, y por tanto una mejor experiencia para el usuario. Sin embargo, esto aumenta el número de conmutaciones entre procesos. Para evitar la degradación del rendimiento por un exceso de conmutaciones, se establece un mínimo de manera que el quantum no puede ser menor a éste.&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=218</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=218"/>
				<updated>2011-03-15T09:00:13Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: correcciones&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente el proceso a ser asignado al procesador. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Es un criterio de planificación teórico que sirve de referencia, si se emplea un criterio de planificación que ofrece resultados peores que la planificación de procesos estocástica, entonces es que se trata de un buen criterio de planificación.&lt;br /&gt;
&lt;br /&gt;
No se ofrece un ejemplo, puesto que para un conjunto de procesos existen tantas trazas de ejecución como posible combinaciones aleatorias.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Se trata también de un criterio de planificación teórico. Si un criterio de planificación se acerca al criterio de planificación con conocimiento de futuro, entonces es que se trata de un buen planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_6__|_7__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---&amp;lt;---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_8__|_4__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_8/3|_4/1|&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, al conocer los tiempos en los que llegará cada proceso, y el tiempo de proceso, podemos buscar la forma de asignarlos de forma que, por ejemplo, consigamos la mínima penalización.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el procesa por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_7__|_6__|_8__|        z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_7/5|_7/2|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
           problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento                        &lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_6__|_8__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo en estado preparado, sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_7__|_6__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_9__|_13_|_11_|&lt;br /&gt;
                    x(3)|_1__|_'''2/5'''|_0/4|____|____|&lt;br /&gt;
                    x(8)|_1__|_7/5|_'''5/4'''|_1/3|_2/5|&lt;br /&gt;
                   x(12)|_1__|_7/5|_9/4|_5/3|_'''6/5'''|&lt;br /&gt;
                   x(17)|_1__|_7/5|_9/4|'''10/3'''|11/5|&lt;br /&gt;
                   x(20)|_1__|_7/5|_9/4|13/3|11/5|&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_4__|_6__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                            proceso y establecer otro según el criterio&lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---|---&amp;lt;xxx&amp;gt;---|---|---|---|---|---|---$---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
       de tiempos   _T__|_3__|_8__|_1__|_14_|_3__|&lt;br /&gt;
                    _x__|_1__|_8/5|_1__|14/8|_1__|&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario. En el caso de sistemas operativos tipo Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático, después se va recalculando en base a las observaciones que realiza el planificador sobre el comportamiento de los procesos.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio estricto (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
En este criterio, todo proceso es asignado al procesador durante un tiempo establecido denominado '''quantum''', tras el cual se le retira y se asigna a otro proceso rotatoriamente. De esta manera, los procesos acceden al procesador por turnos.&lt;br /&gt;
&lt;br /&gt;
El tamaño del '''quantum''' es fundamental para determinar el comportamiento de este criterio de planificación. &lt;br /&gt;
Si el '''quantum''' empleado es pequeño, por ejemplo de 10 ms, suponiendo que la conmutación de procesos requiere 10ms, el 50% del tiempo se empleará el procesador para ejecutar el código que permite conmutar entre procesos. Sin embargo, Si el '''quantuam''' empleado es grande, por ejemplo de 5 s, la latencia será mayor, degradando la experiencia del usuario que notará como sus procesos progresan ''a saltos'', puesto que, en el peor de los casos, hasta pasados 5 s no se le asignará el procesador a otro proceso .&lt;br /&gt;
&lt;br /&gt;
Si un proceso bloquea antes de consumir su '''quantum''', como sucede con proceso cuyo comportamiento está limitado por operaciones de entrada/salida, se añade al final de la cola. Esto beneficia a los procesos cuyo comportamiento está limitado por el procesador.&lt;br /&gt;
&lt;br /&gt;
Este criterio se puede implementar con una cola, de manera que la complejidad de la selección de un proceso es O(1). Nótese que a mayor número de procesos preparados, mayor tiempo tardará un proceso en volver a pasar a estado activo.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con compensación ==&lt;br /&gt;
&lt;br /&gt;
Es una variante del anterior. Para no perjudicar a los procesos cuyo comportamiento está limitado por operaciones de entrada/salida, se reinsertan en la cola en proporción al tiempo consumido. Es decir, que si un cierto proceso ha consumido el 25% de su '''quantum''', se reinserta en el 25% de la cola, contando desde el principio.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con quantum dependiente del número de procesos ==&lt;br /&gt;
&lt;br /&gt;
Otra variante se trata de emplear un '''quantum''' proporcional al número de procesos que haya en estado preparado. De esta forma se obtiene una progresión más uniforme, y por tanto una mejor experiencia para el usuario. Sin embargo, esto aumenta el número de conmutaciones entre procesos. Para evitar la degradación del rendimiento por un exceso de conmutaciones, se establece un mínimo de manera que el quantum no puede ser menor a éste.&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=217</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=217"/>
				<updated>2011-03-15T08:57:44Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: correcciones&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente el proceso a ser asignado al procesador. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Es un criterio de planificación teórico que sirve de referencia, si se emplea un criterio de planificación que ofrece resultados peores que la planificación de procesos estocástica, entonces es que se trata de un buen criterio de planificación.&lt;br /&gt;
&lt;br /&gt;
No se ofrece un ejemplo, puesto que para un conjunto de procesos existen tantas trazas de ejecución como posible combinaciones aleatorias.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Se trata también de un criterio de planificación teórico. Si un criterio de planificación se acerca al criterio de planificación con conocimiento de futuro, entonces es que se trata de un buen planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_6__|_7__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---&amp;lt;---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_8__|_4__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_8/3|_4/1|&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, al conocer los tiempos en los que llegará cada proceso, y el tiempo de proceso, podemos buscar la forma de asignarlos de forma que, por ejemplo, consigamos la mínima penalización.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el procesa por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_7__|_6__|_8__|&lt;br /&gt;
                    _x__|_1__|_7/5|_7/2|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
           problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                       x = indica que el proceso está asignado al procesador en ese momento                        &lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_6__|_8__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo en estado preparado, sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_7__|_6__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_9__|_13_|_11_|&lt;br /&gt;
                    x(3)|_1__|_'''2/5'''|_0/4|____|____|&lt;br /&gt;
                    x(8)|_1__|_7/5|_'''5/4'''|_1/3|_2/5|&lt;br /&gt;
                   x(12)|_1__|_7/5|_9/4|_5/3|_'''6/5'''|&lt;br /&gt;
                   x(17)|_1__|_7/5|_9/4|'''10/3'''|11/5|&lt;br /&gt;
                   x(20)|_1__|_7/5|_9/4|13/3|11/5|&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_4__|_6__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                            proceso y establecer otro según el criterio&lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---|---&amp;lt;xxx&amp;gt;---|---|---|---|---|---|---$---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
       de tiempos   _T__|_3__|_8__|_1__|_14_|_3__|&lt;br /&gt;
                    _x__|_1__|_8/5|_1__|14/8|_1__|&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario. En el caso de sistemas operativos tipo Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático, después se va recalculando en base a las observaciones que realiza el planificador sobre el comportamiento de los procesos.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio estricto (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
En este criterio, todo proceso es asignado al procesador durante un tiempo establecido denominado '''quantum''', tras el cual se le retira y se asigna a otro proceso rotatoriamente. De esta manera, los procesos acceden al procesador por turnos.&lt;br /&gt;
&lt;br /&gt;
El tamaño del '''quantum''' es fundamental para determinar el comportamiento de este criterio de planificación. &lt;br /&gt;
Si el '''quantum''' empleado es pequeño, por ejemplo de 10 ms, suponiendo que la conmutación de procesos requiere 10ms, el 50% del tiempo se empleará el procesador para ejecutar el código que permite conmutar entre procesos. Sin embargo, Si el '''quantuam''' empleado es grande, por ejemplo de 5 s, la latencia será mayor, degradando la experiencia del usuario que notará como sus procesos progresan ''a saltos'', puesto que, en el peor de los casos, hasta pasados 5 s no se le asignará el procesador a otro proceso .&lt;br /&gt;
&lt;br /&gt;
Si un proceso bloquea antes de consumir su '''quantum''', como sucede con proceso cuyo comportamiento está limitado por operaciones de entrada/salida, se añade al final de la cola. Esto beneficia a los procesos cuyo comportamiento está limitado por el procesador.&lt;br /&gt;
&lt;br /&gt;
Este criterio se puede implementar con una cola, de manera que la complejidad de la selección de un proceso es O(1). Nótese que a mayor número de procesos preparados, mayor tiempo tardará un proceso en volver a pasar a estado activo.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con compensación ==&lt;br /&gt;
&lt;br /&gt;
Es una variante del anterior. Para no perjudicar a los procesos cuyo comportamiento está limitado por operaciones de entrada/salida, se reinsertan en la cola en proporción al tiempo consumido. Es decir, que si un cierto proceso ha consumido el 25% de su '''quantum''', se reinserta en el 25% de la cola, contando desde el principio.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con quantum dependiente del número de procesos ==&lt;br /&gt;
&lt;br /&gt;
Otra variante se trata de emplear un '''quantum''' proporcional al número de procesos que haya en estado preparado. De esta forma se obtiene una progresión más uniforme, y por tanto una mejor experiencia para el usuario. Sin embargo, esto aumenta el número de conmutaciones entre procesos. Para evitar la degradación del rendimiento por un exceso de conmutaciones, se establece un mínimo de manera que el quantum no puede ser menor a éste.&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=216</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=216"/>
				<updated>2011-03-15T08:52:56Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: correcciones&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente el proceso a ser asignado al procesador. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Es un criterio de planificación teórico que sirve de referencia, si se emplea un criterio de planificación que ofrece resultados peores que la planificación de procesos estocástica, entonces es que se trata de un buen criterio de planificación.&lt;br /&gt;
&lt;br /&gt;
No se ofrece un ejemplo, puesto que para un conjunto de procesos existen tantas trazas de ejecución como posible combinaciones aleatorias.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Se trata también de un criterio de planificación teórico. Si un criterio de planificación se acerca al criterio de planificación con conocimiento de futuro, entonces es que se trata de un buen planificador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_6__|_7__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                        x = indica que el proceso está asignado al procesador en ese momento&lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---&amp;lt;---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_8__|_4__|      z = índice de penalización&lt;br /&gt;
                    _z__|_1__|_9/5|_1__|_8/3|_4/1|&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, al conocer los tiempos en los que llegará cada proceso, y el tiempo de proceso, podemos buscar la forma de asignarlos de forma que, por ejemplo, consigamos la mínima penalización.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el procesa por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_7__|_6__|_8__|&lt;br /&gt;
                    _x__|_1__|_7/5|_7/2|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|&lt;br /&gt;
           problema  _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_9__|_2__|_6__|_8__|&lt;br /&gt;
                    _x__|_1__|_9/5|_1__|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo en estado preparado, sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_7__|_6__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
       de tiempos   _T__|_3__|_7__|_9__|_13_|_11_|&lt;br /&gt;
                    x(3)|_1__|_'''2/5'''|_0/4|____|____|&lt;br /&gt;
                    x(8)|_1__|_7/5|_'''5/4'''|_1/3|_2/5|&lt;br /&gt;
                   x(12)|_1__|_7/5|_9/4|_5/3|_'''6/5'''|&lt;br /&gt;
                   x(17)|_1__|_7/5|_9/4|'''10/3'''|11/5|&lt;br /&gt;
                   x(20)|_1__|_7/5|_9/4|13/3|11/5|&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
 &lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_4__|_6__|_12_|&lt;br /&gt;
            problema  _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
 &lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                            proceso y establecer otro según el criterio&lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---|---&amp;lt;xxx&amp;gt;---|---|---|---|---|---|---$---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
        Cálculos    _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
       de tiempos   _T__|_3__|_8__|_1__|_14_|_3__|&lt;br /&gt;
                    _x__|_1__|_8/5|_1__|14/8|_1__|&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario. En el caso de sistemas operativos tipo Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático, después se va recalculando en base a las observaciones que realiza el planificador sobre el comportamiento de los procesos.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio estricto (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
En este criterio, todo proceso es asignado al procesador durante un tiempo establecido denominado '''quantum''', tras el cual se le retira y se asigna a otro proceso rotatoriamente. De esta manera, los procesos acceden al procesador por turnos.&lt;br /&gt;
&lt;br /&gt;
El tamaño del '''quantum''' es fundamental para determinar el comportamiento de este criterio de planificación. &lt;br /&gt;
Si el '''quantum''' empleado es pequeño, por ejemplo de 10 ms, suponiendo que la conmutación de procesos requiere 10ms, el 50% del tiempo se empleará el procesador para ejecutar el código que permite conmutar entre procesos. Sin embargo, Si el '''quantuam''' empleado es grande, por ejemplo de 5 s, la latencia será mayor, degradando la experiencia del usuario que notará como sus procesos progresan ''a saltos'', puesto que, en el peor de los casos, hasta pasados 5 s no se le asignará el procesador a otro proceso .&lt;br /&gt;
&lt;br /&gt;
Si un proceso bloquea antes de consumir su '''quantum''', como sucede con proceso cuyo comportamiento está limitado por operaciones de entrada/salida, se añade al final de la cola. Esto beneficia a los procesos cuyo comportamiento está limitado por el procesador.&lt;br /&gt;
&lt;br /&gt;
Este criterio se puede implementar con una cola, de manera que la complejidad de la selección de un proceso es O(1). Nótese que a mayor número de procesos preparados, mayor tiempo tardará un proceso en volver a pasar a estado activo.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con compensación ==&lt;br /&gt;
&lt;br /&gt;
Es una variante del anterior. Para no perjudicar a los procesos cuyo comportamiento está limitado por operaciones de entrada/salida, se reinsertan en la cola en proporción al tiempo consumido. Es decir, que si un cierto proceso ha consumido el 25% de su '''quantum''', se reinserta en el 25% de la cola, contando desde el principio.&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio con quantum dependiente del número de procesos ==&lt;br /&gt;
&lt;br /&gt;
Otra variante se trata de emplear un '''quantum''' proporcional al número de procesos que haya en estado preparado. De esta forma se obtiene una progresión más uniforme, y por tanto una mejor experiencia para el usuario. Sin embargo, esto aumenta el número de conmutaciones entre procesos. Para evitar la degradación del rendimiento por un exceso de conmutaciones, se establece un mínimo de manera que el quantum no puede ser menor a éste.&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Usuario:Josmorgav1&amp;diff=150</id>
		<title>Usuario:Josmorgav1</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Usuario:Josmorgav1&amp;diff=150"/>
				<updated>2011-03-08T15:14:31Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;José Manuel Moreno Gavira&lt;br /&gt;
Grupo 1 Ingeniero en Informática&lt;br /&gt;
correo: seelnova@hotmail.com&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=149</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=149"/>
				<updated>2011-03-08T15:13:32Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: Introducción de ejemplo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente un procesos. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Su uso es establecer una cota inferior a la hora de diseñar un planificador: Si éste presenta peores resultados que el método estocástico, significa que estará mal diseñado.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
      -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_6__|_10_|        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|       de tiempos   _T__|_3__|_19_|_5__|_4__|_5__|&lt;br /&gt;
                                                                        _x__|_1__|19/5|_5/4|_4/3|_1__|&lt;br /&gt;
&lt;br /&gt;
Como podemos observar, este método puede provocar grandes retrasos en algunos procesos debido a su carácter aleatorio.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Representa una cota superior, es decir, mientras un planificador tenga un comportamiento más parecido a este método, mejor diseñado estará.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---&amp;lt;---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
      -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_6__|_7__|        Cálculos    _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_3__|_1__|       de tiempos   _T__|_3__|_9__|_2__|_8__|_4__|&lt;br /&gt;
                                                                        _x__|_1__|_9/5|_1__|_8/3|_4/1|&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, al conocer los tiempos en los que llegará cada proceso, y el tiempo de proceso, podemos buscar la forma de asignarlos de forma que, por ejemplo, consigamos la mínima penalización.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el procesa por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
      -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_5__|_5__|       de tiempos   _T__|_3__|_7__|_7__|_6__|_8__|&lt;br /&gt;
                                                                        _x__|_1__|_7/5|_7/2|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
     -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
           problema  _t__|_3__|_5__|_2__|_5__|_5__|       de tiempos   _T__|_3__|_9__|_2__|_6__|_8__|&lt;br /&gt;
                                                                       _x__|_1__|_9/5|_1__|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo en estado preparado, sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
      -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_7__|_6__|        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|       de tiempos   _T__|_3__|_7__|_9__|_13_|_11_|&lt;br /&gt;
                                                                        x(3)|_1__|_'''2/5'''|_0/4|____|____|&lt;br /&gt;
                                                                        x(8)|_1__|_7/5|_'''5/4'''|_1/3|_2/5|&lt;br /&gt;
                                                                       x(12)|_1__|_7/5|_9/4|_5/3|_'''6/5'''|&lt;br /&gt;
                                                                       x(17)|_1__|_7/5|_9/4|'''10/3'''|11/5|&lt;br /&gt;
                                                                       x(20)|_1__|_7/5|_9/4|13/3|11/5|&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
                        $ = indica la ejecución del planificador para retirar un&lt;br /&gt;
                            proceso y establecer otro según el criterio&lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---$---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---|---&amp;lt;xxx&amp;gt;---|---|---|---|---|---|---$---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
      -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_4__|_6__|_12_|        Cálculos    _t__|_3__|_5__|_1__|_8__|_3__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_1__|_8__|_3__|       de tiempos   _T__|_3__|_8__|_1__|_14_|_3__|&lt;br /&gt;
                                                                        _x__|_1__|_8/5|_1__|14/8|_1__|&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario.&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático.&lt;br /&gt;
&lt;br /&gt;
En el caso de Linux, como sucede con otros sistemas tipo-Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=148</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=148"/>
				<updated>2011-03-08T14:53:40Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: Introducción de ejemplo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente un procesos. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Su uso es establecer una cota inferior a la hora de diseñar un planificador: Si éste presenta peores resultados que el método estocástico, significa que estará mal diseñado.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
      -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_6__|_10_|        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|       de tiempos   _T__|_3__|_19_|_5__|_4__|_5__|&lt;br /&gt;
                                                                        _x__|_1__|19/5|_5/4|_4/3|_1__|&lt;br /&gt;
&lt;br /&gt;
Como podemos observar, este método puede provocar grandes retrasos en algunos procesos debido a su carácter aleatorio.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Representa una cota superior, es decir, mientras un planificador tenga un comportamiento más parecido a este método, mejor diseñado estará.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---&amp;lt;---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
      -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_6__|_7__|        Cálculos    _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_3__|_1__|       de tiempos   _T__|_3__|_9__|_2__|_8__|_4__|&lt;br /&gt;
                                                                        _x__|_1__|_9/5|_1__|_8/3|_4/1|&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, al conocer los tiempos en los que llegará cada proceso, y el tiempo de proceso, podemos buscar la forma de asignarlos de forma que, por ejemplo, consigamos la mínima penalización.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el procesa por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
      -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_5__|_5__|       de tiempos   _T__|_3__|_7__|_7__|_6__|_8__|&lt;br /&gt;
                                                                        _x__|_1__|_7/5|_7/2|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
     -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
           problema  _t__|_3__|_5__|_2__|_5__|_5__|       de tiempos   _T__|_3__|_9__|_2__|_6__|_8__|&lt;br /&gt;
                                                                       _x__|_1__|_9/5|_1__|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo en estado preparado, sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pe  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
      -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_7__|_6__|        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|       de tiempos   _T__|_3__|_7__|_9__|_13_|_11_|&lt;br /&gt;
                                                                        x(3)|_1__|_'''2/5'''|_0/4|____|____|&lt;br /&gt;
                                                                        x(8)|_1__|_7/5|_'''5/4'''|_1/3|_2/5|&lt;br /&gt;
                                                                       x(12)|_1__|_7/5|_9/4|_5/3|_'''6/5'''|&lt;br /&gt;
                                                                       x(17)|_1__|_7/5|_9/4|'''10/3'''|11/5|&lt;br /&gt;
                                                                       x(20)|_1__|_7/5|_9/4|13/3|11/5|&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador.&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario.&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático.&lt;br /&gt;
&lt;br /&gt;
En el caso de Linux, como sucede con otros sistemas tipo-Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=147</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=147"/>
				<updated>2011-03-08T14:16:37Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: Introducción de ejemplo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente un procesos. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Su uso es establecer una cota inferior a la hora de diseñar un planificador: Si éste presenta peores resultados que el método estocástico, significa que estará mal diseñado.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
      -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_6__|_10_|        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|       de tiempos   _T__|_3__|_19_|_5__|_4__|_5__|&lt;br /&gt;
                                                                        _x__|_1__|19/5|_5/4|_4/3|_1__|&lt;br /&gt;
&lt;br /&gt;
Como podemos observar, este método puede provocar grandes retrasos en algunos procesos debido a su carácter aleatorio.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Representa una cota superior, es decir, mientras un planificador tenga un comportamiento más parecido a este método, mejor diseñado estará.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---&amp;lt;---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
      -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_6__|_7__|        Cálculos    _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_3__|_1__|       de tiempos   _T__|_3__|_9__|_2__|_8__|_4__|&lt;br /&gt;
                                                                        _x__|_1__|_9/5|_1__|_8/3|_4/1|&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, al conocer los tiempos en los que llegará cada proceso, y el tiempo de proceso, podemos buscar la forma de asignarlos de forma que, por ejemplo, consigamos la mínima penalización.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el procesa por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
      -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_5__|_5__|       de tiempos   _T__|_3__|_7__|_7__|_6__|_8__|&lt;br /&gt;
                                                                        _x__|_1__|_7/5|_7/2|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
    Ejemplo:&lt;br /&gt;
                       &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                       &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                   |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
              -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
     -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                     ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
           problema  _t__|_3__|_5__|_2__|_5__|_5__|       de tiempos   _T__|_3__|_9__|_2__|_6__|_8__|&lt;br /&gt;
                                                                       _x__|_1__|_9/5|_1__|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor.&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador.&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario.&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático.&lt;br /&gt;
&lt;br /&gt;
En el caso de Linux, como sucede con otros sistemas tipo-Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=146</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=146"/>
				<updated>2011-03-08T13:47:24Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: Añadir ejemplo FIFO&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente un procesos. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Su uso es establecer una cota inferior a la hora de diseñar un planificador: Si éste presenta peores resultados que el método estocástico, significa que estará mal diseñado.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
      -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_6__|_10_|        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|       de tiempos   _T__|_3__|_19_|_5__|_4__|_5__|&lt;br /&gt;
                                                                        _x__|_1__|19/5|_5/4|_4/3|_1__|&lt;br /&gt;
&lt;br /&gt;
Como podemos observar, este método puede provocar grandes retrasos en algunos procesos debido a su carácter aleatorio.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Representa una cota superior, es decir, mientras un planificador tenga un comportamiento más parecido a este método, mejor diseñado estará.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---&amp;lt;---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
      -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_6__|_7__|        Cálculos    _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_3__|_1__|       de tiempos   _T__|_3__|_9__|_2__|_8__|_4__|&lt;br /&gt;
                                                                        _x__|_1__|_9/5|_1__|_8/3|_4/1|&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, al conocer los tiempos en los que llegará cada proceso, y el tiempo de proceso, podemos buscar la forma de asignarlos de forma que, por ejemplo, consigamos la mínima penalización.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el procesa por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;---|---|---|---|---|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---|---|---&amp;lt;---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
      -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_9__|_12_|        Cálculos    _t__|_3__|_5__|_2__|_5__|_5__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_5__|_5__|       de tiempos   _T__|_3__|_7__|_7__|_6__|_8__|&lt;br /&gt;
                                                                        _x__|_1__|_7/5|_7/2|_6/5|_8/5|&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor.&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador.&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario.&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático.&lt;br /&gt;
&lt;br /&gt;
En el caso de Linux, como sucede con otros sistemas tipo-Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=145</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=145"/>
				<updated>2011-03-08T13:14:32Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: Corrección de las tablas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente un procesos. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Su uso es establecer una cota inferior a la hora de diseñar un planificador: Si éste presenta peores resultados que el método estocástico, significa que estará mal diseñado.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
      -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_6__|_10_|        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|       de tiempos   _T__|_3__|_19_|_5__|_4__|_5__|&lt;br /&gt;
                                                                        _x__|_1__|19/5|_5/4|_4/3|_1__|&lt;br /&gt;
&lt;br /&gt;
Como podemos observar, este método puede provocar grandes retrasos en algunos procesos debido a su carácter aleatorio.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Representa una cota superior, es decir, mientras un planificador tenga un comportamiento más parecido a este método, mejor diseñado estará.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---&amp;lt;---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
      -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_3__|_6__|_7__|        Cálculos    _t__|_3__|_5__|_2__|_3__|_1__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_3__|_1__|       de tiempos   _T__|_3__|_9__|_2__|_8__|_4__|&lt;br /&gt;
                                                                        _x__|_1__|_9/5|_1__|_8/3|_4/1|&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, al conocer los tiempos en los que llegará cada proceso, y el tiempo de proceso, podemos buscar la forma de asignarlos de forma que, por ejemplo, consigamos la mínima penalización.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el procesa por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor.&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador.&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario.&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático.&lt;br /&gt;
&lt;br /&gt;
En el caso de Linux, como sucede con otros sistemas tipo-Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=144</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=144"/>
				<updated>2011-03-08T10:59:22Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: /* Con conocimiento del futuro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente un procesos. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Su uso es establecer una cota inferior a la hora de diseñar un planificador: Si éste presenta peores resultados que el método estocástico, significa que estará mal diseñado.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
      -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_6__|_10_|        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|       de tiempos   _T__|_3__|_19_|_5__|_4__|_5__|&lt;br /&gt;
                                                                        _x__|_1__|19/5|_5/4|_4/3|_1__|&lt;br /&gt;
&lt;br /&gt;
Como podemos observar, este método puede provocar grandes retrasos en algunos procesos debido a su carácter aleatorio.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Representa una cota superior, es decir, mientras un planificador tenga un comportamiento más parecido a este método, mejor diseñado estará.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|---|---|---|---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---&amp;lt;---|---|---|xxx&amp;gt;---|---|---|---|---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
      -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_6__|_7__|        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_2__|_5__|_1__|       de tiempos   _T__|_3__|_19_|_5__|_4__|_5__|&lt;br /&gt;
                                                                        _x__|_1__|19/5|_5/4|_4/3|_1__|&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, al conocer los tiempos en los que llegará cada proceso, y el tiempo de proceso, podemos buscar la forma de asignarlos de forma que, por ejemplo, consigamos la mínima penalización.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el procesa por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor.&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador.&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario.&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático.&lt;br /&gt;
&lt;br /&gt;
En el caso de Linux, como sucede con otros sistemas tipo-Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=143</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=143"/>
				<updated>2011-03-08T10:48:08Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: /* Estocástico */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente un procesos. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Su uso es establecer una cota inferior a la hora de diseñar un planificador: Si éste presenta peores resultados que el método estocástico, significa que estará mal diseñado.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso                                                                       &lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
      -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_6__|_10_|        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|       de tiempos   _T__|_3__|_19_|_5__|_4__|_5__|&lt;br /&gt;
                                                                        _x__|_1__|19/5|_5/4|_4/3|_1__|&lt;br /&gt;
&lt;br /&gt;
Como podemos observar, este método puede provocar grandes retrasos en algunos procesos debido a su carácter aleatorio.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Representa una cota superior, es decir, mientras un planificador tenga un comportamiento más parecido a este método, mejor diseñado estará.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el procesa por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor.&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador.&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario.&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático.&lt;br /&gt;
&lt;br /&gt;
En el caso de Linux, como sucede con otros sistemas tipo-Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=142</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=142"/>
				<updated>2011-03-08T10:46:05Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: /* Estocástico */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente un procesos. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Su uso es establecer una cota inferior a la hora de diseñar un planificador: Si éste presenta peores resultados que el método estocástico, significa que estará mal diseñado.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
&lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
               -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_6__|_10_|        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|       de tiempos   _T__|_3__|_19_|_5__|_4__|_5__|&lt;br /&gt;
                                                                        _x__|_1__|19/5|_5/4|_4/3|_1__|&lt;br /&gt;
&lt;br /&gt;
Como podemos observar, este método puede provocar grandes retrasos en algunos procesos debido a su carácter aleatorio.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Representa una cota superior, es decir, mientras un planificador tenga un comportamiento más parecido a este método, mejor diseñado estará.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el procesa por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor.&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador.&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario.&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático.&lt;br /&gt;
&lt;br /&gt;
En el caso de Linux, como sucede con otros sistemas tipo-Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=141</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=141"/>
				<updated>2011-03-08T10:43:52Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: /* Estocástico */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente un procesos. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Su uso es establecer una cota inferior a la hora de diseñar un planificador: Si éste presenta peores resultados que el método estocástico, significa que estará mal diseñado.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
&lt;br /&gt;
                    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pa  &amp;lt;xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pb  |---&amp;lt;---|---|---|---|---|---|---|---|---|---|---|---|---|---|xxx|xxx|xxx|xxx|xxx&amp;gt;&lt;br /&gt;
                Pc  |---|---|---&amp;lt;xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pd  |---|---|---|---|---|---&amp;lt;---|xxx|xxx|xxx&amp;gt;---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
                Pe  |---|---|---|---|---|---|---|---|---|---&amp;lt;xxx|xxx|xxx|xxx|xxx&amp;gt;---|---|---|---|---|&lt;br /&gt;
                 ___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___&lt;br /&gt;
                    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   t--&amp;gt;&lt;br /&gt;
                    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|                    ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|&lt;br /&gt;
           Datos del  _H0_|_0__|_1__|_2__|_6__|_10_|        Cálculos    _t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
            problema  _t__|_3__|_5__|_4__|_3__|_5__|       de tiempos   _T__|_3__|_19_|_5__|_4__|_5__|&lt;br /&gt;
                                                                        _x__|_1__|19/5|_5/4|_4/3|_1__|&lt;br /&gt;
&lt;br /&gt;
Como podemos observar, este método puede provocar grandes retrasos en algunos procesos debido a su carácter aleatorio.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Representa una cota superior, es decir, mientras un planificador tenga un comportamiento más parecido a este método, mejor diseñado estará.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el procesa por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor.&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador.&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario.&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático.&lt;br /&gt;
&lt;br /&gt;
En el caso de Linux, como sucede con otros sistemas tipo-Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=140</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=140"/>
				<updated>2011-03-08T10:34:47Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: /* Estocástico */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente un procesos. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Su uso es establecer una cota inferior a la hora de diseñar un planificador: Si éste presenta peores resultados que el método estocástico, significa que estará mal diseñado.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
          	    |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
		Pa  &amp;lt;xxx|xxx|xxx&amp;gt;   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
		Pb  |   &amp;lt;   |   |   |   |   |   |   |   |   |   |   |   |   |   |---|---|---|---|---&amp;gt;&lt;br /&gt;
		Pc  |   |   &amp;lt;   |---|---|---|---&amp;gt;   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
		Pd  |   |   |   |   |   |   &amp;lt;   |---|---|---&amp;gt;   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
		Pe  |   |   |   |   |   |   |   |   |   |   &amp;lt;---|---|---|---|---&amp;gt;   |   |   |   |   |&lt;br /&gt;
		 ___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___&lt;br /&gt;
		    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   t--&amp;gt;&lt;br /&gt;
		    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|			____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|			&lt;br /&gt;
	   Datos del  _H0_|_0__|_1__|_2__|_6__|_10_|	    Cálculos	_t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
	   problema   _t__|_3__|_5__|_4__|_3__|_5__|	   de tiempos	_T__|_3__|_19_|_5__|_4__|_5__|&lt;br /&gt;
									_x__|_1__|19/5|_5/4|_4/3|_1__|&lt;br /&gt;
&lt;br /&gt;
Como podemos observar, este método puede provocar grandes retrasos en algunos procesos debido a su carácter aleatorio.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Representa una cota superior, es decir, mientras un planificador tenga un comportamiento más parecido a este método, mejor diseñado estará.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el procesa por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor.&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador.&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario.&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático.&lt;br /&gt;
&lt;br /&gt;
En el caso de Linux, como sucede con otros sistemas tipo-Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=139</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=139"/>
				<updated>2011-03-08T10:33:35Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: /* Estocástico */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente un procesos. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Su uso es establecer una cota inferior a la hora de diseñar un planificador: Si éste presenta peores resultados que el método estocástico, significa que estará mal diseñado.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;	    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
		Pa  &amp;lt;---|---|---&amp;gt;   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
		Pb  |   &amp;lt;   |   |   |   |   |   |   |   |   |   |   |   |   |   |---|---|---|---|---&amp;gt;&lt;br /&gt;
		Pc  |   |   &amp;lt;   |---|---|---|---&amp;gt;   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
		Pd  |   |   |   |   |   |   &amp;lt;   |---|---|---&amp;gt;   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
		Pe  |   |   |   |   |   |   |   |   |   |   &amp;lt;---|---|---|---|---&amp;gt;   |   |   |   |   |&lt;br /&gt;
		 ___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___&lt;br /&gt;
		    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   t--&amp;gt;&lt;br /&gt;
		    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|			____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|			&lt;br /&gt;
	   Datos del  _H0_|_0__|_1__|_2__|_6__|_10_|	    Cálculos	_t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
	   problema   _t__|_3__|_5__|_4__|_3__|_5__|	   de tiempos	_T__|_3__|_19_|_5__|_4__|_5__|&lt;br /&gt;
									_x__|_1__|19/5|_5/4|_4/3|_1__|&lt;br /&gt;
&lt;br /&gt;
Como podemos observar, este método puede provocar grandes retrasos en algunos procesos debido a su carácter aleatorio.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Representa una cota superior, es decir, mientras un planificador tenga un comportamiento más parecido a este método, mejor diseñado estará.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el procesa por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor.&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador.&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario.&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático.&lt;br /&gt;
&lt;br /&gt;
En el caso de Linux, como sucede con otros sistemas tipo-Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=138</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=138"/>
				<updated>2011-03-08T10:32:38Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: /* Estocástico */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente un procesos. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Su uso es establecer una cota inferior a la hora de diseñar un planificador: Si éste presenta peores resultados que el método estocástico, significa que estará mal diseñado.&lt;br /&gt;
&lt;br /&gt;
     Ejemplo:&lt;br /&gt;
                        &amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
                        &amp;gt; = indica la finalización del proceso&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
		Pa  &amp;lt;---|---|---&amp;gt;   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
		Pb  |   &amp;lt;   |   |   |   |   |   |   |   |   |   |   |   |   |   |---|---|---|---|---&amp;gt;&lt;br /&gt;
		Pc  |   |   &amp;lt;   |---|---|---|---&amp;gt;   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
		Pd  |   |   |   |   |   |   &amp;lt;   |---|---|---&amp;gt;   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
		Pe  |   |   |   |   |   |   |   |   |   |   &amp;lt;---|---|---|---|---&amp;gt;   |   |   |   |   |&lt;br /&gt;
		 ___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___&lt;br /&gt;
		    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   t--&amp;gt;&lt;br /&gt;
		    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|			____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|			&lt;br /&gt;
	   Datos del  _H0_|_0__|_1__|_2__|_6__|_10_|	    Cálculos	_t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
	   problema   _t__|_3__|_5__|_4__|_3__|_5__|	   de tiempos	_T__|_3__|_19_|_5__|_4__|_5__|&lt;br /&gt;
									_x__|_1__|19/5|_5/4|_4/3|_1__|&lt;br /&gt;
&lt;br /&gt;
Como podemos observar, este método puede provocar grandes retrasos en algunos procesos debido a su carácter aleatorio.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Representa una cota superior, es decir, mientras un planificador tenga un comportamiento más parecido a este método, mejor diseñado estará.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el procesa por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor.&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador.&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario.&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático.&lt;br /&gt;
&lt;br /&gt;
En el caso de Linux, como sucede con otros sistemas tipo-Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=137</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=137"/>
				<updated>2011-03-08T10:31:24Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: /* Estocástico */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente un procesos. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Su uso es establecer una cota inferior a la hora de diseñar un planificador: Si éste presenta peores resultados que el método estocástico, significa que estará mal diseñado.&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
      Ejemplo:&lt;br /&gt;
			&amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
			&amp;gt; = indica la finalización del proceso&lt;br /&gt;
&lt;br /&gt;
		    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
		Pa  &amp;lt;---|---|---&amp;gt;   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
		Pb  |   &amp;lt;   |   |   |   |   |   |   |   |   |   |   |   |   |   |---|---|---|---|---&amp;gt;&lt;br /&gt;
		Pc  |   |   &amp;lt;   |---|---|---|---&amp;gt;   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
		Pd  |   |   |   |   |   |   &amp;lt;   |---|---|---&amp;gt;   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
		Pe  |   |   |   |   |   |   |   |   |   |   &amp;lt;---|---|---|---|---&amp;gt;   |   |   |   |   |&lt;br /&gt;
		 ___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___&lt;br /&gt;
		    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   t--&amp;gt;&lt;br /&gt;
		    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|			____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|			&lt;br /&gt;
	   Datos del  _H0_|_0__|_1__|_2__|_6__|_10_|	    Cálculos	_t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
	   problema   _t__|_3__|_5__|_4__|_3__|_5__|	   de tiempos	_T__|_3__|_19_|_5__|_4__|_5__|&lt;br /&gt;
									_x__|_1__|19/5|_5/4|_4/3|_1__|&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Como podemos observar, este método puede provocar grandes retrasos en algunos procesos debido a su carácter aleatorio.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Representa una cota superior, es decir, mientras un planificador tenga un comportamiento más parecido a este método, mejor diseñado estará.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el procesa por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor.&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador.&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario.&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático.&lt;br /&gt;
&lt;br /&gt;
En el caso de Linux, como sucede con otros sistemas tipo-Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=136</id>
		<title>Criterios de planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_planificaci%C3%B3n&amp;diff=136"/>
				<updated>2011-03-08T10:30:10Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: /* Estocástico */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Métodos no apropiativos =&lt;br /&gt;
&lt;br /&gt;
El procesador es asignado al proceso hasta fin de ejecución. Suele darse en sistemas operativos monoprogramables y sistemas de tiempo real.&lt;br /&gt;
&lt;br /&gt;
== Estocástico ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona aleatoriamente un procesos. No cumple varios [[Planificación de procesos#Aspectos para diseñar un buen planificador|aspectos de diseño de un buen planificador]], como repetitibilidad o predecibilidad. Su uso es establecer una cota inferior a la hora de diseñar un planificador: Si éste presenta peores resultados que el método estocástico, significa que estará mal diseñado.&lt;br /&gt;
&lt;br /&gt;
      Ejemplo:&lt;br /&gt;
			&amp;lt; = indica que el proceso se encuentra en modo preparado&lt;br /&gt;
			&amp;gt; = indica la finalización del proceso&lt;br /&gt;
&lt;br /&gt;
		    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
		Pa  &amp;lt;---|---|---&amp;gt;   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
		Pb  |   &amp;lt;   |   |   |   |   |   |   |   |   |   |   |   |   |   |---|---|---|---|---&amp;gt;&lt;br /&gt;
		Pc  |   |   &amp;lt;   |---|---|---|---&amp;gt;   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
		Pd  |   |   |   |   |   |   &amp;lt;   |---|---|---&amp;gt;   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
		Pe  |   |   |   |   |   |   |   |   |   |   &amp;lt;---|---|---|---|---&amp;gt;   |   |   |   |   |&lt;br /&gt;
		 ___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___&lt;br /&gt;
		    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   t--&amp;gt;&lt;br /&gt;
		    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
&lt;br /&gt;
                      ____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|			____|_Pa_|_Pb_|_Pc_|_Pd_|_Pe_|			&lt;br /&gt;
	   Datos del  _H0_|_0__|_1__|_2__|_6__|_10_|	    Cálculos	_t__|_3__|_5__|_4__|_3__|_5__|&lt;br /&gt;
	   problema   _t__|_3__|_5__|_4__|_3__|_5__|	   de tiempos	_T__|_3__|_19_|_5__|_4__|_5__|&lt;br /&gt;
									_x__|_1__|19/5|_5/4|_4/3|_1__|&lt;br /&gt;
&lt;br /&gt;
Como podemos observar, este método puede provocar grandes retrasos en algunos procesos debido a su carácter aleatorio.&lt;br /&gt;
&lt;br /&gt;
== Con conocimiento del futuro ==&lt;br /&gt;
&lt;br /&gt;
En base al conocimiento del futuro se asignan los procesos. Representa una cota superior, es decir, mientras un planificador tenga un comportamiento más parecido a este método, mejor diseñado estará.&lt;br /&gt;
&lt;br /&gt;
== Por orden de llegada (First In, First Out: FIFO) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el procesa por orden de lanzamiento. Su principales ventajas son su facilidad de implementación, y su orden de complejidad, O(1). Su desventaja es que los procesos de corta duración presentarán un alto índice de penalización.&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Para procesos largos puede presentar un índice de penalización elevado: Si se tienen muchos procesos cortos, el de mayor duración puede quedar en espera indefinidamente. Su orden de complejidad es O(n).&lt;br /&gt;
&lt;br /&gt;
== Basado en índice de penalización ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que lleva más tiempo sin estar en estado activo. Estima los índices de penalización y elige el de mayor valor.&lt;br /&gt;
&lt;br /&gt;
= Métodos apropiativos =&lt;br /&gt;
&lt;br /&gt;
El planificador puede retirar el procesador en cualquier momento al proceso activo. Suele darse en sistemas operativos [[Multiprogramación|multiprogramables]].&lt;br /&gt;
&lt;br /&gt;
== El siguiente, el más corto (Shortest Job First: SJF) ==&lt;br /&gt;
&lt;br /&gt;
Se selecciona el proceso que requiera menos tiempo de ejecución. Si hay un proceso en estado preparado que requiere menos tiempo de ejecución, se le asigna el procesador.&lt;br /&gt;
&lt;br /&gt;
== Por prioridades ==&lt;br /&gt;
&lt;br /&gt;
Se establecen índices de prioridad a cada proceso:&lt;br /&gt;
&lt;br /&gt;
* Índice estático: Establecido por el usuario.&lt;br /&gt;
* Índice dinámico: Establecido por el planificador, inicialmente basado en el índice estático.&lt;br /&gt;
&lt;br /&gt;
En el caso de Linux, como sucede con otros sistemas tipo-Unix, se dispone de una índice denominado ''nice value'' cuyos valores están entre -20 (máxima prioridad) y 19 (mínima prioridad).&lt;br /&gt;
&lt;br /&gt;
== Turno rotatorio (Round Robin: RR) ==&lt;br /&gt;
&lt;br /&gt;
== Colas multinivel ==&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Usuario:Josmorgav1&amp;diff=135</id>
		<title>Usuario:Josmorgav1</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Usuario:Josmorgav1&amp;diff=135"/>
				<updated>2011-03-08T10:01:52Z</updated>
		
		<summary type="html">&lt;p&gt;Josmorgav1: Página nueva: José Manuel Moreno Gavira Grupo 1 Ingeniero en Informática&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;José Manuel Moreno Gavira&lt;br /&gt;
Grupo 1 Ingeniero en Informática&lt;/div&gt;</summary>
		<author><name>Josmorgav1</name></author>	</entry>

	</feed>