<?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=Jjimenez</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=Jjimenez"/>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php/Especial:Contribuciones/Jjimenez"/>
		<updated>2026-05-07T10:01:59Z</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_7&amp;diff=1110</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=1110"/>
				<updated>2011-06-06T18:11:32Z</updated>
		
		<summary type="html">&lt;p&gt;Jjimenez: Deshecha la edición 1109 de Jjimenez (disc.)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La lista de paginas a la que se acceden son las siguientes : &lt;br /&gt;
&lt;br /&gt;
2--2--3--1--1--3--4--5--1--1--2--3--4&lt;br /&gt;
 &lt;br /&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-1-3&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-1-3-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 = 1-3-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-4-5-1&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-4-5-1&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 = 4-5-1-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-1-2-3&lt;br /&gt;
                  Pagina 3    |_R=1_|_R=1_|_R=1_|_R=1_| &lt;br /&gt;
                13º Acceso    |     |     |     |     |&lt;br /&gt;
                 Acceso a:    |  4  |  2  |  1  |  3  | Nª de fallos: 8   Cola = 1-2-3-4&lt;br /&gt;
                  Pagina 4    |_R=1_|_R=0_|_R=0_|_R=0_|              &lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Fcoramlop|Fcoramlop]] 22:58 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;
- Duda: En el acceso nº6 ¿Por que ponemos el 3 al final de la cola? se supone que solo se hace eso si recorremos la cola y el bit R se encuentra a 1, entonces ponemos el bit a 0 y colocamos la pagina al final de la cola para darle una 2º oportunidad&lt;br /&gt;
&lt;br /&gt;
&amp;lt;[[Usuario:PCamino|pablo]]&amp;gt;-Respuesta a la duda: Porque asi funcionan las colas. Si llega un elemento que ya habia, pues le corresponde ponerse al final.&lt;br /&gt;
&lt;br /&gt;
[[Criterios_de_reemplazo|Volver]]&lt;/div&gt;</summary>
		<author><name>Jjimenez</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol_7&amp;diff=1109</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=1109"/>
				<updated>2011-06-06T18:07:51Z</updated>
		
		<summary type="html">&lt;p&gt;Jjimenez: Corrección del Ejercicio&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La lista de paginas a la que se acceden son las siguientes : &lt;br /&gt;
&lt;br /&gt;
2--2--3--1--1--3--4--5--1--1--2--3--4&lt;br /&gt;
 &lt;br /&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 = 3-5-2-4&lt;br /&gt;
                  Pagina 4    |_R=0_|_R=0_|_R=1_|_R=1_|              &lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Fcoramlop|Fcoramlop]] 22:58 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;
- Duda: En el acceso nº6 ¿Por que ponemos el 3 al final de la cola? se supone que solo se hace eso si recorremos la cola y el bit R se encuentra a 1, entonces ponemos el bit a 0 y colocamos la pagina al final de la cola para darle una 2º oportunidad&lt;br /&gt;
&lt;br /&gt;
&amp;lt;[[Usuario:PCamino|pablo]]&amp;gt;-Respuesta a la duda: Porque asi funcionan las colas. Si llega un elemento que ya habia, pues le corresponde ponerse al final.&lt;br /&gt;
&lt;br /&gt;
[[Criterios_de_reemplazo|Volver]]&lt;/div&gt;</summary>
		<author><name>Jjimenez</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_ejercicio_6&amp;diff=859</id>
		<title>Solución ejercicio 6</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_ejercicio_6&amp;diff=859"/>
				<updated>2011-05-12T21:56:37Z</updated>
		
		<summary type="html">&lt;p&gt;Jjimenez: Página nueva:      X = El proceso pasa a estado bloqueado.      / = El proceso pasa a estado preparado.      &amp;gt; = Fin de su ejecucion       | #1| #2| #3|   |   |   | #4|   |   |   | #1| #2| #3|   | ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;     X = El proceso pasa a estado bloqueado.&lt;br /&gt;
     / = El proceso pasa a estado preparado.&lt;br /&gt;
     &amp;gt; = Fin de su ejecucion&lt;br /&gt;
