<?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=Jherrera</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=Jherrera"/>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php/Especial:Contribuciones/Jherrera"/>
		<updated>2026-04-10T17:24:11Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.29.0</generator>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol_reloj&amp;diff=1305</id>
		<title>Sol reloj</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol_reloj&amp;diff=1305"/>
				<updated>2011-06-15T13:40:15Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;   _________________accesos a página____________________&lt;br /&gt;
     |_2_|_2_|_3_|_1_|_1_|_3_|_4_|_5_|_1_|_1_|_2_|_3_|_4_|&lt;br /&gt;
  ========================================================&lt;br /&gt;
   1 | 2 | = | = | = | = | = | = | 5 | = | = | = | = | 5 |&lt;br /&gt;
   R | 1 |   |   |   |   |   |   | 1 |   |   |   |   | 0 |&lt;br /&gt;
 m---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
 a 2 |   |   | 3 | = | = | = | = | 3 | = | = | 2 | = | 2 | &lt;br /&gt;
 r R |   |   | 1 |   |   |   |   | 0 |   |   | 1 |   | 0 |   &lt;br /&gt;
 c---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
 o 3 |   |   |   | 1 | = | = | = | 1 | 1 | = | = | 1 | 4 |&lt;br /&gt;
 s R |   |   |   | 1 |   |   |   | 0 | 1 |   |   | 0 | 1 |  &lt;br /&gt;
  ---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
   4 |   |   |   |   |   |   | 4 | 4 | = | = | = | 3 | 3 |&lt;br /&gt;
   R |   |   |   |   |   |   | 1 | 0 |   |   |   | 1 | 1 |&lt;br /&gt;
  ------------------------------------------------------------&amp;gt; t&lt;br /&gt;
&lt;br /&gt;
                    8&lt;br /&gt;
  tasa fallos pág = ---- = 0,615&lt;br /&gt;
                     13&lt;br /&gt;
Según los apuntes de M.Rovayo se implementa como una cola circular con un puntero que señala a la última exploración realizada (NO A LA ÚLTIMA PÁGINA EXAMINADA). En esta cola solo se desplaza el puntero(que indica la página víctima). En el momento que llega la página 5 ,la cola está de la siguiente forma :  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2(R=1)-&amp;gt;3(R=1)-&amp;gt;1(R=1)-&amp;gt;4(R=1)  &lt;br /&gt;
  ^                               luego da una vuelta cambiando todos los bits R a 0 y el primero&lt;br /&gt;
  |                                que se encuentra es de nuevo el 2, luego lo cambia por el 5.&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Jherrera|Jherrera]] 13:03 13 jun 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
En el ultimo acceso la cola está de la siguiente forma: 5(R=1) -&amp;gt; 2(R=1) -&amp;gt; 1(R=0) -&amp;gt; 3(R=1) al cargar la página 4 queda:&lt;br /&gt;
 5(R=0) -&amp;gt; 2(R=0) -&amp;gt; 4(R=1) -&amp;gt; 3(R=1)  ^   &lt;br /&gt;
                               ^       |&lt;br /&gt;
                               |&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Jherrera|Jherrera]] 10:26 14 jun 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Cierto, elimino el comentario. Es así, pero antes del ultimo acceso el puntero señala al 5. Supongo que es así como lo tienes, pero el formato del wiki desplaza la flecha a una posición errónea (al menos a mi me señala al 1).&lt;br /&gt;
&lt;br /&gt;
Era por el formato de la wiki ;)&lt;br /&gt;
&lt;br /&gt;
[[Criterios_de_reemplazo|Volver]]&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol_reloj&amp;diff=1292</id>
		<title>Sol reloj</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol_reloj&amp;diff=1292"/>
				<updated>2011-06-14T10:26:54Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;   _________________accesos a página____________________&lt;br /&gt;
     |_2_|_2_|_3_|_1_|_1_|_3_|_4_|_5_|_1_|_1_|_2_|_3_|_4_|&lt;br /&gt;
  ========================================================&lt;br /&gt;
   1 | 2 | = | = | = | = | = | = | 5 | = | = | = | = | 5 |&lt;br /&gt;
   R | 1 |   |   |   |   |   |   | 1 |   |   |   |   | 0 |&lt;br /&gt;
 m---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
 a 2 |   |   | 3 | = | = | = | = | 3 | = | = | 2 | = | 2 | &lt;br /&gt;
 r R |   |   | 1 |   |   |   |   | 0 |   |   | 1 |   | 0 |   &lt;br /&gt;
 c---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
 o 3 |   |   |   | 1 | = | = | = | 1 | 1 | = | = | 1 | 4 |&lt;br /&gt;
 s R |   |   |   | 1 |   |   |   | 0 | 1 |   |   | 0 | 1 |  &lt;br /&gt;
  ---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
   4 |   |   |   |   |   |   | 4 | 4 | = | = | = | 3 | 3 |&lt;br /&gt;
   R |   |   |   |   |   |   | 1 | 0 |   |   |   | 1 | 1 |&lt;br /&gt;
  ------------------------------------------------------------&amp;gt; t&lt;br /&gt;
&lt;br /&gt;
                    8&lt;br /&gt;
  tasa fallos pág = ---- = 0,615&lt;br /&gt;
                     13&lt;br /&gt;
Según los apuntes de M.Rovayo se implementa como una cola circular con un puntero que señala a la última exploración realizada (NO A LA ÚLTIMA PÁGINA EXAMINADA). En esta cola solo se desplaza el puntero(que indica la página víctima). En el momento que llega la página 5 ,la cola está de la siguiente forma :  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2(R=1)-&amp;gt;3(R=1)-&amp;gt;1(R=1)-&amp;gt;4(R=1)  &lt;br /&gt;
  ^                               luego da una vuelta cambiando todos los bits R a 0 y el primero&lt;br /&gt;
  |                                que se encuentra es de nuevo el 2, luego lo cambia por el 5.&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Jherrera|Jherrera]] 13:03 13 jun 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el ultimo acceso la cola esta de la siguiente forma: 1(R=0) -&amp;gt; 5(R=1) -&amp;gt; 2(R=1) -&amp;gt; 3(R=1)&lt;br /&gt;
                                                                    ^&lt;br /&gt;
                                                                    |&lt;br /&gt;
Al llegar la pagina 4, recorre la cola poniendo los bits de 5, 2 y 3 a 0, y cuando da la vuelta se encuentra el bit de 1 a 0 y la reemplaza, por tanto al final el bit de 3 (en el cuarto marco) tambien es 0. --[[Usuario:JDomingo|J. Domingo]] 20:17 13 jun 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
En el ultimo acceso la cola está de la siguiente forma: 5(R=1) -&amp;gt; 2(R=1) -&amp;gt; 1(R=0) -&amp;gt; 3(R=1) al cargar la página 4 queda:&lt;br /&gt;
 5(R=0) -&amp;gt; 2(R=0) -&amp;gt; 4(R=1) -&amp;gt; 3(R=1)                   ^  &lt;br /&gt;
                               ^                        |&lt;br /&gt;
                               |&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Jherrera|Jherrera]] 10:26 14 jun 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
[[Criterios_de_reemplazo|Volver]]&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_de_los_ejercicios_de_memoria_virtual&amp;diff=1291</id>
		<title>Solución de los ejercicios de memoria virtual</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_de_los_ejercicios_de_memoria_virtual&amp;diff=1291"/>
				<updated>2011-06-14T09:46:58Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* NRU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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   |   3   |   3   |   3   |   4   |   5   |   1   |   2   |   5   |   1   |   3   |   4   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   1   |   1   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         | R | M | 1 | 0 | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
 marcos  |   2   |       |   3   |   3   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         | R | M |   |   | 1 | 0 | 1 | 1 | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   3   |       |       |       |       |   4   |   =   |   =   |   2   |   =   |   =   |   =   |   4   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         | R | M |   |   |   |   |   |   |   |   | 1 | 0 | = | = | = | = | 1 | 1 | = | = | = | = | = | = | 1 | 0 |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   4   |       |       |       |       |       |   5   |   =   |   =   |   5   |   =   |   =   |   =   |&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   |&lt;br /&gt;
 página          -------------------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
                                               tiempo -&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
                                 6&lt;br /&gt;
 talla de fallos de página =  ------ = 0,5&lt;br /&gt;
                                12&lt;br /&gt;
&lt;br /&gt;
= Sustitución por envejecimiento =&lt;br /&gt;
 Periodo de 4, registro R de 3 bits, desempate: LRU&lt;br /&gt;
&lt;br /&gt;
     _________________accesos a página__________________&lt;br /&gt;
     |_2_|_3_|_3_|_1_||_4_|_5_|_4_|_1_||_5_|_2_|_3_|_4_|&lt;br /&gt;
  ======================================================&lt;br /&gt;
   1 | 2 | = | = | = || 2 | 5 | = | = || 5 | = | = | = |&lt;br /&gt;
     |100| = | = | = ||010|100| = | = ||110| = | = | = |&lt;br /&gt;
 m---|---|---|---|---||---|---|---|---||---|---|---|---|&lt;br /&gt;
 a 2 |   | 3 | = | = || 3 | = | = | = || 3 | 2 | = | = |&lt;br /&gt;
 r   |   |100| = | = ||010| = | = | = ||001|100| = | = |&lt;br /&gt;
 c---|---|---|---|---||---|---|---|---||---|---|---|---|&lt;br /&gt;
 o 3 |   |   |   | 1 || 1 | = | = | 1 || 1 | = | = | 4 |&lt;br /&gt;
 s   |   |   |   |100||010| = | = |110||011| = | = |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&lt;br /&gt;
 &lt;br /&gt;
                     8&lt;br /&gt;
  tasa fallos pág = ---- &lt;br /&gt;
                     12&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol_7&amp;diff=1288</id>
		<title>Sol 7</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol_7&amp;diff=1288"/>
				<updated>2011-06-14T09:34:17Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
                              ___1____ 2_____3_____4___&lt;br /&gt;
                 1º Acceso    |     |     |     |     |&lt;br /&gt;
                 Acceso a:    |  2  |     |     |     | Nª de fallos: 1   Cola = 2-&lt;br /&gt;
                  Pagina 2    |_R=1_|_R=0_|_R=0_|_R=0_|&lt;br /&gt;
                 2º Acceso    |     |     |     |     |&lt;br /&gt;
                 Acceso a:    |  2  |     |     |     | Nª de fallos: 1   Cola = 2-&lt;br /&gt;
                  Pagina 2    |_R=1_|_R=0_|_R=0_|_R=0_| &lt;br /&gt;
                 3º Acceso    |     |     |     |     |&lt;br /&gt;
                 Acceso a:    |  2  |  3  |     |     | Nª de fallos: 2   Cola = 2-3&lt;br /&gt;
                  Pagina 3    |_R=1_|_R=1_|_R=0_|_R=0_|    &lt;br /&gt;
                 4º Acceso    |     |     |     |     |&lt;br /&gt;
                 Acceso a:    |  2  |  3  |  1  |     | Nª de fallos: 3   Cola = 2-3-1&lt;br /&gt;
                  Pagina 1    |_R=1_|_R=1_|_R=1_|_R=0_| &lt;br /&gt;
                 5º Acceso    |     |     |     |     |&lt;br /&gt;
                 Acceso a:    |  2  |  3  |  1  |     | Nª de fallos: 3   Cola = 2-3-1&lt;br /&gt;
                  Pagina 1    |_R=1_|_R=1_|_R=1_|_R=0_|&lt;br /&gt;
                 6º Acceso    |     |     |     |     |&lt;br /&gt;
                 Acceso a:    |  2  |  3  |  1  |     | Nª de fallos: 3   Cola = 2-3-1&lt;br /&gt;
                  Pagina 3    |_R=1_|_R=1_|_R=1_|_R=0_|&lt;br /&gt;
                 7º Acceso    |     |     |     |     |&lt;br /&gt;
                 Acceso a:    |  2  |  3  |  1  |  4  | Nª de fallos: 4   Cola = 2-3-1-4&lt;br /&gt;
                  Pagina 4    |_R=1_|_R=1_|_R=1_|_R=1_| &lt;br /&gt;
                 8º Acceso    |     |     |     |     |&lt;br /&gt;
                 Acceso a:    |  5  |  3  |  1  |  4  | Nª de fallos: 5   Cola = 3-1-4-5&lt;br /&gt;
                  Pagina 5    |_R=1_|_R=0_|_R=0_|_R=0_|    &lt;br /&gt;
                 9º Acceso    |     |     |     |     |&lt;br /&gt;
                 Acceso a:    |  5  |  3  |  1  |  4  | Nª de fallos: 5   Cola = 3-1-4-5&lt;br /&gt;
                  Pagina 1    |_R=1_|_R=0_|_R=1_|_R=0_|  &lt;br /&gt;
                10º Acceso    |     |     |     |     |&lt;br /&gt;
                 Acceso a:    |  5  |  3  |  1  |  4  | Nª de fallos: 5   Cola = 3-1-4-5&lt;br /&gt;
                  Pagina 1    |_R=1_|_R=0_|_R=1_|_R=0_|  &lt;br /&gt;
                11º Acceso    |     |     |     |     |&lt;br /&gt;
                 Acceso a:    |  5  |  2  |  1  |  4  | Nª de fallos: 6   Cola = 1-4-5-2&lt;br /&gt;
                  Pagina 2    |_R=1_|_R=1_|_R=1_|_R=0_|&lt;br /&gt;
                12º Acceso    |     |     |     |     |&lt;br /&gt;
                 Acceso a:    |  5  |  2  |  1  |  3  | Nª de fallos: 7   Cola = 5-2-1-3&lt;br /&gt;
                  Pagina 3    |_R=1_|_R=1_|_R=0_|_R=1_| &lt;br /&gt;
                13º Acceso    |     |     |     |     |&lt;br /&gt;
                 Acceso a:    |  5  |  2  |  4  |  3  | Nª de fallos: 8   Cola = 2-1-3-4&lt;br /&gt;
                  Pagina 4    |_R=0_|_R=0_|_R=1_|_R=1_|          &lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Jherrera|Jherrera]] 09:34 14 jun 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
Nota:la cola que se utiliza es por orden de carga como una FIFO. &lt;br /&gt;
&lt;br /&gt;
[[Criterios_de_reemplazo|Volver]]&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_reemplazo&amp;diff=1283</id>
		<title>Criterios de reemplazo</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_reemplazo&amp;diff=1283"/>
				<updated>2011-06-13T19:27:54Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* Criterios */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La evaluación se hace en base a la ''tasa de fallos de página'', que es el número de fallos de página entre el número de accesos totales a página, con lo que su valor oscila en el rango [0,1].&lt;br /&gt;
El fallo de página se produce cuando se accede a una posición de memoria que esta descargada en disco.&lt;br /&gt;
&lt;br /&gt;
                     nº fallos pág.         &lt;br /&gt;
  tasa fallos pág = -----------------&lt;br /&gt;
                     nº accesos pág.&lt;br /&gt;
&lt;br /&gt;
También hay que tener en cuenta el contexto, si estamos en arranque en frío o en caliente, así como el cumplimiento del principio de localidad espacial y temporal. &lt;br /&gt;
&lt;br /&gt;
* Arranque en frío : se dan muchos fallos de página al principio, ya que los procesos se acaban de lanzar y ninguno esta cargado en memoria principal.&lt;br /&gt;
* Arranque en caliente : se suponen ya cargadas las páginas de los procesos en memoria principal.&lt;br /&gt;
&lt;br /&gt;
==Criterios==&lt;br /&gt;
 Ejemplo: Secuencia de acceso a página : 2,2,3,1,1,3,4,5,1,1,2,3,4&lt;br /&gt;
          Suponiendo arranque en frío   &lt;br /&gt;
                                         ___1____ 2_____3_____4___&lt;br /&gt;
                   memoria principal     |     |     |     |     |&lt;br /&gt;
                    de 4 marcos          |_____|_____|_____|_____|&lt;br /&gt;
