<?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=Lorperler</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=Lorperler"/>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php/Especial:Contribuciones/Lorperler"/>
		<updated>2026-05-07T13:43:26Z</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_1_memoria_virtual&amp;diff=3015</id>
		<title>Solución ejercicio 1 memoria virtual</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_ejercicio_1_memoria_virtual&amp;diff=3015"/>
				<updated>2014-12-15T22:30:09Z</updated>
		
		<summary type="html">&lt;p&gt;Lorperler: /* NRU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= FIFO =&lt;br /&gt;
                                          accesos a páginas&lt;br /&gt;
                 -------------------------------------------------------------------------&lt;br /&gt;
                 |  1  |  1  |  1  |  2  |  3  |  4  |  5  |  3  |  1  |  2  |  3  |  4  |&lt;br /&gt;
         ---------------------------------------------------------------------------------&lt;br /&gt;
         |   1   |  1  |  =  |  =  |  =  |  =  |  =  |  5  |  =  |  =  |  =  |  =  |  4  |&lt;br /&gt;
         ---------------------------------------------------------------------------------&lt;br /&gt;
 marcos  |   2   |     |     |     |  2  |  =  |  =  |  =  |  =  |  1  |  =  |  =  |  =  |&lt;br /&gt;
         --------------------------------------------------------------------------------&lt;br /&gt;
         |   3   |     |     |     |     |  3  |  =  |  =  |  =  |  =  |  2  |  =  |  =  |&lt;br /&gt;
         ---------------------------------------------------------------------------------&lt;br /&gt;
         |   4   |     |     |     |     |     |  4  |  =  |  =  |  =  |  =  |  3  |  =  |&lt;br /&gt;
         ---------------------------------------------------------------------------------&lt;br /&gt;
 fallo           |  X  |     |     |  X  |  X  |  X  |  X  |     |  X  |  X  |  X  |  X  |&lt;br /&gt;
 página          -------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
                                               tiempo -&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                                9&lt;br /&gt;
 talla de fallos de página =  ------ = 0.75&lt;br /&gt;
                                12&lt;br /&gt;
&lt;br /&gt;
= NRU =&lt;br /&gt;
&lt;br /&gt;
En caso de empate, se emplea LRU.&lt;br /&gt;
                                          accesos a páginas&lt;br /&gt;
 &lt;br /&gt;
                 |   r   |   r   |   w   |   r   |   r   |   r   |   r   |   w   |   w   |   w   |   r   |   r   |&lt;br /&gt;
                 -------------------------------------------------------------------------------------------------&lt;br /&gt;
                 |   1   |   1   |   1   |   2   |   3   |   4   |   5   |   3   |   1   |   2   |   3   |   4   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   1   |   1   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         | R | M | 1 | 0 | = | = | 1 | 1 | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
 marcos  |   2   |       |       |       |   2   |   =   |   =   |   5   |   =   |   =   |   =   |   =   |   4   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         | R | M |   |   |   |   |   |   | 1 | 0 | = | = | = | = | 1 | 0 | = | = | = | = | = | = | = | = | 1 | 0 |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   3   |       |       |       |       |   3   |   =   |   =   |   3   |   =   |   =   |   =   |   =   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         | R | M |   |   |   |   |   |   |   |   | 1 | 0 | = | = | = | = | 1 | 1 | = | = | = | = | = | = | = | = |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   4   |       |       |       |       |       |   4   |   =   |   =   |   =   |   2   |   =   |   =   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         | R | M |   |   |   |   |   |   |   |   |   |   | 1 | 0 | = | = | = | = | = | = | 1 | 1 | = | = | = | = |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
 fallo           |   X   |       |       |   X   |   X   |   X   |   X   |       |       |   X   |       |   X   |&lt;br /&gt;
 página          -------------------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
                                               tiempo -&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
                                 7&lt;br /&gt;
 talla de fallos de página =  ------ = 0.583&lt;br /&gt;
                                12&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:juacascor|juacascor]] '''DUDA''': Creo que hay un error en el paso 10 cuando cargamos la pagina 2, en el criterio NRU comenzamos por el primer marco y buscamos la pagina victima, en este caso creo que seria la pagina 5 que esta cargada en el marco 2 y tienen R=1, M=0 no la pagina 4 como pone en el ejercicio.&lt;br /&gt;
--[[Usuario:lorperler|lorperler]] Respuesta: No, es un empate. Por lo que aplicamos el criterio LRU entre 4 y 5, y 4 es la que lleva más tiempo sin usarse.&lt;br /&gt;
&lt;br /&gt;
= NRU con 2º oportunidad =&lt;br /&gt;
&lt;br /&gt;
                                              accesos a páginas&lt;br /&gt;
 &lt;br /&gt;
                 |   r   |   r   |   w   |   r   |   r   |   r   |   r   |   w   |   w   |   w   |   r   |   r   |&lt;br /&gt;
                 -------------------------------------------------------------------------------------------------&lt;br /&gt;
                 |   1   |   1   |   1   |   2   |   3   |   4   |   5   |   3   |   1   |   2   |   3   |   4   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   1   |   1   |   =   |   =   |   =   |   =   |   =   |   5   |   =   |   =   |   =   |   =   |   4   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         |   R   |   1   |   =   |   =   |   =   |   =   |   =   |   1   |   =   |   =   |   =   |   =   |   1   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
 marcos  |   2   |       |       |       |   2   |   =   |   =   |   2   |   =   |   1   |   =   |   =   |   1   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         |   R   |       |       |       |   1   |   =   |   =   |   0   |   =   |   1   |   =   |   =   |   0   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   3   |       |       |       |       |   3   |   =   |   3   |   3   |   =   |   3   |   3   |   3   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         |   R   |       |       |       |       |   1   |   =   |   0   |   1   |   =   |   0   |   1   |   0   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   4   |       |       |       |       |       |   4   |   4   |   =   |   =   |   2   |   =   |   2   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         |   R   |       |       |       |       |       |   1   |   0   |   =   |   =   |   1   |   =   |   0   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
 fallo           |   X   |       |       |   X   |   X   |   X   |   X   |       |   X   |   X   |       |   X   |&lt;br /&gt;
 página          -------------------------------------------------------------------------------------------------&lt;br /&gt;
 contenido       |   1   |   1   |   1   |  1-2  | 1-2-3 |1-2-3-4|2-3-4-5|2-3-4-5|3-4-5-1|5-1-3-2|5-1-3-2|1-3-2-4|&lt;br /&gt;
 de la cola      -------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
                                               tiempo -&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
                                 8&lt;br /&gt;
 talla de fallos de página =  ------ &lt;br /&gt;
                                12&lt;br /&gt;
&lt;br /&gt;
 Creo que es asi, pero no me lo tomeis a pies juntillas que no estoy muy seguro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por favor que alguien explique bien este criterio, que en cada ejercicio se aplica de una forma diferente.Gracias&lt;br /&gt;
&lt;br /&gt;
Explicación:&lt;br /&gt;
&lt;br /&gt;
El criterio se basa en combinar el NRU (sin bit M) con FIFO. En la cola se van añadiendo las páginas según se cargan con su respectivo valor del bit R. A la hora de sustituir se mira el candidato de la cabecera de la cola. Si su R=1, se le da una segunda oportunidad desplazándolo al final de la cola y poniendo su bit R=0. Si hubiera tenido el R=0, se hubiera tomada esa página como víctima. Eso es lo que sucede cuando llega la página 5. En ese momento la cola es 1 2 3 4 con su bit R=1 en todas las páginas. Se va mirando el candidato si tiene el bit R=0 como no es así, pasa al final de la cola. Llega un momento en el que la página 1 vuelve a la cabecera(en este caso con R=0),por lo que ahora si es sustituida por la página 5.[[Usuario:Jherrera|Jherrera]]&lt;br /&gt;
&lt;br /&gt;
Una Dudilla : la FIFO es por orden de carga o por orden de acceso?¿ Según veo en el ejercicio lo hace por orden de acceso --[[Usuario:DvS 013|DvS 013]]&lt;br /&gt;
--&lt;br /&gt;
Respuesta : La fifo almacena el tiempo que una página lleva cargada en memoria, por lo que es por orden de carga. [[Usuario : JCGarrido|JCGarrido]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
He puesto el orden de la cola para que se vea más claro. Cuando el candidato tiene R=1 se pone a 0 y se inserta al final. Es por eso que cuando se accede por última vez a la página 2, al estar 3 la primera, se pone su bit R a 0 se inserta al final (no estaba en la solución anterior) y la siguiente (4, con R=0) es la página víctima.--[[Usuario:Alexrdp|Alexrdp]] 09:37 14 jun 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
Entonces, sería asi:&lt;br /&gt;
&lt;br /&gt;
                                              accesos a páginas&lt;br /&gt;
 &lt;br /&gt;
                 |   r   |   r   |   w   |   r   |   r   |   r   |   r   |   w   |   w   |   w   |   r   |   r   |&lt;br /&gt;
                 -------------------------------------------------------------------------------------------------&lt;br /&gt;
                 |   1   |   1   |   1   |   2   |   3   |   4   |   5   |   3   |   1   |   2   |   3   |   4   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   1   |   1   |   =   |   =   |   =   |   =   |   =   |   5   |   =   |   5   |   =   |   =   |   4   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         |   R   |   1   |   =   |   =   |   =   |   =   |   =   |   1   |   =   |   0   |   =   |   =   |   1   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
 marcos  |   2   |       |       |       |   2   |   =   |   =   |   2   |   =   |   1   |   1   |   =   |   1   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         |   R   |       |       |       |   1   |   =   |   =   |   0   |   =   |   1   |   0   |   =   |   0   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   3   |       |       |       |       |   3   |   =   |   3   |   3   |   3   |   2   |   2   |   2   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         |   R   |       |       |       |       |   1   |   =   |   0   |   1   |   0   |   1   |   0   |   0   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   4   |       |       |       |       |       |   4   |   4   |   =   |   =   |   =   |   3   |   3   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         |   R   |       |       |       |       |       |   1   |   0   |   =   |   =   |   =   |   1   |   0   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
 fallo           |   X   |       |       |   X   |   X   |   X   |    X  |       |   X   |   X   |   X   |   X   |&lt;br /&gt;
 página          -------------------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
                                               tiempo -&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
                                 9&lt;br /&gt;
 talla de fallos de página =  ------ &lt;br /&gt;
                                12&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta segunda solución creo que no está del todo correcta.&lt;br /&gt;
Cuando llega el cuarto acceso a 1 (donde se produce el sexto fallo de página), el contenido de la cola es el siguiente:&lt;br /&gt;
&lt;br /&gt;
2 (R=0) - 3 (R=1) - 4 (R=0) - 5 (R=1)&lt;br /&gt;
&lt;br /&gt;
Con lo cual, la víctima es el 2, pero sin poner a 0 el resto de los bits R, ya que el primer elemento de la cola tiene el bit R=0 y no hace falta seguir iterando sobre ésta.&lt;br /&gt;
&lt;br /&gt;
De acuerdo a este último comentario, quedaría de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
                                              accesos a páginas&lt;br /&gt;
 &lt;br /&gt;
                 |   r   |   r   |   w   |   r   |   r   |   r   |   r   |   w   |   w   |   w   |   r   |   r   |&lt;br /&gt;
                 -------------------------------------------------------------------------------------------------&lt;br /&gt;
                 |   1   |   1   |   1   |   2   |   3   |   4   |   5   |   3   |   1   |   2   |   3   |   4   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   1   |   1   |   =   |   =   |   =   |   =   |   =   |   5   |   =   |   =   |   =   |   =   |   5   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         |   R   |   1   |   =   |   =   |   =   |   =   |   =   |   1   |   =   |   =   |   =   |   =   |   0   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
 marcos  |   2   |       |       |       |   2   |   =   |   =   |   2   |   =   |   1   |   =   |   =   |   1   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         |   R   |       |       |       |   1   |   =   |   =   |   0   |   =   |   1   |   =   |   =   |   0   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   3   |       |       |       |       |   3   |   =   |   3   |   3   |   =   |   3   |   3   |   4   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         |   R   |       |       |       |       |   1   |   =   |   0   |   1   |   =   |   0   |   1   |   1   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   4   |       |       |       |       |       |   4   |   4   |   =   |   =   |   2   |   =   |   2   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         |   R   |       |       |       |       |       |   1   |   0   |   =   |   =   |   1   |   =   |   0   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
 fallo           |   X   |       |       |   X   |   X   |   X   |    X  |       |   X   |   X   |       |   X   |&lt;br /&gt;
 página          -------------------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
 talla de fallos de página = 8 / 12&lt;br /&gt;
&lt;br /&gt;
 Existia un fallo en el acceso número 10, donde no se ponía el bit R del marco 3 a 0 y en el último acceso, que se puso la página 4 en el  &lt;br /&gt;
 marco 1, pero no es así, cuando llegamos a este acceso la cola es |3|5|1|2|, por tanto el que será reemplazado será el 3, porque será el  &lt;br /&gt;
 primero en encontrarnos con el bit R a 0.&lt;br /&gt;
 Corregido por --[[Usuario:Cripolgon|Cripolgon]]&lt;br /&gt;
&lt;br /&gt;
= LRU =&lt;br /&gt;
&lt;br /&gt;
                                       accesos a páginas&lt;br /&gt;
                 -------------------------------------------------------------------------&lt;br /&gt;
                 |  1  |  1  |  1  |  2  |  3  |  4  |  5  |  3  |  1  |  2  |  3  |  4  |&lt;br /&gt;
         ---------------------------------------------------------------------------------&lt;br /&gt;
         |   1   |  1  |  =  |  =  |  =  |  =  |  =  |  5  |  =  |  =  |  =  |  =  |  4  |&lt;br /&gt;
         ---------------------------------------------------------------------------------&lt;br /&gt;
 marcos  |   2   |     |     |     |  2  |  =  |  =  |  =  |  =  |  1  |  =  |  =  |  =  |&lt;br /&gt;
         --------------------------------------------------------------------------------&lt;br /&gt;
         |   3   |     |     |     |     |  3  |  =  |  =  |  =  |  =  |  =  |  =  |  =  |&lt;br /&gt;
         ---------------------------------------------------------------------------------&lt;br /&gt;
         |   4   |     |     |     |     |     |  4  |  =  |  =  |  =  |  2  |  =  |  =  |&lt;br /&gt;
         ---------------------------------------------------------------------------------&lt;br /&gt;
 fallo           |  X  |     |     |  X  |  X  |  X  |  X  |     |  X  |  X  |     |  X  |&lt;br /&gt;
 página          -------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
                                               tiempo -&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                                8&lt;br /&gt;
 talla de fallos de página =  ------ &lt;br /&gt;
                                12&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= LFU =&lt;br /&gt;
&lt;br /&gt;
                                                   accesos a páginas&lt;br /&gt;
 &lt;br /&gt;
                 |   r   |   r   |   w   |   r   |   r   |   r   |   r   |   w   |   w   |   w   |   r   |   r   |&lt;br /&gt;
                 -------------------------------------------------------------------------------------------------&lt;br /&gt;
                 |   1   |   1   |   1   |   2   |   3   |   4   |   5   |   3   |   1   |   2   |   3   |   4   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   1   |   1   |   1   |   1   |   =   |   =   |   =   |   =   |   =   |   1   |   =   |   =   |   1   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         |   C   |   1   |   2   |   3   |   =   |   =   |   =   |   =   |   =   |   4   |   =   |   =   |   4   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
 marcos  |   2   |       |       |       |   2   |   =   |   =   |   5   |   =   |   =   |   =   |   =   |   4   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         |   C   |       |       |       |   1   |   =   |   =   |   1   |   =   |   =   |   =   |   =   |   1   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   3   |       |       |       |       |   3   |   =   |   =   |   3   |   =   |   =   |   3   |   3   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         |   C   |       |       |       |       |   1   |   =   |   =   |   2   |   =   |   =   |   3   |   3   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   4   |       |       |       |       |       |   4   |   =   |   =   |   =   |   2   |   =   |   2   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         |   C   |       |       |       |       |       |   1   |   =   |   =   |   =   |   1   |   =   |   1   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
 fallo           |   X   |       |       |   X   |   X   |   X   |   X   |       |       |   X   |       |   X   |&lt;br /&gt;
 página          -------------------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
                                               tiempo -&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
                                 7&lt;br /&gt;
 talla de fallos de página =  ------ &lt;br /&gt;
                                12&lt;br /&gt;
&lt;br /&gt;
Observación: al quitar un elemento se resetea su contador&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Sustitución por envejecimiento =&lt;br /&gt;
 Periodo de 4, registro R de 3 bits, desempate: FIFO (por orden de carga)&lt;br /&gt;
&lt;br /&gt;
     _________________accesos a página__________________&lt;br /&gt;
     |_1_|_1_|_1_|_2_||_3_|_4_|_5_|_3_||_1_|_2_|_3_|_4_|&lt;br /&gt;
  ======================================================&lt;br /&gt;
   1 | 1 | = | = | = || 1 | = | 5 | = || 5 | = | = | 4 |&lt;br /&gt;
     |100| = | = | = ||010| = |100| = ||010| = | = |100|&lt;br /&gt;
 m---|---|---|---|---||---|---|---|---||---|---|---|---|&lt;br /&gt;
 a 2 |   |   |   | 2 || 2 | = | = | = || 1 | = | = | = |&lt;br /&gt;
 r   |   |   |   |100||010| = | = | = ||100| = | = | = |&lt;br /&gt;
 c---|---|---|---|---||---|---|---|---||---|---|---|---|&lt;br /&gt;
 o 3 |   |   |   |   || 3 | = | = | = || 3 | 2 | = | = |&lt;br /&gt;
 s   |   |   |   |   ||100| = | = | = ||010|100| = | = |&lt;br /&gt;
  ---|---|---|---|---||---|---|---|---||---|---|---|---|&lt;br /&gt;
   4 |   |   |   |   ||   | 4 | = | = || 4 | = | 3 | = |&lt;br /&gt;
     |   |   |   |   ||   |100| = | = ||010| = |100| = |&lt;br /&gt;
  --------------------------------------------------------&amp;gt; t&lt;br /&gt;
       x           x    x   x   x        x   x   x   x&lt;br /&gt;
 &lt;br /&gt;
                     9&lt;br /&gt;
  tasa fallos pág = ---- &lt;br /&gt;
                     12&lt;/div&gt;</summary>
		<author><name>Lorperler</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=SO_multiprogramables_con_particiones_variables&amp;diff=3014</id>
		<title>SO multiprogramables con particiones variables</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=SO_multiprogramables_con_particiones_variables&amp;diff=3014"/>
				<updated>2014-12-15T15:08:37Z</updated>
		
		<summary type="html">&lt;p&gt;Lorperler: /* Método de los compañeros */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En este tipo de sistemas, las particiones para cada proceso se van creando a medida que son asignadas al procesador. Tiene como ventaja principal que evitamos el desperdicio de memoria dentro de cada bloque ya que cada uno está hecho a medida para el proceso que contiene. Por el contrario, una vez que un proceso ha concluido, su partición se queda en desuso y sería necesario aplicar algoritmos de desfragmentación de memoria(supone un alto coste de rendimiento) para poder unificar todas las partes que han quedado libres y así reciclar las particiones que quedaron huérfanas. Otra forma de obtener particiones de mayor tamaño es unificar dos o más huecos adyacentes en uno sólo.&lt;br /&gt;
