<?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=Vanchinav</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=Vanchinav"/>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php/Especial:Contribuciones/Vanchinav"/>
		<updated>2026-05-06T04:42:58Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.29.0</generator>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Evaluame_mis_contribuciones_a_la_wiki&amp;diff=2731</id>
		<title>Evaluame mis contribuciones a la wiki</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Evaluame_mis_contribuciones_a_la_wiki&amp;diff=2731"/>
				<updated>2013-01-19T22:08:32Z</updated>
		
		<summary type="html">&lt;p&gt;Vanchinav: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A continuación, indica tu nombre y apellidos:&lt;br /&gt;
&lt;br /&gt;
* Juan Carlos Roldán Salvador&lt;br /&gt;
* Daniel Ayala Hernández&lt;br /&gt;
* Daniel de los Reyes Leal&lt;br /&gt;
* Olga Minerva Moreno Martín IS-G1&lt;br /&gt;
* Vanessa Chipirrás Navalón IC&lt;br /&gt;
* Alejandro Sánchez Medina IS-G1&lt;br /&gt;
* Francisco Javier Borrego Cejudo IC-G2&lt;br /&gt;
* Samuel Martin Arenas IC-G2&lt;br /&gt;
* Álvaro Fernández García IS-G1&lt;br /&gt;
* Rafael Gomez Galbarro&lt;/div&gt;</summary>
		<author><name>Vanchinav</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Evaluame_mis_contribuciones_a_la_wiki&amp;diff=2730</id>
		<title>Evaluame mis contribuciones a la wiki</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Evaluame_mis_contribuciones_a_la_wiki&amp;diff=2730"/>
				<updated>2013-01-19T22:07:28Z</updated>
		
		<summary type="html">&lt;p&gt;Vanchinav: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A continuación, indica tu nombre y apellidos:&lt;br /&gt;
&lt;br /&gt;
* Juan Carlos Roldán Salvador&lt;br /&gt;
* Daniel Ayala Hernández&lt;br /&gt;
* Daniel de los Reyes Leal&lt;br /&gt;
* Olga Minerva Moreno Martín IS-G1&lt;br /&gt;
* Vanessa Chipirrás Navalón IC-G1&lt;br /&gt;
* Alejandro Sánchez Medina IS-G1&lt;br /&gt;
* Francisco Javier Borrego Cejudo IC-G2&lt;br /&gt;
* Samuel Martin Arenas IC-G2&lt;br /&gt;
* Álvaro Fernández García IS-G1&lt;br /&gt;
* Rafael Gomez Galbarro&lt;/div&gt;</summary>
		<author><name>Vanchinav</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Evaluame_mis_contribuciones_a_la_wiki&amp;diff=2698</id>
		<title>Evaluame mis contribuciones a la wiki</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Evaluame_mis_contribuciones_a_la_wiki&amp;diff=2698"/>
				<updated>2013-01-19T00:31:41Z</updated>
		
		<summary type="html">&lt;p&gt;Vanchinav: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A continuación, indica tu nombre y apellidos:&lt;br /&gt;
&lt;br /&gt;
* Juan Carlos Roldán Salvador&lt;br /&gt;
* Daniel Ayala Hernández&lt;br /&gt;
* Daniel de los Reyes Leal&lt;br /&gt;
* Olga Minerva Moreno Martín IS-G1&lt;br /&gt;
* Vanessa Chipirrás Navalón&lt;/div&gt;</summary>
		<author><name>Vanchinav</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol-ejer2-planif-procesos&amp;diff=2563</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=2563"/>
				<updated>2012-11-07T19:49:48Z</updated>
		
		<summary type="html">&lt;p&gt;Vanchinav: &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;
&lt;br /&gt;
Tengo una duda en este ejercicio, en la unidad de tiempo 6 cuando el planificador activa el proceso Pb, porque motivo solo le asigna una unidad de tiempo?, podria asignarle 2 no? teniendo en cuenta que el quantum = 2. Ademas el proceso B bloquea cada 3 unidades de tiempo, no entiendo porque solo le asigna una unidad y luego activa en la unidad de tiempo 7 el proceso C.  LFE (Luis Fernandez Esteban)&lt;br /&gt;
&lt;br /&gt;
Pues yo diría que es porque se bloquea cada 3, al igual que el A se bloquea a cada unidad. Ya llevaba 1, y con esa actividad, +2 --[[Usuario:PCamino|PCamino]]&lt;br /&gt;
&lt;br /&gt;
Gracias, tienes razon ya lo entendi. LFE (Luis Fernandez Esteban)&lt;br /&gt;
&lt;br /&gt;
DUDA &lt;br /&gt;
En t=3 llegaría el proceso Pa y el proceso Pb a la cola de estado preparado. Como dice en teroía, un proceso que se bloquea sin llegar a agotar su quantum, pasaría al final de  la cola de estados preparados. Por tanto, el siguiente en ejecutarse sería Pb, puesto que Pa viene de estar bloqueado sin agotar su quantum luego pasaría al final de la cola de preparados. ¿Estoy en lo cierto?&lt;br /&gt;
--[[Usuario:josvaldia|josvaldia]]&lt;br /&gt;
&lt;br /&gt;
-esto es estricto no por compensación por tanto no estas en lo cierto. --[[Usuario:juacordia|juacordia]]&lt;br /&gt;
&lt;br /&gt;
DUDA: ¿En t=10 el proceso A no bloquearia y terminaria de ejecutarse cuando vuelva del bloqueo?  --[[Usuario:jesgonbel|jesgonbel]]&lt;br /&gt;
&lt;br /&gt;
RESP: En t=10, el proceso A no entra en bloqueo, sino que directamente finaliza su ejecución.&lt;br /&gt;
--[[Usuario:framorexp|framorexp]]&lt;br /&gt;
&lt;br /&gt;
RESP2: jesgonbel, el proceso terminaría cuando vuelve del bloqueo, no finaliza en el 10, lo haría en el 12 lo dijo pablo en clase creo recordar --[[Usuario:fercarort|fercarort]]&lt;br /&gt;
&lt;br /&gt;
RESP3: Vale, puede ser, pero a efectos prácticos es como si finalizara en el 10, porque tras el bloqueo no necesita ningún tipo de procesamiento. No se si este caso merece algún trato especial, pero creo que no. --[[Usuario:framorexp|framorexp]]&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;
Nota: Del 11 al 12 no se procesa nada porque sólo quedan los procesos A y B, pero en esa unidad de tiempo ambos están bloqueados (los bloqueos de A y B duran 2 uds. de tiempo) --[[Usuario:Pneira|Pneira]] 19:23 8 nov 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
DUDA= En t=10,¿no debería seguir el proceso B una u.t más?Puesto que se bloquea cada 3 u.t, si no, no entiendo porque pasa al proceso A si el B tiene más prioridad. [[Usuario:vanchinav|vanchinav]]&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;
                       B = bloquea&lt;br /&gt;
                       P = preparado&lt;br /&gt;
 &lt;br /&gt;
                      q=2 q=2     q=1 q=1 q=1 q=2     q=1 q=1 q=1 q=1 q=2                &lt;br /&gt;
                       |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
               Pa      &amp;lt;---B   |   P   |---B   |   P   |---|   |   &amp;gt;   |   |   |   |   |   |   |   |   |&lt;br /&gt;
               Pb      |   &amp;lt;---|---P   |   |---B   |   P   |---P   |---&amp;gt;   |   |   |   |   |   |   |   |&lt;br /&gt;
               Pc      |   |   &amp;lt;   |---P   |   |---|---P   |   |---P   |---|---&amp;gt;   |   |   |   |   |   |&lt;br /&gt;
                       |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                       0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                   _____|_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__|_12_|_15_|_17_|&lt;br /&gt;
                   _T/t_|_4__|2.80|_2.5|&lt;br /&gt;
