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

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Lista_de_contribuidores_de_la_wiki_en_2014-2015&amp;diff=3038</id>
		<title>Lista de contribuidores de la wiki en 2014-2015</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Lista_de_contribuidores_de_la_wiki_en_2014-2015&amp;diff=3038"/>
				<updated>2015-01-26T21:58:32Z</updated>
		
		<summary type="html">&lt;p&gt;Robmannak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Pérez Morral, Mateo (Usuario: matpermor)&lt;br /&gt;
* Rodríguez Valencia, Enrique (Usuario: erodriguez19)&lt;br /&gt;
* Manzano Rueda, Álvaro (Usuario: alvmanrue)&lt;br /&gt;
* Mantas Nakhai, Roberto (Usuario: robmannak)&lt;/div&gt;</summary>
		<author><name>Robmannak</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Introducci%C3%B3n_en_la_administraci%C3%B3n_de_archivos&amp;diff=3030</id>
		<title>Introducción en la administración de archivos</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Introducci%C3%B3n_en_la_administraci%C3%B3n_de_archivos&amp;diff=3030"/>
				<updated>2015-01-15T13:32:58Z</updated>
		
		<summary type="html">&lt;p&gt;Robmannak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Administrador de ficheros =&lt;br /&gt;
&lt;br /&gt;
Se trata de la parte del sistema operativo que se encarga de la organización de los ficheros en el sistema operativo.&lt;br /&gt;
&lt;br /&gt;
= Bloque =&lt;br /&gt;
&lt;br /&gt;
La memoria disponible en un dispositivo de almacenamiento masivo se divide en porciones de igual tamaño denominados '''bloques'''. Dichos bloques se asignan completamente y en exclusividad a un fichero de manera que un fichero está compuesto por un conjunto de bloques.&lt;br /&gt;
&lt;br /&gt;
El tamaño de bloque es un parámetro que se establece en el tiempo de formateo. Por lo general, se emplean bloques de 4 KB y 8 KB dependiendo del tamaño de palabra del procesador. No obstante, es un parámetro configurable. En el caso de un sistema que tenga que alojar gran cantidad de ficheros muy pequeños, podría reducirse el tamaño de bloque para hacer un mejor aprovechamiento del espacio de almacenamiento en disco.&lt;br /&gt;
&lt;br /&gt;
*Aspectos relevantes en la elección del tamaño de los bloques:&lt;br /&gt;
&lt;br /&gt;
Podemos destacar los siguientes 4 aspectos:&lt;br /&gt;
&lt;br /&gt;
'''Desperdicio interno:'''&lt;br /&gt;
Cuanto mayor sean los bloques mayor desperdicio interno se producirá en el último bloque del fichero.&lt;br /&gt;
&lt;br /&gt;
'''Tiempos de espera:'''&lt;br /&gt;
Cuanto mayor sea el bloque menos bloques formarán los ficheros con lo que se reduce el numero de accesos al soporte y, en consecuencia, los tiempos de espera.&lt;br /&gt;
&lt;br /&gt;
'''Espacio intermedio:'''&lt;br /&gt;
Cuanto mayor sean los bloques mayor será el espacio necesario para mantenerlos cargados en memoria mientras se opera con ellos.&lt;br /&gt;
&lt;br /&gt;
'''Aprovechamiento de las operaciones de lectura y escritura:'''&lt;br /&gt;
Si el proceso no realiza accesos a memoria secuenciales, sino que son aleatorios, es muy probable que solo necesite unos pocos octetos de cada bloque del fichero. Sin embargo en cada lectura y escritura los bloques se leen o escriben completamente, lo que significa un desaprovechamiento de las operaciones de lectura y escritura.&lt;br /&gt;
&lt;br /&gt;
= Fichero =&lt;br /&gt;
&lt;br /&gt;
Un fichero es un contenedor de información que consta como mínimo de un nombre, además de una serie de atributos (llamados [http://www.alegsa.com.ar/Dic/metadato.php metadatos]) como la fecha de creación, última actualización, propietario, grupo entre otros; y un número de bloques asignados.&lt;br /&gt;
&lt;br /&gt;
= Directorio (Carpeta) =&lt;br /&gt;
&lt;br /&gt;
Un directorio o carpeta es un contenedor de ficheros. Por lo general, disponen a su vez de dos pseudodirectorios denominados &amp;quot;.&amp;quot; y &amp;quot;..&amp;quot; que sirven como referencia al propio directorio y al directorio padre. De esta manera, los directorios se organizan en una estructura arbórea con una cierta raíz.&lt;br /&gt;
&lt;br /&gt;
= Organización de los directorios y ficheros =&lt;br /&gt;
&lt;br /&gt;
La organización de los directorios y ficheros en los sistemas operativos modernos emplea una estructura arbórea en la que existe un directorio raíz del que penden todos los demás directorios y ficheros.&lt;br /&gt;
&lt;br /&gt;
                                         raíz&lt;br /&gt;
                                          /\&lt;br /&gt;
                                         /  \&lt;br /&gt;
                                        d1  d2&lt;br /&gt;
                                       / \    \&lt;br /&gt;
                                      f1  f2   d3&lt;br /&gt;
                                               /\&lt;br /&gt;
                                              /  \&lt;br /&gt;
                                             f3  f4&lt;br /&gt;
&lt;br /&gt;
En el caso de sistemas operativos tipo Unix, la raíz se identifica con el directorio /. Para sistemas operativos de tipo-Microsoft, existe un directorio raíz por unidad. Cada unidad se trata de un sistema de fichero independiente que se identifica mediante una letra seguida de dos puntos, por ejemplo '''C:\''' .&lt;br /&gt;
&lt;br /&gt;
== Propietario, grupo y permisos ==&lt;br /&gt;
&lt;br /&gt;
Todo fichero o directorio en un sistema operativo moderno dispone de al menos un propietario que define las acciones que se pueden realizar sobre los ficheros. Por lo general son las siguientes:&lt;br /&gt;
&lt;br /&gt;
* Lectura: Da la posibilidad de leer el contenido del fichero.&lt;br /&gt;
* Modificación: Da la posibilidad de modificar el contenido del fichero.&lt;br /&gt;
* Ejecución: Da la posibilidad de ejecutar el fichero.&lt;br /&gt;
&lt;br /&gt;
En general, este esquema se aplica al propietario, al grupo y al resto del mundo, de manera que el propietario de cualquier fichero o directorio establece los permisos. Por ejemplo, un fichero con un documento ofimático puede ser leído y modificado por el propietario y por el grupo, pero no por el resto del mundo.&lt;br /&gt;
&lt;br /&gt;
Ejemplo:&lt;br /&gt;
&lt;br /&gt;
  propietario     grupo    resto del mundo&lt;br /&gt;
      rwx          rwx          rwx &lt;br /&gt;
&lt;br /&gt;
  fichero.odt: rw------- (fichero openoffice con sólo lectura y escritura para el propietario)&lt;br /&gt;
  sudoku:      rwxr-xr-x (fichero ejecutable con permisos de lectura, modificación y ejecución para el propietario)&lt;br /&gt;
&lt;br /&gt;
== Tabla de entrada de ficheros ==&lt;br /&gt;
&lt;br /&gt;
Todo directorio dispone de una tabla de entrada de ficheros. Por cada entrada existe al menos una referencia al primer bloque que forma parte de dicho fichero, así como otros atributos como el propietario del fichero, la fecha de último acceso, modificación, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Directorios2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cada tabla de entrada de ficheros ocupa como mínimo un bloque. Por cada entrada se almacena la siguiente información:&lt;br /&gt;
&lt;br /&gt;
* Nombre del fichero o directorio (tamaño variable)&lt;br /&gt;
* Fecha de creación y último acceso (entero sin signo de 64-bits)&lt;br /&gt;
* Propietario (entero sin signo de 32-bits para el identificador de usuario)&lt;br /&gt;
* Grupo (entero sin signo de 32-bits para el identificador de grupo)&lt;br /&gt;
* Permisos (entero sin signo de 16 bits que codifican los permisos).&lt;br /&gt;
&lt;br /&gt;
De esta manera, cada entrada ocupa un número de bytes. Suponiendo que toda entrada requiera 64 bytes, si se emplea un tamaño de bloque de 4 KB, con un bloque se podrían mantener hasta 64 entradas. En caso de que un directorio tuviera más entradas, serían necesarios más bloques para la tabla de entrada de ficheros.&lt;br /&gt;
&lt;br /&gt;
= Sistema de ficheros =&lt;br /&gt;
&lt;br /&gt;
Un sistema de fichero se trata de la estructura lógica (mediante un tipo abstracto de datos como una tabla, una lista o un árbol) y el conjunto de mecanismos que se emplean para gestionar los bloques asignados a ficheros y los bloques libres.&lt;/div&gt;</summary>
		<author><name>Robmannak</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Introducci%C3%B3n_en_la_administraci%C3%B3n_de_archivos&amp;diff=3029</id>
		<title>Introducción en la administración de archivos</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Introducci%C3%B3n_en_la_administraci%C3%B3n_de_archivos&amp;diff=3029"/>
				<updated>2015-01-15T13:20:15Z</updated>
		
		<summary type="html">&lt;p&gt;Robmannak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Administrador de ficheros =&lt;br /&gt;
&lt;br /&gt;
Se trata de la parte del sistema operativo que se encarga de la organización de los ficheros en el sistema operativo.&lt;br /&gt;
&lt;br /&gt;
= Bloque =&lt;br /&gt;
&lt;br /&gt;
La memoria disponible en un dispositivo de almacenamiento masivo se divide en porciones de igual tamaño denominados '''bloques'''. Dichos bloques se asignan completamente y en exclusividad a un fichero de manera que un fichero está compuesto por un conjunto de bloques.&lt;br /&gt;
&lt;br /&gt;
El tamaño de bloque es un parámetro que se establece en el tiempo de formateo. Por lo general, se emplean bloques de 4 KB y 8 KB dependiendo del tamaño de palabra del procesador. No obstante, es un parámetro configurable. En el caso de un sistema que tenga que alojar gran cantidad de ficheros muy pequeños, podría reducirse el tamaño de bloque para hacer un mejor aprovechamiento del espacio de almacenamiento en disco.&lt;br /&gt;
&lt;br /&gt;
*Aspectos relevantes en la elección del tamaño de los bloques:&lt;br /&gt;
&lt;br /&gt;
Podemos destacar los siguientes 4 aspectos:&lt;br /&gt;
&lt;br /&gt;
'''Desperdicio interno:'''&lt;br /&gt;
Cuanto mayor sean los bloques mayor desperdicio interno se producirá en el último bloque del fichero.&lt;br /&gt;
&lt;br /&gt;
'''Tiempos de espera:'''&lt;br /&gt;
Cuanto mayor sea el bloque menos bloques formarán los ficheros con lo que se reduce el numero de accesos al soporte y, en consecuencia, los tiempos de espera.&lt;br /&gt;
&lt;br /&gt;
'''Espacio intermedio:'''&lt;br /&gt;
Cuanto mayor sean los bloques mayor será el espacio necesario para mantenerlos cargados en memoria mientras se opera con ellos.&lt;br /&gt;
&lt;br /&gt;
'''Aprovechamiento de las operaciones de lectura y escritura:'''&lt;br /&gt;
Si el proceso no realiza accesos a memoria secuenciales, sino que son aleatorios, es muy probable que solo necesite unos pocos octetos de cada bloque del fichero. Sin embargo en cada lectura y escritura los bloques se leen o escriben completamente, lo que significa un desaprovechamiento de las operaciones de lectura y escritura.&lt;br /&gt;
&lt;br /&gt;
= Fichero =&lt;br /&gt;
&lt;br /&gt;
Un fichero es un contenedor de información que consta como mínimo de un nombre, además de una serie de atributos (llamados [http://www.alegsa.com.ar/Dic/metadato.php metadatos]) como la fecha de creación, última actualización, propietario, grupo entre otros; y un número de bloques asignados.&lt;br /&gt;
&lt;br /&gt;
= Directorio =&lt;br /&gt;
&lt;br /&gt;
Un directorio o carpeta es un contenedor de ficheros. Por lo general, disponen a su vez de dos pseudodirectorios denominados &amp;quot;.&amp;quot; y &amp;quot;..&amp;quot; que sirven como referencia al propio directorio y al directorio padre. De esta manera, los directorios se organizan en una estructura arbórea con una cierta raíz.&lt;br /&gt;
&lt;br /&gt;
= Organización de los directorios y ficheros =&lt;br /&gt;
&lt;br /&gt;
La organización de los directorios y ficheros en los sistemas operativos modernos emplea una estructura arbórea en la que existe un directorio raíz del que penden todos los demás directorios y ficheros.&lt;br /&gt;
&lt;br /&gt;
                                         raíz&lt;br /&gt;
                                          /\&lt;br /&gt;
                                         /  \&lt;br /&gt;
                                        d1  d2&lt;br /&gt;
                                       / \    \&lt;br /&gt;
                                      f1  f2   d3&lt;br /&gt;
                                               /\&lt;br /&gt;
                                              /  \&lt;br /&gt;
                                             f3  f4&lt;br /&gt;
&lt;br /&gt;
En el caso de sistemas operativos tipo Unix, la raíz se identifica con el directorio /. Para sistemas operativos de tipo-Microsoft, existe un directorio raíz por unidad. Cada unidad se trata de un sistema de fichero independiente que se identifica mediante una letra seguida de dos puntos, por ejemplo '''C:\''' .&lt;br /&gt;
&lt;br /&gt;
== Propietario, grupo y permisos ==&lt;br /&gt;
&lt;br /&gt;
Todo fichero o directorio en un sistema operativo moderno dispone de al menos un propietario que define las acciones que se pueden realizar sobre los ficheros. Por lo general son las siguientes:&lt;br /&gt;
&lt;br /&gt;
* Lectura: Da la posibilidad de leer el contenido del fichero.&lt;br /&gt;
* Modificación: Da la posibilidad de modificar el contenido del fichero.&lt;br /&gt;
* Ejecución: Da la posibilidad de ejecutar el fichero.&lt;br /&gt;
&lt;br /&gt;
En general, este esquema se aplica al propietario, al grupo y al resto del mundo, de manera que el propietario de cualquier fichero o directorio establece los permisos. Por ejemplo, un fichero con un documento ofimático puede ser leído y modificado por el propietario y por el grupo, pero no por el resto del mundo.&lt;br /&gt;
&lt;br /&gt;
Ejemplo:&lt;br /&gt;
&lt;br /&gt;
  propietario     grupo    resto del mundo&lt;br /&gt;
      rwx          rwx          rwx &lt;br /&gt;
&lt;br /&gt;
  fichero.odt: rw------- (fichero openoffice con sólo lectura y escritura para el propietario)&lt;br /&gt;
  sudoku:      rwxr-xr-x (fichero ejecutable con permisos de lectura, modificación y ejecución para el propietario)&lt;br /&gt;
&lt;br /&gt;
== Tabla de entrada de ficheros ==&lt;br /&gt;
&lt;br /&gt;
Todo directorio dispone de una tabla de entrada de ficheros. Por cada entrada existe al menos una referencia al primer bloque que forma parte de dicho fichero, así como otros atributos como el propietario del fichero, la fecha de último acceso, modificación, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Directorios2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cada tabla de entrada de ficheros ocupa como mínimo un bloque. Por cada entrada se almacena la siguiente información:&lt;br /&gt;
&lt;br /&gt;
* Nombre del fichero o directorio (tamaño variable)&lt;br /&gt;
* Fecha de creación y último acceso (entero sin signo de 64-bits)&lt;br /&gt;
* Propietario (entero sin signo de 32-bits para el identificador de usuario)&lt;br /&gt;
* Grupo (entero sin signo de 32-bits para el identificador de grupo)&lt;br /&gt;
* Permisos (entero sin signo de 16 bits que codifican los permisos).&lt;br /&gt;
&lt;br /&gt;
De esta manera, cada entrada ocupa un número de bytes. Suponiendo que toda entrada requiera 64 bytes, si se emplea un tamaño de bloque de 4 KB, con un bloque se podrían mantener hasta 64 entradas. En caso de que un directorio tuviera más entradas, serían necesarios más bloques para la tabla de entrada de ficheros.&lt;br /&gt;
&lt;br /&gt;
= Sistema de ficheros =&lt;br /&gt;
&lt;br /&gt;
Un sistema de fichero se trata de la estructura lógica (mediante un tipo abstracto de datos como una tabla, una lista o un árbol) y el conjunto de mecanismos que se emplean para gestionar los bloques asignados a ficheros y los bloques libres.&lt;/div&gt;</summary>
		<author><name>Robmannak</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Mejoras_de_tiempos_de_desplazamiento&amp;diff=3028</id>
		<title>Mejoras de tiempos de desplazamiento</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Mejoras_de_tiempos_de_desplazamiento&amp;diff=3028"/>
				<updated>2015-01-15T09:25:43Z</updated>
		
		<summary type="html">&lt;p&gt;Robmannak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mayor parte del tiempo que se tarda en realizar una búsqueda en un disco magnético corresponde al de desplazamiento, es decir, el tiempo que el cabezal tarda en moverse al cilindro en el que se encuentra su objetivo. Si se debe atender varias peticiones, el orden en el que se atienden puede ser tal que el recorrido total sea más corto (aunque también es importante que haya una varianza pequeña y no se les de demasiada preferencia a algunos cilindros). Esta sección recoge varios de los criterios posibles.&lt;br /&gt;
&lt;br /&gt;
== FCFS (por orden de llegada &amp;quot;FIFO&amp;quot;) ==&lt;br /&gt;
&lt;br /&gt;
Las peticiones se atienden en el mismo orden en que se reciben. Tiene el inconveniente de que se realizan muchos desplazamientos del cabezal, especialmente si se realizan accesos consecutivos a bloques muy alejados entre sí.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SSTF (Shortest Seek Time First) ==&lt;br /&gt;
&lt;br /&gt;
También conocido como atención por menor tiempo de búsqueda: Ordena todas las solicitudes y selecciona el lote de las ''n'' primeras. Si no se llega a las ''n'' peticiones tras un tiempo se realiza la búsqueda. Su mayor desventaja es que aplaza las peticiones lejanas indefinidamente cuando ''n'' tiende a infinito (''n'' -&amp;gt; ∞).&lt;br /&gt;
&lt;br /&gt;
== N-SCAN (criterio del ascensor) ==&lt;br /&gt;
&lt;br /&gt;
Se escoge un sentido preferente: ascendente o descendente. El cabezal, en ese sentido, atiende todas las peticiones que puede, una detrás de otra, en orden ascendente/descendente hasta llegar a la última de las peticiones del lote. Luego, el cabezal hace lo mismo en el otro sentido, hasta llegar a la última.&lt;br /&gt;
&lt;br /&gt;
      |  &lt;br /&gt;
      |   /\   |   /\&lt;br /&gt;
      |  /  \  |  /  \&lt;br /&gt;
      | /    \ | /    \&lt;br /&gt;
   ___|/______\|/______\__&lt;br /&gt;
      |&lt;br /&gt;
&lt;br /&gt;
Como se puede observar, el cabezal pasa con más frecuencia por la parte central, y el tiempo máximo que puede tardar en llegar a estas es menor que el de los extremos. Por tanto, hay una descompensación a favor de las partes centrales, que puede ser remediada con el siguiente criterio.&lt;br /&gt;
&lt;br /&gt;
Nota: La gráfica resultante no tiene por qué ser simétrica, dependerá de los sectores a los que accedamos.&lt;br /&gt;
&lt;br /&gt;
Nota2: El número de sectores integrantes de cada lote será el indicado por la N, ejemplo: 3-SCAN, 4-SCAN, etc.&lt;br /&gt;
&lt;br /&gt;
== C-SCAN (Circular-Scan) ==&lt;br /&gt;
&lt;br /&gt;
La primera parte es igual: se escoge un sentido y se van atendiendo las peticiones que se pueden en ese sentido una detrás de otra hasta llegar a la última. Al llegar a la última, en vez de recorrer en el sentido opuesto, el cabezal se mueve a la más lejana en el sentido y vuelve a realizar el recorrido en el sentido preferente. Así se elimina el trato favorable a las partes centrales, con el coste de reducir el tiempo medio de atención del conjunto de peticiones&lt;br /&gt;
&lt;br /&gt;
      |                                |   &lt;br /&gt;
      |   /.   /.    /.                |\   .\   .\   .&lt;br /&gt;
      |  / .  / .   / .      ó         | \  . \  . \  .&lt;br /&gt;
      | /  . /  .  /  .                |  \ .  \ .  \ .&lt;br /&gt;
   ___|/___./___._/___._            ___|___\.__ \.___\._ &lt;br /&gt;
      |                                |&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Algún alma caritativa sube los ejemplos de clase antes del parcial??&lt;br /&gt;
&lt;br /&gt;
No copié los datos, pero eran algo similar a esto:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ejemplos ==&lt;br /&gt;
&lt;br /&gt;
Orden de acceso: 3, 80, 15, 45, 1, 79, 4 &lt;br /&gt;
&lt;br /&gt;
=== Solución FCFS ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     80        x&lt;br /&gt;
      |       / \                 x&lt;br /&gt;
      |      /   \               / \&lt;br /&gt;
     50     /     \             /   \&lt;br /&gt;
      |    /       \   x       /     \&lt;br /&gt;
      |   /         \ / \     /       \&lt;br /&gt;
     20  /           x   \   /         \&lt;br /&gt;
      | x                 \ /           x&lt;br /&gt;
   ___|/___________________x______________&lt;br /&gt;
      |&lt;br /&gt;
      | 3      80    15 45 1      79    4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Solución 3-SCAN ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     80        x|        |&lt;br /&gt;
      |       / |x       |&lt;br /&gt;
      |      /  | \      |&lt;br /&gt;
     50     /   |  \     |&lt;br /&gt;
      |    /    |   x    |&lt;br /&gt;
      |   /     |    \   |&lt;br /&gt;
     20  x      |     \  | &lt;br /&gt;
      | x       |      \ |x &lt;br /&gt;
   ___|/________|_______x|__&lt;br /&gt;
      |&lt;br /&gt;
      | 3 15  80|79 45  1|4&lt;/div&gt;</summary>
		<author><name>Robmannak</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Segmentaci%C3%B3n&amp;diff=3017</id>
		<title>Segmentación</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Segmentaci%C3%B3n&amp;diff=3017"/>
				<updated>2014-12-16T08:26:36Z</updated>
		
		<summary type="html">&lt;p&gt;Robmannak: /* Características */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Definición=&lt;br /&gt;
Un segmento es un espacio de memoria de tamaño variable, compuesto por:&lt;br /&gt;
*Descriptor: Identificador único del segmento (dentro del espacio de memoria del proceso).&lt;br /&gt;
*Tamaño del segmento&lt;br /&gt;
&lt;br /&gt;
=Funcionamiento=&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Segmentos.png|725px]]&lt;br /&gt;
&lt;br /&gt;
=Características=&lt;br /&gt;
*Cada proceso en ejecución (esté activo, bloqueado o preparado) tiene su tabla de segmentos.&lt;br /&gt;
&lt;br /&gt;
*Solapamiento: Se puede hacer que 2 segmentos se superpongan de manera que compartan direcciones de memoria física con direcciones lógicas diferentes. Para evitar problemas de concurrencia, debe indicarse explícitamente que una porción de memoria pueda ser compartida. De esta manera, procesos diferentes pueden compartir información y código usando la memoria común.&lt;br /&gt;
&lt;br /&gt;
*Protección de memoria: añadir 3 bits a la tabla de descriptores de segmentos para los permisos ( r w x ).&lt;br /&gt;
&lt;br /&gt;
*Cuando un proceso requiere más memoria se crea un nuevo segmento.&lt;br /&gt;
&lt;br /&gt;
*Dos instancias de un mismo proceso pueden compartir segmentos de memoria de instrucciones/código, pero no para datos ya que esto complicaría la gestión.&lt;br /&gt;
&lt;br /&gt;
*Es posible la redimensión de segmentos siempre que haya posiciones libres contiguas, o crear un nuevo segmento y copiar el contenido del anterior.&lt;br /&gt;
&lt;br /&gt;
*Gestión compleja, sobretodo por su tamaño variable&lt;br /&gt;
&lt;br /&gt;
*Permite la carga de segmentos a petición, de manera que no se disponga de todos los segmentos en memoria principal, que se puedan descargar a disco (en la zona de intercambio o swap) en base a un cierto criterio (ver [[Intro | Memoria virtual]]). Esta zona de intercambio puede ser:&lt;br /&gt;
**Un lugar fijo en el disco (Linux, Unix). El administrador de memoria decide qué segmento se va a descargar&lt;br /&gt;
**Un fichero oculto de tamaño fijo o variable dependiendo de la configuración dada por el usuario (Windows).&lt;br /&gt;
&lt;br /&gt;
*La segmentación se hizo para equipos con poca memoria, no está pensada para sistemas modernos.&lt;br /&gt;
&lt;br /&gt;
=Mecanismos=&lt;br /&gt;
Los diferentes mecanismos que nos ofrece la segmentación de memoria son los siguientes.&lt;br /&gt;
==Carga de segmentos a petición==&lt;br /&gt;
Es un mecanismo que permite a un proceso no disponer de todos sus segmentos en memoria principal, se pueden descargar a disco (en la zona de intercambio o swap) segmentos en base a un cierto criterio (ver [[Intro | Memoria virtual]]). &lt;br /&gt;
&lt;br /&gt;
Esta zona de intercambio puede ser:&lt;br /&gt;
&lt;br /&gt;
* Un lugar fijo en el disco (Linux, Unix). El administrador de memoria decide qué segmento se va a descargar&lt;br /&gt;
&lt;br /&gt;
* Un fichero oculto de tamaño fijo o variable dependiendo de la configuracion dada por el usuario (Windows).&lt;br /&gt;
&lt;br /&gt;
==Formas de uso de los descriptores==&lt;br /&gt;
En cuanto a aspectos materiales, se plantea el problema de que no es habitual que la tabla de segmentos quepa en el dispositivo de traducción (MMU), por lo que se almacena la tabla en memoria, y el MMU contiene su dirección. El problema es que esta técnica hace que el tiempo de acceso se duplique, al haber un primer acceso al MMU y un segundo acceso a la dirección efectiva. Se plantean dos soluciones no excluyentes:&lt;br /&gt;
* '''Uso de registros descriptores de segmento en MMU:'''&lt;br /&gt;
&amp;lt;blockquote&amp;gt; &lt;br /&gt;
En MMU nos encontraremos varios registros que pueden contener descriptores, en los que se copiarán los que se vayan a usar en un futuro inmediato. Hay dos tipos de registros:&lt;br /&gt;
*Registros de propósito general:&lt;br /&gt;
Registros sobre los que se cargan los próximos descriptores a usar, y dos tipos de direcciones:&lt;br /&gt;
&amp;lt;br&amp;gt;- Las que hacen referencia a un descriptor en la tabla de memoria (y necesitan más bits para hacer referencia al descriptor)&lt;br /&gt;
&amp;lt;br&amp;gt;- Las que hacen referencia a un descriptor en MMU (y necesitan menos bits para referir al descriptor)&lt;br /&gt;
*Registros especializados:&lt;br /&gt;
Registros capaces de albergar a un descriptor concreto, como el DS (Para manejo de datos), SS (Para manipulación de pila) o el CS (Para instrucciones de salto y llamadas a rutinas). También existen dos tipos de direcciones:&lt;br /&gt;
&amp;lt;br&amp;gt;- Las que hacen referencia a un descriptor en la tabla de memoria&lt;br /&gt;
&amp;lt;br&amp;gt;- Las que no hacen referencia a ningún descriptor, y emplean descriptores de MMU, según el tipo de instrucción&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Uso de descriptores en memoria asociativa (Cache):'''&lt;br /&gt;
&amp;lt;blockquote&amp;gt; &lt;br /&gt;
La MMU contiene una memoria asociativa indexada por número de descriptor. Para cada acceso, se busca en la memoria asociativa el número de descriptor, y si no está, se carga a esta (Si se llena la memoria asociativa se lleva a cabo reemplazo). Este tipo de memoria es transparente, por lo que se puede usar en conjunción con registros descriptores de segmento en MMU.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Superposición de segmentos=&lt;br /&gt;
&lt;br /&gt;
El administrador de memoria puede definir segmentos superpuestos para crear áreas de memoria compartidas entre dos o más procesos del sistema. Los procesos emplean una llamada al sistema explícita para solicitar la creación del área de memoria compartida. El mecanismo de segmentos solapados es un aspecto propio del administrador de memoria, del que se puede valer para implementar la memoria compartida.&lt;br /&gt;
&lt;br /&gt;
=Crecimiento de proceso=&lt;br /&gt;
Existen dos formas de crecimiento: Asignando nuevos segmentos al proceso, y haciendo crecer algún segmento asignado. &lt;br /&gt;
Para crecer un segmento: si hay suficiente espacio libre contiguo, se actualiza el tamaño en el descriptor del segmento. Si no hay suficiente espacio: se define un nuevo segmento y se copia el contenido al nuevo segmento.&lt;/div&gt;</summary>
		<author><name>Robmannak</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=P%C3%A1gina_Principal&amp;diff=3009</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=3009"/>
				<updated>2014-12-13T13:22:09Z</updated>
		
		<summary type="html">&lt;p&gt;Robmannak: /* Introducción a los Sistemas Operativos */&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. ¡Contribuye!&lt;br /&gt;
&lt;br /&gt;
= Novedades y noticias =&lt;br /&gt;
&lt;br /&gt;
* [http://1984.lsi.us.es/~pablo/control-2-pneira.txt Notas de la tercera pregunta del control 2] --[[Usuario:Pneira|Pneira]] ([[Usuario discusión:Pneira|discusión]]) 13:56 2 dic 2014 (CET)&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;
* 1.1.¿ [[Qué es un Sistema Operativo|Qué es un sistema operativo?]]&lt;br /&gt;
* 1.2. [[Introducción histórica|Breve introducción histórica a los sistemas operativos]]&lt;br /&gt;
* 1.3. [[Tipos de Sistemas Operativos|Tipos de sistemas operativos]]&lt;br /&gt;
&lt;br /&gt;
== Fundamentos de Sistemas Operativos ==&lt;br /&gt;
&lt;br /&gt;
* 2.1. [[Organización básica de un ordenador]]&lt;br /&gt;
* 2.2. [[Modos de operación de la CPU|Modos de operación de la CPU]]&lt;br /&gt;
* 2.3. [[Interrupciones y excepciones|Interrupciones y excepciones]]&lt;br /&gt;
* 2.4. [[Arranque del sistema|Arranque del sistema]]&lt;br /&gt;
* 2.5. [[Componentes básicos de un sistema operativo|Componentes básicos de un sistema operativo]]&lt;br /&gt;
* 2.6. [[Conceptos básicos|Conceptos básicos]]&lt;br /&gt;
* 2.7. [[Llamadas al sistema|Llamadas al sistema]]&lt;br /&gt;
* 2.8. [[Ejercicios fundamentos Sistemas Operativos|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Modelos de diseño de Sistemas Operativos ==&lt;br /&gt;
&lt;br /&gt;
* 3.1. [[Modelos de Diseño de Sistemas Operativos|Modelos de diseño de sistemas operativos]]&lt;br /&gt;
* 3.2. [[Virtualización]]&lt;br /&gt;
* 3.3. [[Ejercicios 3|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Procesos ==&lt;br /&gt;
* 4.1. [[Multiprogramación|La multiprogramación]]&lt;br /&gt;
* 4.2. [[Estados de los procesos|Estados de los procesos]]&lt;br /&gt;
* 4.3. [[Planificador de procesos|El planificador de procesos]]&lt;br /&gt;
* 4.4. [[Comportamiento de los procesos|El comportamiento de los procesos según el planificador]]&lt;br /&gt;
* 4.5. [[Bloque de control de procesos|El bloque de control del proceso]]&lt;br /&gt;
* 4.6. [[Conmutación de procesos|La conmutación de procesos]]&lt;br /&gt;
* 4.7. [[Hilos|Hilos]]&lt;br /&gt;
* 4.8. [[Ejercicios Procesos|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Planificación de Procesos ==&lt;br /&gt;
* 5.1 [[Planificación de procesos|La planificación de procesos]]&lt;br /&gt;
* 5.2 [[Índices de evaluación|Índices de evaluación de la planificación de procesos]]&lt;br /&gt;
* 5.3 [[Criterios de planificación|Criterios de planificación]]&lt;br /&gt;
* 5.4 [[Planificadores de sistemas operativos existentes|Planificadores de sistemas operativos existentes]]&lt;br /&gt;
* 5.5 [[Planificación de procesos de tiempo real|La planificación de procesos de tiempo real]]&lt;br /&gt;
* 5.6 [[Planificación en sistemas multiprocesadores|La planificación de procesos en sistemas multiprocesadores]]&lt;br /&gt;
* 5.7 [[Ejercicios otros aspectos de la planificación|Ejercicios]]&lt;br /&gt;
* 5.8 [[Ejercicios planificación de procesos|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Concurrencia de procesos ==&lt;br /&gt;
&lt;br /&gt;
* 6.1 [[Concurrencia de procesos|Concurrencia de procesos]]&lt;br /&gt;
* 6.2 [[Mecanismos de sincronización|Control optimista y pesimista de la concurrencia]]&lt;br /&gt;
* 6.3 [[Cerrojos|Cerrojos]]&lt;br /&gt;
* 6.4 [[Ejercicio de concurrencia de procesos|Ejercicios]]&lt;br /&gt;
* 6.5 [[Semáforos|Semáforos]]&lt;br /&gt;
* 6.6 [[Monitores|Monitores]]&lt;br /&gt;
* 6.7 [[Mensajería|Mensajería]]&lt;br /&gt;
* 6.8 [[Ejercicios sincronización y comunicación|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Interbloqueo ==&lt;br /&gt;
&lt;br /&gt;
* 7.1 [[Definición de interbloqueo|Definición]]&lt;br /&gt;
* 7.2 [[Condiciones para el interbloqueo y estrategias de resolución|Modelado y Estrategias]]&lt;br /&gt;
* 7.3 [[Algoritmo para averiguar interbloqueo|Algoritmo del banquero]]&lt;br /&gt;
* 7.4 [[Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Administración de memoria ==&lt;br /&gt;
&lt;br /&gt;
* 8.1 [[Introducción|Introducción]]&lt;br /&gt;
* 8.2 [[SO multiprogramables con particiones variables|SO multiprogramables con particiones variables]]&lt;br /&gt;
* 8.3 [[Segmentación|Segmentación]]&lt;br /&gt;
* 8.4 [[Paginación|Paginación]]&lt;br /&gt;
* 8.5 [[Sistema combinado|Sistema combinado]]&lt;br /&gt;
* 8.6 [[Ejercicios administración de memoria contigua|Ejercicios (Administración de memoria contigua)]]&lt;br /&gt;
* 8.7 [[Ejemplo de segmentación, paginación y combinado|Ejercicios (Segmentación, paginación y sistemas combinados)]]&lt;br /&gt;
&lt;br /&gt;
== Memoria virtual ==&lt;br /&gt;
&lt;br /&gt;
* 9.1 [[Memoria Virtual|Introducción]]&lt;br /&gt;
* 9.2 [[Criterios de reemplazo|Criterios de reemplazo]]&lt;br /&gt;
* 9.3 [[Memoria virtual con multiprogramacion|Otros aspectos relacionados con la memoria virtual]]&lt;br /&gt;
* 9.4 [[Ejercicios memoria virtual|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Entrada/Salida ==&lt;br /&gt;
&lt;br /&gt;
* 10.1 [[EstructuraES|Estructura dispositivo E/S]]&lt;br /&gt;
* 10.2 [[GestionES|Modos de gestionar dispositivos E/S]]&lt;br /&gt;
* 10.3 [[Diseño modular E/S|Diseño modular E/S]]&lt;br /&gt;
* 10.4 [[Ejercicios de Entrada/Salida|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Gestión L/E ==&lt;br /&gt;
&lt;br /&gt;
* 11.1 [[Discos Magnéticos|Discos Magnéticos]]&lt;br /&gt;
* 11.2 [[Mejoras de tiempos de desplazamiento|Mejoras de tiempos de desplazamiento]]&lt;br /&gt;
* 11.3 [[Mejoras en la demora de rotación|Mejoras en la demora de rotación]]&lt;br /&gt;
* 11.4 [[Tipos de errores en discos magnéticos|Tipos de errores en discos magnéticos]]&lt;br /&gt;
* 11.5 [[Ejercicios Gestión L/E|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Administración de archivos ==&lt;br /&gt;
&lt;br /&gt;
* 12.1 [[Introducción en la administración de archivos|Introducción en la administración de archivos]]&lt;br /&gt;
* 12.2 [[FAT|FAT]]&lt;br /&gt;
* 12.3 [[EXT2 |EXT2]]&lt;br /&gt;
* 12.4 [[Ejercicios Administración Ficheros|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Anexo ==&lt;br /&gt;
&lt;br /&gt;
Esta sección contiene información interesante pero que no pertenece al temario de la asignatura.&lt;br /&gt;
&lt;br /&gt;
* Todo lo que siempre has querido saber sobre el protocolo SSH está [[SSH|aquí]].&lt;br /&gt;
* El eterno debate: iOS vs Android y  por qué no se deben comparar tan rápidamente, un blog de Ricardo Galli. [http://gallir.wordpress.com/2011/12/07/android-ios-tiempos-de-respuestas-y-por-que-nada-es-gratis-en-sistemas-informaticos/ Enlace]&lt;/div&gt;</summary>
		<author><name>Robmannak</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=P%C3%A1gina_Principal&amp;diff=3008</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=3008"/>
				<updated>2014-12-13T13:21:46Z</updated>
		
		<summary type="html">&lt;p&gt;Robmannak: /* Introducción a los Sistemas Operativos */&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. ¡Contribuye!&lt;br /&gt;
&lt;br /&gt;
= Novedades y noticias =&lt;br /&gt;
&lt;br /&gt;
* [http://1984.lsi.us.es/~pablo/control-2-pneira.txt Notas de la tercera pregunta del control 2] --[[Usuario:Pneira|Pneira]] ([[Usuario discusión:Pneira|discusión]]) 13:56 2 dic 2014 (CET)&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;
* 1.1 [[.¿Qué es un Sistema Operativo|Qué es un sistema operativo?]]&lt;br /&gt;
* 1.2. [[Introducción histórica|Breve introducción histórica a los sistemas operativos]]&lt;br /&gt;
* 1.3. [[Tipos de Sistemas Operativos|Tipos de sistemas operativos]]&lt;br /&gt;
&lt;br /&gt;
== Fundamentos de Sistemas Operativos ==&lt;br /&gt;
&lt;br /&gt;
* 2.1. [[Organización básica de un ordenador]]&lt;br /&gt;
* 2.2. [[Modos de operación de la CPU|Modos de operación de la CPU]]&lt;br /&gt;
* 2.3. [[Interrupciones y excepciones|Interrupciones y excepciones]]&lt;br /&gt;
* 2.4. [[Arranque del sistema|Arranque del sistema]]&lt;br /&gt;
* 2.5. [[Componentes básicos de un sistema operativo|Componentes básicos de un sistema operativo]]&lt;br /&gt;
* 2.6. [[Conceptos básicos|Conceptos básicos]]&lt;br /&gt;
* 2.7. [[Llamadas al sistema|Llamadas al sistema]]&lt;br /&gt;
* 2.8. [[Ejercicios fundamentos Sistemas Operativos|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Modelos de diseño de Sistemas Operativos ==&lt;br /&gt;
&lt;br /&gt;
* 3.1. [[Modelos de Diseño de Sistemas Operativos|Modelos de diseño de sistemas operativos]]&lt;br /&gt;
* 3.2. [[Virtualización]]&lt;br /&gt;
* 3.3. [[Ejercicios 3|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Procesos ==&lt;br /&gt;
* 4.1. [[Multiprogramación|La multiprogramación]]&lt;br /&gt;
* 4.2. [[Estados de los procesos|Estados de los procesos]]&lt;br /&gt;
* 4.3. [[Planificador de procesos|El planificador de procesos]]&lt;br /&gt;
* 4.4. [[Comportamiento de los procesos|El comportamiento de los procesos según el planificador]]&lt;br /&gt;
* 4.5. [[Bloque de control de procesos|El bloque de control del proceso]]&lt;br /&gt;
* 4.6. [[Conmutación de procesos|La conmutación de procesos]]&lt;br /&gt;
* 4.7. [[Hilos|Hilos]]&lt;br /&gt;
* 4.8. [[Ejercicios Procesos|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Planificación de Procesos ==&lt;br /&gt;
* 5.1 [[Planificación de procesos|La planificación de procesos]]&lt;br /&gt;
* 5.2 [[Índices de evaluación|Índices de evaluación de la planificación de procesos]]&lt;br /&gt;
* 5.3 [[Criterios de planificación|Criterios de planificación]]&lt;br /&gt;
* 5.4 [[Planificadores de sistemas operativos existentes|Planificadores de sistemas operativos existentes]]&lt;br /&gt;
* 5.5 [[Planificación de procesos de tiempo real|La planificación de procesos de tiempo real]]&lt;br /&gt;
* 5.6 [[Planificación en sistemas multiprocesadores|La planificación de procesos en sistemas multiprocesadores]]&lt;br /&gt;
* 5.7 [[Ejercicios otros aspectos de la planificación|Ejercicios]]&lt;br /&gt;
* 5.8 [[Ejercicios planificación de procesos|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Concurrencia de procesos ==&lt;br /&gt;
&lt;br /&gt;
* 6.1 [[Concurrencia de procesos|Concurrencia de procesos]]&lt;br /&gt;
* 6.2 [[Mecanismos de sincronización|Control optimista y pesimista de la concurrencia]]&lt;br /&gt;
* 6.3 [[Cerrojos|Cerrojos]]&lt;br /&gt;
* 6.4 [[Ejercicio de concurrencia de procesos|Ejercicios]]&lt;br /&gt;
* 6.5 [[Semáforos|Semáforos]]&lt;br /&gt;
* 6.6 [[Monitores|Monitores]]&lt;br /&gt;
* 6.7 [[Mensajería|Mensajería]]&lt;br /&gt;
* 6.8 [[Ejercicios sincronización y comunicación|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Interbloqueo ==&lt;br /&gt;
&lt;br /&gt;
* 7.1 [[Definición de interbloqueo|Definición]]&lt;br /&gt;
* 7.2 [[Condiciones para el interbloqueo y estrategias de resolución|Modelado y Estrategias]]&lt;br /&gt;
* 7.3 [[Algoritmo para averiguar interbloqueo|Algoritmo del banquero]]&lt;br /&gt;
* 7.4 [[Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Administración de memoria ==&lt;br /&gt;
&lt;br /&gt;
* 8.1 [[Introducción|Introducción]]&lt;br /&gt;
* 8.2 [[SO multiprogramables con particiones variables|SO multiprogramables con particiones variables]]&lt;br /&gt;
* 8.3 [[Segmentación|Segmentación]]&lt;br /&gt;
* 8.4 [[Paginación|Paginación]]&lt;br /&gt;
* 8.5 [[Sistema combinado|Sistema combinado]]&lt;br /&gt;
* 8.6 [[Ejercicios administración de memoria contigua|Ejercicios (Administración de memoria contigua)]]&lt;br /&gt;
* 8.7 [[Ejemplo de segmentación, paginación y combinado|Ejercicios (Segmentación, paginación y sistemas combinados)]]&lt;br /&gt;
&lt;br /&gt;
== Memoria virtual ==&lt;br /&gt;
&lt;br /&gt;
* 9.1 [[Memoria Virtual|Introducción]]&lt;br /&gt;
* 9.2 [[Criterios de reemplazo|Criterios de reemplazo]]&lt;br /&gt;
* 9.3 [[Memoria virtual con multiprogramacion|Otros aspectos relacionados con la memoria virtual]]&lt;br /&gt;
* 9.4 [[Ejercicios memoria virtual|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Entrada/Salida ==&lt;br /&gt;
&lt;br /&gt;
* 10.1 [[EstructuraES|Estructura dispositivo E/S]]&lt;br /&gt;
* 10.2 [[GestionES|Modos de gestionar dispositivos E/S]]&lt;br /&gt;
* 10.3 [[Diseño modular E/S|Diseño modular E/S]]&lt;br /&gt;
* 10.4 [[Ejercicios de Entrada/Salida|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Gestión L/E ==&lt;br /&gt;
&lt;br /&gt;
* 11.1 [[Discos Magnéticos|Discos Magnéticos]]&lt;br /&gt;
* 11.2 [[Mejoras de tiempos de desplazamiento|Mejoras de tiempos de desplazamiento]]&lt;br /&gt;
* 11.3 [[Mejoras en la demora de rotación|Mejoras en la demora de rotación]]&lt;br /&gt;
* 11.4 [[Tipos de errores en discos magnéticos|Tipos de errores en discos magnéticos]]&lt;br /&gt;
* 11.5 [[Ejercicios Gestión L/E|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Administración de archivos ==&lt;br /&gt;
&lt;br /&gt;
* 12.1 [[Introducción en la administración de archivos|Introducción en la administración de archivos]]&lt;br /&gt;
* 12.2 [[FAT|FAT]]&lt;br /&gt;
* 12.3 [[EXT2 |EXT2]]&lt;br /&gt;
* 12.4 [[Ejercicios Administración Ficheros|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Anexo ==&lt;br /&gt;
&lt;br /&gt;
Esta sección contiene información interesante pero que no pertenece al temario de la asignatura.&lt;br /&gt;
&lt;br /&gt;
* Todo lo que siempre has querido saber sobre el protocolo SSH está [[SSH|aquí]].&lt;br /&gt;
* El eterno debate: iOS vs Android y  por qué no se deben comparar tan rápidamente, un blog de Ricardo Galli. [http://gallir.wordpress.com/2011/12/07/android-ios-tiempos-de-respuestas-y-por-que-nada-es-gratis-en-sistemas-informaticos/ Enlace]&lt;/div&gt;</summary>
		<author><name>Robmannak</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=P%C3%A1gina_Principal&amp;diff=3007</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=3007"/>
				<updated>2014-12-13T13:21:09Z</updated>
		
		<summary type="html">&lt;p&gt;Robmannak: /* Introducción a los Sistemas Operativos */&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. ¡Contribuye!&lt;br /&gt;
&lt;br /&gt;
= Novedades y noticias =&lt;br /&gt;
&lt;br /&gt;
* [http://1984.lsi.us.es/~pablo/control-2-pneira.txt Notas de la tercera pregunta del control 2] --[[Usuario:Pneira|Pneira]] ([[Usuario discusión:Pneira|discusión]]) 13:56 2 dic 2014 (CET)&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;
* 1.1. [[ ¿¿¿¿Qué es un Sistema Operativo|Qué es un sistema operativo?]]&lt;br /&gt;
* 1.2. [[Introducción histórica|Breve introducción histórica a los sistemas operativos]]&lt;br /&gt;
* 1.3. [[Tipos de Sistemas Operativos|Tipos de sistemas operativos]]&lt;br /&gt;
&lt;br /&gt;
== Fundamentos de Sistemas Operativos ==&lt;br /&gt;
&lt;br /&gt;
* 2.1. [[Organización básica de un ordenador]]&lt;br /&gt;
* 2.2. [[Modos de operación de la CPU|Modos de operación de la CPU]]&lt;br /&gt;
* 2.3. [[Interrupciones y excepciones|Interrupciones y excepciones]]&lt;br /&gt;
* 2.4. [[Arranque del sistema|Arranque del sistema]]&lt;br /&gt;
* 2.5. [[Componentes básicos de un sistema operativo|Componentes básicos de un sistema operativo]]&lt;br /&gt;
* 2.6. [[Conceptos básicos|Conceptos básicos]]&lt;br /&gt;
* 2.7. [[Llamadas al sistema|Llamadas al sistema]]&lt;br /&gt;
* 2.8. [[Ejercicios fundamentos Sistemas Operativos|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Modelos de diseño de Sistemas Operativos ==&lt;br /&gt;
&lt;br /&gt;
* 3.1. [[Modelos de Diseño de Sistemas Operativos|Modelos de diseño de sistemas operativos]]&lt;br /&gt;
* 3.2. [[Virtualización]]&lt;br /&gt;
* 3.3. [[Ejercicios 3|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Procesos ==&lt;br /&gt;
* 4.1. [[Multiprogramación|La multiprogramación]]&lt;br /&gt;
* 4.2. [[Estados de los procesos|Estados de los procesos]]&lt;br /&gt;
* 4.3. [[Planificador de procesos|El planificador de procesos]]&lt;br /&gt;
* 4.4. [[Comportamiento de los procesos|El comportamiento de los procesos según el planificador]]&lt;br /&gt;
* 4.5. [[Bloque de control de procesos|El bloque de control del proceso]]&lt;br /&gt;
* 4.6. [[Conmutación de procesos|La conmutación de procesos]]&lt;br /&gt;
* 4.7. [[Hilos|Hilos]]&lt;br /&gt;
* 4.8. [[Ejercicios Procesos|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Planificación de Procesos ==&lt;br /&gt;
* 5.1 [[Planificación de procesos|La planificación de procesos]]&lt;br /&gt;
* 5.2 [[Índices de evaluación|Índices de evaluación de la planificación de procesos]]&lt;br /&gt;
* 5.3 [[Criterios de planificación|Criterios de planificación]]&lt;br /&gt;
* 5.4 [[Planificadores de sistemas operativos existentes|Planificadores de sistemas operativos existentes]]&lt;br /&gt;
* 5.5 [[Planificación de procesos de tiempo real|La planificación de procesos de tiempo real]]&lt;br /&gt;
* 5.6 [[Planificación en sistemas multiprocesadores|La planificación de procesos en sistemas multiprocesadores]]&lt;br /&gt;
* 5.7 [[Ejercicios otros aspectos de la planificación|Ejercicios]]&lt;br /&gt;
* 5.8 [[Ejercicios planificación de procesos|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Concurrencia de procesos ==&lt;br /&gt;
&lt;br /&gt;
* 6.1 [[Concurrencia de procesos|Concurrencia de procesos]]&lt;br /&gt;
* 6.2 [[Mecanismos de sincronización|Control optimista y pesimista de la concurrencia]]&lt;br /&gt;
* 6.3 [[Cerrojos|Cerrojos]]&lt;br /&gt;
* 6.4 [[Ejercicio de concurrencia de procesos|Ejercicios]]&lt;br /&gt;
* 6.5 [[Semáforos|Semáforos]]&lt;br /&gt;
* 6.6 [[Monitores|Monitores]]&lt;br /&gt;
* 6.7 [[Mensajería|Mensajería]]&lt;br /&gt;
* 6.8 [[Ejercicios sincronización y comunicación|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Interbloqueo ==&lt;br /&gt;
&lt;br /&gt;
* 7.1 [[Definición de interbloqueo|Definición]]&lt;br /&gt;
* 7.2 [[Condiciones para el interbloqueo y estrategias de resolución|Modelado y Estrategias]]&lt;br /&gt;
* 7.3 [[Algoritmo para averiguar interbloqueo|Algoritmo del banquero]]&lt;br /&gt;
* 7.4 [[Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Administración de memoria ==&lt;br /&gt;
&lt;br /&gt;
* 8.1 [[Introducción|Introducción]]&lt;br /&gt;
* 8.2 [[SO multiprogramables con particiones variables|SO multiprogramables con particiones variables]]&lt;br /&gt;
* 8.3 [[Segmentación|Segmentación]]&lt;br /&gt;
* 8.4 [[Paginación|Paginación]]&lt;br /&gt;
* 8.5 [[Sistema combinado|Sistema combinado]]&lt;br /&gt;
* 8.6 [[Ejercicios administración de memoria contigua|Ejercicios (Administración de memoria contigua)]]&lt;br /&gt;
* 8.7 [[Ejemplo de segmentación, paginación y combinado|Ejercicios (Segmentación, paginación y sistemas combinados)]]&lt;br /&gt;
&lt;br /&gt;
== Memoria virtual ==&lt;br /&gt;
&lt;br /&gt;
* 9.1 [[Memoria Virtual|Introducción]]&lt;br /&gt;
* 9.2 [[Criterios de reemplazo|Criterios de reemplazo]]&lt;br /&gt;
* 9.3 [[Memoria virtual con multiprogramacion|Otros aspectos relacionados con la memoria virtual]]&lt;br /&gt;
* 9.4 [[Ejercicios memoria virtual|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Entrada/Salida ==&lt;br /&gt;
&lt;br /&gt;
* 10.1 [[EstructuraES|Estructura dispositivo E/S]]&lt;br /&gt;
* 10.2 [[GestionES|Modos de gestionar dispositivos E/S]]&lt;br /&gt;
* 10.3 [[Diseño modular E/S|Diseño modular E/S]]&lt;br /&gt;
* 10.4 [[Ejercicios de Entrada/Salida|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Gestión L/E ==&lt;br /&gt;
&lt;br /&gt;
* 11.1 [[Discos Magnéticos|Discos Magnéticos]]&lt;br /&gt;
* 11.2 [[Mejoras de tiempos de desplazamiento|Mejoras de tiempos de desplazamiento]]&lt;br /&gt;
* 11.3 [[Mejoras en la demora de rotación|Mejoras en la demora de rotación]]&lt;br /&gt;
* 11.4 [[Tipos de errores en discos magnéticos|Tipos de errores en discos magnéticos]]&lt;br /&gt;
* 11.5 [[Ejercicios Gestión L/E|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Administración de archivos ==&lt;br /&gt;
&lt;br /&gt;
* 12.1 [[Introducción en la administración de archivos|Introducción en la administración de archivos]]&lt;br /&gt;
* 12.2 [[FAT|FAT]]&lt;br /&gt;
* 12.3 [[EXT2 |EXT2]]&lt;br /&gt;
* 12.4 [[Ejercicios Administración Ficheros|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Anexo ==&lt;br /&gt;
&lt;br /&gt;
Esta sección contiene información interesante pero que no pertenece al temario de la asignatura.&lt;br /&gt;
&lt;br /&gt;
* Todo lo que siempre has querido saber sobre el protocolo SSH está [[SSH|aquí]].&lt;br /&gt;
* El eterno debate: iOS vs Android y  por qué no se deben comparar tan rápidamente, un blog de Ricardo Galli. [http://gallir.wordpress.com/2011/12/07/android-ios-tiempos-de-respuestas-y-por-que-nada-es-gratis-en-sistemas-informaticos/ Enlace]&lt;/div&gt;</summary>
		<author><name>Robmannak</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=P%C3%A1gina_Principal&amp;diff=3006</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=3006"/>
				<updated>2014-12-13T13:20:50Z</updated>
		
		<summary type="html">&lt;p&gt;Robmannak: /* Introducción a los Sistemas Operativos */&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. ¡Contribuye!&lt;br /&gt;
&lt;br /&gt;
= Novedades y noticias =&lt;br /&gt;
&lt;br /&gt;
* [http://1984.lsi.us.es/~pablo/control-2-pneira.txt Notas de la tercera pregunta del control 2] --[[Usuario:Pneira|Pneira]] ([[Usuario discusión:Pneira|discusión]]) 13:56 2 dic 2014 (CET)&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;
* 1.1. [[ ¿Qué es un Sistema Operativo|Qué es un sistema operativo?]]&lt;br /&gt;
* 1.2. [[Introducción histórica|Breve introducción histórica a los sistemas operativos]]&lt;br /&gt;
* 1.3. [[Tipos de Sistemas Operativos|Tipos de sistemas operativos]]&lt;br /&gt;
&lt;br /&gt;
== Fundamentos de Sistemas Operativos ==&lt;br /&gt;
&lt;br /&gt;
* 2.1. [[Organización básica de un ordenador]]&lt;br /&gt;
* 2.2. [[Modos de operación de la CPU|Modos de operación de la CPU]]&lt;br /&gt;
* 2.3. [[Interrupciones y excepciones|Interrupciones y excepciones]]&lt;br /&gt;
* 2.4. [[Arranque del sistema|Arranque del sistema]]&lt;br /&gt;
* 2.5. [[Componentes básicos de un sistema operativo|Componentes básicos de un sistema operativo]]&lt;br /&gt;
* 2.6. [[Conceptos básicos|Conceptos básicos]]&lt;br /&gt;
* 2.7. [[Llamadas al sistema|Llamadas al sistema]]&lt;br /&gt;
* 2.8. [[Ejercicios fundamentos Sistemas Operativos|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Modelos de diseño de Sistemas Operativos ==&lt;br /&gt;
&lt;br /&gt;
* 3.1. [[Modelos de Diseño de Sistemas Operativos|Modelos de diseño de sistemas operativos]]&lt;br /&gt;
* 3.2. [[Virtualización]]&lt;br /&gt;
* 3.3. [[Ejercicios 3|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Procesos ==&lt;br /&gt;
* 4.1. [[Multiprogramación|La multiprogramación]]&lt;br /&gt;
* 4.2. [[Estados de los procesos|Estados de los procesos]]&lt;br /&gt;
* 4.3. [[Planificador de procesos|El planificador de procesos]]&lt;br /&gt;
* 4.4. [[Comportamiento de los procesos|El comportamiento de los procesos según el planificador]]&lt;br /&gt;
* 4.5. [[Bloque de control de procesos|El bloque de control del proceso]]&lt;br /&gt;
* 4.6. [[Conmutación de procesos|La conmutación de procesos]]&lt;br /&gt;
* 4.7. [[Hilos|Hilos]]&lt;br /&gt;
* 4.8. [[Ejercicios Procesos|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Planificación de Procesos ==&lt;br /&gt;
* 5.1 [[Planificación de procesos|La planificación de procesos]]&lt;br /&gt;
* 5.2 [[Índices de evaluación|Índices de evaluación de la planificación de procesos]]&lt;br /&gt;
* 5.3 [[Criterios de planificación|Criterios de planificación]]&lt;br /&gt;
* 5.4 [[Planificadores de sistemas operativos existentes|Planificadores de sistemas operativos existentes]]&lt;br /&gt;
* 5.5 [[Planificación de procesos de tiempo real|La planificación de procesos de tiempo real]]&lt;br /&gt;
* 5.6 [[Planificación en sistemas multiprocesadores|La planificación de procesos en sistemas multiprocesadores]]&lt;br /&gt;
* 5.7 [[Ejercicios otros aspectos de la planificación|Ejercicios]]&lt;br /&gt;
* 5.8 [[Ejercicios planificación de procesos|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Concurrencia de procesos ==&lt;br /&gt;
&lt;br /&gt;
* 6.1 [[Concurrencia de procesos|Concurrencia de procesos]]&lt;br /&gt;
* 6.2 [[Mecanismos de sincronización|Control optimista y pesimista de la concurrencia]]&lt;br /&gt;
* 6.3 [[Cerrojos|Cerrojos]]&lt;br /&gt;
* 6.4 [[Ejercicio de concurrencia de procesos|Ejercicios]]&lt;br /&gt;
* 6.5 [[Semáforos|Semáforos]]&lt;br /&gt;
* 6.6 [[Monitores|Monitores]]&lt;br /&gt;
* 6.7 [[Mensajería|Mensajería]]&lt;br /&gt;
* 6.8 [[Ejercicios sincronización y comunicación|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Interbloqueo ==&lt;br /&gt;
&lt;br /&gt;
* 7.1 [[Definición de interbloqueo|Definición]]&lt;br /&gt;
* 7.2 [[Condiciones para el interbloqueo y estrategias de resolución|Modelado y Estrategias]]&lt;br /&gt;
* 7.3 [[Algoritmo para averiguar interbloqueo|Algoritmo del banquero]]&lt;br /&gt;
* 7.4 [[Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Administración de memoria ==&lt;br /&gt;
&lt;br /&gt;
* 8.1 [[Introducción|Introducción]]&lt;br /&gt;
* 8.2 [[SO multiprogramables con particiones variables|SO multiprogramables con particiones variables]]&lt;br /&gt;
* 8.3 [[Segmentación|Segmentación]]&lt;br /&gt;
* 8.4 [[Paginación|Paginación]]&lt;br /&gt;
* 8.5 [[Sistema combinado|Sistema combinado]]&lt;br /&gt;
* 8.6 [[Ejercicios administración de memoria contigua|Ejercicios (Administración de memoria contigua)]]&lt;br /&gt;
* 8.7 [[Ejemplo de segmentación, paginación y combinado|Ejercicios (Segmentación, paginación y sistemas combinados)]]&lt;br /&gt;
&lt;br /&gt;
== Memoria virtual ==&lt;br /&gt;
&lt;br /&gt;
* 9.1 [[Memoria Virtual|Introducción]]&lt;br /&gt;
* 9.2 [[Criterios de reemplazo|Criterios de reemplazo]]&lt;br /&gt;
* 9.3 [[Memoria virtual con multiprogramacion|Otros aspectos relacionados con la memoria virtual]]&lt;br /&gt;
* 9.4 [[Ejercicios memoria virtual|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Entrada/Salida ==&lt;br /&gt;
&lt;br /&gt;
* 10.1 [[EstructuraES|Estructura dispositivo E/S]]&lt;br /&gt;
* 10.2 [[GestionES|Modos de gestionar dispositivos E/S]]&lt;br /&gt;
* 10.3 [[Diseño modular E/S|Diseño modular E/S]]&lt;br /&gt;
* 10.4 [[Ejercicios de Entrada/Salida|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Gestión L/E ==&lt;br /&gt;
&lt;br /&gt;
* 11.1 [[Discos Magnéticos|Discos Magnéticos]]&lt;br /&gt;
* 11.2 [[Mejoras de tiempos de desplazamiento|Mejoras de tiempos de desplazamiento]]&lt;br /&gt;
* 11.3 [[Mejoras en la demora de rotación|Mejoras en la demora de rotación]]&lt;br /&gt;
* 11.4 [[Tipos de errores en discos magnéticos|Tipos de errores en discos magnéticos]]&lt;br /&gt;
* 11.5 [[Ejercicios Gestión L/E|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Administración de archivos ==&lt;br /&gt;
&lt;br /&gt;
* 12.1 [[Introducción en la administración de archivos|Introducción en la administración de archivos]]&lt;br /&gt;
* 12.2 [[FAT|FAT]]&lt;br /&gt;
* 12.3 [[EXT2 |EXT2]]&lt;br /&gt;
* 12.4 [[Ejercicios Administración Ficheros|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Anexo ==&lt;br /&gt;
&lt;br /&gt;
Esta sección contiene información interesante pero que no pertenece al temario de la asignatura.&lt;br /&gt;
&lt;br /&gt;
* Todo lo que siempre has querido saber sobre el protocolo SSH está [[SSH|aquí]].&lt;br /&gt;
* El eterno debate: iOS vs Android y  por qué no se deben comparar tan rápidamente, un blog de Ricardo Galli. [http://gallir.wordpress.com/2011/12/07/android-ios-tiempos-de-respuestas-y-por-que-nada-es-gratis-en-sistemas-informaticos/ Enlace]&lt;/div&gt;</summary>
		<author><name>Robmannak</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=P%C3%A1gina_Principal&amp;diff=3005</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=3005"/>
				<updated>2014-12-13T13:17:47Z</updated>
		
		<summary type="html">&lt;p&gt;Robmannak: /* Introducción a los Sistemas Operativos */&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. ¡Contribuye!&lt;br /&gt;
&lt;br /&gt;
= Novedades y noticias =&lt;br /&gt;
&lt;br /&gt;
* [http://1984.lsi.us.es/~pablo/control-2-pneira.txt Notas de la tercera pregunta del control 2] --[[Usuario:Pneira|Pneira]] ([[Usuario discusión:Pneira|discusión]]) 13:56 2 dic 2014 (CET)&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;
* 1.1. [[¿Qué es un Sistema Operativo|Qué es un sistema operativo?]]&lt;br /&gt;
* 1.2. [[Introducción histórica|Breve introducción histórica a los sistemas operativos]]&lt;br /&gt;
* 1.3. [[Tipos de Sistemas Operativos|Tipos de sistemas operativos]]&lt;br /&gt;
&lt;br /&gt;
== Fundamentos de Sistemas Operativos ==&lt;br /&gt;
&lt;br /&gt;
* 2.1. [[Organización básica de un ordenador]]&lt;br /&gt;
* 2.2. [[Modos de operación de la CPU|Modos de operación de la CPU]]&lt;br /&gt;
* 2.3. [[Interrupciones y excepciones|Interrupciones y excepciones]]&lt;br /&gt;
* 2.4. [[Arranque del sistema|Arranque del sistema]]&lt;br /&gt;
* 2.5. [[Componentes básicos de un sistema operativo|Componentes básicos de un sistema operativo]]&lt;br /&gt;
* 2.6. [[Conceptos básicos|Conceptos básicos]]&lt;br /&gt;
* 2.7. [[Llamadas al sistema|Llamadas al sistema]]&lt;br /&gt;
* 2.8. [[Ejercicios fundamentos Sistemas Operativos|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Modelos de diseño de Sistemas Operativos ==&lt;br /&gt;
&lt;br /&gt;
* 3.1. [[Modelos de Diseño de Sistemas Operativos|Modelos de diseño de sistemas operativos]]&lt;br /&gt;
* 3.2. [[Virtualización]]&lt;br /&gt;
* 3.3. [[Ejercicios 3|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Procesos ==&lt;br /&gt;
* 4.1. [[Multiprogramación|La multiprogramación]]&lt;br /&gt;
* 4.2. [[Estados de los procesos|Estados de los procesos]]&lt;br /&gt;
* 4.3. [[Planificador de procesos|El planificador de procesos]]&lt;br /&gt;
* 4.4. [[Comportamiento de los procesos|El comportamiento de los procesos según el planificador]]&lt;br /&gt;
* 4.5. [[Bloque de control de procesos|El bloque de control del proceso]]&lt;br /&gt;
* 4.6. [[Conmutación de procesos|La conmutación de procesos]]&lt;br /&gt;
* 4.7. [[Hilos|Hilos]]&lt;br /&gt;
* 4.8. [[Ejercicios Procesos|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Planificación de Procesos ==&lt;br /&gt;
* 5.1 [[Planificación de procesos|La planificación de procesos]]&lt;br /&gt;
* 5.2 [[Índices de evaluación|Índices de evaluación de la planificación de procesos]]&lt;br /&gt;
* 5.3 [[Criterios de planificación|Criterios de planificación]]&lt;br /&gt;
* 5.4 [[Planificadores de sistemas operativos existentes|Planificadores de sistemas operativos existentes]]&lt;br /&gt;
* 5.5 [[Planificación de procesos de tiempo real|La planificación de procesos de tiempo real]]&lt;br /&gt;
* 5.6 [[Planificación en sistemas multiprocesadores|La planificación de procesos en sistemas multiprocesadores]]&lt;br /&gt;
* 5.7 [[Ejercicios otros aspectos de la planificación|Ejercicios]]&lt;br /&gt;
* 5.8 [[Ejercicios planificación de procesos|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Concurrencia de procesos ==&lt;br /&gt;
&lt;br /&gt;
* 6.1 [[Concurrencia de procesos|Concurrencia de procesos]]&lt;br /&gt;
* 6.2 [[Mecanismos de sincronización|Control optimista y pesimista de la concurrencia]]&lt;br /&gt;
* 6.3 [[Cerrojos|Cerrojos]]&lt;br /&gt;
* 6.4 [[Ejercicio de concurrencia de procesos|Ejercicios]]&lt;br /&gt;
* 6.5 [[Semáforos|Semáforos]]&lt;br /&gt;
* 6.6 [[Monitores|Monitores]]&lt;br /&gt;
* 6.7 [[Mensajería|Mensajería]]&lt;br /&gt;
* 6.8 [[Ejercicios sincronización y comunicación|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Interbloqueo ==&lt;br /&gt;
&lt;br /&gt;
* 7.1 [[Definición de interbloqueo|Definición]]&lt;br /&gt;
* 7.2 [[Condiciones para el interbloqueo y estrategias de resolución|Modelado y Estrategias]]&lt;br /&gt;
* 7.3 [[Algoritmo para averiguar interbloqueo|Algoritmo del banquero]]&lt;br /&gt;
* 7.4 [[Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Administración de memoria ==&lt;br /&gt;
&lt;br /&gt;
* 8.1 [[Introducción|Introducción]]&lt;br /&gt;
* 8.2 [[SO multiprogramables con particiones variables|SO multiprogramables con particiones variables]]&lt;br /&gt;
* 8.3 [[Segmentación|Segmentación]]&lt;br /&gt;
* 8.4 [[Paginación|Paginación]]&lt;br /&gt;
* 8.5 [[Sistema combinado|Sistema combinado]]&lt;br /&gt;
* 8.6 [[Ejercicios administración de memoria contigua|Ejercicios (Administración de memoria contigua)]]&lt;br /&gt;
* 8.7 [[Ejemplo de segmentación, paginación y combinado|Ejercicios (Segmentación, paginación y sistemas combinados)]]&lt;br /&gt;
&lt;br /&gt;
== Memoria virtual ==&lt;br /&gt;
&lt;br /&gt;
* 9.1 [[Memoria Virtual|Introducción]]&lt;br /&gt;
* 9.2 [[Criterios de reemplazo|Criterios de reemplazo]]&lt;br /&gt;
* 9.3 [[Memoria virtual con multiprogramacion|Otros aspectos relacionados con la memoria virtual]]&lt;br /&gt;
* 9.4 [[Ejercicios memoria virtual|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Entrada/Salida ==&lt;br /&gt;
&lt;br /&gt;
* 10.1 [[EstructuraES|Estructura dispositivo E/S]]&lt;br /&gt;
* 10.2 [[GestionES|Modos de gestionar dispositivos E/S]]&lt;br /&gt;
* 10.3 [[Diseño modular E/S|Diseño modular E/S]]&lt;br /&gt;
* 10.4 [[Ejercicios de Entrada/Salida|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Gestión L/E ==&lt;br /&gt;
&lt;br /&gt;
* 11.1 [[Discos Magnéticos|Discos Magnéticos]]&lt;br /&gt;
* 11.2 [[Mejoras de tiempos de desplazamiento|Mejoras de tiempos de desplazamiento]]&lt;br /&gt;
* 11.3 [[Mejoras en la demora de rotación|Mejoras en la demora de rotación]]&lt;br /&gt;
* 11.4 [[Tipos de errores en discos magnéticos|Tipos de errores en discos magnéticos]]&lt;br /&gt;
* 11.5 [[Ejercicios Gestión L/E|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Administración de archivos ==&lt;br /&gt;
&lt;br /&gt;
* 12.1 [[Introducción en la administración de archivos|Introducción en la administración de archivos]]&lt;br /&gt;
* 12.2 [[FAT|FAT]]&lt;br /&gt;
* 12.3 [[EXT2 |EXT2]]&lt;br /&gt;
* 12.4 [[Ejercicios Administración Ficheros|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Anexo ==&lt;br /&gt;
&lt;br /&gt;
Esta sección contiene información interesante pero que no pertenece al temario de la asignatura.&lt;br /&gt;
&lt;br /&gt;
* Todo lo que siempre has querido saber sobre el protocolo SSH está [[SSH|aquí]].&lt;br /&gt;
* El eterno debate: iOS vs Android y  por qué no se deben comparar tan rápidamente, un blog de Ricardo Galli. [http://gallir.wordpress.com/2011/12/07/android-ios-tiempos-de-respuestas-y-por-que-nada-es-gratis-en-sistemas-informaticos/ Enlace]&lt;/div&gt;</summary>
		<author><name>Robmannak</name></author>	</entry>

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

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Subidas_de_notas&amp;diff=2994</id>
		<title>Subidas de notas</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Subidas_de_notas&amp;diff=2994"/>
				<updated>2014-12-02T08:45:41Z</updated>
		
		<summary type="html">&lt;p&gt;Robmannak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pérez Asién, Manuel (manperasi)&lt;br /&gt;
&lt;br /&gt;
Rojas Fernández, Alberto (albrojfer1)&lt;br /&gt;
&lt;br /&gt;
Poley González, Cristian (cripolgon)&lt;br /&gt;
&lt;br /&gt;
González Tornay, Ángeles (anggontor1)&lt;br /&gt;
&lt;br /&gt;
Viejo Morales, Francisco Javier (fraviemor)&lt;br /&gt;
&lt;br /&gt;
Abadín Barrantes, Daniel José (danababar)&lt;br /&gt;
&lt;br /&gt;
Manzano Rueda, Álvaro (alvmanrue)&lt;br /&gt;
&lt;br /&gt;
Bernal Bueno, Leonardo Juan (leoberbue)&lt;br /&gt;
&lt;br /&gt;
Mantas Nakhai, Roberto (robmannak)&lt;/div&gt;</summary>
		<author><name>Robmannak</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Definici%C3%B3n_de_interbloqueo&amp;diff=2991</id>
		<title>Definición de interbloqueo</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Definici%C3%B3n_de_interbloqueo&amp;diff=2991"/>
				<updated>2014-11-28T09:00:38Z</updated>
		
		<summary type="html">&lt;p&gt;Robmannak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;También conocido como '''bloqueo mutuo''' o '''deadlock'''.&lt;br /&gt;
&lt;br /&gt;
Es una espera circular permanente de dos o más procesos. Existen una serie de [[Condiciones para el interbloqueo y estrategias de resolución#condiciones|condiciones]] para que se produzca y una serie de [[Condiciones para el interbloqueo y estrategias de resolución#estrategias|estrategias]] para resolverlos.&lt;br /&gt;
&lt;br /&gt;
* Ejemplo simple: &lt;br /&gt;
&lt;br /&gt;
[[Archivo: Ssoo wiki.png]]&lt;br /&gt;
&lt;br /&gt;
Se aprecian dos procesos (P1 y P2), cada uno con un recurso diferente asociado (R1 y R2). Llega un punto en el que el proceso P1 ha adquirido el recurso R1 y el proceso P2 ha adquirido el recurso R2 y cada proceso necesita el otro recurso. Este es el punto de interbloqueo.&lt;br /&gt;
&lt;br /&gt;
Según [http://es.wikipedia.org/wiki/Edsger_Dijkstra Dijkstra], una configuración de procesos y recursos es '''estado seguro''' si a partir de ella podemos seguir ejecutando código, es decir, no se producen interbloqueos.&lt;br /&gt;
&lt;br /&gt;
= Ejemplo =&lt;br /&gt;
&lt;br /&gt;
El siguiente ejemplo ilustra el problema con semáforos.&lt;br /&gt;
&lt;br /&gt;
Dados dos procesos P1 y P2 con el siguiente código, con semáforos '''x''' e '''y''' con contadores a 1:&lt;br /&gt;
                        &lt;br /&gt;
&amp;lt;pre&amp;gt;   P1                             P2&lt;br /&gt;
   --                             --&lt;br /&gt;
&lt;br /&gt;
#1    while(1) {                   #1  while(1) { &lt;br /&gt;
#2    down(x);                     #2  down(y);&lt;br /&gt;
#3    acceso recurso_x();          #3  acceso_recurso_y();&lt;br /&gt;
#4    down(y);                     #4   down(x);&lt;br /&gt;
#5    acceso_recurso_y();          #5   acceso_recurso_x();&lt;br /&gt;
#6    up(y);                       #6   up(x);&lt;br /&gt;
#7    up(x);                       #7   up(y);&lt;br /&gt;
 }                               }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El cronograma, suponiendo Round Robin con quantum de 3 unidades sería:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    X = El proceso pasa a estado bloqueado.&lt;br /&gt;
    / = El proceso pasa a estado preparado.&lt;br /&gt;
    &amp;gt; = Fin de su ejecución&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    | #1| #2| #3|   |   |   | #4|   |     &lt;br /&gt;
  P1|---|---|---|   |   |   |---X   |    &lt;br /&gt;
    |   |   |   |   |   |   |   |   |     &lt;br /&gt;
    |   |   |   | #1| #2| #3|   | #4|  &lt;br /&gt;
  P2|   |   |   |---|---|---|   |---X   &lt;br /&gt;
    |   |   |   |   |   |   |   |   |   &lt;br /&gt;
    |___|___|___|___|___|___|___|___|  &lt;br /&gt;
    0   1   2   3   4   5   6   7   8  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el que se puede ver la situación de interbloqueo.&lt;br /&gt;
&lt;br /&gt;
Si repetimos con quantum 4:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    | #1| #2| #3| #4|   |   | #5| #6| #7| #1|   |   |   |   | #2| #3| #4|   /   |   |&lt;br /&gt;
  P1|---|---|---|---/   |   |---|---|---|---/   |   |   |   |---|---|---X   |   |   |&lt;br /&gt;
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
    |   |   |   |   | #1| #2|   |   |   |   | #3| #4| #5| #6|   |   |   | #7| #1| #2|&lt;br /&gt;
  P2|   |   |   |   |---|---X   |   /   |   |---|---|---|---/   |   |   |---|---|---X&lt;br /&gt;
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
    |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|&lt;br /&gt;
    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La condición de carrera se produce igualmente, pero más tarde.&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Leoberbue|Leoberbue]] ([[Usuario discusión:Leoberbue|discusión]]) 16:50 25 nov 2014 (CET)&lt;/div&gt;</summary>
		<author><name>Robmannak</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Definici%C3%B3n_de_interbloqueo&amp;diff=2990</id>
		<title>Definición de interbloqueo</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Definici%C3%B3n_de_interbloqueo&amp;diff=2990"/>
				<updated>2014-11-28T09:00:10Z</updated>
		
		<summary type="html">&lt;p&gt;Robmannak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;También conocido como '''bloqueo mutuo''' o '''deadlock'''.&lt;br /&gt;
&lt;br /&gt;
Es una espera circular permanente de dos o más procesos. Existen una serie de [[Condiciones para el interbloqueo y estrategias de resolución#condiciones|condiciones]] para que se produzca y una serie de [[Condiciones para el interbloqueo y estrategias de resolución#estrategias|estrategias]] para resolverlos.&lt;br /&gt;
&lt;br /&gt;
* Ejemplo simple: &lt;br /&gt;
&lt;br /&gt;
[[Archivo: Ssoo wiki.png]]&lt;br /&gt;
&lt;br /&gt;
Se aprecian dos procesos (P1 y P2), cada uno con un recurso diferente asociado (R1 y R2). Llega un punto en el que el proceso P1 ha adquirido el recurso R1 y el proceso P2 ha adquirido el recurso R2 y cada proceso necesita el otro recurso. Este es el punto de interbloqueo.&lt;br /&gt;
&lt;br /&gt;
Según [http://es.wikipedia.org/wiki/Edsger_Dijkstra Dijkstra], una configuración de procesos y recursos es '''estado seguro''' si a partir de ella podemos seguir ejecutando código, es decir, no se producen interbloqueos.&lt;br /&gt;
&lt;br /&gt;
= Ejemplo =&lt;br /&gt;
&lt;br /&gt;
El siguiente ejemplo ilustra el problema con semáforos.&lt;br /&gt;
&lt;br /&gt;
Dados dos procesos P1 y P2 con el siguiente código, con semáforos '''x''' e '''y''' con contadores a 1:&lt;br /&gt;
                        &lt;br /&gt;
&amp;lt;pre&amp;gt;   P1                             P2&lt;br /&gt;
   --                               --&lt;br /&gt;
&lt;br /&gt;
#1    while(1) {                   #1  while(1) { &lt;br /&gt;
#2    down(x);                     #2  down(y);&lt;br /&gt;
#3    acceso recurso_x();          #3  acceso_recurso_y();&lt;br /&gt;
#4    down(y);                     #4   down(x);&lt;br /&gt;
#5    acceso_recurso_y();          #5   acceso_recurso_x();&lt;br /&gt;
#6    up(y);                       #6   up(x);&lt;br /&gt;
#7    up(x);                       #7   up(y);&lt;br /&gt;
 }                               }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El cronograma, suponiendo Round Robin con quantum de 3 unidades sería:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    X = El proceso pasa a estado bloqueado.&lt;br /&gt;
    / = El proceso pasa a estado preparado.&lt;br /&gt;
    &amp;gt; = Fin de su ejecución&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    | #1| #2| #3|   |   |   | #4|   |     &lt;br /&gt;
  P1|---|---|---|   |   |   |---X   |    &lt;br /&gt;
    |   |   |   |   |   |   |   |   |     &lt;br /&gt;
    |   |   |   | #1| #2| #3|   | #4|  &lt;br /&gt;
  P2|   |   |   |---|---|---|   |---X   &lt;br /&gt;
    |   |   |   |   |   |   |   |   |   &lt;br /&gt;
    |___|___|___|___|___|___|___|___|  &lt;br /&gt;
    0   1   2   3   4   5   6   7   8  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el que se puede ver la situación de interbloqueo.&lt;br /&gt;
&lt;br /&gt;
Si repetimos con quantum 4:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    | #1| #2| #3| #4|   |   | #5| #6| #7| #1|   |   |   |   | #2| #3| #4|   /   |   |&lt;br /&gt;
  P1|---|---|---|---/   |   |---|---|---|---/   |   |   |   |---|---|---X   |   |   |&lt;br /&gt;
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
    |   |   |   |   | #1| #2|   |   |   |   | #3| #4| #5| #6|   |   |   | #7| #1| #2|&lt;br /&gt;
  P2|   |   |   |   |---|---X   |   /   |   |---|---|---|---/   |   |   |---|---|---X&lt;br /&gt;
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
    |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|&lt;br /&gt;
    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La condición de carrera se produce igualmente, pero más tarde.&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Leoberbue|Leoberbue]] ([[Usuario discusión:Leoberbue|discusión]]) 16:50 25 nov 2014 (CET)&lt;/div&gt;</summary>
		<author><name>Robmannak</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Definici%C3%B3n_de_interbloqueo&amp;diff=2989</id>
		<title>Definición de interbloqueo</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Definici%C3%B3n_de_interbloqueo&amp;diff=2989"/>
				<updated>2014-11-28T08:58:35Z</updated>
		
		<summary type="html">&lt;p&gt;Robmannak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;También conocido como '''bloqueo mutuo''' o '''deadlock'''.&lt;br /&gt;
&lt;br /&gt;
Es una espera circular permanente de dos o más procesos. Existen una serie de [[Condiciones para el interbloqueo y estrategias de resolución#condiciones|condiciones]] para que se produzca y una serie de [[Condiciones para el interbloqueo y estrategias de resolución#estrategias|estrategias]] para resolverlos.&lt;br /&gt;
&lt;br /&gt;
* Ejemplo simple: &lt;br /&gt;
&lt;br /&gt;
[[Archivo: Ssoo wiki.png]]&lt;br /&gt;
&lt;br /&gt;
Se aprecian dos procesos (P1 y P2), cada uno con un recurso diferente asociado (R1 y R2). Llega un punto en el que el proceso P1 ha adquirido el recurso R1 y el proceso P2 ha adquirido el recurso R2 y cada proceso necesita el otro recurso. Este es el punto de interbloqueo.&lt;br /&gt;
&lt;br /&gt;
Según [http://es.wikipedia.org/wiki/Edsger_Dijkstra Dijkstra], una configuración de procesos y recursos es '''estado seguro''' si a partir de ella podemos seguir ejecutando código, es decir, no se producen interbloqueos.&lt;br /&gt;
&lt;br /&gt;
= Ejemplo =&lt;br /&gt;
&lt;br /&gt;
El siguiente ejemplo ilustra el problema con semáforos.&lt;br /&gt;
&lt;br /&gt;
Dados dos procesos P1 y P2 con el siguiente código, con semáforos '''x''' e '''y''' con contadores a 1:&lt;br /&gt;
                        &lt;br /&gt;
&amp;lt;pre&amp;gt;P1                             P2&lt;br /&gt;
--                               --&lt;br /&gt;
&lt;br /&gt;
#1    while(1) {                   #1  while(1) { &lt;br /&gt;
#2    down(x);                     #2  down(y);&lt;br /&gt;
#3    acceso recurso_x();          #3  acceso_recurso_y();&lt;br /&gt;
#4    down(y);                     #4   down(x);&lt;br /&gt;
#5    acceso_recurso_y();          #5   acceso_recurso_x();&lt;br /&gt;
#6    up(y);                       #6   up(x);&lt;br /&gt;
#7    up(x);                       #7   up(y);&lt;br /&gt;
 }                               }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El cronograma, suponiendo Round Robin con quantum de 3 unidades sería:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    X = El proceso pasa a estado bloqueado.&lt;br /&gt;
    / = El proceso pasa a estado preparado.&lt;br /&gt;
    &amp;gt; = Fin de su ejecución&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    | #1| #2| #3|   |   |   | #4|   |     &lt;br /&gt;
  P1|---|---|---|   |   |   |---X   |    &lt;br /&gt;
    |   |   |   |   |   |   |   |   |     &lt;br /&gt;
    |   |   |   | #1| #2| #3|   | #4|  &lt;br /&gt;
  P2|   |   |   |---|---|---|   |---X   &lt;br /&gt;
    |   |   |   |   |   |   |   |   |   &lt;br /&gt;
    |___|___|___|___|___|___|___|___|  &lt;br /&gt;
    0   1   2   3   4   5   6   7   8  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el que se puede ver la situación de interbloqueo.&lt;br /&gt;
&lt;br /&gt;
Si repetimos con quantum 4:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    | #1| #2| #3| #4|   |   | #5| #6| #7| #1|   |   |   |   | #2| #3| #4|   /   |   |&lt;br /&gt;
  P1|---|---|---|---/   |   |---|---|---|---/   |   |   |   |---|---|---X   |   |   |&lt;br /&gt;
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
    |   |   |   |   | #1| #2|   |   |   |   | #3| #4| #5| #6|   |   |   | #7| #1| #2|&lt;br /&gt;
  P2|   |   |   |   |---|---X   |   /   |   |---|---|---|---/   |   |   |---|---|---X&lt;br /&gt;
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
    |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|&lt;br /&gt;
    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La condición de carrera se produce igualmente, pero más tarde.&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Leoberbue|Leoberbue]] ([[Usuario discusión:Leoberbue|discusión]]) 16:50 25 nov 2014 (CET)&lt;/div&gt;</summary>
		<author><name>Robmannak</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Definici%C3%B3n_de_interbloqueo&amp;diff=2988</id>
		<title>Definición de interbloqueo</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Definici%C3%B3n_de_interbloqueo&amp;diff=2988"/>
				<updated>2014-11-28T08:58:14Z</updated>
		
		<summary type="html">&lt;p&gt;Robmannak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;También conocido como '''bloqueo mutuo''' o '''deadlock'''.&lt;br /&gt;
&lt;br /&gt;
Es una espera circular permanente de dos o más procesos. Existen una serie de [[Condiciones para el interbloqueo y estrategias de resolución#condiciones|condiciones]] para que se produzca y una serie de [[Condiciones para el interbloqueo y estrategias de resolución#estrategias|estrategias]] para resolverlos.&lt;br /&gt;
&lt;br /&gt;
* Ejemplo simple: &lt;br /&gt;
&lt;br /&gt;
[[Archivo: Ssoo wiki.png]]&lt;br /&gt;
&lt;br /&gt;
Se aprecian dos procesos (P1 y P2), cada uno con un recurso diferente asociado (R1 y R2). Llega un punto en el que el proceso P1 ha adquirido el recurso R1 y el proceso P2 ha adquirido el recurso R2 y cada proceso necesita el otro recurso. Este es el punto de interbloqueo.&lt;br /&gt;
&lt;br /&gt;
Según [http://es.wikipedia.org/wiki/Edsger_Dijkstra Dijkstra], una configuración de procesos y recursos es '''estado seguro''' si a partir de ella podemos seguir ejecutando código, es decir, no se producen interbloqueos.&lt;br /&gt;
&lt;br /&gt;
= Ejemplo =&lt;br /&gt;
&lt;br /&gt;
El siguiente ejemplo ilustra el problema con semáforos.&lt;br /&gt;
&lt;br /&gt;
Dados dos procesos P1 y P2 con el siguiente código, con semáforos '''x''' e '''y''' con contadores a 1:&lt;br /&gt;
                        &lt;br /&gt;
&amp;lt;pre&amp;gt;P1                             P2&lt;br /&gt;
--                               --&lt;br /&gt;
&lt;br /&gt;
#1    while(1) {                   #1  while(1) { &lt;br /&gt;
#2    down(x);                     #2  down(y);&lt;br /&gt;
#3    acceso recurso_x();          #3  acceso_recurso_y();&lt;br /&gt;
#4    down(y);                     #4   down(x);&lt;br /&gt;
#5    acceso_recurso_y();          #5   acceso_recurso_x();&lt;br /&gt;
#6    up(y);                        #6   up(x);&lt;br /&gt;
#7    up(x);                        #7   up(y);&lt;br /&gt;
 }                               }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El cronograma, suponiendo Round Robin con quantum de 3 unidades sería:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    X = El proceso pasa a estado bloqueado.&lt;br /&gt;
    / = El proceso pasa a estado preparado.&lt;br /&gt;
    &amp;gt; = Fin de su ejecución&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    | #1| #2| #3|   |   |   | #4|   |     &lt;br /&gt;
  P1|---|---|---|   |   |   |---X   |    &lt;br /&gt;
    |   |   |   |   |   |   |   |   |     &lt;br /&gt;
    |   |   |   | #1| #2| #3|   | #4|  &lt;br /&gt;
  P2|   |   |   |---|---|---|   |---X   &lt;br /&gt;
    |   |   |   |   |   |   |   |   |   &lt;br /&gt;
    |___|___|___|___|___|___|___|___|  &lt;br /&gt;
    0   1   2   3   4   5   6   7   8  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el que se puede ver la situación de interbloqueo.&lt;br /&gt;
&lt;br /&gt;
Si repetimos con quantum 4:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    | #1| #2| #3| #4|   |   | #5| #6| #7| #1|   |   |   |   | #2| #3| #4|   /   |   |&lt;br /&gt;
  P1|---|---|---|---/   |   |---|---|---|---/   |   |   |   |---|---|---X   |   |   |&lt;br /&gt;
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
    |   |   |   |   | #1| #2|   |   |   |   | #3| #4| #5| #6|   |   |   | #7| #1| #2|&lt;br /&gt;
  P2|   |   |   |   |---|---X   |   /   |   |---|---|---|---/   |   |   |---|---|---X&lt;br /&gt;
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
    |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|&lt;br /&gt;
    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La condición de carrera se produce igualmente, pero más tarde.&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Leoberbue|Leoberbue]] ([[Usuario discusión:Leoberbue|discusión]]) 16:50 25 nov 2014 (CET)&lt;/div&gt;</summary>
		<author><name>Robmannak</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Definici%C3%B3n_de_interbloqueo&amp;diff=2987</id>
		<title>Definición de interbloqueo</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Definici%C3%B3n_de_interbloqueo&amp;diff=2987"/>
				<updated>2014-11-28T08:57:50Z</updated>
		
		<summary type="html">&lt;p&gt;Robmannak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;También conocido como '''bloqueo mutuo''' o '''deadlock'''.&lt;br /&gt;
&lt;br /&gt;
Es una espera circular permanente de dos o más procesos. Existen una serie de [[Condiciones para el interbloqueo y estrategias de resolución#condiciones|condiciones]] para que se produzca y una serie de [[Condiciones para el interbloqueo y estrategias de resolución#estrategias|estrategias]] para resolverlos.&lt;br /&gt;
&lt;br /&gt;
* Ejemplo simple: &lt;br /&gt;
&lt;br /&gt;
[[Archivo: Ssoo wiki.png]]&lt;br /&gt;
&lt;br /&gt;
Se aprecian dos procesos (P1 y P2), cada uno con un recurso diferente asociado (R1 y R2). Llega un punto en el que el proceso P1 ha adquirido el recurso R1 y el proceso P2 ha adquirido el recurso R2 y cada proceso necesita el otro recurso. Este es el punto de interbloqueo.&lt;br /&gt;
&lt;br /&gt;
Según [http://es.wikipedia.org/wiki/Edsger_Dijkstra Dijkstra], una configuración de procesos y recursos es '''estado seguro''' si a partir de ella podemos seguir ejecutando código, es decir, no se producen interbloqueos.&lt;br /&gt;
&lt;br /&gt;
= Ejemplo =&lt;br /&gt;
&lt;br /&gt;
El siguiente ejemplo ilustra el problema con semáforos.&lt;br /&gt;
&lt;br /&gt;
Dados dos procesos P1 y P2 con el siguiente código, con semáforos '''x''' e '''y''' con contadores a 1:&lt;br /&gt;
                        &lt;br /&gt;
&amp;lt;pre&amp;gt;P1                             P2&lt;br /&gt;
--                               --&lt;br /&gt;
&lt;br /&gt;
#1    while(1) {                    #1  while(1) { &lt;br /&gt;
#2    down(x);                     #2  down(y);&lt;br /&gt;
#3    acceso recurso_x();          #3  acceso_recurso_y();&lt;br /&gt;
#4    down(y);                       #4   down(x);&lt;br /&gt;
#5    acceso_recurso_y();          #5   acceso_recurso_x();&lt;br /&gt;
#6    up(y);                      #6   up(x);&lt;br /&gt;
#7    up(x);                      #7   up(y);&lt;br /&gt;
 }                               }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El cronograma, suponiendo Round Robin con quantum de 3 unidades sería:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    X = El proceso pasa a estado bloqueado.&lt;br /&gt;
    / = El proceso pasa a estado preparado.&lt;br /&gt;
    &amp;gt; = Fin de su ejecución&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    | #1| #2| #3|   |   |   | #4|   |     &lt;br /&gt;
  P1|---|---|---|   |   |   |---X   |    &lt;br /&gt;
    |   |   |   |   |   |   |   |   |     &lt;br /&gt;
    |   |   |   | #1| #2| #3|   | #4|  &lt;br /&gt;
  P2|   |   |   |---|---|---|   |---X   &lt;br /&gt;
    |   |   |   |   |   |   |   |   |   &lt;br /&gt;
    |___|___|___|___|___|___|___|___|  &lt;br /&gt;
    0   1   2   3   4   5   6   7   8  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el que se puede ver la situación de interbloqueo.&lt;br /&gt;
&lt;br /&gt;
Si repetimos con quantum 4:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    | #1| #2| #3| #4|   |   | #5| #6| #7| #1|   |   |   |   | #2| #3| #4|   /   |   |&lt;br /&gt;
  P1|---|---|---|---/   |   |---|---|---|---/   |   |   |   |---|---|---X   |   |   |&lt;br /&gt;
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
    |   |   |   |   | #1| #2|   |   |   |   | #3| #4| #5| #6|   |   |   | #7| #1| #2|&lt;br /&gt;
  P2|   |   |   |   |---|---X   |   /   |   |---|---|---|---/   |   |   |---|---|---X&lt;br /&gt;
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
    |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|&lt;br /&gt;
    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La condición de carrera se produce igualmente, pero más tarde.&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Leoberbue|Leoberbue]] ([[Usuario discusión:Leoberbue|discusión]]) 16:50 25 nov 2014 (CET)&lt;/div&gt;</summary>
		<author><name>Robmannak</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Definici%C3%B3n_de_interbloqueo&amp;diff=2986</id>
		<title>Definición de interbloqueo</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Definici%C3%B3n_de_interbloqueo&amp;diff=2986"/>
				<updated>2014-11-28T08:57:14Z</updated>
		
		<summary type="html">&lt;p&gt;Robmannak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;También conocido como '''bloqueo mutuo''' o '''deadlock'''.&lt;br /&gt;
&lt;br /&gt;
Es una espera circular permanente de dos o más procesos. Existen una serie de [[Condiciones para el interbloqueo y estrategias de resolución#condiciones|condiciones]] para que se produzca y una serie de [[Condiciones para el interbloqueo y estrategias de resolución#estrategias|estrategias]] para resolverlos.&lt;br /&gt;
&lt;br /&gt;
* Ejemplo simple: &lt;br /&gt;
&lt;br /&gt;
[[Archivo: Ssoo wiki.png]]&lt;br /&gt;
&lt;br /&gt;
Se aprecian dos procesos (P1 y P2), cada uno con un recurso diferente asociado (R1 y R2). Llega un punto en el que el proceso P1 ha adquirido el recurso R1 y el proceso P2 ha adquirido el recurso R2 y cada proceso necesita el otro recurso. Este es el punto de interbloqueo.&lt;br /&gt;
&lt;br /&gt;
Según [http://es.wikipedia.org/wiki/Edsger_Dijkstra Dijkstra], una configuración de procesos y recursos es '''estado seguro''' si a partir de ella podemos seguir ejecutando código, es decir, no se producen interbloqueos.&lt;br /&gt;
&lt;br /&gt;
= Ejemplo =&lt;br /&gt;
&lt;br /&gt;
El siguiente ejemplo ilustra el problema con semáforos.&lt;br /&gt;
&lt;br /&gt;
Dados dos procesos P1 y P2 con el siguiente código, con semáforos '''x''' e '''y''' con contadores a 1:&lt;br /&gt;
                        &lt;br /&gt;
&amp;lt;pre&amp;gt;P1                             P2&lt;br /&gt;
--                               --&lt;br /&gt;
&lt;br /&gt;
#1    while(1) {                    #1  while(1) { &lt;br /&gt;
#2    down(x);                     #2  down(y);&lt;br /&gt;
#3    acceso recurso_x();           #3  acceso_recurso_y();&lt;br /&gt;
#4    down(y);                       #4   down(x);&lt;br /&gt;
#5    acceso_recurso_y();           #5   acceso_recurso_x();&lt;br /&gt;
#6    up(y);                    #6   up(x);&lt;br /&gt;
#7    up(x);                   #7   up(y);&lt;br /&gt;
 }                               }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El cronograma, suponiendo Round Robin con quantum de 3 unidades sería:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    X = El proceso pasa a estado bloqueado.&lt;br /&gt;
    / = El proceso pasa a estado preparado.&lt;br /&gt;
    &amp;gt; = Fin de su ejecución&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    | #1| #2| #3|   |   |   | #4|   |     &lt;br /&gt;
  P1|---|---|---|   |   |   |---X   |    &lt;br /&gt;
    |   |   |   |   |   |   |   |   |     &lt;br /&gt;
    |   |   |   | #1| #2| #3|   | #4|  &lt;br /&gt;
  P2|   |   |   |---|---|---|   |---X   &lt;br /&gt;
    |   |   |   |   |   |   |   |   |   &lt;br /&gt;
    |___|___|___|___|___|___|___|___|  &lt;br /&gt;
    0   1   2   3   4   5   6   7   8  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el que se puede ver la situación de interbloqueo.&lt;br /&gt;
&lt;br /&gt;
Si repetimos con quantum 4:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    | #1| #2| #3| #4|   |   | #5| #6| #7| #1|   |   |   |   | #2| #3| #4|   /   |   |&lt;br /&gt;
  P1|---|---|---|---/   |   |---|---|---|---/   |   |   |   |---|---|---X   |   |   |&lt;br /&gt;
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
    |   |   |   |   | #1| #2|   |   |   |   | #3| #4| #5| #6|   |   |   | #7| #1| #2|&lt;br /&gt;
  P2|   |   |   |   |---|---X   |   /   |   |---|---|---|---/   |   |   |---|---|---X&lt;br /&gt;
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
    |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|&lt;br /&gt;
    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La condición de carrera se produce igualmente, pero más tarde.&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Leoberbue|Leoberbue]] ([[Usuario discusión:Leoberbue|discusión]]) 16:50 25 nov 2014 (CET)&lt;/div&gt;</summary>
		<author><name>Robmannak</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Definici%C3%B3n_de_interbloqueo&amp;diff=2985</id>
		<title>Definición de interbloqueo</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Definici%C3%B3n_de_interbloqueo&amp;diff=2985"/>
				<updated>2014-11-28T08:56:07Z</updated>
		
		<summary type="html">&lt;p&gt;Robmannak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;También conocido como '''bloqueo mutuo''' o '''deadlock'''.&lt;br /&gt;
&lt;br /&gt;
Es una espera circular permanente de dos o más procesos. Existen una serie de [[Condiciones para el interbloqueo y estrategias de resolución#condiciones|condiciones]] para que se produzca y una serie de [[Condiciones para el interbloqueo y estrategias de resolución#estrategias|estrategias]] para resolverlos.&lt;br /&gt;
&lt;br /&gt;
* Ejemplo simple: &lt;br /&gt;
&lt;br /&gt;
[[Archivo: Ssoo wiki.png]]&lt;br /&gt;
&lt;br /&gt;
Se aprecian dos procesos (P1 y P2), cada uno con un recurso diferente asociado (R1 y R2). Llega un punto en el que el proceso P1 ha adquirido el recurso R1 y el proceso P2 ha adquirido el recurso R2 y cada proceso necesita el otro recurso. Este es el punto de interbloqueo.&lt;br /&gt;
&lt;br /&gt;
Según [http://es.wikipedia.org/wiki/Edsger_Dijkstra Dijkstra], una configuración de procesos y recursos es '''estado seguro''' si a partir de ella podemos seguir ejecutando código, es decir, no se producen interbloqueos.&lt;br /&gt;
&lt;br /&gt;
= Ejemplo =&lt;br /&gt;
&lt;br /&gt;
El siguiente ejemplo ilustra el problema con semáforos.&lt;br /&gt;
&lt;br /&gt;
Dados dos procesos P1 y P2 con el siguiente código, con semáforos '''x''' e '''y''' con contadores a 1:&lt;br /&gt;
                        &lt;br /&gt;
&amp;lt;pre&amp;gt;P1                             P2&lt;br /&gt;
--                               --&lt;br /&gt;
&lt;br /&gt;
#1   while(1) {                       #1  while(1) { &lt;br /&gt;
#2    down(x);                       #2  down(y);&lt;br /&gt;
#3    acceso recurso_x();       #3  acceso_recurso_y();&lt;br /&gt;
#4    down(y);                       #4   down(x);&lt;br /&gt;
#5    acceso_recurso_y();      #5   acceso_recurso_x();&lt;br /&gt;
#6    up(y);                           #6   up(x);&lt;br /&gt;
#7    up(x);                           #7   up(y);&lt;br /&gt;
 }                               }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El cronograma, suponiendo Round Robin con quantum de 3 unidades sería:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    X = El proceso pasa a estado bloqueado.&lt;br /&gt;
    / = El proceso pasa a estado preparado.&lt;br /&gt;
    &amp;gt; = Fin de su ejecución&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    | #1| #2| #3|   |   |   | #4|   |     &lt;br /&gt;
  P1|---|---|---|   |   |   |---X   |    &lt;br /&gt;
    |   |   |   |   |   |   |   |   |     &lt;br /&gt;
    |   |   |   | #1| #2| #3|   | #4|  &lt;br /&gt;
  P2|   |   |   |---|---|---|   |---X   &lt;br /&gt;
    |   |   |   |   |   |   |   |   |   &lt;br /&gt;
    |___|___|___|___|___|___|___|___|  &lt;br /&gt;
    0   1   2   3   4   5   6   7   8  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el que se puede ver la situación de interbloqueo.&lt;br /&gt;
&lt;br /&gt;
Si repetimos con quantum 4:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    | #1| #2| #3| #4|   |   | #5| #6| #7| #1|   |   |   |   | #2| #3| #4|   /   |   |&lt;br /&gt;
  P1|---|---|---|---/   |   |---|---|---|---/   |   |   |   |---|---|---X   |   |   |&lt;br /&gt;
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
    |   |   |   |   | #1| #2|   |   |   |   | #3| #4| #5| #6|   |   |   | #7| #1| #2|&lt;br /&gt;
  P2|   |   |   |   |---|---X   |   /   |   |---|---|---|---/   |   |   |---|---|---X&lt;br /&gt;
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
    |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|&lt;br /&gt;
    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La condición de carrera se produce igualmente, pero más tarde.&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Leoberbue|Leoberbue]] ([[Usuario discusión:Leoberbue|discusión]]) 16:50 25 nov 2014 (CET)&lt;/div&gt;</summary>
		<author><name>Robmannak</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Definici%C3%B3n_de_interbloqueo&amp;diff=2984</id>
		<title>Definición de interbloqueo</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Definici%C3%B3n_de_interbloqueo&amp;diff=2984"/>
				<updated>2014-11-28T08:55:28Z</updated>
		
		<summary type="html">&lt;p&gt;Robmannak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;También conocido como '''bloqueo mutuo''' o '''deadlock'''.&lt;br /&gt;
&lt;br /&gt;
Es una espera circular permanente de dos o más procesos. Existen una serie de [[Condiciones para el interbloqueo y estrategias de resolución#condiciones|condiciones]] para que se produzca y una serie de [[Condiciones para el interbloqueo y estrategias de resolución#estrategias|estrategias]] para resolverlos.&lt;br /&gt;
&lt;br /&gt;
* Ejemplo simple: &lt;br /&gt;
&lt;br /&gt;
[[Archivo: Ssoo wiki.png]]&lt;br /&gt;
&lt;br /&gt;
Se aprecian dos procesos (P1 y P2), cada uno con un recurso diferente asociado (R1 y R2). Llega un punto en el que el proceso P1 ha adquirido el recurso R1 y el proceso P2 ha adquirido el recurso R2 y cada proceso necesita el otro recurso. Este es el punto de interbloqueo.&lt;br /&gt;
&lt;br /&gt;
Según [http://es.wikipedia.org/wiki/Edsger_Dijkstra Dijkstra], una configuración de procesos y recursos es '''estado seguro''' si a partir de ella podemos seguir ejecutando código, es decir, no se producen interbloqueos.&lt;br /&gt;
&lt;br /&gt;
= Ejemplo =&lt;br /&gt;
&lt;br /&gt;
El siguiente ejemplo ilustra el problema con semáforos.&lt;br /&gt;
&lt;br /&gt;
Dados dos procesos P1 y P2 con el siguiente código, con semáforos '''x''' e '''y''' con contadores a 1:&lt;br /&gt;
                        &lt;br /&gt;
&amp;lt;pre&amp;gt;P1                             P2&lt;br /&gt;
--                               --&lt;br /&gt;
&lt;br /&gt;
#1   while(1) {                       #1while(1) { &lt;br /&gt;
#2    down(x);                       #2down(y);&lt;br /&gt;
#3    acceso recurso_x();       #3     acceso_recurso_y();&lt;br /&gt;
#4    down(y);                       #4   down(x);&lt;br /&gt;
#5    acceso_recurso_y();      #5     acceso_recurso_x();&lt;br /&gt;
#6    up(y);                           #6    up(x);&lt;br /&gt;
#7    up(x);                           #7   up(y);&lt;br /&gt;
 }                               }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El cronograma, suponiendo Round Robin con quantum de 3 unidades sería:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    X = El proceso pasa a estado bloqueado.&lt;br /&gt;
    / = El proceso pasa a estado preparado.&lt;br /&gt;
    &amp;gt; = Fin de su ejecución&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    | #1| #2| #3|   |   |   | #4|   |     &lt;br /&gt;
  P1|---|---|---|   |   |   |---X   |    &lt;br /&gt;
    |   |   |   |   |   |   |   |   |     &lt;br /&gt;
    |   |   |   | #1| #2| #3|   | #4|  &lt;br /&gt;
  P2|   |   |   |---|---|---|   |---X   &lt;br /&gt;
    |   |   |   |   |   |   |   |   |   &lt;br /&gt;
    |___|___|___|___|___|___|___|___|  &lt;br /&gt;
    0   1   2   3   4   5   6   7   8  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el que se puede ver la situación de interbloqueo.&lt;br /&gt;
&lt;br /&gt;
Si repetimos con quantum 4:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    | #1| #2| #3| #4|   |   | #5| #6| #7| #1|   |   |   |   | #2| #3| #4|   /   |   |&lt;br /&gt;
  P1|---|---|---|---/   |   |---|---|---|---/   |   |   |   |---|---|---X   |   |   |&lt;br /&gt;
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
    |   |   |   |   | #1| #2|   |   |   |   | #3| #4| #5| #6|   |   |   | #7| #1| #2|&lt;br /&gt;
  P2|   |   |   |   |---|---X   |   /   |   |---|---|---|---/   |   |   |---|---|---X&lt;br /&gt;
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
    |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|&lt;br /&gt;
    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La condición de carrera se produce igualmente, pero más tarde.&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Leoberbue|Leoberbue]] ([[Usuario discusión:Leoberbue|discusión]]) 16:50 25 nov 2014 (CET)&lt;/div&gt;</summary>
		<author><name>Robmannak</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Definici%C3%B3n_de_interbloqueo&amp;diff=2983</id>
		<title>Definición de interbloqueo</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Definici%C3%B3n_de_interbloqueo&amp;diff=2983"/>
				<updated>2014-11-28T08:53:37Z</updated>
		
		<summary type="html">&lt;p&gt;Robmannak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;También conocido como '''bloqueo mutuo''' o '''deadlock'''.&lt;br /&gt;
&lt;br /&gt;
Es una espera circular permanente de dos o más procesos. Existen una serie de [[Condiciones para el interbloqueo y estrategias de resolución#condiciones|condiciones]] para que se produzca y una serie de [[Condiciones para el interbloqueo y estrategias de resolución#estrategias|estrategias]] para resolverlos.&lt;br /&gt;
&lt;br /&gt;
* Ejemplo simple: &lt;br /&gt;
&lt;br /&gt;
[[Archivo: Ssoo wiki.png]]&lt;br /&gt;
&lt;br /&gt;
Se aprecian dos procesos (P1 y P2), cada uno con un recurso diferente asociado (R1 y R2). Llega un punto en el que el proceso P1 ha adquirido el recurso R1 y el proceso P2 ha adquirido el recurso R2 y cada proceso necesita el otro recurso. Este es el punto de interbloqueo.&lt;br /&gt;
&lt;br /&gt;
Según [http://es.wikipedia.org/wiki/Edsger_Dijkstra Dijkstra], una configuración de procesos y recursos es '''estado seguro''' si a partir de ella podemos seguir ejecutando código, es decir, no se producen interbloqueos.&lt;br /&gt;
&lt;br /&gt;
= Ejemplo =&lt;br /&gt;
&lt;br /&gt;
El siguiente ejemplo ilustra el problema con semáforos.&lt;br /&gt;
&lt;br /&gt;
Dados dos procesos P1 y P2 con el siguiente código, con semáforos '''x''' e '''y''' con contadores a 1:&lt;br /&gt;
                        &lt;br /&gt;
&amp;lt;pre&amp;gt;P1                             P2&lt;br /&gt;
--                               --&lt;br /&gt;
&lt;br /&gt;
#1 while(1) {                      while(1) { &lt;br /&gt;
    down(x);                       down(y);&lt;br /&gt;
    acceso recurso_x();            acceso_recurso_y();&lt;br /&gt;
    down(y);                       down(x);&lt;br /&gt;
    acceso_recurso_y();            acceso_recurso_x();&lt;br /&gt;
    up(y);                         up(x);&lt;br /&gt;
    up(x);                         up(y);&lt;br /&gt;
 }                               }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El cronograma, suponiendo Round Robin con quantum de 3 unidades sería:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    X = El proceso pasa a estado bloqueado.&lt;br /&gt;
    / = El proceso pasa a estado preparado.&lt;br /&gt;
    &amp;gt; = Fin de su ejecución&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    | #1| #2| #3|   |   |   | #4|   |     &lt;br /&gt;
  P1|---|---|---|   |   |   |---X   |    &lt;br /&gt;
    |   |   |   |   |   |   |   |   |     &lt;br /&gt;
    |   |   |   | #1| #2| #3|   | #4|  &lt;br /&gt;
  P2|   |   |   |---|---|---|   |---X   &lt;br /&gt;
    |   |   |   |   |   |   |   |   |   &lt;br /&gt;
    |___|___|___|___|___|___|___|___|  &lt;br /&gt;
    0   1   2   3   4   5   6   7   8  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el que se puede ver la situación de interbloqueo.&lt;br /&gt;
&lt;br /&gt;
Si repetimos con quantum 4:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    | #1| #2| #3| #4|   |   | #5| #6| #7| #1|   |   |   |   | #2| #3| #4|   /   |   |&lt;br /&gt;
  P1|---|---|---|---/   |   |---|---|---|---/   |   |   |   |---|---|---X   |   |   |&lt;br /&gt;
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
    |   |   |   |   | #1| #2|   |   |   |   | #3| #4| #5| #6|   |   |   | #7| #1| #2|&lt;br /&gt;
  P2|   |   |   |   |---|---X   |   /   |   |---|---|---|---/   |   |   |---|---|---X&lt;br /&gt;
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |&lt;br /&gt;
    |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|&lt;br /&gt;
    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La condición de carrera se produce igualmente, pero más tarde.&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Leoberbue|Leoberbue]] ([[Usuario discusión:Leoberbue|discusión]]) 16:50 25 nov 2014 (CET)&lt;/div&gt;</summary>
		<author><name>Robmannak</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=P%C3%A1gina_Principal&amp;diff=2968</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=2968"/>
				<updated>2014-11-18T11:09:21Z</updated>
		
		<summary type="html">&lt;p&gt;Robmannak: &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. ¡Contribuye!&lt;br /&gt;
&lt;br /&gt;
= Novedades y noticias =&lt;br /&gt;
&lt;br /&gt;
* Si quieres que se te evalue la contribución de la wiki, introduce tu nombre y apellidos, junto a tu usuario de la US en la página de [[subidas de notas]]. --[[Usuario:Pneira|Pneira]] 12:43 26 feb 2014 (UTC)&lt;br /&gt;
&lt;br /&gt;
* Notas del control 4 disponibles en [https://1984.lsi.us.es/~pablo/notas-ssoo-gis1.pdf este enlace]. Revisión el jueves 23 de enero a las 19h en el despacho I0.66. --[[Usuario:Pneira|Pneira]] 13:34 16 ene 2014 (UTC)&lt;br /&gt;
&lt;br /&gt;
* Disponible las notas del [https://1984.lsi.us.es/wiki-ssoo/images/f/f3/Notas-ssoo.pdf control 3]. Revisión a las 11h45 en el despacho I0.66 este jueves 16 de enero. --[[Usuario:Pneira|Pneira]] 18:30 14 ene 2014 (UTC)&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;
* 1.1. [[Qué es un Sistema Operativo|Qué es un sistema operativo]]&lt;br /&gt;
* 1.2. [[Introducción histórica|Breve introducción histórica a los sistemas operativos]]&lt;br /&gt;
* 1.3. [[Tipos de Sistemas Operativos|Tipos de sistemas operativos]]&lt;br /&gt;
&lt;br /&gt;
== Fundamentos de Sistemas Operativos ==&lt;br /&gt;
&lt;br /&gt;
* 2.1. [[Organización básica de un ordenador]]&lt;br /&gt;
* 2.2. [[Modos de operación de la CPU|Modos de operación de la CPU]]&lt;br /&gt;
* 2.3. [[Interrupciones y excepciones|Interrupciones y excepciones]]&lt;br /&gt;
* 2.4. [[Arranque del sistema|Arranque del sistema]]&lt;br /&gt;
* 2.5. [[Componentes básicos de un sistema operativo|Componentes básicos de un sistema operativo]]&lt;br /&gt;
* 2.6. [[Conceptos básicos|Conceptos básicos]]&lt;br /&gt;
* 2.7. [[Llamadas al sistema|Llamadas al sistema]]&lt;br /&gt;
* 2.8. [[Ejercicios fundamentos Sistemas Operativos|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Modelos de diseño de Sistemas Operativos ==&lt;br /&gt;
&lt;br /&gt;
* 3.1. [[Modelos de Diseño de Sistemas Operativos|Modelos de diseño de sistemas operativos]]&lt;br /&gt;
* 3.2. [[Virtualización]]&lt;br /&gt;
* 3.3. [[Ejercicios 3|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Procesos ==&lt;br /&gt;
* 4.1. [[Multiprogramación|La multiprogramación]]&lt;br /&gt;
* 4.2. [[Estados de los procesos|Estados de los procesos]]&lt;br /&gt;
* 4.3. [[Planificador de procesos|El planificador de procesos]]&lt;br /&gt;
* 4.4. [[Comportamiento de los procesos|El comportamiento de los procesos según el planificador]]&lt;br /&gt;
* 4.5. [[Bloque de control de procesos|El bloque de control del proceso]]&lt;br /&gt;
* 4.6. [[Conmutación de procesos|La conmutación de procesos]]&lt;br /&gt;
* 4.7. [[Hilos|Hilos]]&lt;br /&gt;
* 4.8. [[Ejercicios Procesos|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Planificación de Procesos ==&lt;br /&gt;
* 5.1 [[Planificación de procesos|La planificación de procesos]]&lt;br /&gt;
* 5.2 [[Índices de evaluación|Índices de evaluación de la planificación de procesos]]&lt;br /&gt;
* 5.3 [[Criterios de planificación|Criterios de planificación]]&lt;br /&gt;
* 5.4 [[Planificadores de sistemas operativos existentes|Planificadores de sistemas operativos existentes]]&lt;br /&gt;
* 5.5 [[Planificación de procesos de tiempo real|La planificación de procesos de tiempo real]]&lt;br /&gt;
* 5.6 [[Planificación en sistemas multiprocesadores|La planificación de procesos en sistemas multiprocesadores]]&lt;br /&gt;
* 5.7 [[Ejercicios otros aspectos de la planificación|Ejercicios]]&lt;br /&gt;
* 5.8 [[Ejercicios planificación de procesos|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Concurrencia de procesos ==&lt;br /&gt;
&lt;br /&gt;
* 6.1 [[Concurrencia de procesos|Concurrencia de procesos]]&lt;br /&gt;
* 6.2 [[Mecanismos de sincronización|Control optimista y pesimista de la concurrencia]]&lt;br /&gt;
* 6.3 [[Cerrojos|Cerrojos]]&lt;br /&gt;
* 6.4 [[Ejercicio de concurrencia de procesos|Ejercicios]]&lt;br /&gt;
* 6.5 [[Semáforos|Semáforos]]&lt;br /&gt;
* 6.6 [[Monitores|Monitores]]&lt;br /&gt;
* 6.7 [[Mensajería|Mensajería]]&lt;br /&gt;
* 6.8 [[Ejercicios sincronización y comunicación|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Interbloqueo ==&lt;br /&gt;
&lt;br /&gt;
* 7.1 [[Definición de interbloqueo|Definición]]&lt;br /&gt;
* 7.2 [[Condiciones para el interbloqueo y estrategias de resolución|Modelado y Estrategias]]&lt;br /&gt;
* 7.3 [[Algoritmo para averiguar interbloqueo|Algoritmo del banquero]]&lt;br /&gt;
* 7.4 [[Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Segmentación y paginación ==&lt;br /&gt;
&lt;br /&gt;
* 8.1 [[Introducción|Introducción]]&lt;br /&gt;
* 8.2 [[SO multiprogramables con particiones variables|SO multiprogramables con particiones variables]]&lt;br /&gt;
* 8.3 [[Segmentación|Segmentación]]&lt;br /&gt;
* 8.4 [[Paginación|Paginación]]&lt;br /&gt;
* 8.5 [[Sistema combinado|Sistema combinado]]&lt;br /&gt;
* 8.6 [[Ejercicios administración de memoria contigua|Ejercicios (Administración de memoria contigua)]]&lt;br /&gt;
* 8.7 [[Ejemplo de segmentación, paginación y combinado|Ejercicios (Segmentación, paginación y sistemas combinados)]]&lt;br /&gt;
&lt;br /&gt;
== Memoria virtual ==&lt;br /&gt;
&lt;br /&gt;
* 9.1 [[Memoria Virtual|Introducción]]&lt;br /&gt;
* 9.2 [[Criterios de reemplazo|Criterios de reemplazo]]&lt;br /&gt;
* 9.3 [[Memoria virtual con multiprogramacion|Otros aspectos relacionados con la memoria virtual]]&lt;br /&gt;
* 9.4 [[Ejercicios memoria virtual|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Entrada/Salida ==&lt;br /&gt;
&lt;br /&gt;
* 10.1 [[EstructuraES|Estructura dispositivo E/S]]&lt;br /&gt;
* 10.2 [[GestionES|Modos de gestionar dispositivos E/S]]&lt;br /&gt;
* 10.3 [[Diseño modular E/S|Diseño modular E/S]]&lt;br /&gt;
* 10.4 [[Ejercicios de Entrada/Salida|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Gestión L/E ==&lt;br /&gt;
&lt;br /&gt;
* 11.1 [[Discos Magnéticos|Discos Magnéticos]]&lt;br /&gt;
* 11.2 [[Mejoras de tiempos de desplazamiento|Mejoras de tiempos de desplazamiento]]&lt;br /&gt;
* 11.3 [[Mejoras en la demora de rotación|Mejoras en la demora de rotación]]&lt;br /&gt;
* 11.4 [[Tipos de errores en discos magnéticos|Tipos de errores en discos magnéticos]]&lt;br /&gt;
* 11.5 [[Ejercicios Gestión L/E|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Administración de archivos ==&lt;br /&gt;
&lt;br /&gt;
* 12.1 [[Introducción en la administración de archivos|Introducción en la administración de archivos]]&lt;br /&gt;
* 12.2 [[FAT|FAT]]&lt;br /&gt;
* 12.3 [[EXT2 |EXT2]]&lt;br /&gt;
* 12.4 [[Ejercicios Administración Ficheros|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Anexo ==&lt;br /&gt;
&lt;br /&gt;
Esta sección contiene información interesante pero que no pertenece al temario de la asignatura.&lt;br /&gt;
&lt;br /&gt;
* Todo lo que siempre has querido saber sobre el protocolo SSH está [[SSH|aquí]].&lt;/div&gt;</summary>
		<author><name>Robmannak</name></author>	</entry>

	</feed>