&lt;br /&gt;
''Ejemplo:''&lt;br /&gt;
  _                                 _&lt;br /&gt;
 |_| P1 = 3KB                      |_| P1 = 3KB   &lt;br /&gt;
 |_| P2 = 1KB                      |_| P2 = 1KB&lt;br /&gt;
 |_| P3 = 6KB    =&amp;gt; Finaliza P3 =&amp;gt; |_| Libre = 6KB&lt;br /&gt;
 | |                               | |&lt;br /&gt;
 |_| P4 = 31KB                     |_| P4 = 31KB&lt;br /&gt;
 | |                               | |&lt;br /&gt;
 |_| Libre = 21KB                  |_| Libre = 21KB&lt;br /&gt;
&lt;br /&gt;
Si un nuevo proceso P5 requiriese 24KB de memoria, no podrían serle asignados, ya que los huecos no son contiguos y para disponer de los 27KB libres en total habría que realizar previamente una desfragmentación.&lt;br /&gt;
&lt;br /&gt;
== Elementos de administración ==&lt;br /&gt;
&lt;br /&gt;
* '''Mapas de bits''': Dividiendo la memoria en bloques (llamados unidades de asignación), se utiliza un bit para representar si dicho bloque está libre o asignado. El tamaño de los bloques tiene una cierta importancia, ya que cuanto mayor sea, menos bloques cabrán en memoria con lo que serán necesarios menos bits para controlar todos los bloques y el mapa de bits será de menor tamaño.&lt;br /&gt;
&lt;br /&gt;
* '''Listas de control''': Se usa una lista de nodos ordenada por dirección. Por cada bloque libre u ocupado habrá un nodo con:&lt;br /&gt;
** Dirección inicial del bloque&lt;br /&gt;
** Tamaño del bloque&lt;br /&gt;
** Estado (Libre u ocupado)&lt;br /&gt;
** Proceso al que está asignado&lt;br /&gt;
&lt;br /&gt;
= Criterios de asignación =&lt;br /&gt;
&lt;br /&gt;
== Primer ajuste ==&lt;br /&gt;
&lt;br /&gt;
Consiste en asignar el primer hueco disponible que tenga un espacio suficiente para almacenar el programa. La  principal desventaja es el reiterado uso de las primeras posiciones de memoria. Este último inconveniente repercute negativamente en la circuitería, debido a que se produce un mayor desgaste en dichas posiciones.&lt;br /&gt;
&lt;br /&gt;
Ejemplo: Suponiendo una memoria principal de 32 KB.&lt;br /&gt;
&lt;br /&gt;
     | H0 | t | M |&lt;br /&gt;
 -------------------&lt;br /&gt;
 P1  | 0  | 5 | 6 |&lt;br /&gt;
 P2  | 1  | 3 | 6 |&lt;br /&gt;
 P3  | 2  | 5 | 8 |&lt;br /&gt;
 P4  | 3  | 1 | 7 |&lt;br /&gt;
 P5  | 4  | 2 | 7 |&lt;br /&gt;
 P6  | 5  | 2 | 5 |&lt;br /&gt;