&lt;br /&gt;
Nota: Fíjese en que el quantum se calcula en base al número de procesos que están en estado preparado cada vez que hay que tomar una decisión de planificación --[[Usuario:Pneira|Pneira]] 19:34 8 nov 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
Los índices de penalización de este ejercicio son erróneos, la solución correcta creo que sería la siguiente:&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__|_9__|_11__|_12_|&lt;br /&gt;
                   _T/t_|_3__|_2.2_|__2_|--[[Usuario:Josazcrom|Josazcrom]] 17:28 22 nov 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Aparte de que los índices parecen estar mal, el proceso A no debería terminar donde termina, si no dos unidades de tiempo después, tras terminar el bloqueo.&lt;br /&gt;
&lt;br /&gt;
PREGUNTA:Pienso que en el instante 11 el proceso que se ejecuta es el C ya que en el 10 en la cola de preparado había 1 proceso en estado preparado, por tanto, el quantum vuelve a cambiar a 2 y el proceso C se ejecuta del 10 a 12. &lt;br /&gt;
¿Alguién puede confirmarme esta &amp;quot;pregunta&amp;quot;?.&lt;br /&gt;
--[[Usuario:Raflopseg|Raflopseg]] 18:20 23 nov 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Probablemente no te sea de ayuda ahora pero por si le sirve a alguien:&lt;br /&gt;
En el instante 9 B usa solo uno porque C esta activo y por tanto el quantum es 1. &lt;br /&gt;
B no pasa a estar bloqueado(se bloquea en el 6 y no se vuelve a usar hasta el 9 por lo tanto esta activo por tres intervalos)&lt;br /&gt;
Al estar B activo C solo se puede ejecutar de 10 a 11&lt;/div&gt;</summary>
		<author><name>Vanchinav</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Sol-ejer2-planif-procesos&amp;diff=2562</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=2562"/>
				<updated>2012-11-07T19:49:07Z</updated>
		
		<summary type="html">&lt;p&gt;Vanchinav: Duda en un 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;
&lt;br /&gt;
Tengo una duda en este ejercicio, en la unidad de tiempo 6 cuando el planificador activa el proceso Pb, porque motivo solo le asigna una unidad de tiempo?, podria asignarle 2 no? teniendo en cuenta que el quantum = 2. Ademas el proceso B bloquea cada 3 unidades de tiempo, no entiendo porque solo le asigna una unidad y luego activa en la unidad de tiempo 7 el proceso C.  LFE (Luis Fernandez Esteban)&lt;br /&gt;
&lt;br /&gt;
Pues yo diría que es porque se bloquea cada 3, al igual que el A se bloquea a cada unidad. Ya llevaba 1, y con esa actividad, +2 --[[Usuario:PCamino|PCamino]]&lt;br /&gt;
&lt;br /&gt;
Gracias, tienes razon ya lo entendi. LFE (Luis Fernandez Esteban)&lt;br /&gt;
&lt;br /&gt;
DUDA &lt;br /&gt;
En t=3 llegaría el proceso Pa y el proceso Pb a la cola de estado preparado. Como dice en teroía, un proceso que se bloquea sin llegar a agotar su quantum, pasaría al final de  la cola de estados preparados. Por tanto, el siguiente en ejecutarse sería Pb, puesto que Pa viene de estar bloqueado sin agotar su quantum luego pasaría al final de la cola de preparados. ¿Estoy en lo cierto?&lt;br /&gt;
--[[Usuario:josvaldia|josvaldia]]&lt;br /&gt;
&lt;br /&gt;
-esto es estricto no por compensación por tanto no estas en lo cierto. --[[Usuario:juacordia|juacordia]]&lt;br /&gt;
&lt;br /&gt;
DUDA: ¿En t=10 el proceso A no bloquearia y terminaria de ejecutarse cuando vuelva del bloqueo?  --[[Usuario:jesgonbel|jesgonbel]]&lt;br /&gt;
&lt;br /&gt;
RESP: En t=10, el proceso A no entra en bloqueo, sino que directamente finaliza su ejecución.&lt;br /&gt;
--[[Usuario:framorexp|framorexp]]&lt;br /&gt;
&lt;br /&gt;
RESP2: jesgonbel, el proceso terminaría cuando vuelve del bloqueo, no finaliza en el 10, lo haría en el 12 lo dijo pablo en clase creo recordar --[[Usuario:fercarort|fercarort]]&lt;br /&gt;
&lt;br /&gt;
RESP3: Vale, puede ser, pero a efectos prácticos es como si finalizara en el 10, porque tras el bloqueo no necesita ningún tipo de procesamiento. No se si este caso merece algún trato especial, pero creo que no. --[[Usuario:framorexp|framorexp]]&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;
Nota: Del 11 al 12 no se procesa nada porque sólo quedan los procesos A y B, pero en esa unidad de tiempo ambos están bloqueados (los bloqueos de A y B duran 2 uds. de tiempo) --[[Usuario:Pneira|Pneira]] 19:23 8 nov 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
DUDA= En t=13,¿no debería seguir el proceso B una u.t más?Puesto que se bloquea cada 3 u.t, si no, no entiendo porque pasa al proceso A si el B tiene más prioridad. [[Usuario:vanchinav|vanchinav]]&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;
                       B = bloquea&lt;br /&gt;
                       P = preparado&lt;br /&gt;
 &lt;br /&gt;
                      q=2 q=2     q=1 q=1 q=1 q=2     q=1 q=1 q=1 q=1 q=2                &lt;br /&gt;
                       |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
               Pa      &amp;lt;---B   |   P   |---B   |   P   |---|   |   &amp;gt;   |   |   |   |   |   |   |   |   |&lt;br /&gt;
               Pb      |   &amp;lt;---|---P   |   |---B   |   P   |---P   |---&amp;gt;   |   |   |   |   |   |   |   |&lt;br /&gt;
               Pc      |   |   &amp;lt;   |---P   |   |---|---P   |   |---P   |---|---&amp;gt;   |   |   |   |   |   |&lt;br /&gt;
                       |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---&amp;gt; t&lt;br /&gt;
                       0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
 &lt;br /&gt;
                   _____|_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__|_12_|_15_|_17_|&lt;br /&gt;
                   _T/t_|_4__|2.80|_2.5|&lt;br /&gt;