&lt;br /&gt;
;1. Criterio de página óptima: Este es un criterio teórico que viene a establecer la cota inferior de la ''tasa de fallos de página''. Consiste en escoger la página que mayor tiempo va a tardar en utilizarse. Este es el mejor caso, pero se necesita conocimiento de futuro, de ahí que sea un criterio teórico.&lt;br /&gt;
*[[sol_1|Solución]]&lt;br /&gt;
;2. Criterio de página pésima: Este también es teórico y viene a establecer la cota superior de la ''tasa de fallos de página'', para ver lo peor que podría comportarse un criterio. Consiste en seleccionar la página que menor tiempo tardará en usarse.&lt;br /&gt;
*[[sol_2|Solución]]&lt;br /&gt;
;3. Criterio MRU('''M'''ost '''R'''ecently '''U'''sed): Se selecciona la última página   a la que se ha accedido. Podría implementarse con una LIFO por orden de acceso.&lt;br /&gt;
*[[sol_3|Solución]]&lt;br /&gt;
;4. Criterio de selección estocástica (aleatoria): Consiste en seleccionar una página al azar.&lt;br /&gt;
;5. Criterio por orden de carga FIFO: Se selecciona la página que más tiempo lleva cargada en memoria principal. Se implementa con una FIFO por orden de carga, es decir, a medida que se cargan en memoria principal las páginas son añadidas a la cola. Un problema es que suele suceder que las páginas más usadas tienden a estar mucho tiempo en memoria principal y este criterio va contra eso.&lt;br /&gt;
&lt;br /&gt;
*[[sol_5|Solución]]&lt;br /&gt;
&lt;br /&gt;
;6.Criterio NRU ('''N'''ot '''R'''ecently '''U'''sed): Ofrece dos bits para cada página:&lt;br /&gt;
* bit R : Se pone a 1 si la página ha sido usada (tanto para lectura como para escritura).&lt;br /&gt;
* bit M : Se pone a 1 si la página es modificada (escritura).&lt;br /&gt;
Para seleccionar la página victima buscamos que cumpla uno de los siguientes criterios de bits si no hay ninguno se utiliza el siguiente:&lt;br /&gt;
&lt;br /&gt;
# R=0, M=0 .            &lt;br /&gt;
# R=0, M=1 .&lt;br /&gt;
# R=1, M=0 .&lt;br /&gt;
# R=1, M=1 .&lt;br /&gt;
&lt;br /&gt;
Claramente deben realizarse periodos de puesta a 0, que no tienen porque ser simultáneamente en R y M.&lt;br /&gt;
&lt;br /&gt;
*[[sol_6|Solución]]&lt;br /&gt;
&lt;br /&gt;
;7.Criterio de 2ª oportunidad: Se trata de la unión del dos criterios, FIFO más NRU sin el bit M. Tampoco se pone R a 0 periódicamente. Consiste en recorrer la cola hasta encontrar una página con R a 0 (si no hay ninguno, pues al que le toque de la cola) y los procesos que vaya encontrando con R a 1 se les pone R a 0 y se les da una segunda oportunidad poniéndolos al final de la cola (al final de todo, el nuevo elemento llegado).&lt;br /&gt;
&lt;br /&gt;
*[[sol_7|Solución]]&lt;br /&gt;
&lt;br /&gt;
;8.Criterio LRU ('''L'''east '''R'''ecently '''U'''sed): Criterio en contraposición al MRU. En MRU elegíamos aquella página que hubiéramos utilizado más recientemente (la primera de la pila de acceso) mientras que en LRU elegimos como página víctima lo contrario: La última página de la pila. Funciona como una FIFO (por orden de acceso) en la cual se actualizan los valores, poniéndose al final si llegan elementos que ya había en cola.&lt;br /&gt;
&lt;br /&gt;
*[[sol_8|Solución]]&lt;br /&gt;
&lt;br /&gt;
;Criterio del reloj: Igual que el de 2º oportunidad pero mantenemos un puntero a la ultima pagina examinada; se implementa con una lista circular, y un puntero a la ultima pagina examinada, que sera el 1º elemento que examinaremos para el reemplazo.&lt;br /&gt;
&lt;br /&gt;
*[[sol_reloj|Solución]]&lt;br /&gt;
&lt;br /&gt;
;9.Criterio LFU ('''L'''east '''F'''recuently '''U'''sed):Se puede implementar mediante una pila o cola situando la página más frecuentemente usada en la base de la pila o cabeza de la cola.La página víctima será la quede al final de la estructura. Otra variante de implementación es mediante un contador. Se incrementa un contador de uso por cada acceso, reseteándose si se saca el dato. La víctima será la que tenga el contador menor.&lt;br /&gt;
&lt;br /&gt;
*[[sol_9|Solución]]&lt;br /&gt;
&lt;br /&gt;
;10.Aproximación discreta LRU: Consiste en LFU + LRU. Se usa el bit R. Se itera periódicamente sobre la lista de páginas si R = 0 entonces aumento el contador; si R está activado se desactiva y el contador se pone a cero. Ante una sustitución: prescindir de la que tiene mayor valor en el contador. Ojito! Cuando llega un elemento, el contador se inicializa a 0, puesto que solo se modifica en los checkpoints, no con cada acceso&lt;br /&gt;
&lt;br /&gt;
*[[sol_9.2|Solución]]&lt;br /&gt;
&lt;br /&gt;
;11.Sustitución por envejecimiento: Se emplea un registro R de n bits que se va desplazando hacia la derecha periódicamente, de forma que la página victima será la que tenga el menor valor en el registro R (en caso de empate se empleao otro criterio). Por cada acceso se pone a 1 el bit más significativo del registro R. Los LSB se pierden al desplazar.&lt;br /&gt;
&lt;br /&gt;
*[[sol_10|Solución]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el [[Algoritmos de criterios de reemplazo|Portal de la comunidad]] se encuentran implementados algunos de los anteriores criterios como ayuda para ver su funcionamiento.&lt;br /&gt;
Creo que los algoritmos están bien (coinciden con las soluciones), pero si alguien decide probarlos no estaría mal que los revisase por encima. --[[Usuario:Alexrdp|Alexrdp]] 16:24 6 jun 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
Error en Aproximación discreta LRU corregido--[[Usuario:josvaldia|josvaldia]]&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_reemplazo&amp;diff=1282</id>
		<title>Criterios de reemplazo</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Criterios_de_reemplazo&amp;diff=1282"/>
				<updated>2011-06-13T19:26:48Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* Criterios */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La evaluación se hace en base a la ''tasa de fallos de página'', que es el número de fallos de página entre el número de accesos totales a página, con lo que su valor oscila en el rango [0,1].&lt;br /&gt;
El fallo de página se produce cuando se accede a una posición de memoria que esta descargada en disco.&lt;br /&gt;
&lt;br /&gt;
                     nº fallos pág.         &lt;br /&gt;
  tasa fallos pág = -----------------&lt;br /&gt;
                     nº accesos pág.&lt;br /&gt;
&lt;br /&gt;
También hay que tener en cuenta el contexto, si estamos en arranque en frío o en caliente, así como el cumplimiento del principio de localidad espacial y temporal. &lt;br /&gt;
&lt;br /&gt;
* Arranque en frío : se dan muchos fallos de página al principio, ya que los procesos se acaban de lanzar y ninguno esta cargado en memoria principal.&lt;br /&gt;
* Arranque en caliente : se suponen ya cargadas las páginas de los procesos en memoria principal.&lt;br /&gt;
&lt;br /&gt;
==Criterios==&lt;br /&gt;
 Ejemplo: Secuencia de acceso a página : 2,2,3,1,1,3,4,5,1,1,2,3,4&lt;br /&gt;
          Suponiendo arranque en frío   &lt;br /&gt;
                                         ___1____ 2_____3_____4___&lt;br /&gt;
                   memoria principal     |     |     |     |     |&lt;br /&gt;
                    de 4 marcos          |_____|_____|_____|_____|&lt;br /&gt;
&lt;br /&gt;
;1. Criterio de página óptima: Este es un criterio teórico que viene a establecer la cota inferior de la ''tasa de fallos de página''. Consiste en escoger la página que mayor tiempo va a tardar en utilizarse. Este es el mejor caso, pero se necesita conocimiento de futuro, de ahí que sea un criterio teórico.&lt;br /&gt;
*[[sol_1|Solución]]&lt;br /&gt;
;2. Criterio de página pésima: Este también es teórico y viene a establecer la cota superior de la ''tasa de fallos de página'', para ver lo peor que podría comportarse un criterio. Consiste en seleccionar la página que menor tiempo tardará en usarse.&lt;br /&gt;
*[[sol_2|Solución]]&lt;br /&gt;
;3. Criterio MRU('''M'''ost '''R'''ecently '''U'''sed): Se selecciona la última página   a la que se ha accedido. Podría implementarse con una LIFO por orden de acceso.&lt;br /&gt;
*[[sol_3|Solución]]&lt;br /&gt;
;4. Criterio de selección estocástica (aleatoria): Consiste en seleccionar una página al azar.&lt;br /&gt;
;5. Criterio por orden de carga FIFO: Se selecciona la página que más tiempo lleva cargada en memoria principal. Se implementa con una FIFO por orden de carga, es decir, a medida que se cargan en memoria principal las páginas son añadidas a la cola. Un problema es que suele suceder que las páginas más usadas tienden a estar mucho tiempo en memoria principal y este criterio va contra eso.&lt;br /&gt;
&lt;br /&gt;
*[[sol_5|Solución]]&lt;br /&gt;
&lt;br /&gt;
;6.Criterio NRU ('''N'''ot '''R'''ecently '''U'''sed): Ofrece dos bits para cada página:&lt;br /&gt;
* bit R : Se pone a 1 si la página ha sido usada (tanto para lectura como para escritura).&lt;br /&gt;
* bit M : Se pone a 1 si la página es modificada (escritura).&lt;br /&gt;
Para seleccionar la página victima buscamos que cumpla uno de los siguientes criterios de bits si no hay ninguno se utiliza el siguiente:&lt;br /&gt;
&lt;br /&gt;
# R=0, M=0 .            &lt;br /&gt;
# R=0, M=1 .&lt;br /&gt;
# R=1, M=0 .&lt;br /&gt;
# R=1, M=1 .&lt;br /&gt;
&lt;br /&gt;
Claramente deben realizarse periodos de puesta a 0, que no tienen porque ser simultáneamente en R y M.&lt;br /&gt;
&lt;br /&gt;
*[[sol_6|Solución]]&lt;br /&gt;
&lt;br /&gt;
;7.Criterio de 2ª oportunidad: Se trata de la unión del dos criterios, FIFO más NRU sin el bit M. Tampoco se pone R a 0 periódicamente. Consiste en recorrer la cola hasta encontrar una página con R a 0 (si no hay ninguno, pues al que le toque de la cola) y los procesos que vaya encontrando con R a 1 se les pone R a 0 y se les da una segunda oportunidad poniéndolos al final de la cola (al final de todo, el nuevo elemento llegado).&lt;br /&gt;
&lt;br /&gt;
*[[sol_7|Solución]]&lt;br /&gt;
&lt;br /&gt;
;8.Criterio LRU ('''L'''east '''R'''ecently '''U'''sed): Criterio en contraposición al MRU. En MRU elegíamos aquella página que hubiéramos utilizado más recientemente (la primera de la pila de acceso) mientras que en LRU elegimos como página víctima lo contrario: La última página de la pila. Funciona como una FIFO (por orden de acceso) en la cual se actualizan los valores, poniéndose al final si llegan elementos que ya había en cola.&lt;br /&gt;
&lt;br /&gt;
*[[sol_8|Solución]]&lt;br /&gt;
&lt;br /&gt;
;Criterio del reloj: Igual que el de 2º oportunidad pero mantenemos un puntero a la ultima pagina examinada; se implementa con una lista circular, y un puntero a la ultima pagina examinada, que sera el 1º elemento que examinaremos para el reemplazo.&lt;br /&gt;
&lt;br /&gt;
*[[sol_reloj|Solución]]&lt;br /&gt;
&lt;br /&gt;
;9.Criterio LFU ('''L'''east '''F'''recuently '''U'''sed):Se puede implementar mediante una pila o cola situando la página más frecuentemente usada en la base de la pila o cabeza de la cola. Otra variante de implementación es mediante un contador. Se incrementa un contador de uso por cada acceso, reseteándose si se saca el dato. La víctima será la que tenga el contador menor.&lt;br /&gt;
&lt;br /&gt;
*[[sol_9|Solución]]&lt;br /&gt;
&lt;br /&gt;
;10.Aproximación discreta LRU: Consiste en LFU + LRU. Se usa el bit R. Se itera periódicamente sobre la lista de páginas si R = 0 entonces aumento el contador; si R está activado se desactiva y el contador se pone a cero. Ante una sustitución: prescindir de la que tiene mayor valor en el contador. Ojito! Cuando llega un elemento, el contador se inicializa a 0, puesto que solo se modifica en los checkpoints, no con cada acceso&lt;br /&gt;
&lt;br /&gt;
*[[sol_9.2|Solución]]&lt;br /&gt;
&lt;br /&gt;
;11.Sustitución por envejecimiento: Se emplea un registro R de n bits que se va desplazando hacia la derecha periódicamente, de forma que la página victima será la que tenga el menor valor en el registro R (en caso de empate se empleao otro criterio). Por cada acceso se pone a 1 el bit más significativo del registro R. Los LSB se pierden al desplazar.&lt;br /&gt;
&lt;br /&gt;
*[[sol_10|Solución]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el [[Algoritmos de criterios de reemplazo|Portal de la comunidad]] se encuentran implementados algunos de los anteriores criterios como ayuda para ver su funcionamiento.&lt;br /&gt;
Creo que los algoritmos están bien (coinciden con las soluciones), pero si alguien decide probarlos no estaría mal que los revisase por encima. --[[Usuario:Alexrdp|Alexrdp]] 16:24 6 jun 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
Error en Aproximación discreta LRU corregido--[[Usuario:josvaldia|josvaldia]]&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_de_los_ejercicios_de_memoria_virtual&amp;diff=1278</id>
		<title>Solución de los ejercicios de memoria virtual</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_de_los_ejercicios_de_memoria_virtual&amp;diff=1278"/>
				<updated>2011-06-13T15:05:26Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* NRU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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   |   3   |   3   |   3   |   4   |   5   |   1   |   2   |   5   |   1   |   3   |   4   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   1   |   1   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         | R | M | 1 | 0 | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
 marcos  |   2   |       |   3   |   3   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         | R | M |   |   | 1 | 0 | 1 | 1 | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   3   |       |       |       |       |   4   |   =   |   =   |   2   |   =   |   =   |   =   |   4   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         | R | M |   |   |   |   |   |   |   |   | 1 | 0 | = | = | = | = | 1 | 1 | = | = | = | = | = | = | 1 | 0 |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   4   |       |       |       |       |       |   5   |   =   |   =   |   5   |   =   |   =   |   =   |&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   |&lt;br /&gt;
 página          -------------------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
                                               tiempo -&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
                                 6&lt;br /&gt;
 talla de fallos de página =  ------ = 0,4615&lt;br /&gt;
                                12&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: LRU&lt;br /&gt;
&lt;br /&gt;
     _________________accesos a página__________________&lt;br /&gt;
     |_2_|_3_|_3_|_1_||_4_|_5_|_4_|_1_||_5_|_2_|_3_|_4_|&lt;br /&gt;
  ======================================================&lt;br /&gt;
   1 | 2 | = | = | = || 2 | 5 | = | = || 5 | = | = | = |&lt;br /&gt;
     |100| = | = | = ||010|100| = | = ||110| = | = | = |&lt;br /&gt;
 m---|---|---|---|---||---|---|---|---||---|---|---|---|&lt;br /&gt;
 a 2 |   | 3 | = | = || 3 | = | = | = || 3 | 2 | = | = |&lt;br /&gt;
 r   |   |100| = | = ||010| = | = | = ||001|100| = | = |&lt;br /&gt;
 c---|---|---|---|---||---|---|---|---||---|---|---|---|&lt;br /&gt;
 o 3 |   |   |   | 1 || 1 | = | = | 1 || 1 | = | = | 4 |&lt;br /&gt;
 s   |   |   |   |100||010| = | = |110||011| = | = |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&lt;br /&gt;
 &lt;br /&gt;
                     8&lt;br /&gt;
  tasa fallos pág = ---- &lt;br /&gt;
                     12&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_de_los_ejercicios_de_paginaci%C3%B3n_y_segmentaci%C3%B3n&amp;diff=1277</id>
		<title>Solución de los ejercicios de paginación y segmentación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_de_los_ejercicios_de_paginaci%C3%B3n_y_segmentaci%C3%B3n&amp;diff=1277"/>
				<updated>2011-06-13T14:26:05Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* Apartado c) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;El tamaño de página es de 8KB = 2^13 B --&amp;gt; 13 bits para la zona de offset.&lt;br /&gt;
&lt;br /&gt;
El tamaño de palabra del procesador es de 64 bits.&lt;br /&gt;
&lt;br /&gt;
Conocido el offset y el tamaño de la palabra podemos obtener los bits que ocupan la zona de nº página (64 bits - 13bits).&lt;br /&gt;
&lt;br /&gt;
                                         '''DIRECCIÓN LÓGICA'''&lt;br /&gt;
                               --------------------------------------&lt;br /&gt;
                              | nº página (51 bits) | offset(13 bits)|&lt;br /&gt;
                              --------------------------------------&lt;br /&gt;
&lt;br /&gt;
=Apartado a)=&lt;br /&gt;
Nuestra tabla de páginas tendrá tantas entradas como páginas tenga, por lo que tiene 2^51 entradas. &lt;br /&gt;
Si sabemos que cada entrada ocupa 128 bits (16 B =2^4 B) el tamaño de la tabla de páginas será 2^51 * 2^4 = 2^55 B&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Apartado b)=&lt;br /&gt;
Sabiendo el tamaño de la tabla de páginas y del tamaño de página, podemos saber cuántas páginas hay. &lt;br /&gt;
&lt;br /&gt;
2^55 B / 2^13 B = 2^42 páginas = 4 Tera Páginas&lt;br /&gt;
&lt;br /&gt;
=Apartado c)=&lt;br /&gt;
&lt;br /&gt;
Si el proceso ocupa 7*2^20 B y cada página de la tabla de páginas ocupa 8 KB (2^13 B) tendremos : &lt;br /&gt;
7*2^20 B / 2^13 B = 7 * 2^7 entradas de la tabla de páginas están siendo ocupadas.&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Ejercicios_de_paginaci%C3%B3n_y_segmentaci%C3%B3n&amp;diff=1276</id>
		<title>Ejercicios de paginación y segmentación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Ejercicios_de_paginaci%C3%B3n_y_segmentaci%C3%B3n&amp;diff=1276"/>
				<updated>2011-06-13T14:22:18Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* Ejercicio 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Ejercicio 1==&lt;br /&gt;
&lt;br /&gt;
El proceso ocupa: 1 KB de código, 4 KB de pila, 5KB ctes+globales&lt;br /&gt;
&lt;br /&gt;
*Paginación pura (4KB de páginas) = 4 páginas -&amp;gt; 16 KB&lt;br /&gt;
 El código requiere 1 página&lt;br /&gt;
 La pila otra al completo&lt;br /&gt;
 Las globales necesitan 2&lt;br /&gt;
&lt;br /&gt;
*Segmentación pura = 3 segmentos, ocupan 10KB&lt;br /&gt;
 El codigo ocupa un segmento de 1 KB&lt;br /&gt;
 La pila uno de 4 KB&lt;br /&gt;
 Para globales es otro de 5KB&lt;br /&gt;