&lt;br /&gt;
Solución:&lt;br /&gt;
                         0-5&lt;br /&gt;
             P1  &amp;lt;---|---|---|---|---&amp;gt;   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |    &lt;br /&gt;
                           6-11&lt;br /&gt;
             P2  |   &amp;lt;---|---|---&amp;gt;   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |       &lt;br /&gt;
                                 12-19&lt;br /&gt;
             P3  |   |   &amp;lt;---|---|---|---|---&amp;gt;   |   |   |   |   |   |   |   |   |   |   |   |   |       &lt;br /&gt;
                             20-26    &lt;br /&gt;
             P4  |   |   |   &amp;lt;---&amp;gt;   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |      &lt;br /&gt;
                                   20-26&lt;br /&gt;
             P5  |   |   |   |   &amp;lt;---|---&amp;gt;   |   |   |   |   |   |   |   |   |   |   |   |   |   |   &lt;br /&gt;
                                        0-4             &lt;br /&gt;
             P6  |   |   |   |   |   &amp;lt;---|---&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;
== Siguiente ajuste ==&lt;br /&gt;
&lt;br /&gt;
Se continúa a partir de la posición de la última asignación realizada.Es muy probable que haya un hueco a partir de esa posición, reduciendo la longitud de la búsqueda. De esta forma se resuelve el inconveniente de usar en exceso las primeras posiciones de la memoria. Cuando se alcanza el final de la memoria se vuelve a comenzar la búsqueda desde el principio (por ello este criterio es también conocido como primer ajuste circular).&lt;br /&gt;
&lt;br /&gt;
Ejemplo: Suponiendo una memoria principal de 32 KB.&lt;br /&gt;
&lt;br /&gt;
     | H0 | t | M |&lt;br /&gt;
 -------------------&lt;br /&gt;
 P1  | 0  | 5 | 6 |&lt;br /&gt;
 P2  | 1  | 3 | 6 |&lt;br /&gt;
 P3  | 2  | 5 | 8 |&lt;br /&gt;
 P4  | 3  | 1 | 7 |&lt;br /&gt;
 P5  | 4  | 2 | 7 |&lt;br /&gt;
 P6  | 5  | 2 | 5 |&lt;br /&gt;