&lt;br /&gt;
Nota: Fíjese en que el quantum se calcula en base al número de procesos que están en estado preparado cada vez que hay que tomar una decisión de planificación --[[Usuario:Pneira|Pneira]] 19:34 8 nov 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
Los índices de penalización de este ejercicio son erróneos, la solución correcta creo que sería la siguiente:&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__|_9__|_11__|_12_|&lt;br /&gt;
                   _T/t_|_3__|_2.2_|__2_|--[[Usuario:Josazcrom|Josazcrom]] 17:28 22 nov 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Aparte de que los índices parecen estar mal, el proceso A no debería terminar donde termina, si no dos unidades de tiempo después, tras terminar el bloqueo.&lt;br /&gt;
&lt;br /&gt;
PREGUNTA:Pienso que en el instante 11 el proceso que se ejecuta es el C ya que en el 10 en la cola de preparado había 1 proceso en estado preparado, por tanto, el quantum vuelve a cambiar a 2 y el proceso C se ejecuta del 10 a 12. &lt;br /&gt;
¿Alguién puede confirmarme esta &amp;quot;pregunta&amp;quot;?.&lt;br /&gt;
--[[Usuario:Raflopseg|Raflopseg]] 18:20 23 nov 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Probablemente no te sea de ayuda ahora pero por si le sirve a alguien:&lt;br /&gt;
En el instante 9 B usa solo uno porque C esta activo y por tanto el quantum es 1. &lt;br /&gt;
B no pasa a estar bloqueado(se bloquea en el 6 y no se vuelve a usar hasta el 9 por lo tanto esta activo por tres intervalos)&lt;br /&gt;
Al estar B activo C solo se puede ejecutar de 10 a 11&lt;/div&gt;</summary>
		<author><name>Vanchinav</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Llamadas_al_sistema&amp;diff=2554</id>
		<title>Llamadas al sistema</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Llamadas_al_sistema&amp;diff=2554"/>
				<updated>2012-11-01T20:55:39Z</updated>
		
		<summary type="html">&lt;p&gt;Vanchinav: /* Definición de llamada al sistema */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 2.4. Llamadas al sistema =&lt;br /&gt;