&lt;br /&gt;
*Combinado = 1 segmento de 4 páginas -&amp;gt; 16 KB&lt;br /&gt;
&lt;br /&gt;
== Ejercicio 2==&lt;br /&gt;
''[Este ejercicio formó parte del tercer Control de Evaluación Continua del curso 2010/11, del 8 de junio de 2011]''&lt;br /&gt;
&lt;br /&gt;
Suponga un sistema operativo con un administrador de memoria paginada cuyo tamaño de página es de 8KB. Se conoce que el sistema operativo funciona sobre un procesador cuyo tamaño de palabra es de 64 bits.&lt;br /&gt;
&lt;br /&gt;
'''A)''' Calcule el tamaño máximo que puede llegar a alcanzar la tabla de página de un proceso, suponiendo que cada entrada de la tabla de páginas ocupa 128 bits.&lt;br /&gt;
&lt;br /&gt;
'''B)''' Calcule cuántas páginas puede llegar a ocupar como máximo la tabla de páginas.&lt;br /&gt;
&lt;br /&gt;
'''C)''' Dado un proceso en ejecución que requiere 7 Mbytes, calcule cuántas entradas de la tabla de páginas están siendo empleadas por dicho proceso en el sistema descrito anteriormente.&lt;br /&gt;
&lt;br /&gt;
(''[[Solución de los ejercicios de paginación y segmentación#Ejercicio 2|Ver solución]]'')&lt;br /&gt;
&lt;br /&gt;
PD: Podrían colocar todos los ejercicios del examen C3, y aquel que sepa las soluciones que las coloque si es tan amable.&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_de_los_ejercicios_de_memoria_virtual&amp;diff=1275</id>
		<title>Solución de los ejercicios de memoria virtual</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_de_los_ejercicios_de_memoria_virtual&amp;diff=1275"/>
				<updated>2011-06-13T14:19:32Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: Página creada con '= NRU =  En caso de empate, se emplea LRU.                                           accesos a páginas                    |   r   |   r   |   w   |   r   |   r   |   r   |   r …'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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   |   3   |   3   |   3   |   4   |   5   |   1   |   2   |   5   |   1   |   3   |   4   |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   1   |   1   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         | R | M | 1 | 0 | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
 marcos  |   2   |       |   3   |   3   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |   =   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         | R | M |   |   | 1 | 0 | 1 | 1 | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = | = |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   3   |       |       |       |       |   4   |   =   |   =   |   2   |   =   |   =   |   =   |   4   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         | R | M |   |   |   |   |   |   |   |   | 1 | 0 | = | = | = | = | 1 | 1 | = | = | = | = | = | = | 1 | 0 |&lt;br /&gt;
         ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
         |   4   |       |       |       |       |       |   5   |   =   |   =   |   5   |   =   |   =   |   =   |&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   |&lt;br /&gt;
 página          -------------------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
                                               tiempo -&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
                                 6&lt;br /&gt;
 talla de fallos de página =  ------ = 0,4615&lt;br /&gt;
                                12&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Ejercicios_memoria_virtual&amp;diff=1274</id>
		<title>Ejercicios memoria virtual</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Ejercicios_memoria_virtual&amp;diff=1274"/>
				<updated>2011-06-13T13:07:42Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* Ejercicio 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ejercicio 1 ==&lt;br /&gt;
&lt;br /&gt;
Dada la siguiente secuencia de 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;
 r, r, w, r, r, r, r, w, w, w, r, r&lt;br /&gt;
&lt;br /&gt;
Suponiendo un sistema con un administrador de memoria teórico con cuatro marcos disponibles.&lt;br /&gt;
&lt;br /&gt;
Elabore el cronograma que represente la evolución de la relación páginas/marcos a lo largo del tiempo. Además, calcule la tasa de fallo de página para los siguientes criterios:&lt;br /&gt;
&lt;br /&gt;
* FIFO&lt;br /&gt;
* NRU (considere que el periodo de puesta a cero del bit R tiende a infinito, es decir, nunca se pone a cero)&lt;br /&gt;
* NRU con segunda oportunidad&lt;br /&gt;
* LRU&lt;br /&gt;
* LFU&lt;br /&gt;
* Sustitución por envejecimiento&lt;br /&gt;
&lt;br /&gt;
Ver [[solución ejercicio 1 memoria virtual|Solución]] de este ejercicio.&lt;br /&gt;
&lt;br /&gt;
== Ejercicio 2 ==&lt;br /&gt;
&lt;br /&gt;
Dada la siguiente secuencia de accesos a páginas:&lt;br /&gt;
&lt;br /&gt;
1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6&lt;br /&gt;
&lt;br /&gt;
Suponiendo un sistema con un administrador de memoria teórico con cuatro marcos disponibles.&lt;br /&gt;
&lt;br /&gt;
Elabore el cronograma que represente la evolución de la relación páginas/marcos a lo largo del tiempo. Además, calcule la tasa de fallo de página para los siguientes criterios:&lt;br /&gt;
&lt;br /&gt;
* MRU&lt;br /&gt;
* LRU&lt;br /&gt;
&lt;br /&gt;
Responda brevemente, ¿cuál de los dos ofrece mejor solución en este caso? ¿por qué?&lt;br /&gt;
&lt;br /&gt;
Ver [[solución ejercicio 2 memoria virtual|Solución]] de este ejercicio.&lt;br /&gt;
&lt;br /&gt;
== Ejercicio 3 ==&lt;br /&gt;
''[Este ejercicio formó parte del tercer Control de Evaluación Continua del curso 2010/11, del 8 de junio de 2011]''&lt;br /&gt;
&lt;br /&gt;
Suponga un sistema con un administrador de memoria teórico con cuatro marcos disponibles. Elabore el cronograma que represente la evolución de la relación páginas/marcos a lo largo del tiempo. Considere una situación de arranque en frío. Además, calcule la tasa de fallo de página. Todo ello para los siguientes criterios:&lt;br /&gt;
&lt;br /&gt;
'''A)''' NRU (en caso de empate LRU).&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;2&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; font-size: 95%;&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;center&amp;quot; style=&amp;quot;background:DarkSlateBlue; color:white&amp;quot;|'''Acceso a página'''&lt;br /&gt;
!Marco&lt;br /&gt;
!1(r)&lt;br /&gt;
!3(r)&lt;br /&gt;
!3(w)&lt;br /&gt;
!3(r)&lt;br /&gt;
!4(r)&lt;br /&gt;
!5(r)&lt;br /&gt;
!1(r)&lt;br /&gt;
!2(w)&lt;br /&gt;
!5(w)&lt;br /&gt;
!1(w)&lt;br /&gt;
!3(r)&lt;br /&gt;
!4(r)&lt;br /&gt;
|-&lt;br /&gt;
|1 &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2 &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3 &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4 &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FP &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
tasa de fallo de página=&lt;br /&gt;
&lt;br /&gt;
'''B)''' Sustitución por envejecimiento (En caso de empate LRU). Úsese 3 bits de historia y considere el periodo de 4 t.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;2&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;margin: 1em 1em 1em 0; background: #f9f9f9; width:500px; border: 1px #aaa solid; border-collapse: collapse; font-size: 95%;&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;center&amp;quot; style=&amp;quot;background:DarkSlateBlue; color:white&amp;quot;|'''Acceso a página'''&lt;br /&gt;
!Marco&lt;br /&gt;
!2&lt;br /&gt;
!3&lt;br /&gt;
!3&lt;br /&gt;
!1&lt;br /&gt;
!4&lt;br /&gt;
!5&lt;br /&gt;
!4&lt;br /&gt;
!1&lt;br /&gt;
!5&lt;br /&gt;
!2&lt;br /&gt;
!3&lt;br /&gt;
!4&lt;br /&gt;
|-&lt;br /&gt;
|1 &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2 &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3 &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4 &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FP &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
tasa de fallos de página=&lt;br /&gt;
&lt;br /&gt;
(''[[Solución de los ejercicios de memoria virtual#Ejercicio 3|Ver solución]]'')&lt;br /&gt;
&lt;br /&gt;
PD: Podrian colocar todos los ejercicios del examen C3, y aquel que sepa las soluciones que las coloque si es tan amable&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol_reloj&amp;diff=1273</id>
		<title>Sol reloj</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol_reloj&amp;diff=1273"/>
				<updated>2011-06-13T13:03:14Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;   _________________accesos a página____________________&lt;br /&gt;
     |_2_|_2_|_3_|_1_|_1_|_3_|_4_|_5_|_1_|_1_|_2_|_3_|_4_|&lt;br /&gt;
  ========================================================&lt;br /&gt;
   1 | 2 | = | = | = | = | = | = | 5 | = | = | = | = | 5 |&lt;br /&gt;
   R | 1 |   |   |   |   |   |   | 1 |   |   |   |   | 0 |&lt;br /&gt;
 m---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
 a 2 |   |   | 3 | = | = | = | = | 3 | = | = | 2 | = | 2 | &lt;br /&gt;
 r R |   |   | 1 |   |   |   |   | 0 |   |   | 1 |   | 0 |   &lt;br /&gt;
 c---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
 o 3 |   |   |   | 1 | = | = | = | 1 | 1 | = | = | 1 | 4 |&lt;br /&gt;
 s R |   |   |   | 1 |   |   |   | 0 | 1 |   |   | 0 | 1 |  &lt;br /&gt;
  ---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
   4 |   |   |   |   |   |   | 4 | 4 | = | = | = | 3 | = |&lt;br /&gt;
   R |   |   |   |   |   |   | 1 | 0 |   |   |   | 1 |   |&lt;br /&gt;
  ------------------------------------------------------------&amp;gt; t&lt;br /&gt;
&lt;br /&gt;
                    8&lt;br /&gt;
  tasa fallos pág = ---- = 0,615&lt;br /&gt;
                     13&lt;br /&gt;
Según los apuntes de M.Rovayo se implementa como una cola circular con un puntero que señala a la última exploración realizada (NO A LA ÚLTIMA PÁGINA EXAMINADA). En esta cola solo se desplaza el puntero(que indica la página víctima). En el momento que llega la página 5 ,la cola está de la siguiente forma :  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2(R=1)-&amp;gt;3(R=1)-&amp;gt;1(R=1)-&amp;gt;4(R=1)  &lt;br /&gt;
  ^                               luego da una vuelta cambiando todos los bits R a 0 y el primero&lt;br /&gt;
  |                                que se encuentra es de nuevo el 2, luego lo cambia por el 5.&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Jherrera|Jherrera]] 13:03 13 jun 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
[[Criterios_de_reemplazo|Volver]]&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol_reloj&amp;diff=1272</id>
		<title>Sol reloj</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol_reloj&amp;diff=1272"/>
				<updated>2011-06-13T10:44:44Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;   _________________accesos a página____________________&lt;br /&gt;
     |_2_|_2_|_3_|_1_|_1_|_3_|_4_|_5_|_1_|_1_|_2_|_3_|_4_|&lt;br /&gt;
  ========================================================&lt;br /&gt;
   1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 5 | 5 | 5 | 5 | 5 | 5 |&lt;br /&gt;
     |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
 m---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
 a 2 |   |   | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 2 | 2 | 2 | &lt;br /&gt;
 r   |   |   |   |   |   |   |   |   |   |   |   |   |   |   &lt;br /&gt;
 c---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
 o 3 |   |   |   | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 4 |&lt;br /&gt;
 s   |   |   |   |   |   |   |   |   |   |   |   |   |   |  &lt;br /&gt;
  ---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
   4 |   |   |   |   |   |   | 4 | 4 | 4 | 4 | 4 | 3 | 3 |&lt;br /&gt;
     |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
  ------------------------------------------------------------&amp;gt; t&lt;br /&gt;
&lt;br /&gt;
                    7&lt;br /&gt;
  tasa fallos pág = ---- = 0,615&lt;br /&gt;
                     13&lt;br /&gt;
Esta solución es la correcta aunque habría que añadirle el estado del bit R. Según en los apuntes de M.Rovayo se implementa como una cola circular con un puntero que señala a la última exploración realizada (NO A LA ÚLTIMA PÁGINA EXAMINADA). En esta cola solo se desplaza el puntero(que indica la página víctima). En el momento que llega la página 5 ,la cola está de la siguiente forma :  &lt;br /&gt;
----&lt;br /&gt;
2(R=1)-&amp;gt;3(R=1)-&amp;gt;1(R=1)-&amp;gt;4(R=1)  &lt;br /&gt;
  ^                                luego da una vuelta cambiando todos los bits R a 0 y el primero&lt;br /&gt;
  |                                que se encuentra es de nuevo el 2, luego lo cambia por el 5.--[[Usuario:Jherrera|Jherrera]] 10:44 13 jun 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creo que la tasa es de 8/13, que coincidiría con el criterio de segunda oportunidad. --[[Usuario:Lcarlosp|Lcarlosp]] 12:26 6 jun 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
¿Está bien esta solución? Si el puntero señala el último marco utilizado (el 4), cuando viene el 5 habría que quitar el 4:&lt;br /&gt;
&lt;br /&gt;
  2(R=1)-&amp;gt;3(R=1)-&amp;gt;1(R=1)-&amp;gt;4(R=1)    Se implementa con una lista circular y el puntero señala el 4, &lt;br /&gt;
  ^                       |         luego da una vuelta cambiando todos los bits R a 0 y el primero&lt;br /&gt;
  |                       |         que se encuentra es de nuevo el 4, luego lo cambia por el 5.&lt;br /&gt;
  -------------------------         &lt;br /&gt;
--[[Usuario:Robertomartin|Robertomartin]] 08:29 7 jun 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
   _________________accesos a página____________________&lt;br /&gt;
     |_2_|_2_|_3_|_1_|_1_|_3_|_4_|_5_|_1_|_1_|_2_|_3_|_4_|&lt;br /&gt;
  ========================================================&lt;br /&gt;
   1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |&lt;br /&gt;
   R=| 1 | = | = | = | = | = | = | = | = | = | 1 | = | 0 |&lt;br /&gt;
 m---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
 a 2 |   |   | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 4 | &lt;br /&gt;
 r R=|   |   | 1 | = | = | = | = | 0 | = | = | = | 1 | 1 |   &lt;br /&gt;
 c---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
 o 3 |   |   |   | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |&lt;br /&gt;
 s R=|   |   |   | 1 | = | = | = | 0 | 1 | = | = | = | 0 |  &lt;br /&gt;
  ---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
   4 |   |   |   |   |   |   | 4 | 5 | 5 | 5 | 5 | 5 | 5 |&lt;br /&gt;
   R=|   |   |   |   |   |   | 1 | 1 | = | = | = | = | 0 |&lt;br /&gt;
  ------------------------------------------------------------&amp;gt; t&lt;br /&gt;
creo que esta seria la solucion correcta, el puntero, en las situaciones criticas, esta apuntando a 4 que como dice Roberto se recorre la lista poniendo los bits a 0 y despues se sustituye por el 5, con bit a 1; y en la otra situación critica, cuando llega el ultimo 4, el puntero apunta a 3 y repitiendo la misma operacion de antes se sustituye por el 3.--[[Usuario:Jmf bsk|Jmf bsk]] 16:09 7 jun 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Criterios_de_reemplazo|Volver]]&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol_reloj&amp;diff=1271</id>
		<title>Sol reloj</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol_reloj&amp;diff=1271"/>
				<updated>2011-06-13T10:44:00Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;   _________________accesos a página____________________&lt;br /&gt;
     |_2_|_2_|_3_|_1_|_1_|_3_|_4_|_5_|_1_|_1_|_2_|_3_|_4_|&lt;br /&gt;
  ========================================================&lt;br /&gt;
   1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 5 | 5 | 5 | 5 | 5 | 5 |&lt;br /&gt;
     |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
 m---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
 a 2 |   |   | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 2 | 2 | 2 | &lt;br /&gt;
 r   |   |   |   |   |   |   |   |   |   |   |   |   |   |   &lt;br /&gt;
 c---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
 o 3 |   |   |   | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 4 |&lt;br /&gt;
 s   |   |   |   |   |   |   |   |   |   |   |   |   |   |  &lt;br /&gt;
  ---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
   4 |   |   |   |   |   |   | 4 | 4 | 4 | 4 | 4 | 3 | 3 |&lt;br /&gt;
     |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
  ------------------------------------------------------------&amp;gt; t&lt;br /&gt;
&lt;br /&gt;
                    7&lt;br /&gt;
  tasa fallos pág = ---- = 0,615&lt;br /&gt;
                     13&lt;br /&gt;
Esta solución es la correcta aunque habría que añadirle el estado del bit R. Según en los apuntes de M.Rovayo se implementa como una cola circular con un puntero que señala a la última exploración realizada (NO A LA ÚLTIMA PÁGINA EXAMINADA). En esta cola solo se desplaza el puntero(que indica la página víctima). En el momento que llega la página 5 ,la cola está de la siguiente forma :  &lt;br /&gt;
----&lt;br /&gt;
2(R=1)-&amp;gt;3(R=1)-&amp;gt;1(R=1)-&amp;gt;4(R=1)  &lt;br /&gt;
  ^                                luego da una vuelta cambiando todos los bits R a 0 y el primero&lt;br /&gt;
  |                                que se encuentra es de nuevo el 2, luego lo cambia por el 5.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creo que la tasa es de 8/13, que coincidiría con el criterio de segunda oportunidad. --[[Usuario:Lcarlosp|Lcarlosp]] 12:26 6 jun 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
¿Está bien esta solución? Si el puntero señala el último marco utilizado (el 4), cuando viene el 5 habría que quitar el 4:&lt;br /&gt;
&lt;br /&gt;
  2(R=1)-&amp;gt;3(R=1)-&amp;gt;1(R=1)-&amp;gt;4(R=1)    Se implementa con una lista circular y el puntero señala el 4, &lt;br /&gt;
  ^                       |         luego da una vuelta cambiando todos los bits R a 0 y el primero&lt;br /&gt;
  |                       |         que se encuentra es de nuevo el 4, luego lo cambia por el 5.&lt;br /&gt;
  -------------------------         &lt;br /&gt;
--[[Usuario:Robertomartin|Robertomartin]] 08:29 7 jun 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
   _________________accesos a página____________________&lt;br /&gt;
     |_2_|_2_|_3_|_1_|_1_|_3_|_4_|_5_|_1_|_1_|_2_|_3_|_4_|&lt;br /&gt;
  ========================================================&lt;br /&gt;
   1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |&lt;br /&gt;
   R=| 1 | = | = | = | = | = | = | = | = | = | 1 | = | 0 |&lt;br /&gt;
 m---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
 a 2 |   |   | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 4 | &lt;br /&gt;
 r R=|   |   | 1 | = | = | = | = | 0 | = | = | = | 1 | 1 |   &lt;br /&gt;
 c---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
 o 3 |   |   |   | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |&lt;br /&gt;
 s R=|   |   |   | 1 | = | = | = | 0 | 1 | = | = | = | 0 |  &lt;br /&gt;
  ---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
   4 |   |   |   |   |   |   | 4 | 5 | 5 | 5 | 5 | 5 | 5 |&lt;br /&gt;
   R=|   |   |   |   |   |   | 1 | 1 | = | = | = | = | 0 |&lt;br /&gt;
  ------------------------------------------------------------&amp;gt; t&lt;br /&gt;
creo que esta seria la solucion correcta, el puntero, en las situaciones criticas, esta apuntando a 4 que como dice Roberto se recorre la lista poniendo los bits a 0 y despues se sustituye por el 5, con bit a 1; y en la otra situación critica, cuando llega el ultimo 4, el puntero apunta a 3 y repitiendo la misma operacion de antes se sustituye por el 3.--[[Usuario:Jmf bsk|Jmf bsk]] 16:09 7 jun 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Criterios_de_reemplazo|Volver]]&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_de_los_ejercicios_de_paginaci%C3%B3n_y_segmentaci%C3%B3n&amp;diff=1269</id>
		<title>Solución de los ejercicios de paginación y segmentación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_de_los_ejercicios_de_paginaci%C3%B3n_y_segmentaci%C3%B3n&amp;diff=1269"/>
				<updated>2011-06-12T22:17:26Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: Página creada con 'El tamaño de página es de 8KB = 2^13 B --&amp;gt; 13 bits para la zona de offset.  El tamaño de palabra del procesador es de 64 bits.  Conocido el offset y el tamaño de la palabra …'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;El tamaño de página es de 8KB = 2^13 B --&amp;gt; 13 bits para la zona de offset.&lt;br /&gt;
&lt;br /&gt;
El tamaño de palabra del procesador es de 64 bits.&lt;br /&gt;
&lt;br /&gt;
Conocido el offset y el tamaño de la palabra podemos obtener los bits que ocupan la zona de nº página (64 bits - 13bits).&lt;br /&gt;
&lt;br /&gt;
                                         '''DIRECCIÓN LÓGICA'''&lt;br /&gt;
                               --------------------------------------&lt;br /&gt;
                              | nº página (51 bits) | offset(13 bits)|&lt;br /&gt;
                              --------------------------------------&lt;br /&gt;
&lt;br /&gt;
=Apartado a)=&lt;br /&gt;
Nuestra tabla de páginas tendrá tantas entradas como páginas tenga, por lo que tiene 2^51 entradas. &lt;br /&gt;
Si sabemos que cada entrada ocupa 128 bits (16 B =2^4 B) el tamaño de la tabla de páginas será 2^51 * 2^4 = 2^55 B&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Apartado b)=&lt;br /&gt;
Sabiendo el tamaño de la tabla de páginas y del tamaño de página, podemos saber cuántas páginas hay. &lt;br /&gt;
&lt;br /&gt;
2^55 B / 2^13 B = 2^42 páginas = 4 Tera Páginas&lt;br /&gt;
&lt;br /&gt;
=Apartado c)=&lt;br /&gt;
&lt;br /&gt;
Si el proceso ocupa 7*2^20 B y cada entrada de la tabla de páginas ocupa 128 bits (16 B =2^4 B) tendremos : &lt;br /&gt;
7*2^20 B / 2^4 B = 7 * 2^16 entradas de la tabla de páginas están siendo ocupadas.&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_ejercicio_1_memoria_virtual&amp;diff=1191</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=1191"/>
				<updated>2011-06-07T15:38:33Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* NRU con 2º oportunidad */&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;
= 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   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         |   R   |       |       |       |       |   1   |   =   |   0   |   1   |   =   |   =   |   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;
 &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;