&lt;br /&gt;
Solución:&lt;br /&gt;
&lt;br /&gt;
                        0-5&lt;br /&gt;
            P1  &amp;lt;---|---|---|---|---&amp;gt;   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |    &lt;br /&gt;
                          6-11&lt;br /&gt;
            P2  |   &amp;lt;---|---|---&amp;gt;   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |       &lt;br /&gt;
                                12-19&lt;br /&gt;
            P3  |   |   &amp;lt;---|---|---|---|---&amp;gt;   |   |   |   |   |   |   |   |   |   |   |   |   |       &lt;br /&gt;
                            20-26    &lt;br /&gt;
            P4  |   |   |   &amp;lt;---&amp;gt;   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |      &lt;br /&gt;
                                  20-26&lt;br /&gt;
            P5  |   |   |   |   &amp;lt;---|---&amp;gt;   |   |   |   |   |   |   |   |   |   |   |   |   |   |   &lt;br /&gt;
                                      27-31             &lt;br /&gt;
            P6  |   |   |   |   |   &amp;lt;---|---&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;
'''DUDA:'''&lt;br /&gt;
&lt;br /&gt;
Es evidente que cuando llega el P5 se necesitan 7 unidades de memoria, y éstas no están disponibles en el hueco de 27 a 31 (ahí solo hay 5) por lo que da la vuelta, vuelve a comenzar y lo asigna al primero que encuentra, que resulta ser casualmente, el 20-26. --[[Usuario:Ferguatol|fernandoenzo]] 22:14 19 dic 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Mejor ajuste ==&lt;br /&gt;
&lt;br /&gt;
Consiste en asignarle al proceso el hueco con menor desperdicio interno, i.e, el hueco el cual al serle asignado el proceso deja menos espacio sin utilizar. Su mayor inconveniente es su orden de complejidad (orden lineal, ''O(n)'') debido a que hay que recorrer todo el mapa de bits o toda la lista de control (una posible solución seria usar una lista de control encadenada que mantenga los huecos ordenados por tamaño creciente).&lt;br /&gt;
Otro problema es la fragmentación externa, debido a que se asigna el menor hueco posible, el espacio sobrante sera del menor tamaño posible lo que da lugar a huecos de tamaño normalmente insuficiente para contener programas.&lt;br /&gt;
&lt;br /&gt;
== Peor ajuste ==&lt;br /&gt;
&lt;br /&gt;
Al contrario que el criterio anterior, se busca el hueco con mayor desperdicio interno, i.e, el hueco el cual al serle asignado el proceso deja más espacio sin utilizar, y se corta de él el trozo necesario (así la porción sobrante será del mayor tamaño posible y será más aprovechable). Tiene el mismo inconveniente en cuanto a orden de complejidad que el mejor ajuste (debido a la longitud de las búsquedas) y la fragmentación no resulta demasiado eficiente.&lt;br /&gt;
&lt;br /&gt;
== Ajuste rápido ==&lt;br /&gt;
&lt;br /&gt;
Mediante listas de control, se agrupan los huecos disponibles según su tamaño (0 &amp;lt; t &amp;lt; 10, 10 &amp;lt; t &amp;lt; 20, etc.). De esta manera, cuando se necesite un hueco, se seleccionarán los del grupo del tamaño que corresponda. En el caso de que haya varios huecos disponibles, se seleccionará uno en base a cualquiera de los criterios anteriores.&lt;br /&gt;
&lt;br /&gt;
Organización de los huecos en el ajuste rápido:&lt;br /&gt;
&lt;br /&gt;
  Punteros a listas       Lista de huecos&lt;br /&gt;
     según tamaño&lt;br /&gt;
  __________________     &lt;br /&gt;
 |                  |     _____     _____     _____&lt;br /&gt;
 |    0 &amp;lt; t &amp;lt; 10    |---&amp;gt;|_____|--&amp;gt;|_____|--&amp;gt;|_____|  &lt;br /&gt;
 |__________________|    &lt;br /&gt;
 |                  |     _____     _____ &lt;br /&gt;
 |   10 &amp;lt; t &amp;lt; 20    |---&amp;gt;|_____|--&amp;gt;|_____| &lt;br /&gt;
 |__________________| &lt;br /&gt;
 |                  |&lt;br /&gt;
 |       ...        |&lt;br /&gt;
 |__________________|&lt;br /&gt;
 |                  |     _____&lt;br /&gt;
 |      t &amp;lt; 200     |---&amp;gt;|_____|&lt;br /&gt;
 |__________________|&lt;br /&gt;