&lt;br /&gt;
== Definición de llamada al sistema ==&lt;br /&gt;
&lt;br /&gt;
Una llamada al sistema es un método o función que puede invocar un proceso para solicitar un cierto servicio al sistema operativo. Dado que el acceso a ciertos recursos del sistema requieren la ejecución de código en modo privilegiado, el sistema operativo ofrece un conjunto de métodos o funciones que el programa puede emplear para acceder a dichos recursos. En otras palabras, el sistema operativo actúa como intermediario, ofreciendo una interfaz de programación (API) que el programa puede usar en cualquier momento para solicitar recursos gestionados por el sistema operativo.&lt;br /&gt;
&lt;br /&gt;
Algunos ejemplos de llamadas al sistema son las siguientes:&lt;br /&gt;
&lt;br /&gt;
* '''time''', que permite obtener la fecha y hora del sistema.&lt;br /&gt;
* '''write''', que se emplea para escribir un dato en un cierto dispositivo de salida, tales como una pantalla o un disco magnético.&lt;br /&gt;
* '''read''', que es usada para leer de un dispositivo de entrada, tales como un teclado o un disco magnético.&lt;br /&gt;
* '''open''', que es usada para obtener un descriptor de un fichero del sistema, ese fichero suele pasarse a write.&lt;br /&gt;
&lt;br /&gt;
Todo sistema operativo ofrece un conjunto de llamadas al sistema. En el caso de Linux 3.0, se ofrecen un total de 345 llamadas al sistema.&lt;br /&gt;
&lt;br /&gt;
Toda llamada al sistema se identifica de manera unívoca mediante un valor numérico que no debe ser modificado a lo largo de la vida del sistema operativo para evitar que se rompa la compatibilidad hacia atrás.&lt;br /&gt;
&lt;br /&gt;
El siguiente ejemplo muestra en un ejemplo en C la invocación de las llamadas al sistema '''time''' y '''write'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;time.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
      uint64_t segundos;&lt;br /&gt;
&lt;br /&gt;
      segundos = time(NULL);&lt;br /&gt;
      write(stdout, &amp;quot;Segundos desde 1970: %d&amp;quot;, segundos);1&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Familias de llamadas al sistemas operativo: POSIX y WIN32/64 ===&lt;br /&gt;
&lt;br /&gt;
Las dos familias de APIs estandarizas más importantes son:&lt;br /&gt;
&lt;br /&gt;
* [http://es.wikipedia.org/wiki/POSIX POSIX].&lt;br /&gt;
* WIN32/64, empleada en los sistemas operativos de tipo-Windows. Además, existen emuladores como '''Wine''' que también las implementan.&lt;br /&gt;
&lt;br /&gt;
== Implementación de llamadas al sistema ==&lt;br /&gt;
&lt;br /&gt;
El siguiente ejemplo muestra el código en ensamblador de x86 para invocar a la llamada al sistema '''write''' que permite escribir un dato en cualquier dispositivo. En concreto, se va a escribir una cadena por el dispositivo de salida '''pantalla''', que se identifica mediante el descriptor de fichero número 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
section .text&lt;br /&gt;
    global _start&lt;br /&gt;
_start:&lt;br /&gt;
    mov eax, 4         ;cargamos el número de la llamada al sistema en el regitro eax&lt;br /&gt;
    mov ebx, 1         ;cargamos el descriptor de fichero sobre el que queremos escribir&lt;br /&gt;
    mov ecx, string    ;cargamos en ecx la dirección de la cadena a imprimir&lt;br /&gt;
    mov edx, lenght    ;cargamos en edx el tamaño de la cadena a imprimir&lt;br /&gt;
    int 80h            ;se invoca al de&lt;br /&gt;
&lt;br /&gt;
    mov eax, 1&lt;br /&gt;
    mov ebx, 0&lt;br /&gt;
    int 80h&lt;br /&gt;
&lt;br /&gt;
section .data&lt;br /&gt;
    string: db &amp;quot;Hola Mundo&amp;quot;, 0x0A&lt;br /&gt;
    lenght: equ 13&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La instrucción ''int'' forma parte del conjunto de instrucciones de procesadores x86. Esta instrucción emite una [[Gestión_de_Entrada/Salida|interrupción]] por software cuyo tratamiento es realizado por la rutina ''dispatcher''. Dicha rutina se encarga del tratamiento de la interrupción por software número 80.&lt;br /&gt;
&lt;br /&gt;
== El ''dispatcher'' ==&lt;br /&gt;
&lt;br /&gt;
El dispatcher, que forma parte del SO, se ejecuta cuando se invoca una llamada al sistema. &lt;br /&gt;
Cuando un proceso hace una llamada al sistema, el dispatcher, se encarga de invocar la llamada que el proceso ha solicitado.&lt;br /&gt;
 &lt;br /&gt;
Tiene un comportamiento sincronizado, cuando recibe una llamada y se la pasa al sistema operativo hasta que no recibe respuesta no atiende otra llamada. &lt;br /&gt;
&lt;br /&gt;
En el caso de x86, el dispatcher consulta el registro eax e invoca a la llamada al sistema identificada con dicha numeración.&lt;br /&gt;
&lt;br /&gt;
== El punto de entrada == &lt;br /&gt;
&lt;br /&gt;
Es la posición de memoria desde la cual es posible solicitarle servicios al sistema operativo. Normalmente hay un único punto de entrada.&lt;br /&gt;
En algunos SO se realiza mediante llamadas a subprogramas. La dirección de memoria del punto de entrada puede cambiar si se modifica el SO. En algunos SO éste problema lo solucionan usando una dirección fija, mientras en otros han preferido usar una referencia a dicha dirección.&lt;br /&gt;
&lt;br /&gt;
Lo ideal es que sean compatibles a lo largo del tiempo (aunque Windows normalmente no lo respeta).&lt;/div&gt;</summary>
		<author><name>Vanchinav</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Modos_de_operaci%C3%B3n_de_la_CPU&amp;diff=2548</id>
		<title>Modos de operación de la CPU</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Modos_de_operaci%C3%B3n_de_la_CPU&amp;diff=2548"/>
				<updated>2012-10-27T14:39:07Z</updated>
		
		<summary type="html">&lt;p&gt;Vanchinav: /* No privilegiado */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 2.3. Modos de operación de la CPU =&lt;br /&gt;
&lt;br /&gt;
Los fabricantes de procesadores actuales ofrecen procesadores que generalmente disponen de, al menos, dos modos de funcionamiento:&lt;br /&gt;
&lt;br /&gt;
== No privilegiado ==&lt;br /&gt;
También llamado modo usuario (es preferible no usar este término para no llegar a confusión).&lt;br /&gt;
* Modo en el que se ejecutan los procesos y bibliotecas del sistema operativo. En el caso concreto de los sistemas operativos [[Modelos de Diseño de Sistemas Operativos|micronúcleos]], los servidores también se ejecutan en modo no privilegiado, tales como el servidor de ficheros, el administrador de memoria y los gestores de dispositivo.&lt;br /&gt;
&lt;br /&gt;
* Ofrece únicamente un subconjunto de las instrucciones disponibles.&lt;br /&gt;
&lt;br /&gt;
== Privilegiado ==&lt;br /&gt;
También llamado modo supervisor (no confundir con usuario root).&lt;br /&gt;
* Modo en el que se ejecuta el núcleo del sistema operativo.&lt;br /&gt;
* Ofrece acceso total a las instrucciones de la CPU.&lt;br /&gt;
Un fallo de programación en modo privilegiado puede plantar el SO, en modo no privilegiado nunca pasaría eso.&lt;/div&gt;</summary>
		<author><name>Vanchinav</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Introducci%C3%B3n_hist%C3%B3rica&amp;diff=2546</id>
		<title>Introducción histórica</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Introducci%C3%B3n_hist%C3%B3rica&amp;diff=2546"/>
				<updated>2012-10-27T12:25:29Z</updated>
		
		<summary type="html">&lt;p&gt;Vanchinav: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introducción histórica a los SSOO =&lt;br /&gt;
&lt;br /&gt;
== Años 40 ==&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Colossus_computer MARK-1 y MARK-2], en Reino Unido durante la II Guerra Mundial.&lt;br /&gt;
&lt;br /&gt;
* [http://es.wikipedia.org/wiki/ENIAC ENIAC], desarrollado en EE.UU, entre 1943 y 1946.&lt;br /&gt;
&lt;br /&gt;
http://www.youtube.com/watch?v=mxj6h5JyfXs&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/EDSAC EDSAC], desarrollado en Inglaterra en 1949.&lt;br /&gt;
&lt;br /&gt;
== Años 50 ==&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/UNIVAC_I UNIVAC I], en EE.UU (1951). Hasta 16 instalaciones.&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/IBM_701 IBM 701], en EE.UU (1952). Después vinieron IBM 702 y 650.&lt;br /&gt;
&lt;br /&gt;
== Años 60 ==&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/IBM_7094 IBM 7094]&lt;br /&gt;
&lt;br /&gt;
* minicomputers: PDP-1 (primera máquina de Digital). Comienzos de la cultura hacker en el MIT (EE.UU).&lt;br /&gt;
&lt;br /&gt;
http://www.youtube.com/watch?v=7bzWnaH-0sg&lt;br /&gt;
&lt;br /&gt;
http://www.youtube.com/watch?v=tyDZjEcCgaI&amp;amp;feature=related&lt;br /&gt;
&lt;br /&gt;
* Unión Sovietica: Ural&lt;br /&gt;
http://www.youtube.com/watch?v=2IRN4nZrDwk&lt;br /&gt;
&lt;br /&gt;
== Años 70 ==&lt;br /&gt;
&lt;br /&gt;
* IBM 360. In 1960, a typical system sold for $2,900,000 or could be rented for $63,500 a month.&lt;br /&gt;
&lt;br /&gt;
* PDP-7 y PDP-11 de Digital. Miniordenadores en la universidades. Costaba un 5% del precio de un IBM 360.&lt;br /&gt;
&lt;br /&gt;
* 1969, UNIX: Dennis Ritchie and Ken Thompsom talks about UNIX.&lt;br /&gt;
http://www.youtube.com/watch?v=7FjX7r5icV8&lt;br /&gt;
&lt;br /&gt;
*En 1973, se crea el primer sistema operativo de tipo [http://es.wikipedia.org/wiki/Unix UNIX]&lt;br /&gt;
&lt;br /&gt;
* Programando un PDP-11 con los &amp;quot;switches&amp;quot; (no terminal gráfico):&lt;br /&gt;
http://www.youtube.com/watch?v=XV-7J5y1TQc&amp;amp;feature=related&lt;br /&gt;
http://www.youtube.com/watch?v=7zaaD_xP6nU&amp;amp;feature=related&lt;br /&gt;
http://www.youtube.com/watch?v=xiE2QldpQRQ&amp;amp;feature=related&lt;br /&gt;
http://www.youtube.com/watch?v=NUSn59iY8U8&amp;amp;feature=related&lt;br /&gt;
&lt;br /&gt;
* PDP-11 test program:&lt;br /&gt;
http://www.youtube.com/watch?v=Foch69Nm2F0&amp;amp;feature=related&lt;br /&gt;
&lt;br /&gt;
* PDP-11 con Video Terminal (VT) en 1973:&lt;br /&gt;
http://www.youtube.com/watch?v=7ND6oLXocR0&amp;amp;feature=related&lt;br /&gt;
http://vt100.net/vt_history (no video)&lt;br /&gt;
&lt;br /&gt;
* 1975, PDP-11/3:&lt;br /&gt;
http://www.youtube.com/watch?v=goOjxSZW1aQ&amp;amp;feature=related&lt;br /&gt;
&lt;br /&gt;
== Años 80 ==&lt;br /&gt;
&lt;br /&gt;
* Ejemplo de UNIX funcionando sobre PC AT:&lt;br /&gt;
http://www.youtube.com/watch?v=Aj1n2_qEq5k&amp;amp;feature=related&lt;br /&gt;
&lt;br /&gt;
* Personal computers (PC). 198X, IBM XT running PC-DOS 3.1&lt;br /&gt;
http://www.youtube.com/watch?v=9-RyvZxKufo&amp;amp;feature=related&lt;br /&gt;
&lt;br /&gt;
*En 1980, los fabricantes más conocidos crean sistemas operativos basados en UNIX, como IBM crea AIX, SUN crea Solaris, Digital crea The64,HP crea HP-UX y Microsoft crea Xenix. También paralelamente en la Universidad de California se crea un sistema operativo llamado BSD.&lt;br /&gt;
&lt;br /&gt;
* 1984, GNU (Richard Stallman):&lt;br /&gt;
http://www.youtube.com/watch?v=y1DFwtR755I&lt;br /&gt;
&lt;br /&gt;
* Software Libre:&lt;br /&gt;
http://www.youtube.com/watch?v=7x7LGrVvYZ4&lt;br /&gt;
&lt;br /&gt;
* 1984, 1st Apple macintosh:&lt;br /&gt;
http://www.youtube.com/watch?v=HhsWzJo2sN4&lt;br /&gt;
http://www.youtube.com/watch?v=G0FtgZNOD44&lt;br /&gt;
&lt;br /&gt;
* MS-DOS 5.0 (1985)&lt;br /&gt;
http://www.youtube.com/watch?v=dmEvPZUdAVI&lt;br /&gt;
&lt;br /&gt;
* 1986, Windows 1.0 (Steve Ballmer advert)&lt;br /&gt;
http://www.youtube.com/watch?v=sforhbLiwLA&amp;amp;feature=related&lt;br /&gt;
&lt;br /&gt;
* Microcomputer (home computers):&lt;br /&gt;
Sinclair Spectrum:&lt;br /&gt;
http://www.youtube.com/watch?v=Q17zTQMHxGs&amp;amp;feature=related&lt;br /&gt;
&lt;br /&gt;
Commodore:&lt;br /&gt;
http://www.youtube.com/watch?v=-yLRCmWJ_DU&lt;br /&gt;
&lt;br /&gt;
== Años 90 ==&lt;br /&gt;
&lt;br /&gt;
* En 1990, se porta BSD a Intel 80386.&lt;br /&gt;
&lt;br /&gt;
* IBM System/390 (mainframe)&lt;br /&gt;
http://www.youtube.com/watch?v=ytMgyrZm87A&amp;amp;feature=related&lt;br /&gt;
&lt;br /&gt;
* 1992, Linux:&lt;br /&gt;
http://www.youtube.com/user/TheLinuxFoundation#p/u/0/5ocq6_3-nEw&lt;/div&gt;</summary>
		<author><name>Vanchinav</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Llamadas_al_sistema&amp;diff=2539</id>
		<title>Llamadas al sistema</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Llamadas_al_sistema&amp;diff=2539"/>
				<updated>2012-10-20T11:32:49Z</updated>
		
		<summary type="html">&lt;p&gt;Vanchinav: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 2.4. Llamadas al sistema =&lt;br /&gt;
&lt;br /&gt;
== Definición de llamada al sistema ==&lt;br /&gt;
&lt;br /&gt;
Una llamada al sistema es un método o función que puede invocar un proceso para solicitar un cierto servicio al sistema operativo. Dado que el acceso a ciertos recursos del sistema requieren la ejecución de código en modo privilegiado, el sistema operativo ofrece un conjunto de métodos o funciones que el programa puede emplear para acceder a dichos recursos. En otras palabras, el sistemas operativo actúa como intermediario, ofreciendo una interfaz de programación (API) que el programa puede usar en cualquier momento para solicitar recursos gestionados por el sistema operativo.&lt;br /&gt;
&lt;br /&gt;
Algunos ejemplos de llamadas al sistema son las siguientes:&lt;br /&gt;
&lt;br /&gt;
* '''time''', que permite obtener la fecha y hora del sistema.&lt;br /&gt;
* '''write''', que se emplea para escribir un dato en un cierto dispositivo de salida, tales como una pantalla o un disco magnético.&lt;br /&gt;
* '''read''', que es usada para leer de un dispositivo de entrada, tales como un teclado o un disco magnético.&lt;br /&gt;
* '''open''', que es usada para obtener un descriptor de un fichero del sistema, ese fichero suele pasarse a write.&lt;br /&gt;
&lt;br /&gt;
Todo sistema operativo ofrece un conjunto de llamadas al sistema. En el caso de Linux 3.0, se ofrecen un total de 345 llamadas al sistema.&lt;br /&gt;
&lt;br /&gt;
Toda llamada al sistema se identifica de manera unívoca mediante un valor numérico que no ser modificado a lo largo de la vida del sistema operativo para evitar que se rompa la compatibilidad hacia atrás.&lt;br /&gt;
&lt;br /&gt;
El siguiente ejemplo muestra en un ejemplo en C la invocación de las llamadas al sistema '''time''' y '''write'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;time.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
      uint64_t segundos;&lt;br /&gt;