= 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 || 5 | = | = | 4 |&lt;br /&gt;
     |100| = | = | = ||010| = |100|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>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_ejercicio_2_memoria_virtual&amp;diff=1163</id>
		<title>Solución ejercicio 2 memoria virtual</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_ejercicio_2_memoria_virtual&amp;diff=1163"/>
				<updated>2011-06-07T10:56:36Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* LRU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==MRU==&lt;br /&gt;
                                       accesos a páginas&lt;br /&gt;
                 -------------------------------------------------------------------------&lt;br /&gt;
                 |  1  |  2  |  3  |  4  |  5  |  6  |  1  |  2  |  3  |  4  |  5  |  6  |&lt;br /&gt;
         ---------------------------------------------------------------------------------&lt;br /&gt;
         |   1   |  1  |  =  |  =  |  =  |  =  |  =  |  =  |  =  |  =  |  =  |  =  |  1  |&lt;br /&gt;
         ---------------------------------------------------------------------------------&lt;br /&gt;
 marcos  |   2   |     |  2  |  =  |  =  |  =  |  =  |  =  |  =  |  =  |  =  |  =  |  2  |&lt;br /&gt;
         --------------------------------------------------------------------------------&lt;br /&gt;
         |   3   |     |     |  3  |  =  |  =  |  =  |  =  |  =  |  =  |  4  |  5  |  5  |&lt;br /&gt;
         ---------------------------------------------------------------------------------&lt;br /&gt;
         |   4   |     |     |     |  4  |  5  |  6  |  =  |  =  |  =  |  =  |  =  |  6  |&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;
==LRU==&lt;br /&gt;
                                       accesos a páginas&lt;br /&gt;
                 -------------------------------------------------------------------------&lt;br /&gt;
                 |  1  |  2  |  3  |  4  |  5  |  6  |  1  |  2  |  3  |  4  |  5  |  6  |&lt;br /&gt;
         ---------------------------------------------------------------------------------&lt;br /&gt;
         |   1   |  1  |  =  |  =  |  =  |  5  |  =  |  =  |  =  |  3  |  =  |  =  |  3  |&lt;br /&gt;
         ---------------------------------------------------------------------------------&lt;br /&gt;
 marcos  |   2   |     |  2  |  =  |  =  |  =  |  6  |  =  |  =  |  =  |  4  |  =  |  4  |&lt;br /&gt;
         --------------------------------------------------------------------------------&lt;br /&gt;
         |   3   |     |     |  3  |  =  |  =  |  =  |  1  |  =  |  =  |  =  |  5  |  5  |&lt;br /&gt;
         ---------------------------------------------------------------------------------&lt;br /&gt;
         |   4   |     |     |     |  4  |  =  |  =  |  =  |  2  |  =  |  =  |  =  |  6  |&lt;br /&gt;
         ---------------------------------------------------------------------------------&lt;br /&gt;
 fallo           |  X  |  X  |  X  |  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;
                                12&lt;br /&gt;
 talla de fallos de página =  ------ = 1&lt;br /&gt;
                                12&lt;br /&gt;
&lt;br /&gt;
Ofrece mejor resultado el MRU en esta caso porque las páginas vienen de forma secuencial. Esto repercute negativamente en el LRU porque supone que la página menos recientemente usada no va a volver a ser pedida, hecho que no ocurre en la secuencia de páginas. Por lo que estamos descargando las páginas que en futuro cercano va a volver a ser utilizado.[[Usuario:Jherrera|Jherrera]]&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_ejercicio_2_memoria_virtual&amp;diff=1162</id>
		<title>Solución ejercicio 2 memoria virtual</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_ejercicio_2_memoria_virtual&amp;diff=1162"/>
				<updated>2011-06-07T10:56:11Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* LRU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==MRU==&lt;br /&gt;
                                       accesos a páginas&lt;br /&gt;
                 -------------------------------------------------------------------------&lt;br /&gt;
                 |  1  |  2  |  3  |  4  |  5  |  6  |  1  |  2  |  3  |  4  |  5  |  6  |&lt;br /&gt;
         ---------------------------------------------------------------------------------&lt;br /&gt;
         |   1   |  1  |  =  |  =  |  =  |  =  |  =  |  =  |  =  |  =  |  =  |  =  |  1  |&lt;br /&gt;
         ---------------------------------------------------------------------------------&lt;br /&gt;
 marcos  |   2   |     |  2  |  =  |  =  |  =  |  =  |  =  |  =  |  =  |  =  |  =  |  2  |&lt;br /&gt;
         --------------------------------------------------------------------------------&lt;br /&gt;
         |   3   |     |     |  3  |  =  |  =  |  =  |  =  |  =  |  =  |  4  |  5  |  5  |&lt;br /&gt;
         ---------------------------------------------------------------------------------&lt;br /&gt;
         |   4   |     |     |     |  4  |  5  |  6  |  =  |  =  |  =  |  =  |  =  |  6  |&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;
==LRU==&lt;br /&gt;
                                       accesos a páginas&lt;br /&gt;
                 -------------------------------------------------------------------------&lt;br /&gt;
                 |  1  |  2  |  3  |  4  |  5  |  6  |  1  |  2  |  3  |  4  |  5  |  6  |&lt;br /&gt;
         ---------------------------------------------------------------------------------&lt;br /&gt;
         |   1   |  1  |  =  |  =  |  =  |  5  |  =  |  =  |  =  |  3  |  =  |  =  |  3  |&lt;br /&gt;
         ---------------------------------------------------------------------------------&lt;br /&gt;
 marcos  |   2   |     |  2  |  =  |  =  |  =  |  6  |  =  |  =  |  =  |  4  |  =  |  4  |&lt;br /&gt;
         --------------------------------------------------------------------------------&lt;br /&gt;
         |   3   |     |     |  3  |  =  |  =  |  =  |  1  |  =  |  =  |  =  |  5  |  5  |&lt;br /&gt;
         ---------------------------------------------------------------------------------&lt;br /&gt;
         |   4   |     |     |     |  4  |  =  |  =  |  =  |  2  |  =  |  =  |  =  |  6  |&lt;br /&gt;
         ---------------------------------------------------------------------------------&lt;br /&gt;
 fallo           |  X  |  X  |  X  |  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;
                                12&lt;br /&gt;
 talla de fallos de página =  ------ = 1&lt;br /&gt;
                                12&lt;br /&gt;
&lt;br /&gt;
Ofrece mejor resultado el MRU en esta caso porque las páginas vienen de forma secuencial. Esto repercute negativamente en el LRU porque supone que la página menos recientemente usada no va a volver a ser pedida, hecho que no ocurre en la secuencia de páginas. Por lo que estamos descargando las páginas que en futuro cercano va a volver a ser utilizado.&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_ejercicio_1_memoria_virtual&amp;diff=1160</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=1160"/>
				<updated>2011-06-07T10:36:09Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* Sustitución por envejecimiento */&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;
= 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   |&lt;br /&gt;
         |       |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|&lt;br /&gt;
         |   R   |       |       |       |       |   1   |   =   |   0   |   1   |   =   |   =   |   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;
 &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;
= 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;
Duda!! Al quitar un elemento, se resetea su contador? yo he tomado que no..alguien sabe si debe permanecer su valor anterior?&lt;br /&gt;
&lt;br /&gt;
Debería resetearse, no vamos a tener una estructura para guardar el contador de todas las páginas borradas, es una locura. --[[Usuario:Joscamsos|Joscamsos]] 08:47 7 jun 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
= Sustitución por envejecimiento =&lt;br /&gt;
&lt;br /&gt;
 Periodo de 4, registro R de 3 bits, desempate: FIFO&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 || 5 | = | = | = |&lt;br /&gt;
     |100| = | = | = ||010| = |100|100||010| = | = | = |&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 | 3 | = |&lt;br /&gt;
 s   |   |   |   |   ||100| = | = | = ||010|100|100| = |&lt;br /&gt;
  ---|---|---|---|---||---|---|---|---||---|---|---|---|&lt;br /&gt;
   4 |   |   |   |   ||   | 4 | = | = || 4 | = | = | 4 |&lt;br /&gt;
     |   |   |   |   ||   |100| = | = ||010| = | = |110|&lt;br /&gt;
  --------------------------------------------------------&amp;gt; t&lt;br /&gt;
       x           x    x   x   x        x   x   x&lt;br /&gt;
 &lt;br /&gt;
                     8&lt;br /&gt;
  tasa fallos pág = ---- &lt;br /&gt;
                     13&lt;br /&gt;
&lt;br /&gt;
El fallo está en las dos últimas páginas. A la hora de cargar la página 3, las candidatas son 4 y 5 (ya que tienen el menor número) y por orden de carga se tendría que sustituir la página 4. Luego en la última tendría que ser sustituida la 5. Resumiendo, lo correcto es como está hecho en el de abajo.[[Usuario:Jherrera|Jherrera]]&lt;br /&gt;
&lt;br /&gt;
= Sustitución por envejecimiento 1=&lt;br /&gt;
 Periodo de 4, registro R de 3 bits, desempate: FIFO&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 || 5 | = | = | 4 |&lt;br /&gt;
     |100| = | = | = ||010| = |100|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&lt;br /&gt;
 &lt;br /&gt;
                     9&lt;br /&gt;
  tasa fallos pág = ---- &lt;br /&gt;
                     13&lt;br /&gt;
Creo que está solución es correcta, la victima es el menor R, y he aplicado FIFO en caso de empate.&lt;br /&gt;
--[[Usuario:Marmaclar|Marmaclar]] 09:15 7 jun 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
Estoy de acuerdo --[[Usuario:Robertomartin|Robertomartin]] 09:15 7 jun 2011 (UTC)&lt;br /&gt;
Estoy de acuerdo con esta solución. --[[Usuario:David|David]] 10:16 7 jun 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol_reloj&amp;diff=1038</id>
		<title>Sol reloj</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol_reloj&amp;diff=1038"/>
				<updated>2011-06-05T18:16:49Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;   _________________accesos a página____________________&lt;br /&gt;
     |_2_|_2_|_3_|_1_|_1_|_3_|_4_|_5_|_1_|_1_|_2_|_3_|_4_|&lt;br /&gt;
  ========================================================&lt;br /&gt;
   1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 5 | 5 | 5 | 5 | 5 | 5 |&lt;br /&gt;
     |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
 m---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
 a 2 |   |   | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 2 | 2 | 2 | &lt;br /&gt;
 r   |   |   |   |   |   |   |   |   |   |   |   |   |   |   &lt;br /&gt;
 c---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
 o 3 |   |   |   | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 4 |&lt;br /&gt;
 s   |   |   |   |   |   |   |   |   |   |   |   |   |   |  &lt;br /&gt;
  ---|---|---|---|---|---|---|---|---|---|---|---|---|---|&lt;br /&gt;
   4 |   |   |   |   |   |   | 4 | 4 | 4 | 4 | 4 | 3 | 3 |&lt;br /&gt;
     |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
  ------------------------------------------------------------&amp;gt; t&lt;br /&gt;
&lt;br /&gt;
                    7&lt;br /&gt;
  tasa fallos pág = ---- = 0,615&lt;br /&gt;
                     13&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Criterios_de_reemplazo|Volver]]&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol_6&amp;diff=1034</id>
		<title>Sol 6</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol_6&amp;diff=1034"/>
				<updated>2011-06-05T14:22:12Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: en el último acceso estaba escrito M=0 para la página 3 teniendo que ser M=1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La lista de paginas a la que se acceden son las siguientes : &lt;br /&gt;
''' 2(R)--2(W)--3(R)--1(R)--1(W)--3(R)--4(W)--5(R)--1(R)--1(W)--2(R)--3(W)--4(R)'''&lt;br /&gt;
&lt;br /&gt;
El bit R se pone a 0 cada 4 accesos&lt;br /&gt;
                               ___1__ __ 2__ __3___ __4___&lt;br /&gt;
                  1º Acceso   |      |      |      |      |&lt;br /&gt;
                  Acceso a:   |  2   |      |      |      | Nª de fallos: 1&lt;br /&gt;
                   Pagina 2   |R=1M=0|R=0M=0|R=0M=0|R=0M=0|&lt;br /&gt;
                              |______|______|______|______|&lt;br /&gt;
                  2º Acceso   |      |      |      |      |&lt;br /&gt;
                  Acceso a:   |  2   |      |      |      | Nª de fallos: 1&lt;br /&gt;
                   Pagina 2   |R=1M=1|R=0M=0|R=0M=0|R=0M=0|&lt;br /&gt;
                              |______|______|______|______|&lt;br /&gt;
                  3º Acceso   |      |      |      |      |&lt;br /&gt;
                  Acceso a:   |  2   |  3   |      |      | Nª de fallos: 2&lt;br /&gt;
                   Pagina 3   |R=1M=1|R=1M=0|R=0M=0|R=0M=0|&lt;br /&gt;
                              |______|______|______|______|&lt;br /&gt;
                  4º Acceso   |      |      |      |      |&lt;br /&gt;
                  Acceso a:   |  2   |  3   |  1   |      | Nª de fallos: 3&lt;br /&gt;
                   Pagina 1   |R=1M=1|R=1M=0|R=1M=0|R=0M=0|&lt;br /&gt;
                              |______|______|______|______|&amp;lt;------------------- EL BIT R SE PONE A 0&lt;br /&gt;
                  5º Acceso   |      |      |      |      |&lt;br /&gt;
                  Acceso a:   |  2   |  3   |  1   |      | Nª de fallos: 3&lt;br /&gt;
                   Pagina 1   |R=0M=1|R=0M=0|R=1M=1|R=0M=0|&lt;br /&gt;
                              |______|______|______|______|&lt;br /&gt;
                  6º Acceso   |      |      |      |      |&lt;br /&gt;
                  Acceso a:   |  2   |  3   |  1   |      | Nª de fallos: 3&lt;br /&gt;
                   Pagina 3   |R=0M=1|R=1M=0|R=1M=1|R=0M=0|&lt;br /&gt;
                              |______|______|______|______|&lt;br /&gt;
                  7º Acceso   |      |      |      |      |&lt;br /&gt;
                  Acceso a:   |  2   |  3   |  1   |  4   | Nª de fallos: 4&lt;br /&gt;
                   Pagina 4   |R=0M=1|R=1M=0|R=1M=1|R=1M=1|&lt;br /&gt;
                              |______|______|______|______|&lt;br /&gt;
                  8º Acceso   |      |      |      |      |&lt;br /&gt;
                  Acceso a:   |  5   |  3   |  1   |  4   | Nª de fallos: 5&lt;br /&gt;
                   Pagina 5   |R=1M=0|R=1M=0|R=1M=1|R=1M=1|&lt;br /&gt;
                              |______|______|______|______|&amp;lt;------------------- EL BIT R SE PONE A 0&lt;br /&gt;
                  9º Acceso   |      |      |      |      |&lt;br /&gt;
                  Acceso a:   |  5   |  3   |  1   |  4   | Nª de fallos: 5&lt;br /&gt;
                   Pagina 1   |R=0M=0|R=0M=0|R=1M=1|R=0M=1|&lt;br /&gt;
                              |______|______|______|______|&lt;br /&gt;
                 10º Acceso   |      |      |      |      |&lt;br /&gt;
                  Acceso a:   |  5   |  3   |  1   |  4   | Nª de fallos: 6&lt;br /&gt;
                   Pagina 1   |R=0M=0|R=0M=0|R=1M=1|R=0M=1|&lt;br /&gt;
                              |______|______|______|______|&lt;br /&gt;
                 11º Acceso   |      |      |      |      |&lt;br /&gt;
                  Acceso a:   |  5   |  2   |  1   |  4   | Nª de fallos: 7&lt;br /&gt;
                   Pagina 2   |R=0M=0|R=1M=0|R=1M=1|R=0M=1|&lt;br /&gt;
                              |______|______|______|______|&lt;br /&gt;
                 12º Acceso   |      |      |      |      |&lt;br /&gt;
                  Acceso a:   |  3   |  2   |  1   |  4   | Nª de fallos: 8&lt;br /&gt;
                   Pagina 3   |R=1M=1|R=1M=0|R=1M=1|R=0M=1|&lt;br /&gt;
                              |______|______|______|______|&amp;lt;------------------- EL BIT R SE PONE A 0&lt;br /&gt;
                 13º Acceso   |      |      |      |      |&lt;br /&gt;
                  Acceso a:   |  3   |  2   |  1   |  4   | Nª de fallos: 8&lt;br /&gt;
                   Pagina 4   |R=0M=1|R=0M=0|R=0M=1|R=1M=1|&lt;br /&gt;
                              |______|______|______|______|&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Fcoramlop|Fcoramlop]] 22:17 4 jun 2011 (UTC)&lt;br /&gt;
                    8&lt;br /&gt;
  tasa fallos pág = ---- = 0,615&lt;br /&gt;
                     13&lt;br /&gt;
&lt;br /&gt;
[[Criterios_de_reemplazo|Volver]]&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=SO_multiprogramables_con_particiones_variables&amp;diff=927</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=927"/>
				<updated>2011-05-30T09:35:52Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* Definición */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definición ==&lt;br /&gt;
&lt;br /&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, se utiliza un bit para representar si dicho bloque está libre o asignado.&lt;br /&gt;
&lt;br /&gt;
* '''Listas de control''': Se almacena en una lista el tamaño de los huecos y las posiciones de memoria entre las que se encuentran comprendidos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Criterios de asignación ==&lt;br /&gt;
&lt;br /&gt;
* '''Primer ajuste''': Consiste en asignar el primer hueco disponible que tenga un espacio suficiente para almacenar el programa. Las dos principales desventajas son su alto desperdicio interno, y el elevado 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;
* '''Siguiente ajuste''': 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.&lt;br /&gt;
&lt;br /&gt;
* '''Mejor ajuste''': Consiste en asignarle al proceso el hueco con menor ajuste interno. Su mayor inconveniente es su orden de complejidad (orden lineal, ''O(n)'')&lt;br /&gt;
&lt;br /&gt;
* '''Peor ajuste''': Al contrario que el criterio anterior, se asigna a cada proceso el hueco con mayor ajuste interno. Tiene el mismo inconveniente en cuanto a orden de complejidad que el mejor ajuste.&lt;br /&gt;
&lt;br /&gt;
* '''Ajuste rápido''': 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;
* '''Método de los compañeros''': 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&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Otro_ejemplo&amp;diff=926</id>
		<title>Otro ejemplo</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Otro_ejemplo&amp;diff=926"/>
				<updated>2011-05-30T08:42:17Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; Ej: tenemos los siguientes procesos: m(P1)=6KB,m(P2)=1KB,m(P3)=3KB,m(P4)=31KB,m(P5)=30KB,m(P6)=2KB,m(P7)=4KB,m(P8)=1KB;&lt;br /&gt;
     y una memoria de 64 KB divididos en 4 huecos como sigue:&lt;br /&gt;
  _____&lt;br /&gt;
 |_____| H1 = 8KB     | m(P1)=6KB  | H&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;(P1)=0 | t(P1)=8&lt;br /&gt;
 |_____| H2 = 8KB     | m(P2)=1KB  | H&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;(P2)=0 | t(P2)=8&lt;br /&gt;
 |     |              | m(P3)=3KB  | H&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;(P3)=1 | t(P3)=2&lt;br /&gt;
 |_____| H3 = 16KB    | m(P4)=31KB | H&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;(P4)=0 | t(P4)=2&lt;br /&gt;
 |     |              | m(P5)=30KB | H&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;(P5)=0 | t(P5)=2&lt;br /&gt;
 |     |              | m(P6)=2KB  | H&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;(P6)=0 | t(P6)=2&lt;br /&gt;
 |     | H4 = 32KB    | m(P7)=4KB  | H&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;(P7)=2 | t(P7)=2&lt;br /&gt;
 |_____|              | m(P8)=1KB  | H&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;(P8)=0 | t(P8)=2&lt;br /&gt;