&lt;br /&gt;
== Método de los compañeros ==&lt;br /&gt;
&lt;br /&gt;
Es una variante del ajuste rápido, en el que los huecos se dividen en potencias de 2: 2&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;, 2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;, ..., 2&amp;lt;sup&amp;gt;k&amp;lt;/sup&amp;gt;. No es un método usado en la práctica, ya que al realizar redondeos a potencias de 2, se produce un elevado desperdicio interno. Es un método rápido tanto en la asignación como en la liberación de bloques.&lt;br /&gt;
El funcionamiento es el siguiente: &lt;br /&gt;
Cuando se necesita un bloque de tamaño T se busca en la lista de la 1ª potencia mayor o igual a T (por ejemplo 2&amp;lt;sup&amp;gt;k&amp;lt;/sup&amp;gt;), si no hay ninguno se busca en la lista de la siguiente potencia (2&amp;lt;sup&amp;gt;k+1&amp;lt;/sup&amp;gt;), si encontramos un bloque libre se retira y se divide por la mitad: una parte se le asigna al proceso y la otra se almacena en la lista de los huecos de tamaño 2&amp;lt;sup&amp;gt;k&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Organización de los bloques:'' &lt;br /&gt;
&lt;br /&gt;
  __________________     &lt;br /&gt;
 |                  |     _____     _____     _____&lt;br /&gt;
 |      2^(k+1)     |---&amp;gt;|_____|--&amp;gt;|_____|--&amp;gt;|_____|  &lt;br /&gt;
 |__________________|    &lt;br /&gt;
 |                  |     _____     _____ &lt;br /&gt;
 |       2^k        |---&amp;gt;|_____|--&amp;gt;|_____| &lt;br /&gt;
 |__________________| &lt;br /&gt;
 |                  |&lt;br /&gt;
 |       ...        |&lt;br /&gt;
 |__________________|&lt;br /&gt;
 |                  |     _____&lt;br /&gt;
 |         1        |---&amp;gt;|_____|&lt;br /&gt;
 |__________________|&lt;br /&gt;