&lt;br /&gt;
      segundos = time(NULL);&lt;br /&gt;
      write(stdout, &amp;quot;Segundos desde 1970: %d&amp;quot;, segundos);1&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Familias de llamadas al sistemas operativo: POSIX y WIN32/64 ===&lt;br /&gt;
&lt;br /&gt;
Las dos familias de APIs estandarizas más importantes son:&lt;br /&gt;
&lt;br /&gt;
* [http://es.wikipedia.org/wiki/POSIX POSIX].&lt;br /&gt;
* WIN32/64, empleada en los sistemas operativos de tipo-Windows. Además, existen emuladores como '''Wine''' que también las implementan.&lt;br /&gt;
&lt;br /&gt;
== Implementación de llamadas al sistema ==&lt;br /&gt;
&lt;br /&gt;
El siguiente ejemplo muestra el código en ensamblador de x86 para invocar a la llamada al sistema '''write''' que permite escribir un dato en cualquier dispositivo. En concreto, se va a escribir una cadena por el dispositivo de salida '''pantalla''', que se identifica mediante el descriptor de fichero número 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
section .text&lt;br /&gt;
    global _start&lt;br /&gt;
_start:&lt;br /&gt;
    mov eax, 4         ;cargamos el número de la llamada al sistema en el regitro eax&lt;br /&gt;
    mov ebx, 1         ;cargamos el descriptor de fichero sobre el que queremos escribir&lt;br /&gt;
    mov ecx, string    ;cargamos en ecx la dirección de la cadena a imprimir&lt;br /&gt;
    mov edx, lenght    ;cargamos en edx el tamaño de la cadena a imprimir&lt;br /&gt;
    int 80h            ;se invoca al de&lt;br /&gt;
&lt;br /&gt;
    mov eax, 1&lt;br /&gt;
    mov ebx, 0&lt;br /&gt;
    int 80h&lt;br /&gt;
&lt;br /&gt;
section .data&lt;br /&gt;
    string: db &amp;quot;Hola Mundo&amp;quot;, 0x0A&lt;br /&gt;
    lenght: equ 13&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La instrucción ''int'' forma parte del conjunto de instrucciones de procesadores x86. Esta instrucción emite una [[Gestión_de_Entrada/Salida|interrupción]] por software cuyo tratamiento es realizado por la rutina ''dispatcher''. Dicha rutina se encarga del tratamiento de la interrupción por software número 80.&lt;br /&gt;
&lt;br /&gt;
== El ''dispatcher'' ==&lt;br /&gt;
&lt;br /&gt;
El dispatcher, que forma parte del SO, se ejecuta cuando se invoca una llamada al sistema. &lt;br /&gt;
Cuando un proceso hace una llamada al sistema, el dispatcher, se encarga de invocar la llamada que el proceso ha solicitado. &lt;br /&gt;
&lt;br /&gt;
En el caso de x86, el dispatcher consulta el registro eax e invoca a la llamada al sistema identificada con dicha numeración.&lt;br /&gt;
&lt;br /&gt;
== El punto de entrada == &lt;br /&gt;
&lt;br /&gt;
Es la posición de memoria desde la cual es posible solicitarle servicios al sistema operativo. Normalmente hay un único punto de entrada.&lt;br /&gt;
En algunos SO se realiza mediante llamadas a subprogramas. La dirección de memoria del punto de entrada puede cambiar si se modifica el SO. En algunos SO éste problema lo solucionan usando una dirección fija, mientras en otros han preferido usar una referencia a dicha dirección&lt;/div&gt;</summary>
		<author><name>Vanchinav</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Conmutaci%C3%B3n_de_procesos&amp;diff=2538</id>
		<title>Conmutación de procesos</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Conmutaci%C3%B3n_de_procesos&amp;diff=2538"/>
				<updated>2012-10-20T11:30:00Z</updated>
		
		<summary type="html">&lt;p&gt;Vanchinav: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La conmutación de procesos es la operación que consiste en retirar el procesador a un proceso para asignárselo a otro. La conmutación se produce por cuatro razones:&lt;br /&gt;
&lt;br /&gt;
#Un proceso agota el tiempo máximo asignado al procesador, por tanto, se debe dar paso a otro proceso para garantizar que la multiprogramación es llevada a cabo apropiadamente.&lt;br /&gt;
#Un proceso está pendiente de un evento externo, por tanto, pasa a estado bloqueado haciendo uso de la llamada al sistema bloqueante. El planificador debe asignar el procesador a otro nuevo proceso de entre los que están en estado preparado.&lt;br /&gt;
#Que termine la ejecución del proceso en cuestión.&lt;br /&gt;
#Que haya una [[Gestión_de_Entrada/Salida|interrupción]] en la ejecución.&lt;br /&gt;
&lt;br /&gt;
Los pasos que se siguen son los siguientes:&lt;br /&gt;
&lt;br /&gt;
# Pasar a modo supervisor.&lt;br /&gt;
# Guardar el contenido de los registros del hardware en el PCB (el llamado ''contexto de la ejecución'').&lt;br /&gt;
# Actualizar el estado del proceso en el PCB (el estado ha pasado de activo a bloqueado o preparado).&lt;br /&gt;
# Si se produjo una interrupción, atenderla.&lt;br /&gt;
# Seleccionar un nuevo proceso.&lt;br /&gt;
# Restaurar el contexto de ejecución del nuevo proceso seleccionado. En el caso de que el nuevo proceso no hubiese estado en el contexto de la ejecución deberá inicializarse.&lt;br /&gt;
# Pasar a modo usuario.&lt;br /&gt;
&lt;br /&gt;
[[Imagen:Asig2.png]]&lt;br /&gt;
&lt;br /&gt;
El tiempo de conmutación se considera una penalizanción, ya que si realizamos muchas conmutaciones el rendimiento decrece y esto da al usuario la sensación de que sus actividades van a saltos. Para optimizar esto hay que evitar conmutaciones innecesarias, empleando para ello criterios de selección lo más eficientes posibles.&lt;/div&gt;</summary>
		<author><name>Vanchinav</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Multiprogramaci%C3%B3n&amp;diff=2535</id>
		<title>Multiprogramación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Multiprogramaci%C3%B3n&amp;diff=2535"/>
				<updated>2012-10-19T11:18:35Z</updated>
		
		<summary type="html">&lt;p&gt;Vanchinav: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=3.1 La Multiprogramación =&lt;br /&gt;
&lt;br /&gt;
La multiprogramación es una técnica de multiplexación que permite la ejecución simultánea de múltiples procesos en un único procesador. En realidad, esta técnica produce una ilusión de paralelismo, de manera que parece que todos los procesos se están ejecutando a la vez. Sin embargo, hay un único proceso ejecutándose en el procesador a la vez.&lt;br /&gt;
&lt;br /&gt;
Un método para la multiprogramación es el Foreground/Background (o ejecución jerarquizada) (usado en sistemas por tandas, nunca en interactivos), en él hay un proceso prioritario (el foreground (FG)) que se ejecuta con preferencia de todos los demás, cuando este proceso solicita una operación L/E(Lectura/Escritura), mientras el s.o. la realiza, el proceso FG estará bloqueado por esta operación y le cede el control al proceso background 1 (BG), y si éste realiza una operación L/E, al BG2,… Cuando uno de los procesos bloqueados se desbloquea, recibe el control del procesador. Para que este método funcione de forma óptima la mejor forma es colocar los procesos ordenados de mayor a menor cantidad de operaciones L/E.&lt;br /&gt;
&lt;br /&gt;
El siguiente diagrama de ejemplo representa el uso del procesador por tres procesos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Uso_del_procesador_general.svg|500px]]&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en el ejemplo anterior, los procesos '''alternan periodos''' en los que '''progresan''' en su actividad, cuando están asignados al procesador, con periodos de inactividad, en los que '''no progresan''' en absoluto.&lt;br /&gt;
&lt;br /&gt;
Si los periodos de inactividad son los suficientemente pequeños como para que el usuario del sistema operativo no los note, que en práctica se traduce a periodos de inactividad de menos de 100ms, el efecto causado es una ilusión de paralelismo. En caso contrario dará una sensación de que se producen &amp;quot;saltos&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
El [[planificador de procesos|planificador de procesos]] es la parte del sistema operativo que se encarga de decidir qué proceso emplea el procesador en cada instante, por tanto, es el encargado de implementar la multiprogramación.&lt;/div&gt;</summary>
		<author><name>Vanchinav</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Multiprogramaci%C3%B3n&amp;diff=2534</id>
		<title>Multiprogramación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Multiprogramaci%C3%B3n&amp;diff=2534"/>
				<updated>2012-10-19T11:10:59Z</updated>
		
		<summary type="html">&lt;p&gt;Vanchinav: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=3.1 La Multiprogramación =&lt;br /&gt;