&lt;br /&gt;
 solución:&lt;br /&gt;
  &amp;gt;: fin del proceso.&lt;br /&gt;
 &lt;br /&gt;
     | P1| P1| P1| P1| P1| P1| P1| P1|   |&lt;br /&gt;
   H1|---|---|---|---|---|---|---|---&amp;gt;   |&lt;br /&gt;
     |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
     | P6| P6| P7| P7| P3| P3|   |   |   |&lt;br /&gt;
   H2|---|---&amp;gt;---|---&amp;gt;---|---&amp;gt;   |   |   |&lt;br /&gt;
     |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
     | P2| P2| P2| P2| P2| P2| P2| P2|   |&lt;br /&gt;
   H3|---|---|---|---|---|---|---|---&amp;gt;   |&lt;br /&gt;
     |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
     | P4| P4| P5| P5| P8| P8|   |   |   |&lt;br /&gt;
   H4|---|---&amp;gt;---|---&amp;gt;---|---&amp;gt;   |   |   |&lt;br /&gt;
     |___|___|___|___|___|___|___|___|___|__&amp;gt;&lt;br /&gt;
     0   1   2   3   4   5   6   7   8   9  t&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_mejor_ajuste_est%C3%A1tico&amp;diff=925</id>
		<title>Solución mejor ajuste estático</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_mejor_ajuste_est%C3%A1tico&amp;diff=925"/>
				<updated>2011-05-30T08:34:34Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: Erratas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; Solución: P1-&amp;gt;H1, P2-&amp;gt;H2, P3-&amp;gt;H1/H2, P4-&amp;gt;H4, P5-&amp;gt;H4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
P3 podrá ir a H1 o H2, la que se libere antes.&lt;br /&gt;
P5 se pondrá a esperar a que termine P4, mientras que este se pondrá a la cola.&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=SO_multiprogramables_con_particiones_fijas&amp;diff=881</id>
		<title>SO multiprogramables con particiones fijas</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=SO_multiprogramables_con_particiones_fijas&amp;diff=881"/>
				<updated>2011-05-23T07:08:16Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La memoria se encuentra dividida en particiones, en cada una habrá un proceso. Por lo tanto, se pueden ejecutar tantos procesos como particiones haya.&lt;br /&gt;