&lt;br /&gt;
     | #1| #2| #3|   |   |   | #4|   |   |   | #1| #2| #3|   |   |   | #4| #1|   |   |&lt;br /&gt;
   P1|---|---|---|   |   |   |---X   /   |   |---|---|---|   |   |   |---|---&amp;gt;FIN|   |&lt;br /&gt;
     |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
     |   |   |   | #1| #2| #3|   | #4| #1| #2|   |   |   | #3| #4| #1|   |   |   |   |&lt;br /&gt;
   P2|   |   |   |---|---|---|   |---|---|---X   |   /   |---|---|---&amp;gt;FIN|   |   |   |&lt;br /&gt;
     |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
     |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|&lt;br /&gt;
     0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;/div&gt;</summary>
		<author><name>Jjimenez</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Ejercicios_sincronizaci%C3%B3n_y_comunicaci%C3%B3n&amp;diff=858</id>
		<title>Ejercicios sincronización y comunicación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Ejercicios_sincronizaci%C3%B3n_y_comunicaci%C3%B3n&amp;diff=858"/>
				<updated>2011-05-12T21:41:39Z</updated>
		
		<summary type="html">&lt;p&gt;Jjimenez: Ejercicio 6 (ej4, 2º parcial)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Ejercicio 1 =&lt;br /&gt;
&lt;br /&gt;
Realice el cronograma temporal que represente la ejecución de dos procesos P1 y P2. El proceso P1 ejecuta el siguiente código:&lt;br /&gt;
&lt;br /&gt;
&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;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el proceso P2 ejecuta el siguiente código:&lt;br /&gt;
&lt;br /&gt;
&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;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para el semáforo s1 el contador vale 1, mientras que para el semáforo s2 el contador vale 0.&lt;br /&gt;
&lt;br /&gt;
Suponga que:&lt;br /&gt;
&lt;br /&gt;
* El planificador emplea turno rotatorio estricto con quantum de 3 unidades de ejecución.&lt;br /&gt;
* Se sabe que el proceso P2 es seleccionado en primer lugar por el planificador para ejecutarse.&lt;br /&gt;
* La ejecución de cada línea de código representado anteriormente supone una unidad de ejecución, por tanto, todas las instrucciones toman el mismo tiempo de ejecución.&lt;br /&gt;
* La función get(semáforo s) devuelve el valor del contador del semáforo.&lt;br /&gt;
&lt;br /&gt;
El cronograma deberá incluir qué instrucción se ejecuta en cada unidad de ejecución.&lt;br /&gt;
&lt;br /&gt;
[[solución ejercicio 1|Ver solución del ejercicio 1]]&lt;br /&gt;
&lt;br /&gt;
= Ejercicio 2 =&lt;br /&gt;
&lt;br /&gt;
Realice el cronograma temporal que represente la ejecución de dos procesos P1 y P2. El proceso P1 ejecuta el siguiente código:&lt;br /&gt;
&lt;br /&gt;
&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;
    up(s2);               /* #4 */&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el proceso P2 ejecuta el siguiente código:&lt;br /&gt;