&lt;br /&gt;
La multiprogramación es una técnica de multiplexación que permite la ejecución simultánea de múltiples procesos en un único procesador. En realidad, esta técnica produce una ilusión de paralelismo, de manera que parece que todos los procesos se están ejecutando a la vez. Sin embargo, hay un único proceso ejecutándose en el procesador a la vez.&lt;br /&gt;
&lt;br /&gt;
Un método para la multiprogramación es el Foreground/Background (o ejecución jerarquizada) (usado en sistemas por tandas, nunca en interactivos), en él hay un proceso prioritario (el foreground (FG)) que se ejecuta con preferencia de todos los demás, cuando este proceso solicita una operación L/E(Lectura/Escritura), mientras el s.o. la realiza, el proceso FG estará bloqueado por esta operación y le cede el control al proceso background 1 (BG), y si éste realiza una operación L/E, al BG2,… Cuando uno de los procesos bloqueados se desbloquea, recibe el control del procesador. Para que este método funcione de forma óptima la mejor forma es colocar los procesos ordenados de mayor a menor cantidad de operaciones L/E.&lt;br /&gt;
&lt;br /&gt;
Los siguientes diagramas de ejemplo representan el uso del procesador por tres procesos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Uso_del_procesador_general.svg|500px]]&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en el ejemplo anterior, los procesos '''alternan periodos''' en los que '''progresan''' en su actividad, cuando están asignados al procesador, con periodos de inactividad, en los que '''no progresan''' en absoluto.&lt;br /&gt;
&lt;br /&gt;
Si los periodos de inactividad son los suficientemente pequeños como para que el usuario del sistema operativo no los note, que en práctica se traduce a periodos de inactividad de menos de 100ms, el efecto causado es una ilusión de paralelismo. En caso contrario dará una sensación de que se producen &amp;quot;saltos&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
El [[planificador de procesos|planificador de procesos]] es la parte del sistema operativo que se encarga de decidir qué proceso emplea el procesador en cada instante, por tanto, es el encargado de implementar la multiprogramación.&lt;/div&gt;</summary>
		<author><name>Vanchinav</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Multiprogramaci%C3%B3n&amp;diff=2533</id>
		<title>Multiprogramación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Multiprogramaci%C3%B3n&amp;diff=2533"/>
				<updated>2012-10-18T17:26:23Z</updated>
		
		<summary type="html">&lt;p&gt;Vanchinav: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=3.1 La Multiprogramación =&lt;br /&gt;