&lt;br /&gt;
=Estrategias=&lt;br /&gt;
*Cancelación: &amp;quot;lo siento, no hay memoria libre, prueba más tarde&amp;quot;&lt;br /&gt;
*Espera: añadir a la cola&lt;br /&gt;
&lt;br /&gt;
=Limitaciones=&lt;br /&gt;
*Procesos partición máxima -&amp;gt; No se ejecuta&lt;br /&gt;
*Desperdicio de memoria. Por ejemplo, si los procesos son muy pequeños y las particiones grandes&lt;br /&gt;
&lt;br /&gt;
=Criterios de asignación=&lt;br /&gt;
Se lanza un proceso, y hay que elegir a que partición va (estrategia de espera). Puede haber una cola por partición, o una sola para todas las particiones.&lt;br /&gt;
&lt;br /&gt;
 Ej: tenemos los siguientes procesos: m(P1) = 6KB, m(P2) = 1KB, m(P3) = 3KB, m(P4) = 31KB, m(P5) = 30KB;&lt;br /&gt;
     y una memoria de 64 KB divididos en 4 huecos como sigue:&lt;br /&gt;
  _&lt;br /&gt;
 |_| H1 = 8KB   &lt;br /&gt;
 |_| H2 = 8KB &lt;br /&gt;
 | |&lt;br /&gt;
 |_| H3 = 16KB&lt;br /&gt;
 | |&lt;br /&gt;
 | |&lt;br /&gt;
 | | H4 = 32KB   &lt;br /&gt;
 |_|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Mejor ajuste estático''': se adjudica cada proceso a la menor partición que quepa. Complejidad: O(1)&lt;br /&gt;
&lt;br /&gt;
[[solución mejor ajuste estático|Ver solución]]&lt;br /&gt;
&lt;br /&gt;
*'''Primer ajuste''': cuando una partición queda libre, se asigna el primer proceso que quepa en ella. Complejidad: O(1)&lt;br /&gt;
&lt;br /&gt;
[[solución primer ajuste|Ver solución]]&lt;br /&gt;
&lt;br /&gt;
*'''Mejor ajuste dinámico''': cuando una partición queda libre, se asigna el mayor proceso que queda en ella. Complejidad: O(nlog(p))&lt;br /&gt;
&lt;br /&gt;
[[solución ajuste dinámico|Ver solución]]&lt;br /&gt;
&lt;br /&gt;
*'''Mejor que quepa con aplazamiento limitado''': Cuando queda una partición libre, se selecciona el mayor proceso que quepa en ella, pero se cuenta el nº de veces que un proceso se aplaza. Si se superan esas '''n''' veces (umbral), se le da paso.&lt;br /&gt;
&lt;br /&gt;
*'''Subparticiones''': Si no hay un proceso que pueda aprovechar partición madre: se asignan las subparticiones a procesos pequeños. Si llega un proceso grande: los procesos pequeños se vuelcan a disco y se asigna partición madre.&lt;br /&gt;
''Partición madre'': tipo especial de partición que se puede dividir en múltiples particiones menores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Métodos de colocación en memoria =&lt;br /&gt;
&lt;br /&gt;
*'''Montaje absoluto''': Se asigna una dirección de memoria constante, siendo por tanto este método muy restrictivo. Se utiliza para la carga del sistema operativo.&lt;br /&gt;
&lt;br /&gt;
* '''Carga con reubicación''': Al realizar la carga, se le aplica a las direcciones lógicas del programa un ''offset'' o desplazamiento asociada. Este desplazamiento es establecido por el programador antes de que se ejecute el programa.&lt;br /&gt;
&lt;br /&gt;
* '''Reubicación dinámica''': A diferencia de la carga con reubicación, el desplazamiento se asigna en tiempo de ejecución.&lt;br /&gt;
** '''Reubicación dinámica parcial''': Es una variante del anterior, en la que existe también un registro límite.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Mecanismos de protección de memoria =&lt;br /&gt;
&lt;br /&gt;
Es necesario proteger el SO frente a procesos; y proteger frente a procesos entre sí.&lt;br /&gt;
&lt;br /&gt;
* '''Ampliación bits de protección'''&lt;br /&gt;
&lt;br /&gt;
* '''Ampliación registros valla'''&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Introducci%C3%B3n&amp;diff=880</id>
		<title>Introducción</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Introducci%C3%B3n&amp;diff=880"/>
				<updated>2011-05-23T06:46:36Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: Introducción&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ahora desde el punto de vista de la memoria principal se van a ver el código,variables locales y globales. También se va a hacer referencia a la organización de memoria. Por ejemplo, a los sistemas operativos se les da una posición fija de memoria contigua mientras que a los procesos de forma fragmentada(páginas).&lt;br /&gt;
&lt;br /&gt;
Esta administración de memoria se va a tratar en:&lt;br /&gt;
&lt;br /&gt;
* [[SO monoprogramables|SO monoprogramables]]&lt;br /&gt;
* [[SO multiprogramables con particiones fijas|SO multiprogramables con particiones fijas]]&lt;br /&gt;
* [[SO multiprogramables con particiones variables|SO multiprogramables con particiones variables]]&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=P%C3%A1gina_Principal&amp;diff=879</id>
		<title>Página Principal</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=P%C3%A1gina_Principal&amp;diff=879"/>
				<updated>2011-05-23T06:37:19Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* BLOQUE II: Administración de memoria contigua */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bienvenido al wiki de la asignatura de Sistemas Operativos del departamento de Lenguajes y Sistemas Informáticos de la Universidad de Sevilla. ¡Regístrate y contribuye!&lt;br /&gt;
&lt;br /&gt;
= Unidades didácticas =&lt;br /&gt;
&lt;br /&gt;
A continuación encontrarás las unidades didácticas que forman parte de la asignatura.&lt;br /&gt;
&lt;br /&gt;
== Introducción a los Sistemas Operativos ==&lt;br /&gt;
&lt;br /&gt;
* [[Qué es un Sistema Operativo|Qué es un sistema operativo]]&lt;br /&gt;
* [[Introducción histórica|Una introducción histórica a los sistemas operativos]]&lt;br /&gt;
* [[Tipos de Sistemas Operativos|Tipos de sistemas operativos]]&lt;br /&gt;
&lt;br /&gt;
== Fundamentos de Sistemas Operativos ==&lt;br /&gt;
&lt;br /&gt;
* [[Conceptos básicos|Conceptos básicos]]&lt;br /&gt;
* [[Componentes básicos de un sistema operativo|Componentes básicos de un sistema operativo]]&lt;br /&gt;
* [[Llamadas al sistema|Llamadas al sistema]]&lt;br /&gt;
* [[Modelos de Diseño de Sistemas Operativos|Modelos de diseño de sistemas operativos]]&lt;br /&gt;
* [[Ejercicios fundamentos Sistemas Operativos|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Procesos ==&lt;br /&gt;
* [[Multiprogramación|La multiprogramación]]&lt;br /&gt;
* [[Estados de los procesos|Estados de los procesos]]&lt;br /&gt;
* [[Planificador de procesos|El planificador de procesos]]&lt;br /&gt;
* [[Comportamiento de los procesos|El comportamiento de los procesos según el planificador]]&lt;br /&gt;
* [[Bloque de control de procesos|El bloque de control del proceso]]&lt;br /&gt;
* [[Conmutación de procesos|La conmutación de procesos]]&lt;br /&gt;
* [[Hilos|Hilos]]&lt;br /&gt;
* [[Ejercicios Procesos|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Planificación de Procesos ==&lt;br /&gt;
* [[Planificación de procesos|La planificación de procesos]]&lt;br /&gt;
* [[Índices de evaluación|Índices de evaluación de la planificación de procesos]]&lt;br /&gt;
* [[Criterios de planificación|Criterios de planificación]]&lt;br /&gt;
* [[Planificadores de sistemas operativos existentes|Planificadores de sistemas operativos existentes]]&lt;br /&gt;
* [[Ejercicios planificación de procesos|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Otros aspectos relacionados con la planificación de procesos ==&lt;br /&gt;
&lt;br /&gt;
* [[Planificación de procesos de tiempo real|La planificación de procesos de tiempo real]]&lt;br /&gt;
* [[Planificación en sistemas multiprocesadores|La planificación de procesos en sistemas multiprocesadores]]&lt;br /&gt;
* [[Ejercicios otros aspectos de la planificación|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Concurrencia de procesos ==&lt;br /&gt;
&lt;br /&gt;
* [[Concurrencia de procesos|Concurrencia de procesos]]&lt;br /&gt;
* [[Mecanismos de sincronización|Control optimista y pesimista de la concurrencia]]&lt;br /&gt;
* [[Cerrojos|Cerrojos]]&lt;br /&gt;
* [[Ejercicio de concurrencia de procesos|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Semáforos y comunicación ==&lt;br /&gt;
&lt;br /&gt;
* [[Semáforos|Semáforos]]&lt;br /&gt;
* [[Monitores|Monitores]]&lt;br /&gt;
* [[Mensajería|Mensajería]]&lt;br /&gt;
* [[Ejercicios sincronización y comunicación|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Interbloqueo ==&lt;br /&gt;
&lt;br /&gt;
* [[Definición de interbloqueo|Definición]]&lt;br /&gt;
* [[Condiciones para el interbloqueo y estrategias de resolución|Modelado y Estrategias]]&lt;br /&gt;
* [[Algoritmo para averiguar interbloqueo]]&lt;br /&gt;
* [[Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== BLOQUE II: Administración de memoria contigua ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducción|Introducción]]&lt;br /&gt;
* [[SO monoprogramables|SO monoprogramables]]&lt;br /&gt;
* [[SO multiprogramables con particiones fijas|SO multiprogramables con particiones fijas]]&lt;br /&gt;
* [[SO multiprogramables con particiones variables|SO multiprogramables con particiones variables]]&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_ejercicio_3&amp;diff=764</id>
		<title>Solución ejercicio 3</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_ejercicio_3&amp;diff=764"/>
				<updated>2011-05-09T16:12:17Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: solución&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La solución no es correcta, ya que se bloquearía el proceso que ejecuta el while del productor y también el del consumidor, y no se avanzaría en la ejecución.&lt;br /&gt;
Sería correcto si el semáforo del productor se inicializara a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
También habría que asegurar que el proceso P1 comenzará antes que P2, no??&lt;br /&gt;
Por lo que seguro que funcionaria con el contador de P1 igual a 1, y contador de P2 igual a 0, no??&lt;br /&gt;
&lt;br /&gt;
R:Creo que no, ya que en caso de que empieze por P2 bloquea a la espera de que algún proceso haga un UP sobre dicho semáforo.&lt;br /&gt;
&lt;br /&gt;
Los procesos son lanzados y tu no sabes a priori qué proceso se va a ejecutar, por lo que tienes que asegurarte que si se ejecuta el consumidor antes que el productor pase a estado bloqueado. Creo que la solución ,tal y como se dice el compañero al principio, es modificar el contador del productor poniendolo a 1.--[[Usuario:Jherrera|Jherrera]]&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_de_los_ejercicios_de_concurrencia&amp;diff=761</id>
		<title>Solución de los ejercicios de concurrencia</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_de_los_ejercicios_de_concurrencia&amp;diff=761"/>
				<updated>2011-05-09T16:04:10Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; &lt;br /&gt;
       | #1| #2| #3|   |   |   | #4| #1| #2|   |   |   | #3| #4|#1-El programa ya termina &lt;br /&gt;
 H1    |---|---|---|   |   |   |---|---|---|   |   |   |---|---|---|   |   |   |   |   |&lt;br /&gt;
       |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
       |   |   |   | #1| #2| #2|   |   |   | #2| #2| #2|   |   |   | #2| #3| #4| #1| #2| #3| #4| El programa termina.&lt;br /&gt;
 H2    |   |   |   |---|---|---|   |   |   |---|---|---|   |   |   |---|---|---|---|   |&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;
&lt;br /&gt;
En este ejercicio, el hilo 2 se queda esperando continuamente a que el hilo 1 libere el cerrojo para poder acceder a la función.&lt;br /&gt;
El programa finaliza en el hilo 1 cuando llega dos veces a la instrucción 4 (bucle for).&lt;br /&gt;
&lt;br /&gt;
Modificación:&lt;br /&gt;
&lt;br /&gt;
Solución:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
       | #1| #2| #3|   |   |   | #4| #1| #2|   |   |   | #3| #4| &amp;gt; |   |   |   |   |   |   |   |&lt;br /&gt;
 H1    |---|---|---|   |   |   |---|---|---|   |   |   |---|---|---|   |   |   |   |   |   |   |&lt;br /&gt;
       |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
       |   |   |   | #1| __| __|   |   |   | __| __| __|   |   |   | #2| #3| #4| #1| #2| #3| #4|&lt;br /&gt;
 H2    |   |   |   |---|---|---|   |   |   |---|---|---|   |   |   |---|---|---|---|---|---|---|&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 21  22&lt;br /&gt;
&lt;br /&gt;
Posible solución:&lt;br /&gt;
&lt;br /&gt;
Los hilos comparten variables por lo que la variable i está siendo compartida por ambos hilos. Además, al ser los cerrojos un control de concurrencia de espera activa, tiene que comprobar continuamente la condición que me permite acceder a la sección crítica. En un bucle for, el incremento se hace una vez realizada la iteración, por lo que tendrá que comprobar en la instrucción 1 si el contador cumple la condición o no. Dicho esto y si no me equivoco la solución sería la siguiente--[[Usuario:Jherrera|Jherrera]]:&lt;br /&gt;
&lt;br /&gt;
       | #1| #2| #3|   |   |   | #4| #1| #2|   |   |   | #3| #4| #1|   |   |   |   |   |&lt;br /&gt;
 H1    |---|---|---|   |   |   |---|---|---|   |   |   |---|---|---|   |   |   |   |   |&lt;br /&gt;
       |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
       |   |   |   | #1| #2| #2|   |   |   | #2| #2| #2|   |   |   | #2| #3| #4| #1|   |&lt;br /&gt;
 H2    |   |   |   |---|---|---|   |   |   |---|---|---|   |   |   |---|---|---|---|   |&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;
&lt;br /&gt;
Posible solución2: Lo que explicas esta muy bien, pero creo que la condición que expones en tu apartado es i=&amp;lt;2, cuando el ejercicio pide i&amp;lt;2. Por lo que habria que cortar un trozo, ¿no?&lt;br /&gt;
&lt;br /&gt;
       | #1| #2| #3|   |   |   | #4| #1| #1|   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
 H1    |---|---|---|   |   |   |---|---|---|   |   |   |---|---|---|   |   |   |   |   |&lt;br /&gt;
       |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
       |   |   |   | #1| #2| #2|   |   |   | #2| #3| #4|   |   |   |   |   |   |   |   |&lt;br /&gt;
 H2    |   |   |   |---|---|---|   |   |   |---|---|---|   |   |   |---|---|---|---|   |&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;
Yo creo que esta bien ya que es i&amp;lt;2 y empieza con i = 0  --[[Usuario:Luidela1|Luidela1]] 15:35 9 may 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_ejercicio_1&amp;diff=753</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=753"/>
				<updated>2011-05-09T15:36:23Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: aclaración&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;br /&gt;
&lt;br /&gt;
--[[Usuario:Jherrera|Jherrera]] &lt;br /&gt;
Con respecto a la solución de Dvs no es correcta a partir del instante 2, ya que interpreto que el proceso 2 ejecuta la instrucción nº3 en vez de pasar a bloqueado. He realizado el ejercicio al igual que David (última solución propuesta) y pienso que está totalmente correcto.&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_de_los_ejercicios_de_concurrencia&amp;diff=740</id>
		<title>Solución de los ejercicios de concurrencia</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_de_los_ejercicios_de_concurrencia&amp;diff=740"/>
				<updated>2011-05-09T14:43:53Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: posible solución&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; &lt;br /&gt;
       | #1| #2| #3|   |   |   | #4| #1| #2|   |   |   | #3| #4|El programa ya termina |&lt;br /&gt;
 H1    |---|---|---|   |   |   |---|---|---|   |   |   |---|---|---|   |   |   |   |   |&lt;br /&gt;
       |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
       |   |   |   | #1| #2| #2|   |   |   | #2| #2| #2|   |   |   | #2| #3| #4| #1| #2| #3| #4| El programa termina.&lt;br /&gt;
 H2    |   |   |   |---|---|---|   |   |   |---|---|---|   |   |   |---|---|---|---|   |&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;
&lt;br /&gt;
En este ejercicio, el hilo 2 se queda esperando continuamente a que el hilo 1 libere el cerrojo para poder acceder a la función.&lt;br /&gt;
El programa finaliza en el hilo 1 cuando llega dos veces a la instrucción 4 (bucle for).&lt;br /&gt;
&lt;br /&gt;
Modificación:&lt;br /&gt;
&lt;br /&gt;
Solución:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
       | #1| #2| #3|   |   |   | #4| #1| #2|   |   |   | #3| #4| &amp;gt; |   |   |   |   |   |   |   |&lt;br /&gt;
 H1    |---|---|---|   |   |   |---|---|---|   |   |   |---|---|---|   |   |   |   |   |   |   |&lt;br /&gt;
       |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
       |   |   |   | #1| __| __|   |   |   | __| __| __|   |   |   | #2| #3| #4| #1| #2| #3| #4|&lt;br /&gt;
 H2    |   |   |   |---|---|---|   |   |   |---|---|---|   |   |   |---|---|---|---|---|---|---|&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 21  22&lt;br /&gt;
&lt;br /&gt;
Posible solución:&lt;br /&gt;
&lt;br /&gt;
Los hilos comparten variables por lo que la variable i está siendo compartida por ambos hilos. Además, al ser los cerrojos un control de concurrencia de espera activa, tiene que comprobar continuamente la condición que me permite acceder a la sección crítica. En un bucle for, el incremento se hace una vez realizada la iteración, por lo que tendrá que comprobar en la instrucción 1 si el contador cumple la condición o no. Dicho esto y si no me equivoco la solución sería la siguiente:&lt;br /&gt;
&lt;br /&gt;
       | #1| #2| #3|   |   |   | #4| #1| #2|   |   |   | #3| #4| #1|   |   |   |   |   |&lt;br /&gt;
 H1    |---|---|---|   |   |   |---|---|---|   |   |   |---|---|---|   |   |   |   |   |&lt;br /&gt;
       |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
       |   |   |   | #1| #2| #2|   |   |   | #2| #2| #2|   |   |   | #2| #3| #4| #1|   |&lt;br /&gt;
 H2    |   |   |   |---|---|---|   |   |   |---|---|---|   |   |   |---|---|---|---|   |&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>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Definici%C3%B3n_de_interbloqueo&amp;diff=705</id>
		<title>Definición de interbloqueo</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Definici%C3%B3n_de_interbloqueo&amp;diff=705"/>
				<updated>2011-05-04T16:11:53Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: erratas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;También conocido como '''bloqueo mutuo''' o '''deadlock'''.&lt;br /&gt;
&lt;br /&gt;
Es el bloqueo permanente de un conjunto de procesos que compiten por los recursos del sistema o bien se comunican unos con otros. Existen una serie de [[Condiciones para el interbloqueo y estrategias de resolución#condiciones|condiciones]] para que se produzca dicho bloqueo y una serie de [[Condiciones para el interbloqueo y estrategias de resolución#estrategias|estrategias]] para resolverlos.&lt;br /&gt;
&lt;br /&gt;
* Ejemplo simple: &lt;br /&gt;
&lt;br /&gt;
[[Imagen:GrafoDeadlock.jpg]]&lt;br /&gt;
&lt;br /&gt;
Se aprecian dos procesos (P1 y P2), cada uno con un recurso diferente asociado (R1 y R2). Llega un punto en el que el proceso P1 ha adquirido el recurso R1 y el proceso P2 ha adquirido el recurso R2 y cada proceso necesita el otro recurso. Este es el punto de interbloqueo.&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Monitores&amp;diff=640</id>
		<title>Monitores</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Monitores&amp;diff=640"/>
				<updated>2011-04-19T12:04:10Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* Definición */ errata en codigo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Idea desarrollada en los años 70 Brinch-Hansen y Hoare &amp;lt;ref&amp;gt;http://java.sun.com/developer/Books/performance2/chap4.pdf&amp;lt;/ref&amp;gt;que notaron los siguientes problemas con respecto al uso de los semáforos:&lt;br /&gt;
&lt;br /&gt;
* Los semáforos son difíciles de usar. Es frecuente que el programador cometa errores al emplearlos.&lt;br /&gt;
* El compilador no asiste al programador en el desarrollo de programas concurrentes mediante semáforos, pues no ofrece ningún tipo de validación en tiempo de compilación.&lt;br /&gt;
* No hay nada que obligue a usarlos. Puede suceder que el programador los necesite y lo desconozca&lt;br /&gt;
* Son independientes del recurso compartido&lt;br /&gt;
&lt;br /&gt;
Los monitores tienen que estar integrados en el lenguaje de programación.&lt;br /&gt;
&lt;br /&gt;
== Definición ==&lt;br /&gt;
Un monitor es una estructura del lenguaje cuyas principales características son:&lt;br /&gt;
&lt;br /&gt;
* Los datos son privados.&lt;br /&gt;
* Ofrecen una serie de métodos públicos para acceder a dichos datos.&lt;br /&gt;
* En cada momento sólo puede haber un proceso activo en algún método del monitor, es decir, ejecutando código de esos métodos públicos del monitor.&lt;br /&gt;
&lt;br /&gt;
Permiten organizar procesos en espera mediante:&lt;br /&gt;
&lt;br /&gt;
* Variables de condición: lista de procesos inicialmente vacía.&lt;br /&gt;
* Primitivas: ''wait(c)'', añade el proceso p invocante a c y proceso p bloquea; ''signal(c)'', selecciona a uno de los procesos en c y lo pone en preparado.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class recursoCompartido {&lt;br /&gt;
&lt;br /&gt;
    public int get(void);&lt;br /&gt;
    public void set(int valor);&lt;br /&gt;
    private int recursoCompartido;&lt;br /&gt;
    private Semaforo s = 1;&lt;br /&gt;
&lt;br /&gt;
    public int get(void){&lt;br /&gt;
        int ret;&lt;br /&gt;
        down(s);&lt;br /&gt;
        ret = recursoCompartido;&lt;br /&gt;
        up(s);&lt;br /&gt;
        return ret;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void set(int valor){&lt;br /&gt;
        down(s);&lt;br /&gt;
        recursoCompartido = valor;&lt;br /&gt;
        up(s);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como vemos, los monitores se implementan con semáforos, son una abstracción de los mismos.&lt;br /&gt;
&lt;br /&gt;
== Fuentes ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Concurrencia_de_procesos&amp;diff=639</id>
		<title>Concurrencia de procesos</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Concurrencia_de_procesos&amp;diff=639"/>
				<updated>2011-04-18T11:40:57Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* Tipos de mecanismos de sincronización */ ampliación&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La concurrencia de procesos se refiere a las situaciones en las que dos o más procesos puedan coincidir en el acceso a un recurso compartido o, dicho de otra forma, que requieran coordinarse en su ejecución. Para evitar dicha coincidencia, el sistema operativo ofrece mecanismos de arbitraje que permiten coordinar la ejecución de los procesos.&lt;br /&gt;
&lt;br /&gt;
Un ejemplo de un problema de concurrencia sería el siguiente: Dados dos procesos A y B, suponiendo que ambos se ejecutan indefinidamente en el tiempo, el proceso A debe recibir tiempo de ejecución antes que B, tras esto, el proceso B debe recibir su oportunidad de ejecución, dando paso de nuevo al proceso A y así sucesivamente.&lt;br /&gt;
&lt;br /&gt;
 proceso A |--  --  --&lt;br /&gt;
           |&lt;br /&gt;
 proceso B |  --  --  --&lt;br /&gt;
           |_____________&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recuerde que el planificador de procesos, al desconocer la naturaleza de los procesos y sus objetivos, no dispone de información suficiente como para garantizar la secuencia de ejecución descrita en el ejemplo anterior. Por tanto, suponiendo que ambos procesos se encuentran en estado preparado, podría seleccionar al proceso B para pasar a estado activo antes de seleccionar al proceso A, situación que no es deseada.&lt;br /&gt;
&lt;br /&gt;
Recuerde que el planificador de procesos, como hemos visto en capítulos anteriores, emplea [[Criterios de planificación|criterios de planificación]] que no tienen en consideración el objetivo de los procesos. Podemos decir que el planificador de procesos '''desconoce''' cuál es el propósito de los procesos, únicamente puede observar su comportamiento, es decir, si presentan un comportamiento más o menos interactivo.&lt;br /&gt;
&lt;br /&gt;
Por tanto, el programador, a la hora de modelar los procesos, debe emplear mecanismos de arbitraje que ofrece el sistema operativo y que permiten resolver el problema de concurrencia que se plantee.&lt;br /&gt;
&lt;br /&gt;
= Formas de interacción entre procesos =&lt;br /&gt;
&lt;br /&gt;
Hay dos formas básicas de interacción entre los procesos:&lt;br /&gt;
&lt;br /&gt;
* '''Relaciones de competencia''': Dados dos procesos A y B, ambos procesos tienen objetivos diferentes y compiten por los recursos para conseguirlos. Por ejemplo, dos procesos desean modificar el contenido de un mismo fichero, pero no deben hacerlo de manera simultánea o quedará en un estado incoherente.&lt;br /&gt;
&lt;br /&gt;
* '''Relaciones de cooperación''': Dados dos procesos A y B, ambos con un mismo objetivo, ''se ponen de acuerdo'' a la hora de emplear los recursos existentes para alcanzarlos. Por ejemplo, el proceso A produce un objeto que es consumido por el proceso B, hasta que el proceso A no produzca, el proceso B no debe consumir y viceversa.&lt;br /&gt;
&lt;br /&gt;
= Mecanismos de arbitraje =&lt;br /&gt;
&lt;br /&gt;
Los mecanismos de arbitraje que ofrece el sistema operativo son básicamente dos:&lt;br /&gt;
&lt;br /&gt;
* Mecanismos de '''sincronización''': el sistema operativo ofrece mecanismos que permiten a los procesos coordinar su ejecución para conseguir el objetivo sin que sucedan situaciones no deseadas, como por ejemplo que dos o más procesos coincidan simultáneamente en el acceso a un cierto recurso que no se puede compartir.&lt;br /&gt;
&lt;br /&gt;
* Mecanismos de '''mensajería''': el sistema operativo ofrece mecanismos de comunicación entre procesos mediante mensajes. El intercambio de mensajes entre procesos permite coordinarlos.&lt;br /&gt;
&lt;br /&gt;
= Programación concurrente = &lt;br /&gt;
&lt;br /&gt;
La programación concurrente se trata del conjunto de técnicas que nos permiten elaborar programas que resuelven situaciones de concurrencia. En programación concurrente, el programador emplea alguno de los mecanismos de arbitraje que ofrece el sistema operativo, ya sean los de sincronización o mensajería, para resolver el problema de concurrencia.&lt;br /&gt;
&lt;br /&gt;
= Tipos de mecanismos de sincronización =&lt;br /&gt;
&lt;br /&gt;
Los mecanismos de sincronización los podemos catalogar en dos categorías:&lt;br /&gt;
&lt;br /&gt;
*[[Mecanismos de sincronización#Optimista|Optimistas]]: Este mecanismo considera que la frecuencia de acceso a un cierto recurso compartido es ''baja''.&lt;br /&gt;
*[[Mecanismos de sincronización#Pesimista|Pesimistas]]: Este mecanismo permite coordinar la ejecución de dos o más procesos que acceden al recurso compartida con una frecuencia ''alta''.&lt;br /&gt;
&lt;br /&gt;
Dependerá del criterio del programador el tipo de mecanismo que utilize ya que puede que no elija el tipo correcto. Por ejemplo, puede que la frecuencia de acceso a un cierto recurso sea baja y el programador le asigna un mecanismo optimista. Esto provoca no obtener el resultado esperado.&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Concurrencia_de_procesos&amp;diff=638</id>
		<title>Concurrencia de procesos</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Concurrencia_de_procesos&amp;diff=638"/>
				<updated>2011-04-18T10:24:11Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* Formas de interación entre procesos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La concurrencia de procesos se refiere a las situaciones en las que dos o más procesos puedan coincidir en el acceso a un recurso compartido o, dicho de otra forma, que requieran coordinarse en su ejecución. Para evitar dicha coincidencia, el sistema operativo ofrece mecanismos de arbitraje que permiten coordinar la ejecución de los procesos.&lt;br /&gt;
&lt;br /&gt;
Un ejemplo de un problema de concurrencia sería el siguiente: Dados dos procesos A y B, suponiendo que ambos se ejecutan indefinidamente en el tiempo, el proceso A debe recibir tiempo de ejecución antes que B, tras esto, el proceso B debe recibir su oportunidad de ejecución, dando paso de nuevo al proceso A y así sucesivamente.&lt;br /&gt;
&lt;br /&gt;
 proceso A |--  --  --&lt;br /&gt;
           |&lt;br /&gt;
 proceso B |  --  --  --&lt;br /&gt;
           |_____________&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recuerde que el planificador de procesos, al desconocer la naturaleza de los procesos y sus objetivos, no dispone de información suficiente como para garantizar la secuencia de ejecución descrita en el ejemplo anterior. Por tanto, suponiendo que ambos procesos se encuentran en estado preparado, podría seleccionar al proceso B para pasar a estado activo antes de seleccionar al proceso A, situación que no es deseada.&lt;br /&gt;
&lt;br /&gt;
Recuerde que el planificador de procesos, como hemos visto en capítulos anteriores, emplea [[Criterios de planificación|criterios de planificación]] que no tienen en consideración el objetivo de los procesos. Podemos decir que el planificador de procesos '''desconoce''' cuál es el propósito de los procesos, únicamente puede observar su comportamiento, es decir, si presentan un comportamiento más o menos interactivo.&lt;br /&gt;
&lt;br /&gt;
Por tanto, el programador, a la hora de modelar los procesos, debe emplear mecanismos de arbitraje que ofrece el sistema operativo y que permiten resolver el problema de concurrencia que se plantee.&lt;br /&gt;
&lt;br /&gt;
= Formas de interacción entre procesos =&lt;br /&gt;
&lt;br /&gt;
Hay dos formas básicas de interacción entre los procesos:&lt;br /&gt;
&lt;br /&gt;
* '''Relaciones de competencia''': Dados dos procesos A y B, ambos procesos tienen objetivos diferentes y compiten por los recursos para conseguirlos. Por ejemplo, dos procesos desean modificar el contenido de un mismo fichero, pero no deben hacerlo de manera simultánea o quedará en un estado incoherente.&lt;br /&gt;
&lt;br /&gt;
* '''Relaciones de cooperación''': Dados dos procesos A y B, ambos con un mismo objetivo, ''se ponen de acuerdo'' a la hora de emplear los recursos existentes para alcanzarlos. Por ejemplo, el proceso A produce un objeto que es consumido por el proceso B, hasta que el proceso A no produzca, el proceso B no debe consumir y viceversa.&lt;br /&gt;
&lt;br /&gt;
= Mecanismos de arbitraje =&lt;br /&gt;
&lt;br /&gt;
Los mecanismos de arbitraje que ofrece el sistema operativo son básicamente dos:&lt;br /&gt;
&lt;br /&gt;
* Mecanismos de '''sincronización''': el sistema operativo ofrece mecanismos que permiten a los procesos coordinar su ejecución para conseguir el objetivo sin que sucedan situaciones no deseadas, como por ejemplo que dos o más procesos coincidan simultáneamente en el acceso a un cierto recurso que no se puede compartir.&lt;br /&gt;
&lt;br /&gt;
* Mecanismos de '''mensajería''': el sistema operativo ofrece mecanismos de comunicación entre procesos mediante mensajes. El intercambio de mensajes entre procesos permite coordinarlos.&lt;br /&gt;
&lt;br /&gt;
= Programación concurrente = &lt;br /&gt;
&lt;br /&gt;
La programación concurrente se trata del conjunto de técnicas que nos permiten elaborar programas que resuelven situaciones de concurrencia. En programación concurrente, el programador emplea alguno de los mecanismos de arbitraje que ofrece el sistema operativo, ya sean los de sincronización o mensajería, para resolver el problema de concurrencia.&lt;br /&gt;
&lt;br /&gt;
= Tipos de mecanismos de sincronización =&lt;br /&gt;
&lt;br /&gt;
Los mecanismos de sincronización los podemos catalogar en dos categorías:&lt;br /&gt;
&lt;br /&gt;
*[[Mecanismos de sincronización#Optimista|Optimistas]]: Este mecanismo considera que la frecuencia de acceso a un cierto recurso compartido es ''baja''.&lt;br /&gt;
*[[Mecanismos de sincronización#Pesimista|Pesimistas]]: Este mecanismo permite coordinar la ejecución de dos o más procesos que acceden al recurso compartida con una frecuencia ''alta''.&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Concurrencia_de_procesos&amp;diff=637</id>
		<title>Concurrencia de procesos</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Concurrencia_de_procesos&amp;diff=637"/>
				<updated>2011-04-18T10:23:12Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* Formas de interacción entre procesos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La concurrencia de procesos se refiere a las situaciones en las que dos o más procesos puedan coincidir en el acceso a un recurso compartido o, dicho de otra forma, que requieran coordinarse en su ejecución. Para evitar dicha coincidencia, el sistema operativo ofrece mecanismos de arbitraje que permiten coordinar la ejecución de los procesos.&lt;br /&gt;
&lt;br /&gt;
Un ejemplo de un problema de concurrencia sería el siguiente: Dados dos procesos A y B, suponiendo que ambos se ejecutan indefinidamente en el tiempo, el proceso A debe recibir tiempo de ejecución antes que B, tras esto, el proceso B debe recibir su oportunidad de ejecución, dando paso de nuevo al proceso A y así sucesivamente.&lt;br /&gt;
&lt;br /&gt;
 proceso A |--  --  --&lt;br /&gt;
           |&lt;br /&gt;
 proceso B |  --  --  --&lt;br /&gt;
           |_____________&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recuerde que el planificador de procesos, al desconocer la naturaleza de los procesos y sus objetivos, no dispone de información suficiente como para garantizar la secuencia de ejecución descrita en el ejemplo anterior. Por tanto, suponiendo que ambos procesos se encuentran en estado preparado, podría seleccionar al proceso B para pasar a estado activo antes de seleccionar al proceso A, situación que no es deseada.&lt;br /&gt;
&lt;br /&gt;
Recuerde que el planificador de procesos, como hemos visto en capítulos anteriores, emplea [[Criterios de planificación|criterios de planificación]] que no tienen en consideración el objetivo de los procesos. Podemos decir que el planificador de procesos '''desconoce''' cuál es el propósito de los procesos, únicamente puede observar su comportamiento, es decir, si presentan un comportamiento más o menos interactivo.&lt;br /&gt;
&lt;br /&gt;
Por tanto, el programador, a la hora de modelar los procesos, debe emplear mecanismos de arbitraje que ofrece el sistema operativo y que permiten resolver el problema de concurrencia que se plantee.&lt;br /&gt;
&lt;br /&gt;
= Formas de interación entre procesos =&lt;br /&gt;
&lt;br /&gt;
Hay dos formas básicas de interacción entre los procesos:&lt;br /&gt;
&lt;br /&gt;
* '''Relaciones de competencia''': Dados dos procesos A y B, ambos procesos tienen objetivos diferentes y compiten por los recursos para conseguirlos. Por ejemplo, dos procesos desean modificar el contenido de un mismo fichero, pero no deben hacerlo de manera simultánea o quedará en un estado incoherente.&lt;br /&gt;
&lt;br /&gt;
* '''Relaciones de cooperación''': Dados dos procesos A y B, ambos con un mismo objetivo, ''se ponen de acuerdo'' a la hora de emplear los recursos existentes para alcanzarlos. Por ejemplo, el proceso A produce un objeto que es consumido por el proceso B, hasta que el proceso A no produzca, el proceso B no debe consumir y viceversa.&lt;br /&gt;
&lt;br /&gt;
= Mecanismos de arbitraje =&lt;br /&gt;
&lt;br /&gt;
Los mecanismos de arbitraje que ofrece el sistema operativo son básicamente dos:&lt;br /&gt;
&lt;br /&gt;
* Mecanismos de '''sincronización''': el sistema operativo ofrece mecanismos que permiten a los procesos coordinar su ejecución para conseguir el objetivo sin que sucedan situaciones no deseadas, como por ejemplo que dos o más procesos coincidan simultáneamente en el acceso a un cierto recurso que no se puede compartir.&lt;br /&gt;
&lt;br /&gt;
* Mecanismos de '''mensajería''': el sistema operativo ofrece mecanismos de comunicación entre procesos mediante mensajes. El intercambio de mensajes entre procesos permite coordinarlos.&lt;br /&gt;
&lt;br /&gt;
= Programación concurrente = &lt;br /&gt;
&lt;br /&gt;
La programación concurrente se trata del conjunto de técnicas que nos permiten elaborar programas que resuelven situaciones de concurrencia. En programación concurrente, el programador emplea alguno de los mecanismos de arbitraje que ofrece el sistema operativo, ya sean los de sincronización o mensajería, para resolver el problema de concurrencia.&lt;br /&gt;
&lt;br /&gt;
= Tipos de mecanismos de sincronización =&lt;br /&gt;
&lt;br /&gt;
Los mecanismos de sincronización los podemos catalogar en dos categorías:&lt;br /&gt;
&lt;br /&gt;
*[[Mecanismos de sincronización#Optimista|Optimistas]]: Este mecanismo considera que la frecuencia de acceso a un cierto recurso compartido es ''baja''.&lt;br /&gt;
*[[Mecanismos de sincronización#Pesimista|Pesimistas]]: Este mecanismo permite coordinar la ejecución de dos o más procesos que acceden al recurso compartida con una frecuencia ''alta''.&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Concurrencia_de_procesos&amp;diff=636</id>
		<title>Concurrencia de procesos</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Concurrencia_de_procesos&amp;diff=636"/>
				<updated>2011-04-18T10:20:14Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La concurrencia de procesos se refiere a las situaciones en las que dos o más procesos puedan coincidir en el acceso a un recurso compartido o, dicho de otra forma, que requieran coordinarse en su ejecución. Para evitar dicha coincidencia, el sistema operativo ofrece mecanismos de arbitraje que permiten coordinar la ejecución de los procesos.&lt;br /&gt;
&lt;br /&gt;
Un ejemplo de un problema de concurrencia sería el siguiente: Dados dos procesos A y B, suponiendo que ambos se ejecutan indefinidamente en el tiempo, el proceso A debe recibir tiempo de ejecución antes que B, tras esto, el proceso B debe recibir su oportunidad de ejecución, dando paso de nuevo al proceso A y así sucesivamente.&lt;br /&gt;
&lt;br /&gt;
 proceso A |--  --  --&lt;br /&gt;
           |&lt;br /&gt;
 proceso B |  --  --  --&lt;br /&gt;
           |_____________&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recuerde que el planificador de procesos, al desconocer la naturaleza de los procesos y sus objetivos, no dispone de información suficiente como para garantizar la secuencia de ejecución descrita en el ejemplo anterior. Por tanto, suponiendo que ambos procesos se encuentran en estado preparado, podría seleccionar al proceso B para pasar a estado activo antes de seleccionar al proceso A, situación que no es deseada.&lt;br /&gt;
&lt;br /&gt;
Recuerde que el planificador de procesos, como hemos visto en capítulos anteriores, emplea [[Criterios de planificación|criterios de planificación]] que no tienen en consideración el objetivo de los procesos. Podemos decir que el planificador de procesos '''desconoce''' cuál es el propósito de los procesos, únicamente puede observar su comportamiento, es decir, si presentan un comportamiento más o menos interactivo.&lt;br /&gt;
&lt;br /&gt;
Por tanto, el programador, a la hora de modelar los procesos, debe emplear mecanismos de arbitraje que ofrece el sistema operativo y que permiten resolver el problema de concurrencia que se plantee.&lt;br /&gt;
&lt;br /&gt;
= Formas de interacción entre procesos =&lt;br /&gt;
&lt;br /&gt;
Hay dos formas básicas de interacción entre los procesos:&lt;br /&gt;
&lt;br /&gt;
* '''Relaciones de competencia''': Dados dos procesos A y B, ambos procesos tienen objetivos diferentes y compiten por los recursos para conseguirlos. Por ejemplo, dos procesos desean modificar el contenido de un mismo fichero, pero no deben hacerlo de manera simultánea o quedará en un estado incoherente.&lt;br /&gt;
&lt;br /&gt;
* '''Relaciones de cooperación''': Dados dos procesos A y B, ambos con un mismo objetivo, ''se ponen de acuerdo'' a la hora de emplear los recursos existentes para alcanzarlos. Por ejemplo, el proceso A produce un objeto que es consumido por el proceso B, hasta que el proceso A no produzca, el proceso B no debe consumir y viceversa.&lt;br /&gt;
&lt;br /&gt;
= Mecanismos de arbitraje =&lt;br /&gt;
&lt;br /&gt;
Los mecanismos de arbitraje que ofrece el sistema operativo son básicamente dos:&lt;br /&gt;
&lt;br /&gt;
* Mecanismos de '''sincronización''': el sistema operativo ofrece mecanismos que permiten a los procesos coordinar su ejecución para conseguir el objetivo sin que sucedan situaciones no deseadas, como por ejemplo que dos o más procesos coincidan simultáneamente en el acceso a un cierto recurso que no se puede compartir.&lt;br /&gt;
&lt;br /&gt;
* Mecanismos de '''mensajería''': el sistema operativo ofrece mecanismos de comunicación entre procesos mediante mensajes. El intercambio de mensajes entre procesos permite coordinarlos.&lt;br /&gt;
&lt;br /&gt;
= Programación concurrente = &lt;br /&gt;
&lt;br /&gt;
La programación concurrente se trata del conjunto de técnicas que nos permiten elaborar programas que resuelven situaciones de concurrencia. En programación concurrente, el programador emplea alguno de los mecanismos de arbitraje que ofrece el sistema operativo, ya sean los de sincronización o mensajería, para resolver el problema de concurrencia.&lt;br /&gt;
&lt;br /&gt;
= Tipos de mecanismos de sincronización =&lt;br /&gt;
&lt;br /&gt;
Los mecanismos de sincronización los podemos catalogar en dos categorías:&lt;br /&gt;
&lt;br /&gt;
*[[Mecanismos de sincronización#Optimista|Optimistas]]: Este mecanismo considera que la frecuencia de acceso a un cierto recurso compartido es ''baja''.&lt;br /&gt;
*[[Mecanismos de sincronización#Pesimista|Pesimistas]]: Este mecanismo permite coordinar la ejecución de dos o más procesos que acceden al recurso compartida con una frecuencia ''alta''.&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Concurrencia_de_procesos&amp;diff=635</id>
		<title>Concurrencia de procesos</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Concurrencia_de_procesos&amp;diff=635"/>
				<updated>2011-04-18T09:52:49Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: errata&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La concurrencia de procesos se refiere a las situaciones en las que dos o más procesos puedan coincidir en el acceso a un recurso compartido o, dicho de otra forma, que requieran coordinarse en su ejecución. Para evitar dicha coincidencia, el sistema operativo ofrece mecanismos de arbitraje que permiten coordinar la ejecución de los procesos.&lt;br /&gt;
&lt;br /&gt;
Un ejemplo de un problema de concurrencia sería el siguiente: Dados dos procesos A y B, suponiendo que ambos se ejecutan indefinidamente en el tiempo, el proceso A debe recibir tiempo de ejecución antes que B, tras esto, el proceso B debe recibir su oportunidad de ejecución, dando paso de nuevo al proceso A y así sucesivamente.&lt;br /&gt;
&lt;br /&gt;
 proceso A |--  --  --&lt;br /&gt;
           |&lt;br /&gt;
 proceso B |  --  --  --&lt;br /&gt;
           |_____________&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recuerde que el planificador de procesos, al desconocer la naturaleza de los procesos y sus objetivos, no dispone de información suficiente como para garantizar la secuencia de ejecución descrita en el ejemplo anterior. Por tanto, suponiendo que ambos procesos se encuentran en estado preparado, podría seleccionar al proceso B para pasar a estado activo antes de seleccionar al proceso A, situación que no es deseada.&lt;br /&gt;
&lt;br /&gt;
Recuerde que el planificador de procesos, como hemos visto en capítulos anteriores, emplea criterios de planificación que no tienen en consideración el objetivo de los procesos. Podemos decir que el planificador de procesos '''desconoce''' cuál es el propósito de los procesos, únicamente puede observar su comportamiento, es decir, si presentan un comportamiento más o menos interactivo.&lt;br /&gt;
&lt;br /&gt;
Por tanto, el programador, a la hora de modelar los procesos, debe emplear mecanismos de arbitraje que ofrece el sistema operativo y que permiten resolver el problema de concurrencia que se plantee.&lt;br /&gt;
&lt;br /&gt;
= Formas de interacción entre procesos =&lt;br /&gt;
&lt;br /&gt;
Hay dos formas básicas de interacción entre los procesos:&lt;br /&gt;
&lt;br /&gt;
* '''Relaciones de competencia''': Dados dos procesos A y B, ambos procesos tienen objetivos diferentes y compiten por los recursos para conseguirlos. Por ejemplo, dos procesos desean modificar el contenido de un mismo fichero, pero no deben hacerlo de manera simultánea o quedará en un estado incoherente.&lt;br /&gt;
&lt;br /&gt;
* '''Relaciones de cooperación''': Dados dos procesos A y B, ambos con un mismo objetivo, ''se ponen de acuerdo'' a la hora de emplear los recursos existentes para alcanzarlos. Por ejemplo, el proceso A produce un objeto que se consumido por el proceso B, hasta que el proceso A no produzca, el proceso B no debe consumir y viceversa.&lt;br /&gt;
&lt;br /&gt;
= Mecanismos de arbitraje =&lt;br /&gt;
&lt;br /&gt;
Los mecanismos de arbitraje que ofrece el sistema operativo son básicamente dos:&lt;br /&gt;
&lt;br /&gt;
* Mecanismos de '''sincronización''': el sistema operativo ofrece mecanismos que permiten a los procesos coordinar su ejecución para conseguir el objetivo sin que sucedan situaciones no deseadas, como por ejemplo que dos o más procesos coincidan simultáneamente en el acceso a un cierto recurso que no se puede compartir.&lt;br /&gt;
&lt;br /&gt;
* Mecanismos de '''mensajería''': el sistema operativo ofrece mecanismos de comunicación entre procesos mediante mensajes. El intercambio de mensajes entre procesos permite coordinarlos.&lt;br /&gt;
&lt;br /&gt;
= Programación concurrente = &lt;br /&gt;
&lt;br /&gt;
La programación concurrente se trata del conjunto de técnicas que nos permiten elaborar programas que resuelven situaciones de concurrencia. En programación concurrente, el programador emplea alguno de los mecanismos de arbitraje que ofrece el sistema operativo, ya sean los de sincronización o mensajería, para resolver el problema de concurrencia.&lt;br /&gt;
&lt;br /&gt;
= Tipos de mecanismos de sincronización =&lt;br /&gt;
&lt;br /&gt;
Los mecanismos de sincronización los podemos catalogar en dos categorías:&lt;br /&gt;
&lt;br /&gt;
*[[Mecanismos de sincronización#Optimista|Optimistas]]: Este mecanismo considera que la frecuencia de acceso a un cierto recurso compartido es ''baja''.&lt;br /&gt;
*[[Mecanismos de sincronización#Pesimista|Pesimistas]]: Este mecanismo permite coordinar la ejecución de dos o más procesos que acceden al recurso compartida con una frecuencia ''alta''.&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Concurrencia_de_procesos&amp;diff=634</id>
		<title>Concurrencia de procesos</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Concurrencia_de_procesos&amp;diff=634"/>
				<updated>2011-04-18T09:29:36Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: errata&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La concurrencia de procesos se refiere a las situaciones en las que dos o más procesos puedan coincidir en el acceso a un recurso compartido o, dicho de otra forma, que requieran coordinarse en su ejecución. Para evitar dicha coincidencia, el sistema operativo ofrece mecanismos de arbitraje que permiten coordinar la ejecución de los procesos.&lt;br /&gt;
&lt;br /&gt;
Un ejemplo de un problema de concurrencia sería el siguiente: Dados dos procesos A y B, suponiendo que ambos se ejecutan indefinidamente en el tiempo, el proceso A debe recibir tiempo de ejecución antes que B, tras esto, el proceso B debe recibir su oportunidad de ejecución, dando paso de nuevo al proceso A y así sucesivamente.&lt;br /&gt;
&lt;br /&gt;
 proceso A |--  --  --&lt;br /&gt;
           |&lt;br /&gt;
 proceso B |  --  --  --&lt;br /&gt;
           |_____________&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recuerde que el planificador de procesos, al desconocer la naturaleza de los procesos y sus objetivos, no dispone de información suficiente como para garantizar la secuencia de ejecución descrita en el ejemplo anterior. Por tanto, suponiendo que ambos procesos se encuentran en estado preparado, podría seleccionar al proceso B para pasar a estado activo antes de seleccionar al proceso B, situación que no es deseada.&lt;br /&gt;
&lt;br /&gt;
Recuerde que el planificador de procesos, como hemos visto en capítulos anteriores, emplea criterios de planificación que no tienen en consideración el objetivo de los procesos. Podemos decir que el planificador de procesos '''desconoce''' cuál es el propósito de los procesos, únicamente puede observar su comportamiento, es decir, si presentan un comportamiento más o menos interactivo.&lt;br /&gt;
&lt;br /&gt;
Por tanto, el programador, a la hora de modelar los procesos, debe emplear mecanismos de arbitraje que ofrece el sistema operativo y que permiten resolver el problema de concurrencia que se plantee.&lt;br /&gt;
&lt;br /&gt;
= Formas de interacción entre procesos =&lt;br /&gt;
&lt;br /&gt;
Hay dos formas básicas de interacción entre los procesos:&lt;br /&gt;
&lt;br /&gt;
* '''Relaciones de competencia''': Dados dos procesos A y B, ambos procesos tienen objetivos diferentes y compiten por los recursos para conseguirlos. Por ejemplo, dos procesos desean modificar el contenido de un mismo fichero, pero no deben hacerlo de manera simultánea o quedará en un estado incoherente.&lt;br /&gt;
&lt;br /&gt;
* '''Relaciones de cooperación''': Dados dos procesos A y B, ambos con un mismo objetivo, ''se ponen de acuerdo'' a la hora de emplear los recursos existentes para alcanzarlos. Por ejemplo, el proceso A produce un objeto que se consumido por el proceso B, hasta que el proceso A no produzca, el proceso B no debe consumir y viceversa.&lt;br /&gt;
&lt;br /&gt;
= Mecanismos de arbitraje =&lt;br /&gt;
&lt;br /&gt;
Los mecanismos de arbitraje que ofrece el sistema operativo son básicamente dos:&lt;br /&gt;
&lt;br /&gt;
* Mecanismos de '''sincronización''': el sistema operativo ofrece mecanismos que permiten a los procesos coordinar su ejecución para conseguir el objetivo sin que sucedan situaciones no deseadas, como por ejemplo que dos o más procesos coincidan simultáneamente en el acceso a un cierto recurso que no se puede compartir.&lt;br /&gt;
&lt;br /&gt;
* Mecanismos de '''mensajería''': el sistema operativo ofrece mecanismos de comunicación entre procesos mediante mensajes. El intercambio de mensajes entre procesos permite coordinarlos.&lt;br /&gt;
&lt;br /&gt;
= Programación concurrente = &lt;br /&gt;
&lt;br /&gt;
La programación concurrente se trata del conjunto de técnicas que nos permiten elaborar programas que resuelven situaciones de concurrencia. En programación concurrente, el programador emplea alguno de los mecanismos de arbitraje que ofrece el sistema operativo, ya sean los de sincronización o mensajería, para resolver el problema de concurrencia.&lt;br /&gt;
&lt;br /&gt;
= Tipos de mecanismos de sincronización =&lt;br /&gt;
&lt;br /&gt;
Los mecanismos de sincronización los podemos catalogar en dos categorías:&lt;br /&gt;
&lt;br /&gt;
*[[Mecanismos de sincronización#Optimista|Optimistas]]: Este mecanismo considera que la frecuencia de acceso a un cierto recurso compartido es ''baja''.&lt;br /&gt;
*[[Mecanismos de sincronización#Pesimista|Pesimistas]]: Este mecanismo permite coordinar la ejecución de dos o más procesos que acceden al recurso compartida con una frecuencia ''alta''.&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_de_los_ejercicios_de_fundamentos&amp;diff=606</id>
		<title>Solución de los ejercicios de fundamentos</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_de_los_ejercicios_de_fundamentos&amp;diff=606"/>
				<updated>2011-03-31T11:46:03Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: resolucion&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La principal diferencia reside en la estructura que toman ambos sistemas operativos. Los monolíticos como Windows o Linux se caracterizan por tener en el kernel una gran cantidad de funcionalidades como puede ser la gestión de dispositivos de E/S,planificación de procesos, sistema de comunicación de procesos y la administración de ficheros y memoria. En cambio los micronúcleos parten de un kernel que implementan algunas funciones como la planificación de procesos,mecanismos de comunicación de procesos y gestión de interrupciones; añadiendo para el resto de funciones procesos servidores en módulos externos al kernel.&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Usuario:Jherrera&amp;diff=499</id>
		<title>Usuario:Jherrera</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Usuario:Jherrera&amp;diff=499"/>
				<updated>2011-03-22T22:55:21Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: Página nueva: Javier Herrera Copano&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Javier Herrera Copano&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol-ejer3-planif-procesos&amp;diff=472</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=472"/>
				<updated>2011-03-22T19:49:25Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* Ejercicio 3 */&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;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol-ejer3-planif-procesos&amp;diff=471</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=471"/>
				<updated>2011-03-22T19:47:40Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* Ejercicio 3 */ dudas&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;
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:&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;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol-ejer2-planif-procesos&amp;diff=404</id>
		<title>Sol-ejer2-planif-procesos</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol-ejer2-planif-procesos&amp;diff=404"/>
				<updated>2011-03-21T22:33:09Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* Por prioridades */ Correción&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Turno rotatorio estricto =&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;_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|&lt;br /&gt;
           problema  _t__|_3__|_5__|_6__|&lt;br /&gt;
 &lt;br /&gt;
    P&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; bloquea por E/S cada 1 unidad de tiempo&lt;br /&gt;
    P&amp;lt;sub&amp;gt;B&amp;lt;/sub&amp;gt; bloquea por E/S cada 3 unidades de tiempo&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;---|   |   |   |   |---|   |   |   |---&amp;gt;   |   |   |   |   |   |   |   |   |   &lt;br /&gt;
               Pb  |   &amp;lt;---|---|   |   |   |---|   |   |   |---|---&amp;gt;   |   |   |   |   |   |   |   &lt;br /&gt;
               Pc  |   |   &amp;lt;   |---|---|   |   |---|---|   |   |   |---|---&amp;gt;   |   |   |   |   |   &lt;br /&gt;
     Planificador  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  &lt;br /&gt;
 &lt;br /&gt;
                   _____|_Pa_|_Pb_|_Pc_|&lt;br /&gt;
        Cálculos   __t__|_3__|_5__|_6__|&lt;br /&gt;
       de tiempos  __T__|_10_|_11_|_12_|&lt;br /&gt;
                   _T/t_|3.3_|2.2_|_2__|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notése que el proceso A no llega a emplear el ''quantum'' que tiene asignado, en ese caso, como indica la [[Criterios_de_planificación|teoría]], se le retira el procesador y el planificador selecciona a otro proceso. Dejar el procesador sin proceso asignado, es decir, ocioso, va contra la lógica del máximo aprovechamiento del procesador. Por ello, he retirado una solución incorrecta que aparecía en esta sección. --[[Usuario:Pneira|Pneira]] 21:15 21 mar 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
= Por prioridades =&lt;br /&gt;
&lt;br /&gt;
Suponiendo que la prioridad de los procesos es la siguiente: A&amp;lt;B&amp;lt;C&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;_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|&lt;br /&gt;
           problema  _t__|_3__|_5__|_6__|&lt;br /&gt;
 &lt;br /&gt;
    P&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; bloquea por E/S cada 1 unidad de tiempo&lt;br /&gt;
    P&amp;lt;sub&amp;gt;B&amp;lt;/sub&amp;gt; bloquea por E/S cada 3 unidades de tiempo&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;
               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;
     Planificador  X   X   X   |   |   |   |   |   X   |   X   X   X   |   X   |   |   |   |   |      &lt;br /&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  &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;_|&lt;br /&gt;
        Cálculos   __t__|_3__|_5__|_6__|&lt;br /&gt;
       de tiempos  __T__|_15_|_13_|_6_|&lt;br /&gt;
                   _T/t_|__5_|_2.6|_1__|&lt;br /&gt;
&lt;br /&gt;
= Turno rotatorio proporcional al número de procesos =&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;_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|&lt;br /&gt;
           problema  _t__|_3__|_5__|_6__|&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;
                 &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;
    Planificador &amp;lt;sub&amp;gt; &amp;lt;/sub&amp;gt; X   X   X   X   X   X   X   X   X   |   X   X   X   X   |   |   |   |   |   |   |   &lt;br /&gt;
            &amp;lt;sub&amp;gt; &amp;lt;/sub&amp;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;
                   _____|_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;_|&lt;br /&gt;
        Cálculos   __t__|_3__|_5__|_6__|&lt;br /&gt;
       de tiempos  __T__|_7__|_12_|_12_|&lt;br /&gt;
                   _T/t_|2.3_|2.4_|_2__|&lt;br /&gt;
&lt;br /&gt;
=============&lt;br /&gt;
Observaciones&lt;br /&gt;
=============&lt;br /&gt;
&lt;br /&gt;
- Al no existir en el instante de tiempo 0 problemas de concurrencia de procesos, ¿no debería el proceso A tener derecho a sus dos unidades de tiempo de quantum, aunque este solo utilice una unidad de tiempo debido al bloqueo por E/S?. Esto dejaría al procesador con dos procesos en estado preparado (B y C) en el instante de tiempo 2, donde ya se reduciría el quantum a 1 debido a la existencia de 2 o más procesos en estado preparado. ¿Cómo lo veis?&lt;br /&gt;
&lt;br /&gt;
Creo que no, porque ya en el instante 1 hay dos procesos en el planificador, por lo que el quantum ya se reduce.&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol-ejer2-planif-procesos&amp;diff=401</id>
		<title>Sol-ejer2-planif-procesos</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol-ejer2-planif-procesos&amp;diff=401"/>
				<updated>2011-03-21T22:03:06Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* Por prioridades */ correción ejercicio&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Turno rotatorio estricto =&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;_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|&lt;br /&gt;
           problema  _t__|_3__|_5__|_6__|&lt;br /&gt;
 &lt;br /&gt;
    P&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; bloquea por E/S cada 1 unidad de tiempo&lt;br /&gt;
    P&amp;lt;sub&amp;gt;B&amp;lt;/sub&amp;gt; bloquea por E/S cada 3 unidades de tiempo&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;---|   |   |   |   |---|   |   |   |---&amp;gt;   |   |   |   |   |   |   |   |   |   &lt;br /&gt;
               Pb  |   &amp;lt;---|---|   |   |   |---|   |   |   |---|---&amp;gt;   |   |   |   |   |   |   |   &lt;br /&gt;
               Pc  |   |   &amp;lt;   |---|---|   |   |---|---|   |   |   |---|---&amp;gt;   |   |   |   |   |   &lt;br /&gt;
     Planificador  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  &lt;br /&gt;
 &lt;br /&gt;
                   _____|_Pa_|_Pb_|_Pc_|&lt;br /&gt;
        Cálculos   __t__|_3__|_5__|_6__|&lt;br /&gt;
       de tiempos  __T__|_10_|_11_|_12_|&lt;br /&gt;
                   _T/t_|3.3_|2.2_|_2__|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notése que el proceso A no llega a emplear el ''quantum'' que tiene asignado, en ese caso, como indica la [[Criterios_de_planificación|teoría]], se le retira el procesador y el planificador selecciona a otro proceso. Dejar el procesador sin proceso asignado, es decir, ocioso, va contra la lógica del máximo aprovechamiento del procesador. Por ello, he retirado una solución incorrecta que aparecía en esta sección. --[[Usuario:Pneira|Pneira]] 21:15 21 mar 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
= Por prioridades =&lt;br /&gt;
&lt;br /&gt;
Suponiendo que la prioridad de los procesos es la siguiente: A&amp;lt;B&amp;lt;C&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;_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|&lt;br /&gt;
           problema  _t__|_3__|_5__|_6__|&lt;br /&gt;
 &lt;br /&gt;
    P&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; bloquea por E/S cada 1 unidad de tiempo&lt;br /&gt;
    P&amp;lt;sub&amp;gt;B&amp;lt;/sub&amp;gt; bloquea por E/S cada 3 unidades de tiempo&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;
               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;
     Planificador  X   X   X   |   |   |   |   |   X   |   X   X   |   X   X   |   |   |   |   |      &lt;br /&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  &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;_|&lt;br /&gt;
        Cálculos   __t__|_3__|_5__|_6__|&lt;br /&gt;
       de tiempos  __T__|_14_|_12_|_6_|&lt;br /&gt;
                   _T/t_|4.66|_2.4|_1__|&lt;br /&gt;
&lt;br /&gt;
= Turno rotatorio proporcional al número de procesos =&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;_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|&lt;br /&gt;
           problema  _t__|_3__|_5__|_6__|&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;
                 &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;
    Planificador &amp;lt;sub&amp;gt; &amp;lt;/sub&amp;gt; X   X   X   X   X   X   X   X   X   |   X   X   X   X   |   |   |   |   |   |   |   &lt;br /&gt;
            &amp;lt;sub&amp;gt; &amp;lt;/sub&amp;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;
                   _____|_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;_|&lt;br /&gt;
        Cálculos   __t__|_3__|_5__|_6__|&lt;br /&gt;
       de tiempos  __T__|_7__|_12_|_12_|&lt;br /&gt;
                   _T/t_|2.3_|2.4_|_2__|&lt;br /&gt;
&lt;br /&gt;
=============&lt;br /&gt;
Observaciones&lt;br /&gt;
=============&lt;br /&gt;
&lt;br /&gt;
- Al no existir en el instante de tiempo 0 problemas de concurrencia de procesos, ¿no debería el proceso A tener derecho a sus dos unidades de tiempo de quantum, aunque este solo utilice una unidad de tiempo debido al bloqueo por E/S?. Esto dejaría al procesador con dos procesos en estado preparado (B y C) en el instante de tiempo 2, donde ya se reduciría el quantum a 1 debido a la existencia de 2 o más procesos en estado preparado. ¿Cómo lo veis?&lt;br /&gt;
&lt;br /&gt;
Creo que no, porque ya en el instante 1 hay dos procesos en el planificador, por lo que el quantum ya se reduce.&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol-ejer2-planif-procesos&amp;diff=356</id>
		<title>Sol-ejer2-planif-procesos</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol-ejer2-planif-procesos&amp;diff=356"/>
				<updated>2011-03-21T17:59:33Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* Turno rotatorio */ Realizacion ejercicio por prioridades&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Turno rotatorio =&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;_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|&lt;br /&gt;
           problema  _t__|_3__|_5__|_6__|&lt;br /&gt;
 &lt;br /&gt;
    P&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; bloquea por E/S cada 1 unidad de tiempo&lt;br /&gt;
    P&amp;lt;sub&amp;gt;B&amp;lt;/sub&amp;gt; bloquea por E/S cada 3 unidades de tiempo&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;
               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;
     Planificador  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  &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;_|&lt;br /&gt;
        Cálculos   __t__|_3__|_5__|_6__|&lt;br /&gt;
       de tiempos  __T__|_10_|_11_|_12_|&lt;br /&gt;
                   _T/t_|3.3_|2.2_|_2__|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DEBERIAS PONER ESTO EN LA ZONA DE DISCUSIÓN&lt;br /&gt;
&lt;br /&gt;
Sigue estando mal, el quantum no se reduce a 1 en el proceso A, el quantum se debe respetar siempre(en el articulo de la wiki sobre turno rotatorio lo explican).&lt;br /&gt;
&lt;br /&gt;
Pd: No pises las otras soluciones propuestas, pon la tuya debajo para que todos podamos discutirlo.&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;
                       / = Tiempo desaprovechado bien por bloqueo de E/S o por finalización del proceso.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&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;gt;   |   |   |   &lt;br /&gt;
               P&amp;lt;sub&amp;gt;C&amp;lt;/sub&amp;gt;  |   |   &amp;lt;   |   |---|---|   |   |   |   |---|---|   |   |   |   |---|---&amp;gt;   |   &lt;br /&gt;
     Planificador  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&lt;br /&gt;
&lt;br /&gt;
= Por prioridades =&lt;br /&gt;
&lt;br /&gt;
Suponiendo que la prioridad de los procesos es la siguiente: A&amp;lt;B&amp;lt;C&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;_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|&lt;br /&gt;
           problema  _t__|_3__|_5__|_6__|&lt;br /&gt;
 &lt;br /&gt;
    P&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; bloquea por E/S cada 1 unidad de tiempo&lt;br /&gt;
    P&amp;lt;sub&amp;gt;B&amp;lt;/sub&amp;gt; bloquea por E/S cada 3 unidades de tiempo&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;
                       / = Tiempo desaprovechado por bloqueo de E/S.&lt;br /&gt;
                                                                 &lt;br /&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;
     Planificador  X   X   X   |   |   |   |   |   X   X   X   |   X   |   X   |   |   |   |   |   |    &lt;br /&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;
                   _____|_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;_|&lt;br /&gt;
        Cálculos   __t__|_3__|_5__|_6__|&lt;br /&gt;
       de tiempos  __T__|_20_|_13_|_6_|&lt;br /&gt;
                   _T/t_|6.66|_2.6|_1__|&lt;br /&gt;
&lt;br /&gt;
= Turno rotatorio proporcional al número de procesos =&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;_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|&lt;br /&gt;
           problema  _t__|_3__|_5__|_6__|&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;
                 &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;
    Planificador &amp;lt;sub&amp;gt; &amp;lt;/sub&amp;gt; X   X   X   X   X   X   X   X   X   |   X   X   X   X   |   |   |   |   |   |   |   &lt;br /&gt;
            &amp;lt;sub&amp;gt; &amp;lt;/sub&amp;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;
                   _____|_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;_|&lt;br /&gt;
        Cálculos   __t__|_3__|_5__|_6__|&lt;br /&gt;
       de tiempos  __T__|_7__|_12_|_12_|&lt;br /&gt;
                   _T/t_|2.3_|2.4_|_2__|&lt;br /&gt;
&lt;br /&gt;
=============&lt;br /&gt;
Observaciones&lt;br /&gt;
=============&lt;br /&gt;
&lt;br /&gt;
- Al no existir en el instante de tiempo 0 problemas de concurrencia de procesos, ¿no debería el proceso A tener derecho a sus dos unidades de tiempo de quantum, aunque este solo utilice una unidad de tiempo debido al bloqueo por E/S?. Esto dejaría al procesador con dos procesos en estado preparado (B y C) en el instante de tiempo 2, donde ya se reduciría el quantum a 1 debido a la existencia de 2 o más procesos en estado preparado. ¿Cómo lo veis?&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Discusi%C3%B3n:Sol-ejer2-planif-procesos&amp;diff=355</id>
		<title>Discusión:Sol-ejer2-planif-procesos</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Discusi%C3%B3n:Sol-ejer2-planif-procesos&amp;diff=355"/>
				<updated>2011-03-21T17:31:38Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Creo que la solución al ejercicio 2.1 es la siguiente :&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;
                       / = Tiempo del quantum desaprovechado bien por bloqueo de E/S o por finalización del proceso.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&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;
     Planificador  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&lt;br /&gt;
&lt;br /&gt;
Tengo dudas referente a lo que dice el enunciado de que se producirá un bloqueo por E/S en el pA por cada unidad de tiempo. En la unidad de tiempo 6 se han ejecutado dos unidades de tiempo por lo que se producirán dos bloqueos por E/S, por lo tanto, tras ejecutarse esa unidad de tiempo se tendrán que bloquear dos unidades de tiempo más.Pero como el quantum es de 2 unidades,únicamente se bloquea una unidad. Y así ocurre con todas las veces que se ejecuta el Pa. Estoy en lo cierto?&lt;br /&gt;
En el criterio de planificación del RR dice que cuando el proceso pasa a estado bloqueado antes de la finalización del quantum pasa al final de la cola,¿eso quiere decir que en el momento que esté en estado bloqueado termina directamente su ejecución dándole opción al planificador de aplicador de nuevo el criterio utilizado,o por el contrario tiene que estar las unidades de tiempo necesarias en estado bloqueado hasta la finalización del quantum?&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol-ejer2-planif-procesos&amp;diff=354</id>
		<title>Sol-ejer2-planif-procesos</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol-ejer2-planif-procesos&amp;diff=354"/>
				<updated>2011-03-21T17:29:55Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* Turno rotatorio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Turno rotatorio =&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;_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|&lt;br /&gt;
           problema  _t__|_3__|_5__|_6__|&lt;br /&gt;
 &lt;br /&gt;
    P&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; bloquea por E/S cada 1 unidad de tiempo&lt;br /&gt;
    P&amp;lt;sub&amp;gt;B&amp;lt;/sub&amp;gt; bloquea por E/S cada 3 unidades de tiempo&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;
               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;
     Planificador  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  &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;_|&lt;br /&gt;
        Cálculos   __t__|_3__|_5__|_6__|&lt;br /&gt;
       de tiempos  __T__|_10_|_11_|_12_|&lt;br /&gt;
                   _T/t_|3.3_|2.2_|_2__|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DEBERIAS PONER ESTO EN LA ZONA DE DISCUSIÓN&lt;br /&gt;
&lt;br /&gt;
Sigue estando mal, el quantum no se reduce a 1 en el proceso A, el quantum se debe respetar siempre(en el articulo de la wiki sobre turno rotatorio lo explican).&lt;br /&gt;
&lt;br /&gt;
Pd: No pises las otras soluciones propuestas, pon la tuya debajo para que todos podamos discutirlo.&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;
                       / = Tiempo del quantum desaprovechado bien por bloqueo de E/S o por finalización del proceso.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&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;gt;   |   |   |   &lt;br /&gt;
               P&amp;lt;sub&amp;gt;C&amp;lt;/sub&amp;gt;  |   |   &amp;lt;   |   |---|---|   |   |   |   |---|---|   |   |   |   |---|---&amp;gt;   |   &lt;br /&gt;
     Planificador  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&lt;br /&gt;
&lt;br /&gt;
= Turno rotatorio proporcional al número de procesos =&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;_|&lt;br /&gt;
          Datos del  _H0_|_0__|_1__|_2__|&lt;br /&gt;
           problema  _t__|_3__|_5__|_6__|&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;
                 &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;
    Planificador &amp;lt;sub&amp;gt; &amp;lt;/sub&amp;gt; X   X   X   X   X   X   X   X   X   |   X   X   X   X   |   |   |   |   |   |   |   &lt;br /&gt;
            &amp;lt;sub&amp;gt; &amp;lt;/sub&amp;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;
                   _____|_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;_|&lt;br /&gt;
        Cálculos   __t__|_3__|_5__|_6__|&lt;br /&gt;
       de tiempos  __T__|_7__|_12_|_12_|&lt;br /&gt;
                   _T/t_|2.3_|2.4_|_2__|&lt;br /&gt;
&lt;br /&gt;
=============&lt;br /&gt;
Observaciones&lt;br /&gt;
=============&lt;br /&gt;
&lt;br /&gt;
- Al no existir en el instante de tiempo 0 problemas de concurrencia de procesos, ¿no debería el proceso A tener derecho a sus dos unidades de tiempo de quantum, aunque este solo utilice una unidad de tiempo debido al bloqueo por E/S?. Esto dejaría al procesador con dos procesos en estado preparado (B y C) en el instante de tiempo 2, donde ya se reduciría el quantum a 1 debido a la existencia de 2 o más procesos en estado preparado. ¿Cómo lo veis?&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Discusi%C3%B3n:Sol-ejer2-planif-procesos&amp;diff=353</id>
		<title>Discusión:Sol-ejer2-planif-procesos</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Discusi%C3%B3n:Sol-ejer2-planif-procesos&amp;diff=353"/>
				<updated>2011-03-21T17:29:01Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: Dudas referentes al ejercicio 1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Creo que la solución al ejercicio 1 es la siguiente :&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;
                       / = Tiempo del quantum desaprovechado bien por bloqueo de E/S o por finalización del proceso.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&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;
     Planificador  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&lt;br /&gt;
&lt;br /&gt;
Tengo dudas referente a lo que dice el enunciado de que se producirá un bloqueo por E/S en el pA por cada unidad de tiempo. En la unidad de tiempo 6 se han ejecutado dos unidades de tiempo por lo que se producirán dos bloqueos por E/S, por lo tanto, tras ejecutarse esa unidad de tiempo se tendrán que bloquear dos unidades de tiempo más.Pero como el quantum es de 2 unidades,únicamente se bloquea una unidad. Y así ocurre con todas las veces que se ejecuta el Pa. Estoy en lo cierto?&lt;br /&gt;
En el criterio de planificación del RR dice que cuando el proceso pasa a estado bloqueado antes de la finalización del quantum pasa al final de la cola,¿eso quiere decir que en el momento que esté en estado bloqueado termina directamente su ejecución dándole opción al planificador de aplicador de nuevo el criterio utilizado,o por el contrario tiene que estar las unidades de tiempo necesarias en estado bloqueado hasta la finalización del quantum?&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Ejercicios_otros_aspectos_de_la_planificaci%C3%B3n&amp;diff=342</id>
		<title>Ejercicios otros aspectos de la planificación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Ejercicios_otros_aspectos_de_la_planificaci%C3%B3n&amp;diff=342"/>
				<updated>2011-03-21T16:01:45Z</updated>
		
		<summary type="html">&lt;p&gt;Jherrera: /* Ejercicio de clase sobre SO de tiempo real */ correción indice de penalizacion&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ejercicio de clase sobre SO de tiempo real ==&lt;br /&gt;
&lt;br /&gt;
                    ____|_PA_|_PB_|_PC_|_PD_|&lt;br /&gt;
         Datos del  _H0_|_0__|_1__|_2__|_3*n|&lt;br /&gt;
          problema  _t__|_2__|_4__|_2__|_1__|&lt;br /&gt;
                   plazo|_3__|_5__|_7__|_10_|&lt;br /&gt;
               prioridad|_-20|_0__|_10_|_15_|&lt;br /&gt;
               (-20 a 19)&lt;br /&gt;
                 UNIX  &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;
                      * = el proceso se aborta&lt;br /&gt;
&lt;br /&gt;
                  |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
              PA  &amp;lt;___|___&amp;gt;   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
              PB  |   &amp;lt;   |___|___|___*   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
              PC  |   |   &amp;lt;   |   |   |___|___&amp;gt;   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
              PD  |   |   |   &amp;lt;   |   *   &amp;lt;   |___&amp;gt;   &amp;lt;___&amp;gt;   |   &amp;lt;___&amp;gt;   |   &amp;lt;___&amp;gt;   |   |   |   |&lt;br /&gt;
     Planificador 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&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__|_2__|_3__|_2__|_1_|&lt;br /&gt;
             de tiempos  __T__|_2__|_4__|_4__|_1_|&lt;br /&gt;
                         _T/t_|_1__|0.75|_2__|_1_|&lt;br /&gt;
                        |&lt;br /&gt;
                        |_&amp;gt; Indice de penalización&lt;/div&gt;</summary>
		<author><name>Jherrera</name></author>	</entry>

	</feed>