&lt;br /&gt;
&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;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para el semáforo s1 el contador vale 1, mientras que para el semáforo s2 el contador vale 0.&lt;br /&gt;
&lt;br /&gt;
Suponga que:&lt;br /&gt;
&lt;br /&gt;
* El planificador emplea turno rotatorio estricto con quantum de 3 unidades de ejecución.&lt;br /&gt;
* Se sabe que el proceso P1 es seleccionado en primer lugar por el planificador para ejecutarse.&lt;br /&gt;
* La ejecución de cada línea de código representado anteriormente supone una unidad de ejecución, por tanto, todas las instrucciones toman el mismo tiempo de ejecución.&lt;br /&gt;
&lt;br /&gt;
El cronograma deberá incluir qué instrucción se ejecuta en cada unidad de ejecución.&lt;br /&gt;
&lt;br /&gt;
[[solución ejercicio 2|Ver solución del ejercicio 2]]&lt;br /&gt;
&lt;br /&gt;
= Ejercicio 3 =&lt;br /&gt;
&lt;br /&gt;
En un exámen de sistemas operativos, un estudiante plantea la siguiente solución basada en dos procesos, un proceso P1 productor y un proceso P2 consumidor, en el que el contador de los semáforos s1 y s2 valen inicialmente 0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
while(1) {&lt;br /&gt;
    down(s1);&lt;br /&gt;
    produce();&lt;br /&gt;
    up(s2);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el proceso P2 ejecuta el siguiente código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
while(1) {&lt;br /&gt;
    down(s2);&lt;br /&gt;
    consume();&lt;br /&gt;
    up(s1);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Responda brevemente si la solución que propone es idónea justificando su respuesta. &lt;br /&gt;
&lt;br /&gt;
[[solución ejercicio 3|Ver solución del ejercicio 3]]&lt;br /&gt;
&lt;br /&gt;
= Ejercicio 4 =&lt;br /&gt;
&lt;br /&gt;
Realice el cronograma temporal que represente la ejecución de dos procesos P1 y P2. El proceso P1 ejecuta el siguiente código:&lt;br /&gt;
&lt;br /&gt;
&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;
    send(msg);             /* #2 */&lt;br /&gt;
    recv(msg);             /* #3 */&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el proceso P2 ejecuta el siguiente código:&lt;br /&gt;
&lt;br /&gt;
&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;
    recv(msg);             /* #2 */&lt;br /&gt;
    send(msg);             /* #3 */&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suponga que:&lt;br /&gt;
&lt;br /&gt;
* El planificador emplea turno rotatorio estricto con quantum de 3 unidades de ejecución.&lt;br /&gt;
* Se sabe que el proceso P1 es seleccionado en primer lugar por el planificador para ejecutarse.&lt;br /&gt;
* La ejecución de cada línea de código representado anteriormente supone una unidad de ejecución, por tanto, todas las instrucciones toman el mismo tiempo de ejecución.&lt;br /&gt;
* El comportamiento de la primitiva send() es síncrono y el la primitiva recv() es bloqueante.&lt;br /&gt;
* Suponga que msg contiene un mensaje se emplea como testigo cuyo contenido no tiene relevancia.&lt;br /&gt;
&lt;br /&gt;
El cronograma deberá incluir qué instrucción se ejecuta en cada unidad de ejecución.&lt;br /&gt;
&lt;br /&gt;
[[solución ejercicio 4|Ver solución del ejercicio 4]]&lt;br /&gt;
&lt;br /&gt;
= Ejercicio 5 =&lt;br /&gt;
&lt;br /&gt;
Realice el cronograma temporal que represente la ejecución de dos procesos P1 y P2. El proceso P1 ejecuta el siguiente código:&lt;br /&gt;
&lt;br /&gt;
&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;
    up(s2);               /* #4 */&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y el proceso P2 ejecuta el siguiente código:&lt;br /&gt;
&lt;br /&gt;
&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;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para el semáforo s1 el contador vale 1, mientras que para el semáforo s2 el contador vale 0.&lt;br /&gt;
&lt;br /&gt;
Suponga que:&lt;br /&gt;
&lt;br /&gt;
* El planificador emplea turno rotatorio estricto, con quantum ilimitado, por tanto, un proceso se mantiene en estado activo hasta que realice una operación bloqueante.&lt;br /&gt;
* Se sabe que el proceso P2 es seleccionado en primer lugar por el planificador para ejecutarse.&lt;br /&gt;
* La ejecución de cada línea de código representado anteriormente supone una unidad de ejecución, por tanto, todas las instrucciones toman el mismo tiempo de ejecución. &lt;br /&gt;
&lt;br /&gt;
El cronograma deberá incluir qué instrucción se ejecuta en cada unidad de ejecución. &lt;br /&gt;
&lt;br /&gt;
[[solución ejercicio 5|Ver solución del ejercicio 5]]&lt;br /&gt;
&lt;br /&gt;
= Ejercicio 6 =&lt;br /&gt;
&lt;br /&gt;
Dado dos procesos P1 y P2 cuyos códigos son los siguientes:&lt;br /&gt;
&lt;br /&gt;
Código del Proceso 1:&lt;br /&gt;
&lt;br /&gt;
&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;
    send(msg);              /* #2 */&lt;br /&gt;
    f(msg);                 /* #3 */&lt;br /&gt;
    recv(msg);              /* #4 */&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Código del Proceso 2:&lt;br /&gt;
&lt;br /&gt;
&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;
    recv(msg);              /* #2 */&lt;br /&gt;
    f(msg);                 /* #3 */&lt;br /&gt;
    send(msg);              /* #4 */&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Suponga que:&lt;br /&gt;
&lt;br /&gt;
* El planificador emplea turno rotatorio estricto con quantum de 3 unidades de ejecución.&lt;br /&gt;
* Se sabe que el proceso P1 es seleccionado en primer lugar por el planificador para ejecutarse.&lt;br /&gt;
* La ejecución de cada línea de código representado anteriormente supone una unidad de ejecución, por tanto, todas las instrucciones toman el mismo tiempo de ejecución.&lt;br /&gt;
* El comportamiento de la primitiva send() es asíncrono y el de la primitiva recv() es bloqueante.&lt;br /&gt;
* Suponga que msg contiene un mensaje inicialmente bien formado cuyo contenido no tiene relevancia&lt;br /&gt;
&lt;br /&gt;
El cronograma deberá incluir qué instrucción se ejecuta en cada unidad de ejecución.&lt;br /&gt;
&lt;br /&gt;
[[solución ejercicio 6|Ver solución del ejercicio 6]]&lt;/div&gt;</summary>
		<author><name>Jjimenez</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Soluci%C3%B3n_Ejercicio_1&amp;diff=857</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=857"/>
				<updated>2011-05-12T20:30:44Z</updated>
		
		<summary type="html">&lt;p&gt;Jjimenez: Solucion Ej1 (Ej5, 2º parcial)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Se sigue el algoritmo visto en clase:&lt;br /&gt;
&lt;br /&gt;
 1.Buscar un proceso cuya suma recAsig + recDisp &amp;gt;= recMax&lt;br /&gt;
 2.Suponemos que se asignan dichos recursos y el proceso termina su ejecución. &lt;br /&gt;
   Sumamos sus recursos al vector recDisp y añadimos el proceso a la lista de finalizados.&lt;br /&gt;
 3.Repetir primer paso hasta terminar todos los procesos (siendo un estado estable)&lt;br /&gt;
   o bien hasta el punto en el que no sea posible ninguna asignación de recursos,&lt;br /&gt;
   existiendo pues interbloqueo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comprobamos si se puede ejecutar P1:&lt;br /&gt;
&lt;br /&gt;
      R1: recAsig=1 recDisp=1 --&amp;gt; recAsig + recDisp = 2 / recMax=1      &lt;br /&gt;
          ¿recAsig+recDisp &amp;gt;= recMax?  2&amp;gt;=1 --&amp;gt; ok&lt;br /&gt;
&lt;br /&gt;
      R2: recAsig=1 recDisp=0 --&amp;gt; recAsig + recDisp = 1 / recMax=1      &lt;br /&gt;
          ¿recAsig+recDisp &amp;gt;= recMax?  1&amp;gt;=1 --&amp;gt; ok&lt;br /&gt;
&lt;br /&gt;
      R1: recAsig=0 recDisp=1 --&amp;gt; recAsig + recDisp = 1 / recMax=2      &lt;br /&gt;
          ¿recAsig+recDisp &amp;gt;= recMax?  1&amp;lt;2 --&amp;gt; No se puede ejecutar&lt;br /&gt;
&lt;br /&gt;
Comprobamos si se puede ejecutar P2:&lt;br /&gt;
      &lt;br /&gt;
      R1: recAsig=0 recDisp=1 --&amp;gt; recAsig + recDisp = 1 / recMax=0      &lt;br /&gt;
          ¿recAsig+recDisp &amp;gt;= recMax?  1&amp;gt;=0 --&amp;gt; ok&lt;br /&gt;
&lt;br /&gt;
      R2: recAsig=0 recDisp=0 --&amp;gt; recAsig + recDisp = 0 / recMax=1      &lt;br /&gt;
          ¿recAsig+recDisp &amp;gt;= recMax?  0&amp;lt;1 --&amp;gt; No se puede ejecutar&lt;br /&gt;
&lt;br /&gt;
Comprobamos si se puede ejecutar P3:&lt;br /&gt;
&lt;br /&gt;
      R1: recAsig=1 recDisp=1 --&amp;gt; recAsig + recDisp = 2 / recMax=1      &lt;br /&gt;
          ¿recAsig+recDisp &amp;gt;= recMax?  2&amp;gt;=1 --&amp;gt; ok&lt;br /&gt;
&lt;br /&gt;
      R2: recAsig=1 recDisp=0 --&amp;gt; recAsig + recDisp = 1 / recMax=1      ==&amp;gt; Dispone de los 3 recursos necesarios, por tanto  &lt;br /&gt;
          ¿recAsig+recDisp &amp;gt;= recMax?  1&amp;gt;=1 --&amp;gt; ok                          se puede ejecutar.  &lt;br /&gt;
&lt;br /&gt;
      R1: recAsig=0 recDisp=1 --&amp;gt; recAsig + recDisp = 1 / recMax=1      &lt;br /&gt;
          ¿recAsig+recDisp &amp;gt;= recMax?  1&amp;gt;=1 --&amp;gt; ok &lt;br /&gt;
                  &lt;br /&gt;
===== Ejecutados = [P1]  / Disponibles = [ 2 1 1 ] =====&lt;br /&gt;
&lt;br /&gt;
Comprobamos si se puede ejecutar P1 (Hay nuevos recursos disponibles,los liberados por P3):&lt;br /&gt;
&lt;br /&gt;
      R1: recAsig=1 recDisp=2 --&amp;gt; recAsig + recDisp = 3 / recMax=1      &lt;br /&gt;
          ¿recAsig+recDisp &amp;gt;= recMax?  3&amp;gt;=1 --&amp;gt; ok&lt;br /&gt;
&lt;br /&gt;
      R2: recAsig=1 recDisp=1 --&amp;gt; recAsig + recDisp = 2 / recMax=1      &lt;br /&gt;
          ¿recAsig+recDisp &amp;gt;= recMax?  2&amp;gt;=1 --&amp;gt; ok&lt;br /&gt;
&lt;br /&gt;
      R1: recAsig=0 recDisp=1 --&amp;gt; recAsig + recDisp = 1 / recMax=2      &lt;br /&gt;
          ¿recAsig+recDisp &amp;gt;= recMax?  1&amp;lt;2 --&amp;gt; No se puede ejecutar&lt;br /&gt;
&lt;br /&gt;
Comprobamos si se puede ejecutar P2 (Hay nuevos recursos disponibles,los liberados por P3):&lt;br /&gt;
&lt;br /&gt;
      R1: recAsig=0 recDisp=2 --&amp;gt; recAsig + recDisp = 2 / recMax=0      &lt;br /&gt;
          ¿recAsig+recDisp &amp;gt;= recMax?  2&amp;gt;=0 --&amp;gt; ok&lt;br /&gt;
&lt;br /&gt;
      R2: recAsig=0 recDisp=1 --&amp;gt; recAsig + recDisp = 1 / recMax=1      ==&amp;gt; Dispone de los 3 recursos necesarios,por tanto&lt;br /&gt;
          ¿recAsig+recDisp &amp;gt;= recMax?  1&amp;gt;=1 --&amp;gt; ok                          se puede ejecutar.&lt;br /&gt;
&lt;br /&gt;
      R2: recAsig=1 recDisp=1 --&amp;gt; recAsig + recDisp = 2 / recMax=1      &lt;br /&gt;
          ¿recAsig+recDisp &amp;gt;= recMax?  2&amp;gt;=1 --&amp;gt; ok&lt;br /&gt;
                                       &lt;br /&gt;
===== Ejecutados = [P3,P2]  / Disponibles = [ 2 1 2 ]=====&lt;br /&gt;
&lt;br /&gt;
Comprobamos si se puede ejecutar P1 (Hay nuevos recursos disponibles,los liberados por P2):&lt;br /&gt;
&lt;br /&gt;
      R1: recAsig=1 recDisp=2 --&amp;gt; recAsig + recDisp = 3 / recMax=1      &lt;br /&gt;
          ¿recAsig+recDisp &amp;gt;= recMax?  3&amp;gt;=1 --&amp;gt; ok&lt;br /&gt;
&lt;br /&gt;
      R2: recAsig=1 recDisp=1 --&amp;gt; recAsig + recDisp = 2 / recMax=1     ==&amp;gt; Dispone de los 3 recursos necesarios,por tanto  &lt;br /&gt;
          ¿recAsig+recDisp &amp;gt;= recMax?  2&amp;gt;=1 --&amp;gt; ok                         se puede ejecutar.  &lt;br /&gt;
&lt;br /&gt;
      R1: recAsig=0 recDisp=2 --&amp;gt; recAsig + recDisp = 2 / recMax=2      &lt;br /&gt;
          ¿recAsig+recDisp &amp;gt;= recMax?  2&amp;gt;=2 --&amp;gt; ok&lt;br /&gt;
&lt;br /&gt;
===== Ejecutados = [P3,P2,P1]  / Disponibles = [ 3 2 2 ]  =====&lt;br /&gt;
&lt;br /&gt;
                                         &lt;br /&gt;
Es una configuración de estado seguro ya que se ejecutan los 3 procesos sin dar lugar a interbloqueos.&lt;/div&gt;</summary>
		<author><name>Jjimenez</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Ejercicios&amp;diff=856</id>
		<title>Ejercicios</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Ejercicios&amp;diff=856"/>
				<updated>2011-05-12T19:34:59Z</updated>
		
		<summary type="html">&lt;p&gt;Jjimenez: /* Ejercicio 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Ejercicio 1 = &lt;br /&gt;
&lt;br /&gt;
Dada la siguiente configuración de procesos y recursos,elabore si la configuración es estado seguro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table BORDER=&amp;quot;1&amp;quot; cellpadding=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;     &amp;lt;/td&amp;gt; &amp;lt;td colspan=&amp;quot;3&amp;quot;&amp;gt;Adjudicados&amp;lt;/td&amp;gt; &amp;lt;td colspan=&amp;quot;3&amp;quot;&amp;gt;Máximos&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;   &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;R1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;R2&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;R3&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;R1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;R2&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;R3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;P1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;P2&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;P3&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disponibles = [ 1 0 1 ]&lt;br /&gt;
&lt;br /&gt;
[[Solución Ejercicio 1|Ver solución del ejercicio 1]]&lt;/div&gt;</summary>
		<author><name>Jjimenez</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Ejercicios&amp;diff=855</id>
		<title>Ejercicios</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Ejercicios&amp;diff=855"/>
				<updated>2011-05-12T19:30:49Z</updated>
		
		<summary type="html">&lt;p&gt;Jjimenez: Enunciado Ej1 (Ej5 , 2º Parcial)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Ejercicio 1 = &lt;br /&gt;
&lt;br /&gt;
Dada la siguiente configuración de procesos y recursos,elabore si la configuración es estado seguro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table BORDER=&amp;quot;1&amp;quot; cellpadding=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;     &amp;lt;/td&amp;gt; &amp;lt;td colspan=&amp;quot;3&amp;quot;&amp;gt;Adjudicados&amp;lt;/td&amp;gt; &amp;lt;td colspan=&amp;quot;3&amp;quot;&amp;gt;Máximos&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;   &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;R1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;R2&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;R3&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;R1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;R2&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;R3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;P1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;P2&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;P3&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disponibles = [ 1 0 1 ]&lt;br /&gt;
&lt;br /&gt;
[[solución ejercicio 1|Ver solución del ejercicio 1]]&lt;/div&gt;</summary>
		<author><name>Jjimenez</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=P%C3%A1gina_Principal&amp;diff=854</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=854"/>
				<updated>2011-05-12T18:39:38Z</updated>
		
		<summary type="html">&lt;p&gt;Jjimenez: /*Añadir Ejercicios */&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;
* [[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>Jjimenez</name></author>	</entry>

	</feed>