&lt;br /&gt;
Debido a la forma de dividir los bloques al liberarse uno de ellos solamente podrá fusionarse con sus compañeros (bloques del mismo tamaño) con los que formará un bloque de tamaño superior.&lt;br /&gt;
&lt;br /&gt;
''Divisiones sucesivas de los bloques:''&lt;br /&gt;
  _______________________________________________&lt;br /&gt;
 |0                      |8                      |&lt;br /&gt;
 |_______________________|_______________________|&lt;br /&gt;
  _______________________________________________&lt;br /&gt;
 |0          |4          |8          |12         |&lt;br /&gt;
 |___________|___________|___________|___________|&lt;br /&gt;
  _______________________________________________&lt;br /&gt;
 |0    |2    |4    |6    |8    |10   |12   |14   | &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|&lt;br /&gt;
 |__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|&lt;br /&gt;
&lt;br /&gt;
=Implementación de ajustes en Java=&lt;br /&gt;
&lt;br /&gt;
Se ha realizado un Anexo con la [[Implementación de ajustes en Java|implementación de los criterios de ajuste en Java]], con un gestor de memoria, sobre el que se implementan los métodos de primer ajuste, siguiente ajuste, mejor ajuste y peor ajuste.&lt;br /&gt;
&lt;br /&gt;
Además, permite la visualización de la memoria en cada momento tanto como listas de control como mapas de bits.&lt;/div&gt;</summary>
		<author><name>Lorperler</name></author>	</entry>

	</feed>