&lt;br /&gt;
La multiprogramación es una técnica de multiplexación que permite la ejecución simultánea de múltiples procesos en un único procesador. En realidad, esta técnica produce una ilusión de paralelismo, de manera que parece que todos los procesos se están ejecutando a la vez. Sin embargo, hay un único proceso ejecutándose en el procesador a la vez.&lt;br /&gt;
&lt;br /&gt;
Un método para la multiprogramación es el Foreground/Background (o ejecución jerarquizada) (usado en sistemas por tandas, nunca en interactivos), en él hay un proceso prioritario (el foreground (FG)) que se ejecuta con preferencia de todos los demás, cuando este proceso solicita una operación L/E(Lectura/Escritura), mientras el s.o. la realiza, el proceso FG estará bloqueado por esta operación y le cede el control al proceso background 1 (BG), y si éste realiza una operación L/E, al BG2,… Cuando uno de los procesos bloqueados se desbloquea, recibe el control del procesador. Para que este método funcione de forma óptima la mejor forma es colocar los procesos ordenados de mayor a menor cantidad de operaciones L/E.&lt;br /&gt;
&lt;br /&gt;
Los siguientes diagramas de ejemplo representan el uso del procesador por tres procesos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Uso_del_procesador_general.svg|500px]]  [[Archivo:sistema operativo.jpg|390px]]&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en el ejemplo anterior, los procesos '''alternan periodos''' en los que '''progresan''' en su actividad, cuando están asignados al procesador, con periodos de inactividad, en los que '''no progresan''' en absoluto.&lt;br /&gt;
&lt;br /&gt;
Si los periodos de inactividad son los suficientemente pequeños como para que el usuario del sistema operativo no los note, que en práctica se traduce a periodos de inactividad de menos de 100ms, el efecto causado es una ilusión de paralelismo. En caso contrario dará una sensación de que se producen &amp;quot;saltos&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
El [[planificador de procesos|planificador de procesos]] es la parte del sistema operativo que se encarga de decidir qué proceso emplea el procesador en cada instante, por tanto, es el encargado de implementar la multiprogramación.&lt;/div&gt;</summary>
		<author><name>Vanchinav</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Archivo:Sistema_operativo.jpg&amp;diff=2532</id>
		<title>Archivo:Sistema operativo.jpg</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Archivo:Sistema_operativo.jpg&amp;diff=2532"/>
				<updated>2012-10-18T17:20:04Z</updated>
		
		<summary type="html">&lt;p&gt;Vanchinav: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vanchinav</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Qu%C3%A9_es_un_Sistema_Operativo&amp;diff=2519</id>
		<title>Qué es un Sistema Operativo</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Qu%C3%A9_es_un_Sistema_Operativo&amp;diff=2519"/>
				<updated>2012-10-07T19:37:07Z</updated>
		
		<summary type="html">&lt;p&gt;Vanchinav: /* 1.1.1. ¿Qué es un Sistema Operativo? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 1.1. ¿Qué es un Sistema Operativo? =&lt;br /&gt;
&lt;br /&gt;
== 1.1.1. ¿Qué es un Sistema Operativo? ==&lt;br /&gt;
&lt;br /&gt;
El sistema operativo es el conjunto de programas que:&lt;br /&gt;
&lt;br /&gt;
* Gestionan y reparten de manera equitativa los recursos que ofrece el ''hardware'' entre los programas en ejecución. Concretamente, los recursos a gestionar son tres:&lt;br /&gt;
&lt;br /&gt;
** La [http://es.wikipedia.org/wiki/Unidad_central_de_procesamiento CPU], también conocida como procesador o unidad central de procesamiento. Todo procesador ofrece un conjunto de instrucciones de bajo nivel (lenguaje ensamblador) con operaciones básicas que ejecuta de manera secuencial.&lt;br /&gt;
** La [http://es.wikipedia.org/wiki/Memoria_principal Memoria principal], memoria empleada para almacenar el estado de la ejecución del programa.&lt;br /&gt;
** Los [http://es.wikipedia.org/wiki/Entrada/salida#Dispositivos_de_entrada_y_salida dispositivos de Entrada/Salida], tales como la tarjeta de vídeo, la tarjeta de red, los dispositivos de almacenamiento masivo (disco duro del tipo que sea), teclado, ratón, entre muchos otros.&lt;br /&gt;
&lt;br /&gt;
* Ofrece un '''lanzador de aplicaciones''', que pueden estar basados en:&lt;br /&gt;
&lt;br /&gt;
** Intérprete de órdenes/comandos (traducción incorrecta del original inglés ''command'', que significa órden), también llamado ''shell''. El dispositivo de entrada empleado es el teclado. Es generalmente complejo pero ofrece funcionalidades avanzadas. Algunos ejemplos son la shell de ''bash'' disponible en Linux o el PowerShell disponible en la recientes versiones de MS-Windows. Para ejecutar un programa se escribe su nombre, seguido de opciones (en caso de que las tenga y se pulsa la tecla de ''Intro'').&lt;br /&gt;
** Gestor de ventanas: Son los más populares por su sencillez, aunque ofrecen menor funcionalidad que los basados en intérpretes de órdenes. Los programas se ejecutan mediante un clic sencillo o doble de ratón. En dispositivos portátiles en lugar del ratón se emplea una pantalla táctil.&lt;br /&gt;
&lt;br /&gt;
* Ofrece una interfaz homogénea a los programas de usuario para solicitar servicios. Esta interfaz se conoce como '''API''' (del inglés, ''Application Programming Interface'') del sistema operativo.&lt;br /&gt;
&lt;br /&gt;
El sistema operativo se sitúa entre los programas de usuario en ejecución y el hardware, de manera que los programas '''siempre''' deben emplear la ''API'' del sistema operativo para acceder a los recursos que ofrece el hardware. Esta '''API''' es estable y homogénea.&lt;br /&gt;
&lt;br /&gt;
== 1.1.2. Principios de diseño de un buen Sistema Operativo ==&lt;br /&gt;
&lt;br /&gt;
Los aspectos a tener en cuenta respecto a la gestión de recursos son:&lt;br /&gt;
&lt;br /&gt;
* Realizar una gestión eficiente de los recursos.&lt;br /&gt;
* Coordinar la asignación de los mismos entre los programas de ejecución (como se tratase de un moderador en un debate, asignando el turno de palabra a cada uno de los asistentes).&lt;br /&gt;
* Hacer un reparto equitativo (del diccionario de la RAE, ''equidad'' significa &amp;quot;dar a cada uno lo que merece&amp;quot;). Esto no significa hacer una división exacta de los recursos, si no que se tendrán en cuenta la naturaleza de cada programa en ejecución a la hora de hacer el reparto.&lt;br /&gt;
* No ofrecer ninguna interfaz que permita a las aplicaciones acceder directamente los recursos hardware.&lt;br /&gt;
&lt;br /&gt;
Respecto a la API, debe:&lt;br /&gt;
&lt;br /&gt;
* Ser estable, no debe cambiar con el tiempo.&lt;br /&gt;
* Ser homogénea.&lt;br /&gt;
* Debe abstraer y ocultar los detalles de bajo nivel de los componentes, de manera que los programas lleguen a ser complemente independientes del hardware.&lt;br /&gt;
&lt;br /&gt;
Además de todo esto, un buen sistema operativo es ''portable'', es decir, que soporte diferentes arquitecturas ''hardware'', como por ejemplo la ARM (típicamente empleada en dispositivos móviles con limitaciones importantes en materia de energía), la PC x86 y x86_64 de Intel, las variantes del PC que ofrece AMD, la arquitectura PowerPC (empleada antaño por Apple y desarrollada por IBM) y SPARC (desarrollada por Sun Microsystems, adquirida por Oracle).&lt;/div&gt;</summary>
		<author><name>Vanchinav</name></author>	</entry>

	</feed>