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

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

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

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Conceptos_b%C3%A1sicos&amp;diff=2722</id>
		<title>Conceptos básicos</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Conceptos_b%C3%A1sicos&amp;diff=2722"/>
				<updated>2013-01-19T11:29:53Z</updated>
		
		<summary type="html">&lt;p&gt;Alesanmed: /* 2.6. Conceptos básicos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 2.6. Conceptos básicos = &lt;br /&gt;
A continuación se desarrollan conceptos básicos que se emplearán a lo largo de la asignatura.&lt;br /&gt;
&lt;br /&gt;
== Programa ==&lt;br /&gt;
&lt;br /&gt;
Un programa es una secuencia de instrucciones que, al ejecutarse, desarrolla algún tipo de actividad.&lt;br /&gt;
&lt;br /&gt;
Un programa, generalmente, se expresa en un lenguaje de programación de medio o alto nivel (tales como C, C++, Python, Java, Perl, Php, C#, etc) que, mediante un compilador o máquina virtual, se traduce a instrucciones de bajo nivel que corresponden al juego de instrucciones que ofrece el procesador.&lt;br /&gt;
&lt;br /&gt;
El juego de instrucciones del procesador viene determinado por el fabricante.&lt;br /&gt;
&lt;br /&gt;
== Proceso ==&lt;br /&gt;
&lt;br /&gt;
Un ''proceso'' es una instancia de un programa que está en ejecución. De partida todo proceso dispone de una única línea de ejecución. Se puede entender como la vista dinámica (en ejecución) de un programa.&lt;br /&gt;
&lt;br /&gt;
=== Procesos en sistemas operativos tipo Unix ===&lt;br /&gt;
&lt;br /&gt;
* Todo proceso en un sistema operativo tipo Unix tiene un proceso padre y a su vez puede disponer uno o más de un proceso hijo.&lt;br /&gt;
&lt;br /&gt;
* Todo proceso en un sistema operativo tipo Unix tiene un propietario, que se trata del usuario que ha lanzado dicho proceso.&lt;br /&gt;
&lt;br /&gt;
* El proceso ''init'' es el padre de todos los procesos. Es la excepción a la norma general, pues no tiene padre.&lt;br /&gt;
&lt;br /&gt;
* La informacion necesaria para administrar un proceso se guarda en una estructura controlada por el S.O. llamada Bloque de Control de * Procesos o PCB (Process Control Block)&lt;br /&gt;
&lt;br /&gt;
* Para mostrar la relación actual de procesos en el sistema se puede emplear la orden ''ps''.&lt;br /&gt;
&lt;br /&gt;
* Para identificar los procesos el sistema operativo Unix asigna un numero de identificacion del proceso, o pid(Process IDentification).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ ps -ef&lt;br /&gt;
UID        PID  PPID  C STIME TTY          TIME CMD&lt;br /&gt;
root         1     0  0 11:48 ?        00:00:00 /sbin/init&lt;br /&gt;
...&lt;br /&gt;
practica  1712     1 18 12:08 ?        00:00:00 gnome-terminal&lt;br /&gt;
practica  1713  1712  0 12:08 ?        00:00:00 gnome-pty-helper&lt;br /&gt;
practica  1714  1712 20 12:08 pts/0    00:00:00 bash&lt;br /&gt;
practica  1731  1714  0 12:08 pts/0    00:00:00 ps -ef&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La primera columna indica el UID del proceso, la segunda el PID, la tercera el PID del proceso padre. Por último, aparece el nombre del proceso en cuestión.&lt;br /&gt;
&lt;br /&gt;
=== Procesos padre e hijo ===&lt;br /&gt;
&lt;br /&gt;
* Todo proceso (padre) puede lanzar un proceso hijo en cualquier momento, para ello el sistema operativo nos ofrece una llamada al sistema que se denomina ''fork''.&lt;br /&gt;
&lt;br /&gt;
* Un proceso hijo es un proceso clon del padre. Sin embargo, procesos padre e hijo no comparten memoria, son completamente independientes.&lt;br /&gt;
&lt;br /&gt;
* Todo proceso padre es responsable de los procesos hijos que lanza, por ello, todo proceso padre debe recoger el resultado de la ejecución de los procesos hijos para que estos finalicen adecuadamente. Para ello, el sistema operativo ofrece la llamada ''wait'' que nos permite obtener el resultado de la ejecución de uno o varios procesos hijo.&lt;br /&gt;
&lt;br /&gt;
* Si un proceso padre no recupera el resultado de la ejecución de su hijo, se dice que el proceso queda en estado '''zombi'''. Un proceso hijo zombi es un proceso que ha terminado su ejecución y que está pendiente de que su padre recoja el resultado de su ejecución.&lt;br /&gt;
&lt;br /&gt;
== [[Llamadas_al_sistema|Llamadas a sistema ]]==&lt;br /&gt;
&lt;br /&gt;
* Se implementan a través de una interfaz (o API) que ofrece el Sistema Operativo. Son mecanismos que el S.O. pone a disposición de los procesos para solicitar un servicio o recurso. (Otra definición, según Wikipedia: Llamadas que ejecutan los programas de aplicación para pedir algún servicio al SO.) Estas llamadas a sistema evitan que el proceso acceda directamente a los recursos del hardware.&lt;br /&gt;
En el caso de Linux tiene aproximadamente 350 llamadas al sistema en la versión 3.0.0.&lt;br /&gt;
La mayor parte de los Sistemas Operativos suelen implementar la API POSIX por razones de portabilidad.&lt;br /&gt;
&lt;br /&gt;
== Usuario ==&lt;br /&gt;
&lt;br /&gt;
* Sujeto que interactúa con la computadora. Puede ser un humano o un autómata (software). &lt;br /&gt;
&lt;br /&gt;
* En sistemas UNIX encontramos un código único para cada uno, el UID (User IDentifier). A su vez debe pertenecer a un grupo, definido por el GID (Group IDentifier).&lt;br /&gt;
&lt;br /&gt;
== [[Introducción_en_la_administración_de_archivos#Fichero|Fichero ]]==&lt;br /&gt;
&lt;br /&gt;
* Estructura de datos que almacena información.&lt;br /&gt;
&lt;br /&gt;
Los ficheros se identifican mediante su nombre y su extension (un apendice que se utiliza para indicar el tipo de informacion que contiene el fichero).&lt;br /&gt;
&lt;br /&gt;
El lugar donde se encuentra un fichero viene dado por su directorio. Dentro de un directorio pueden existir otros directorios (llamados subdirectorios) lo que da lugar a una organizacion en forma de arbol.&lt;br /&gt;
&lt;br /&gt;
Al camino que debemos seguir para encontrar un fichero lo llamamos '''camino absoluto (absolute path)''', y al camino que debemos seguir para encontrar el fichero en relación a otro fichero, que no sea el fichero raíz, se le conoce cómo '''camino relativo (relative path)'''.&lt;/div&gt;</summary>
		<author><name>Alesanmed</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Componentes_b%C3%A1sicos_de_un_sistema_operativo&amp;diff=2721</id>
		<title>Componentes básicos de un sistema operativo</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Componentes_b%C3%A1sicos_de_un_sistema_operativo&amp;diff=2721"/>
				<updated>2013-01-19T11:29:20Z</updated>
		
		<summary type="html">&lt;p&gt;Alesanmed: /* 2.5. Componentes básicos de un Sistema Operativo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=2.5. Componentes básicos de un Sistema Operativo =&lt;br /&gt;
&lt;br /&gt;
Los componentes básicos de un sistema operativo son los siguientes:&lt;br /&gt;
&lt;br /&gt;
===[[Planificador_de_procesos|Gestión de procesos]]=== &lt;br /&gt;
&lt;br /&gt;
Un procesador se dedica exclusivamente a un proceso, con todos sus recursos, no puede dedicar unos recursos a un proceso y el resto a otro proceso simultáneamente. Incluye:&lt;br /&gt;
* Planificación de procesos: se trata de la parte del sistema operativo que decide qué proceso emplea el procesador en cada instante de tiempo.&lt;br /&gt;
* Mecanismos de comunicación entre procesos: permiten comunicar a dos procesos del sistema operativo, tales como la mensajería.&lt;br /&gt;
* Mecanismos de sincronización: permiten coordinar a procesos que realizan accesos concurrentes a un cierto recurso.&lt;br /&gt;
&lt;br /&gt;
===[[Introducción| Administración de memoria principal]]===&lt;br /&gt;
&lt;br /&gt;
Tiene como objetivo la gestión de la memoria principal, lo que incluye la gestión del espacio de memoria principal libre y ocupada, así como la asignación de memoria principal a los procesos.&lt;br /&gt;
&lt;br /&gt;
===[[Introducción_en_la_administración_de_archivos| Administración de ficheros]]===&lt;br /&gt;
&lt;br /&gt;
Gestiona la manera en que la información se almacena en dispositivos de entrada/salida que permiten el almacenamiento estable.&lt;br /&gt;
&lt;br /&gt;
===[[GestionES|Gestión de los dispositivos de entrada/salida (driver)]]===&lt;br /&gt;
&lt;br /&gt;
Parte del sistema operativo que conoce los detalles específicos de cada dispositivo, lo que permite poder operar con él. &lt;br /&gt;
&lt;br /&gt;
Además, el sistema operativo ofrece:&lt;br /&gt;
&lt;br /&gt;
* Lanzador de aplicaciones: permite el lanzamiento de un programa. Esto incluye los intérpretes de órdenes textuales y los basados en gestores de ventanas.&lt;br /&gt;
* Llamadas al sistema: conjunto de servicios que los procesos pueden solicitar al sistema operativo.&lt;/div&gt;</summary>
		<author><name>Alesanmed</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Arranque_del_sistema&amp;diff=2720</id>
		<title>Arranque del sistema</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Arranque_del_sistema&amp;diff=2720"/>
				<updated>2013-01-19T11:28:52Z</updated>
		
		<summary type="html">&lt;p&gt;Alesanmed: /* Arranque de un sistema operativo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Arranque de un sistema operativo==&lt;br /&gt;
&lt;br /&gt;
El arranque de un sistema operativo suele ser un proceso muy común hasta cierto punto, en el cual difieren en función del tipo de sistema.&lt;br /&gt;
&lt;br /&gt;
1. Se inicia el procesador y se prepara para ejecutar instrucciones, las condiciones iniciales son fijas.&lt;br /&gt;
&lt;br /&gt;
2. Se ejecutan las primeras instrucciones.&lt;br /&gt;
&lt;br /&gt;
Un poco de historia:&lt;br /&gt;
* Inicialmente, las instrucciones se metían a mano desde un panel.&lt;br /&gt;
* Los equipos más grandes tenían las instrucciones en una ROM, las cuales se copiaban la RAM.&lt;br /&gt;
* Los equipos basados en microprocesadores tienen las instrucciones en una memoria junto a la BIOS. La ventaja de esto es que no hay que                                                                                           copiarlas a la RAM, el inconveniente es que dichas instrucciones ocupan memoria.&lt;br /&gt;
&lt;br /&gt;
A partir de aquí, el proceso de arranque difiere, en ésta entrada trataremos el arranque de los equipos tipo PC.&lt;br /&gt;
&lt;br /&gt;
Estos equipos, al ser de arquitectura abierta, no sólo contemplan la BIOS como su propia ROM, sino también dispositivos externos.&lt;br /&gt;
&lt;br /&gt;
3. Se inicia lo principal (comprobación de memoria, pantalla, teclado, reloj…).&lt;br /&gt;
&lt;br /&gt;
4. Se inician los dispositivos adicionales con ROM propia. Se miran ciertas posiciones de memoria, y si no están vacías, la ROM principal salta ahí para iniciar el dispositivo (disco duro, disquete,…).&lt;br /&gt;
&lt;br /&gt;
5. Se determina de dónde se cargará el SO. Para esto, la BIOS carga un pequeño programa que es el que inicia el SO.&lt;br /&gt;
&lt;br /&gt;
En caso de que éste se inicie desde el disco duro, la BIOS consultará la posición 0 del disco, en la que se encuentra la tabla de particiones, donde se indica dónde está el programa de carga del SO, el cual se iniciará y continuará con el proceso de arranque.&lt;br /&gt;
&lt;br /&gt;
6. Se carga la parte principal del sistema operativo.&lt;br /&gt;
&lt;br /&gt;
7. Se inicia el sistema operativo.&lt;br /&gt;
* Se inician los elementos fundamentales del sistema operativo.&lt;br /&gt;
* Se inician los elementos fundamentales de lectura/escritura (drivers).&lt;br /&gt;
* Se comprueba el sistema de archivos.&lt;br /&gt;
* Se completan las pruebas y se carga el software adicional.&lt;br /&gt;
* Se arrancan los procesos necesarios del SO para que realice sus inicializaciones particulares.&lt;br /&gt;
* En ciertos casos, se inicia un archivo de órdenes que arranca los programas de servicios.&lt;br /&gt;
&lt;br /&gt;
A partir de éste punto, se realiza una nueva división, en función de si el SO es interactivo sin identificación de usuario (MS-DOS, por ejemplo), si requiere identificación, si es por lotes sencillos o si es por lotes superior.&lt;br /&gt;
&lt;br /&gt;
8a. Se lanza el intérprete de órdenes y/la interfaz gráfica.&lt;br /&gt;
&lt;br /&gt;
8b. Se lanza un proceso de log-in por cada terminal, el cual se mantiene en espera hasta que se identifique correctamente, punto en el cual, se  lanzará el intérprete y la UI (interfaz de usuario).&lt;br /&gt;
&lt;br /&gt;
8c. Se pone en marcha la cola de trabajos.&lt;br /&gt;
&lt;br /&gt;
8d. Se inicia sesión en la consola del operador y éste montará los dispositivos, fijará los criterios de funcionamiento…&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Componentes básicos de un sistema operativo|2.5 Componentes básicos de un sistema operativo]]&lt;/div&gt;</summary>
		<author><name>Alesanmed</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Arranque_del_sistema&amp;diff=2719</id>
		<title>Arranque del sistema</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Arranque_del_sistema&amp;diff=2719"/>
				<updated>2013-01-19T11:27:56Z</updated>
		
		<summary type="html">&lt;p&gt;Alesanmed: /* Arranque de un sistema operativo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Arranque de un sistema operativo==&lt;br /&gt;
&lt;br /&gt;
El arranque de un sistema operativo suele ser un proceso muy común hasta cierto punto, en el cual difieren en función del tipo de sistema.&lt;br /&gt;
&lt;br /&gt;
1. Se inicia el procesador y se prepara para ejecutar instrucciones, las condiciones iniciales son fijas.&lt;br /&gt;
&lt;br /&gt;
2. Se ejecutan las primeras instrucciones.&lt;br /&gt;
&lt;br /&gt;
Un poco de historia:&lt;br /&gt;
* Inicialmente, las instrucciones se metían a mano desde un panel.&lt;br /&gt;
* Los equipos más grandes tenían las instrucciones en una ROM, las cuales se copiaban la RAM.&lt;br /&gt;
* Los equipos basados en microprocesadores tienen las instrucciones en una memoria junto a la BIOS. La ventaja de esto es que no hay que                                                                                           copiarlas a la RAM, el inconveniente es que dichas instrucciones ocupan memoria.&lt;br /&gt;
&lt;br /&gt;
A partir de aquí, el proceso de arranque difiere, en ésta entrada trataremos el arranque de los equipos tipo PC.&lt;br /&gt;
&lt;br /&gt;
Estos equipos, al ser de arquitectura abierta, no sólo contemplan la BIOS como su propia ROM, sino también dispositivos externos.&lt;br /&gt;
&lt;br /&gt;
3. Se inicia lo principal (comprobación de memoria, pantalla, teclado, reloj…).&lt;br /&gt;
&lt;br /&gt;
4. Se inician los dispositivos adicionales con ROM propia. Se miran ciertas posiciones de memoria, y si no están vacías, la ROM principal salta ahí para iniciar el dispositivo (disco duro, disquete,…).&lt;br /&gt;
&lt;br /&gt;
5. Se determina de dónde se cargará el SO. Para esto, la BIOS carga un pequeño programa que es el que inicia el SO.&lt;br /&gt;
&lt;br /&gt;
En caso de que éste se inicie desde el disco duro, la BIOS consultará la posición 0 del disco, en la que se encuentra la tabla de particiones, donde se indica dónde está el programa de carga del SO, el cual se iniciará y continuará con el proceso de arranque.&lt;br /&gt;
&lt;br /&gt;
6. Se carga la parte principal del sistema operativo.&lt;br /&gt;
&lt;br /&gt;
7. Se inicia el sistema operativo.&lt;br /&gt;
* Se inician los elementos fundamentales del sistema operativo.&lt;br /&gt;
* Se inician los elementos fundamentales de lectura/escritura (drivers).&lt;br /&gt;
* Se comprueba el sistema de archivos.&lt;br /&gt;
* Se completan las pruebas y se carga el software adicional.&lt;br /&gt;
* Se arrancan los procesos necesarios del SO para que realice sus inicializaciones particulares.&lt;br /&gt;
* En ciertos casos, se inicia un archivo de órdenes que arranca los programas de servicios.&lt;br /&gt;
&lt;br /&gt;
A partir de éste punto, se realiza una nueva división, en función de si el SO es interactivo sin identificación de usuario (MS-DOS, por ejemplo), si requiere identificación, si es por lotes sencillos o si es por lotes superior.&lt;br /&gt;
&lt;br /&gt;
8a. Se lanza el intérprete de órdenes y/la interfaz gráfica.&lt;br /&gt;
&lt;br /&gt;
8b. Se lanza un proceso de log-in por cada terminal, el cual se mantiene en espera hasta que se identifique correctamente, punto en el cual, se  lanzará el intérprete y la UI (interfaz de usuario).&lt;br /&gt;
&lt;br /&gt;
8c. Se pone en marcha la cola de trabajos.&lt;br /&gt;
&lt;br /&gt;
8d. Se inicia sesión en la consola del operador y éste montará los dispositivos, fijará los criterios de funcionamiento…&lt;/div&gt;</summary>
		<author><name>Alesanmed</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Arranque_del_sistema&amp;diff=2718</id>
		<title>Arranque del sistema</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Arranque_del_sistema&amp;diff=2718"/>
				<updated>2013-01-19T11:27:34Z</updated>
		
		<summary type="html">&lt;p&gt;Alesanmed: /* Arranque de un SO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Arranque de un sistema operativo==&lt;br /&gt;
&lt;br /&gt;
El arranque de un sistema operativo suele ser un proceso muy común hasta cierto punto, en el cual difieren en función del tipo de sistema.&lt;br /&gt;
&lt;br /&gt;
1. Se inicia el procesador y se prepara para ejecutar instrucciones, las condiciones iniciales son fijas.&lt;br /&gt;
&lt;br /&gt;
2. Se ejecutan las primeras instrucciones.&lt;br /&gt;
&lt;br /&gt;
 Un poco de historia:&lt;br /&gt;
  * Inicialmente, las instrucciones se metían a mano desde un panel.&lt;br /&gt;
  * Los equipos más grandes tenían las instrucciones en una ROM, las cuales se copiaban la RAM.&lt;br /&gt;
  * Los equipos basados en microprocesadores tienen las instrucciones en una memoria junto a la BIOS. La ventaja de esto es que no hay que                                                                                           copiarlas a la RAM, el inconveniente es que dichas instrucciones ocupan memoria.&lt;br /&gt;
&lt;br /&gt;
A partir de aquí, el proceso de arranque difiere, en ésta entrada trataremos el arranque de los equipos tipo PC.&lt;br /&gt;
&lt;br /&gt;
Estos equipos, al ser de arquitectura abierta, no sólo contemplan la BIOS como su propia ROM, sino también dispositivos externos.&lt;br /&gt;
&lt;br /&gt;
3. Se inicia lo principal (comprobación de memoria, pantalla, teclado, reloj…).&lt;br /&gt;
&lt;br /&gt;
4. Se inician los dispositivos adicionales con ROM propia. Se miran ciertas posiciones de memoria, y si no están vacías, la ROM principal salta ahí para iniciar el dispositivo (disco duro, disquete,…).&lt;br /&gt;
&lt;br /&gt;
5. Se determina de dónde se cargará el SO. Para esto, la BIOS carga un pequeño programa que es el que inicia el SO.&lt;br /&gt;
&lt;br /&gt;
En caso de que éste se inicie desde el disco duro, la BIOS consultará la posición 0 del disco, en la que se encuentra la tabla de particiones, donde se indica dónde está el programa de carga del SO, el cual se iniciará y continuará con el proceso de arranque.&lt;br /&gt;
&lt;br /&gt;
6. Se carga la parte principal del sistema operativo.&lt;br /&gt;
&lt;br /&gt;
7. Se inicia el sistema operativo.&lt;br /&gt;
 * Se inician los elementos fundamentales del sistema operativo.&lt;br /&gt;
 * Se inician los elementos fundamentales de lectura/escritura (drivers).&lt;br /&gt;
 * Se comprueba el sistema de archivos.&lt;br /&gt;
 * Se completan las pruebas y se carga el software adicional.&lt;br /&gt;
 * Se arrancan los procesos necesarios del SO para que realice sus inicializaciones particulares.&lt;br /&gt;
 * En ciertos casos, se inicia un archivo de órdenes que arranca los programas de servicios.&lt;br /&gt;
&lt;br /&gt;
A partir de éste punto, se realiza una nueva división, en función de si el SO es interactivo sin identificación de usuario (MS-DOS, por ejemplo), si requiere identificación, si es por lotes sencillos o si es por lotes superior.&lt;br /&gt;
&lt;br /&gt;
8a. Se lanza el intérprete de órdenes y/la interfaz gráfica.&lt;br /&gt;
&lt;br /&gt;
8b. Se lanza un proceso de log-in por cada terminal, el cual se mantiene en espera hasta que se identifique correctamente, punto en el cual, se  lanzará el intérprete y la UI (interfaz de usuario).&lt;br /&gt;
&lt;br /&gt;
8c. Se pone en marcha la cola de trabajos.&lt;br /&gt;
&lt;br /&gt;
8d. Se inicia sesión en la consola del operador y éste montará los dispositivos, fijará los criterios de funcionamiento…&lt;/div&gt;</summary>
		<author><name>Alesanmed</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Interrupciones_y_excepciones&amp;diff=2717</id>
		<title>Interrupciones y excepciones</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Interrupciones_y_excepciones&amp;diff=2717"/>
				<updated>2013-01-19T11:23:44Z</updated>
		
		<summary type="html">&lt;p&gt;Alesanmed: /* Tratamiento de interrupciones y excepciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Tipos de interrupciones y excepciones==&lt;br /&gt;
&lt;br /&gt;
Se llama interrupción a una alteración en la secuencia de ejecución de instrucciones. Las interrupciones pueden estar causadas por hardware, por una excepción o por una petición de interrupción por parte de algún proceso (interrupción software).&lt;br /&gt;
Una excepción es una interrupción de la propia CPU cuando se intenta ejecutar una instrucción prohibida. La interrupción software, por otro lado, se produce cuando un proceso pide un recurso al SO mediante una llamada al sistema (open, write, read…).&lt;br /&gt;
&lt;br /&gt;
==Tratamiento de interrupciones y excepciones==&lt;br /&gt;
&lt;br /&gt;
Cuando una interrupción es causada por un componente hardware, su tratamiento es el siguiente:&lt;br /&gt;
&lt;br /&gt;
1. La CPU termina la instrucción que esté ejecutando actualmente.&lt;br /&gt;
&lt;br /&gt;
2. Almacena el estado de la CPU en la pila.&lt;br /&gt;
&lt;br /&gt;
3. La CPU pasa a modo supervisor.&lt;br /&gt;
&lt;br /&gt;
4. Se determina la dirección del Subprograma de Servicio de Interrupciones (SSI).&lt;br /&gt;
&lt;br /&gt;
5. Se salta al SSI y se ejecuta.&lt;br /&gt;
&lt;br /&gt;
6. Se retorna del SSI restaurando el estado de la CPU desde la pila, así como el modo de ejecución.&lt;br /&gt;
&lt;br /&gt;
7. La CPU continúa con la ejecución del siguiente programa que corresponda.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, cuando la interrupción es causada por una instrucción de petición, el proceso es el mismo hasta el cuarto punto, a partir de ahí, difiere, ya que la CPU no siempre tiene por qué volver al mismo punto.&lt;br /&gt;
Por último, en el caso de las excepciones, nunca se vuelve al mismo punto, ya que es donde se ha causado el error en cuestión. En éste caso se procede como antes, pero se llama al SSE (Subprograma de Servicio de Excepciones).&lt;br /&gt;
En los sistemas operativos, existe una tabla de vectores de interrupción, en la cual, cada vector apunta a la dirección de memoria del gestor, que se encargará de tratar la interrupción del tipo que corresponda. Ésta tabla está separada de otra, que contiene los vectores de excepciones.&lt;br /&gt;
&lt;br /&gt;
[[Arranque del sistema|2.4 Arranque del sistema]]&lt;/div&gt;</summary>
		<author><name>Alesanmed</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Interrupciones_y_excepciones&amp;diff=2716</id>
		<title>Interrupciones y excepciones</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Interrupciones_y_excepciones&amp;diff=2716"/>
				<updated>2013-01-19T11:23:27Z</updated>
		
		<summary type="html">&lt;p&gt;Alesanmed: /* Tratamiento de interrupciones y excepciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Tipos de interrupciones y excepciones==&lt;br /&gt;
&lt;br /&gt;
Se llama interrupción a una alteración en la secuencia de ejecución de instrucciones. Las interrupciones pueden estar causadas por hardware, por una excepción o por una petición de interrupción por parte de algún proceso (interrupción software).&lt;br /&gt;
Una excepción es una interrupción de la propia CPU cuando se intenta ejecutar una instrucción prohibida. La interrupción software, por otro lado, se produce cuando un proceso pide un recurso al SO mediante una llamada al sistema (open, write, read…).&lt;br /&gt;
&lt;br /&gt;
==Tratamiento de interrupciones y excepciones==&lt;br /&gt;
&lt;br /&gt;
Cuando una interrupción es causada por un componente hardware, su tratamiento es el siguiente:&lt;br /&gt;
&lt;br /&gt;
1. La CPU termina la instrucción que esté ejecutando actualmente.&lt;br /&gt;
&lt;br /&gt;
2. Almacena el estado de la CPU en la pila.&lt;br /&gt;
&lt;br /&gt;
3. La CPU pasa a modo supervisor.&lt;br /&gt;
&lt;br /&gt;
4. Se determina la dirección del Subprograma de Servicio de Interrupciones (SSI).&lt;br /&gt;
&lt;br /&gt;
5. Se salta al SSI y se ejecuta.&lt;br /&gt;
&lt;br /&gt;
6. Se retorna del SSI restaurando el estado de la CPU desde la pila, así como el modo de ejecución.&lt;br /&gt;
&lt;br /&gt;
7. La CPU continúa con la ejecución del siguiente programa que corresponda.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, cuando la interrupción es causada por una instrucción de petición, el proceso es el mismo hasta el cuarto punto, a partir de ahí, difiere, ya que la CPU no siempre tiene por qué volver al mismo punto.&lt;br /&gt;
Por último, en el caso de las excepciones, nunca se vuelve al mismo punto, ya que es donde se ha causado el error en cuestión. En éste caso se procede como antes, pero se llama al SSE (Subprograma de Servicio de Excepciones).&lt;br /&gt;
En los sistemas operativos, existe una tabla de vectores de interrupción, en la cual, cada vector apunta a la dirección de memoria del gestor, que se encargará de tratar la interrupción del tipo que corresponda. Ésta tabla está separada de otra, que contiene los vectores de excepciones.&lt;br /&gt;
&lt;br /&gt;
[[2.4 Arranque del sistema|Arranque del sistema]]&lt;/div&gt;</summary>
		<author><name>Alesanmed</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Modos_de_operaci%C3%B3n_de_la_CPU&amp;diff=2715</id>
		<title>Modos de operación de la CPU</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Modos_de_operaci%C3%B3n_de_la_CPU&amp;diff=2715"/>
				<updated>2013-01-19T11:22:46Z</updated>
		
		<summary type="html">&lt;p&gt;Alesanmed: /* Privilegiado */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 2.3. Modos de operación de la CPU =&lt;br /&gt;
&lt;br /&gt;
Los fabricantes de procesadores actuales ofrecen procesadores que generalmente disponen de, al menos, dos modos de funcionamiento. El estado del procesador se guarda en conjunto de registros de 8, 16, 32 o 64 bits. Además de ellos, el procesador posee dos registros especiales, el de siguiente instrucción (IP, PC,…) y el de estado (CCR):&lt;br /&gt;
&lt;br /&gt;
== No privilegiado ==&lt;br /&gt;
También llamado modo usuario (es preferible no usar este término para no llegar a confusión).&lt;br /&gt;
* Modo en el que se ejecutan los procesos y bibliotecas del sistema operativo. En el caso concreto de los sistemas operativos [[Modelos de Diseño de Sistemas Operativos|micronúcleos]], los servidores también se ejecutan en modo no privilegiado, tales como el servidor de ficheros, el administrador de memoria y los gestores de dispositivo.&lt;br /&gt;
&lt;br /&gt;
* Ofrece únicamente un subconjunto de las instrucciones disponibles.&lt;br /&gt;
&lt;br /&gt;
* Si en éste modo se intenta ejecutar una instrucción privilegiada, el sistema operativo o bien la ignora, o bien lanza una excepción.&lt;br /&gt;
&lt;br /&gt;
== Privilegiado ==&lt;br /&gt;
También llamado modo supervisor (no confundir con usuario root).&lt;br /&gt;
* Modo en el que se ejecuta el núcleo del sistema operativo.&lt;br /&gt;
* Ofrece acceso total a las instrucciones de la CPU.&lt;br /&gt;
Un fallo de programación en modo privilegiado puede plantar el SO, en modo no privilegiado nunca pasaría eso.&lt;br /&gt;
Precisamente esa es la utilidad de tener varios modos de ejecución, la construcción de un sistema robusto.&lt;br /&gt;
En la práctica, lo usual es que los procesadores tengan modos intermedios entre usuario y supervisor.&lt;br /&gt;
La transición de modo supervisor a usuario es arbitraria, mientras que de usuario a supervisor se realiza mediante una interrupción.&lt;br /&gt;
La CPU siempre arranca en modo supervisor, lo cual se intuye, pues en el inicio del dispositivo, se tendrá que ejecutar código del sistema operativo.&lt;br /&gt;
&lt;br /&gt;
2.3. [[Interrupciones y excepciones|Interrupciones y excepciones]]&lt;/div&gt;</summary>
		<author><name>Alesanmed</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Interrupciones_y_excepciones&amp;diff=2714</id>
		<title>Interrupciones y excepciones</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Interrupciones_y_excepciones&amp;diff=2714"/>
				<updated>2013-01-19T11:21:40Z</updated>
		
		<summary type="html">&lt;p&gt;Alesanmed: /* Tratamiento de interrupciones y excepciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Tipos de interrupciones y excepciones==&lt;br /&gt;
&lt;br /&gt;
Se llama interrupción a una alteración en la secuencia de ejecución de instrucciones. Las interrupciones pueden estar causadas por hardware, por una excepción o por una petición de interrupción por parte de algún proceso (interrupción software).&lt;br /&gt;
Una excepción es una interrupción de la propia CPU cuando se intenta ejecutar una instrucción prohibida. La interrupción software, por otro lado, se produce cuando un proceso pide un recurso al SO mediante una llamada al sistema (open, write, read…).&lt;br /&gt;
&lt;br /&gt;
==Tratamiento de interrupciones y excepciones==&lt;br /&gt;
&lt;br /&gt;
Cuando una interrupción es causada por un componente hardware, su tratamiento es el siguiente:&lt;br /&gt;
&lt;br /&gt;
1. La CPU termina la instrucción que esté ejecutando actualmente.&lt;br /&gt;
&lt;br /&gt;
2. Almacena el estado de la CPU en la pila.&lt;br /&gt;
&lt;br /&gt;
3. La CPU pasa a modo supervisor.&lt;br /&gt;
&lt;br /&gt;
4. Se determina la dirección del Subprograma de Servicio de Interrupciones (SSI).&lt;br /&gt;
&lt;br /&gt;
5. Se salta al SSI y se ejecuta.&lt;br /&gt;
&lt;br /&gt;
6. Se retorna del SSI restaurando el estado de la CPU desde la pila, así como el modo de ejecución.&lt;br /&gt;
&lt;br /&gt;
7. La CPU continúa con la ejecución del siguiente programa que corresponda.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, cuando la interrupción es causada por una instrucción de petición, el proceso es el mismo hasta el cuarto punto, a partir de ahí, difiere, ya que la CPU no siempre tiene por qué volver al mismo punto.&lt;br /&gt;
Por último, en el caso de las excepciones, nunca se vuelve al mismo punto, ya que es donde se ha causado el error en cuestión. En éste caso se procede como antes, pero se llama al SSE (Subprograma de Servicio de Excepciones).&lt;br /&gt;
En los sistemas operativos, existe una tabla de vectores de interrupción, en la cual, cada vector apunta a la dirección de memoria del gestor, que se encargará de tratar la interrupción del tipo que corresponda. Ésta tabla está separada de otra, que contiene los vectores de excepciones.&lt;/div&gt;</summary>
		<author><name>Alesanmed</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Interrupciones_y_excepciones&amp;diff=2713</id>
		<title>Interrupciones y excepciones</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Interrupciones_y_excepciones&amp;diff=2713"/>
				<updated>2013-01-19T11:21:06Z</updated>
		
		<summary type="html">&lt;p&gt;Alesanmed: /* Tratamiento de interrupciones y excepciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Tipos de interrupciones y excepciones==&lt;br /&gt;
&lt;br /&gt;
Se llama interrupción a una alteración en la secuencia de ejecución de instrucciones. Las interrupciones pueden estar causadas por hardware, por una excepción o por una petición de interrupción por parte de algún proceso (interrupción software).&lt;br /&gt;
Una excepción es una interrupción de la propia CPU cuando se intenta ejecutar una instrucción prohibida. La interrupción software, por otro lado, se produce cuando un proceso pide un recurso al SO mediante una llamada al sistema (open, write, read…).&lt;br /&gt;
&lt;br /&gt;
==Tratamiento de interrupciones y excepciones==&lt;br /&gt;
&lt;br /&gt;
Cuando una interrupción es causada por un componente hardware, su tratamiento es el siguiente:&lt;br /&gt;
&lt;br /&gt;
 1 La CPU termina la instrucción que esté ejecutando actualmente.&lt;br /&gt;
&lt;br /&gt;
 2 Almacena el estado de la CPU en la pila.&lt;br /&gt;
&lt;br /&gt;
 3 La CPU pasa a modo supervisor.&lt;br /&gt;
&lt;br /&gt;
 4 Se determina la dirección del Subprograma de Servicio de Interrupciones (SSI).&lt;br /&gt;
&lt;br /&gt;
 5 Se salta al SSI y se ejecuta.&lt;br /&gt;
&lt;br /&gt;
 6 Se retorna del SSI restaurando el estado de la CPU desde la pila, así como el modo de ejecución.&lt;br /&gt;
&lt;br /&gt;
 7 La CPU continúa con la ejecución del siguiente programa que corresponda.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, cuando la interrupción es causada por una instrucción de petición, el proceso es el mismo hasta el cuarto punto, a partir de ahí, difiere, ya que la CPU no siempre tiene por qué volver al mismo punto.&lt;br /&gt;
Por último, en el caso de las excepciones, nunca se vuelve al mismo punto, ya que es donde se ha causado el error en cuestión. En éste caso se procede como antes, pero se llama al SSE (Subprograma de Servicio de Excepciones).&lt;br /&gt;
En los sistemas operativos, existe una tabla de vectores de interrupción, en la cual, cada vector apunta a la dirección de memoria del gestor, que se encargará de tratar la interrupción del tipo que corresponda. Ésta tabla está separada de otra, que contiene los vectores de excepciones.&lt;/div&gt;</summary>
		<author><name>Alesanmed</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Interrupciones_y_excepciones&amp;diff=2712</id>
		<title>Interrupciones y excepciones</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Interrupciones_y_excepciones&amp;diff=2712"/>
				<updated>2013-01-19T11:20:49Z</updated>
		
		<summary type="html">&lt;p&gt;Alesanmed: /* Tratamiento de interrupciones y excepciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Tipos de interrupciones y excepciones==&lt;br /&gt;
&lt;br /&gt;
Se llama interrupción a una alteración en la secuencia de ejecución de instrucciones. Las interrupciones pueden estar causadas por hardware, por una excepción o por una petición de interrupción por parte de algún proceso (interrupción software).&lt;br /&gt;
Una excepción es una interrupción de la propia CPU cuando se intenta ejecutar una instrucción prohibida. La interrupción software, por otro lado, se produce cuando un proceso pide un recurso al SO mediante una llamada al sistema (open, write, read…).&lt;br /&gt;
&lt;br /&gt;
==Tratamiento de interrupciones y excepciones==&lt;br /&gt;
&lt;br /&gt;
Cuando una interrupción es causada por un componente hardware, su tratamiento es el siguiente:&lt;br /&gt;
1 La CPU termina la instrucción que esté ejecutando actualmente.&lt;br /&gt;
2 Almacena el estado de la CPU en la pila.&lt;br /&gt;
&lt;br /&gt;
3 La CPU pasa a modo supervisor.&lt;br /&gt;
&lt;br /&gt;
4 Se determina la dirección del Subprograma de Servicio de Interrupciones (SSI).&lt;br /&gt;
&lt;br /&gt;
5 Se salta al SSI y se ejecuta.&lt;br /&gt;
&lt;br /&gt;
6 Se retorna del SSI restaurando el estado de la CPU desde la pila, así como el modo de ejecución.&lt;br /&gt;
&lt;br /&gt;
7 La CPU continúa con la ejecución del siguiente programa que corresponda.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, cuando la interrupción es causada por una instrucción de petición, el proceso es el mismo hasta el cuarto punto, a partir de ahí, difiere, ya que la CPU no siempre tiene por qué volver al mismo punto.&lt;br /&gt;
Por último, en el caso de las excepciones, nunca se vuelve al mismo punto, ya que es donde se ha causado el error en cuestión. En éste caso se procede como antes, pero se llama al SSE (Subprograma de Servicio de Excepciones).&lt;br /&gt;
En los sistemas operativos, existe una tabla de vectores de interrupción, en la cual, cada vector apunta a la dirección de memoria del gestor, que se encargará de tratar la interrupción del tipo que corresponda. Ésta tabla está separada de otra, que contiene los vectores de excepciones.&lt;/div&gt;</summary>
		<author><name>Alesanmed</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Interrupciones_y_excepciones&amp;diff=2711</id>
		<title>Interrupciones y excepciones</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Interrupciones_y_excepciones&amp;diff=2711"/>
				<updated>2013-01-19T11:20:33Z</updated>
		
		<summary type="html">&lt;p&gt;Alesanmed: /* Tratamiento de interrupciones y excepciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Tipos de interrupciones y excepciones==&lt;br /&gt;
&lt;br /&gt;
Se llama interrupción a una alteración en la secuencia de ejecución de instrucciones. Las interrupciones pueden estar causadas por hardware, por una excepción o por una petición de interrupción por parte de algún proceso (interrupción software).&lt;br /&gt;
Una excepción es una interrupción de la propia CPU cuando se intenta ejecutar una instrucción prohibida. La interrupción software, por otro lado, se produce cuando un proceso pide un recurso al SO mediante una llamada al sistema (open, write, read…).&lt;br /&gt;
&lt;br /&gt;
==Tratamiento de interrupciones y excepciones==&lt;br /&gt;
&lt;br /&gt;
Cuando una interrupción es causada por un componente hardware, su tratamiento es el siguiente:&lt;br /&gt;
1 La CPU termina la instrucción que esté ejecutando actualmente.&lt;br /&gt;
2 Almacena el estado de la CPU en la pila.&lt;br /&gt;
3 La CPU pasa a modo supervisor.&lt;br /&gt;
4 Se determina la dirección del Subprograma de Servicio de Interrupciones (SSI).&lt;br /&gt;
5 Se salta al SSI y se ejecuta.&lt;br /&gt;
6 Se retorna del SSI restaurando el estado de la CPU desde la pila, así como el modo de ejecución.&lt;br /&gt;
7 La CPU continúa con la ejecución del siguiente programa que corresponda.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, cuando la interrupción es causada por una instrucción de petición, el proceso es el mismo hasta el cuarto punto, a partir de ahí, difiere, ya que la CPU no siempre tiene por qué volver al mismo punto.&lt;br /&gt;
Por último, en el caso de las excepciones, nunca se vuelve al mismo punto, ya que es donde se ha causado el error en cuestión. En éste caso se procede como antes, pero se llama al SSE (Subprograma de Servicio de Excepciones).&lt;br /&gt;
En los sistemas operativos, existe una tabla de vectores de interrupción, en la cual, cada vector apunta a la dirección de memoria del gestor, que se encargará de tratar la interrupción del tipo que corresponda. Ésta tabla está separada de otra, que contiene los vectores de excepciones.&lt;/div&gt;</summary>
		<author><name>Alesanmed</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Interrupciones_y_excepciones&amp;diff=2710</id>
		<title>Interrupciones y excepciones</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Interrupciones_y_excepciones&amp;diff=2710"/>
				<updated>2013-01-19T11:20:11Z</updated>
		
		<summary type="html">&lt;p&gt;Alesanmed: /* Tratamiento de interrupciones y excepciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Tipos de interrupciones y excepciones==&lt;br /&gt;
&lt;br /&gt;
Se llama interrupción a una alteración en la secuencia de ejecución de instrucciones. Las interrupciones pueden estar causadas por hardware, por una excepción o por una petición de interrupción por parte de algún proceso (interrupción software).&lt;br /&gt;
Una excepción es una interrupción de la propia CPU cuando se intenta ejecutar una instrucción prohibida. La interrupción software, por otro lado, se produce cuando un proceso pide un recurso al SO mediante una llamada al sistema (open, write, read…).&lt;br /&gt;
&lt;br /&gt;
==Tratamiento de interrupciones y excepciones==&lt;br /&gt;
&lt;br /&gt;
Cuando una interrupción es causada por un componente hardware, su tratamiento es el siguiente:&lt;br /&gt;
 1 La CPU termina la instrucción que esté ejecutando actualmente.&lt;br /&gt;
 2 Almacena el estado de la CPU en la pila.&lt;br /&gt;
 3 La CPU pasa a modo supervisor.&lt;br /&gt;
 4 Se determina la dirección del Subprograma de Servicio de Interrupciones (SSI).&lt;br /&gt;
 5 Se salta al SSI y se ejecuta.&lt;br /&gt;
 6 Se retorna del SSI restaurando el estado de la CPU desde la pila, así como el modo de ejecución.&lt;br /&gt;
 7 La CPU continúa con la ejecución del siguiente programa que corresponda.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, cuando la interrupción es causada por una instrucción de petición, el proceso es el mismo hasta el cuarto punto, a partir de ahí, difiere, ya que la CPU no siempre tiene por qué volver al mismo punto.&lt;br /&gt;
Por último, en el caso de las excepciones, nunca se vuelve al mismo punto, ya que es donde se ha causado el error en cuestión. En éste caso se procede como antes, pero se llama al SSE (Subprograma de Servicio de Excepciones).&lt;br /&gt;
En los sistemas operativos, existe una tabla de vectores de interrupción, en la cual, cada vector apunta a la dirección de memoria del gestor, que se encargará de tratar la interrupción del tipo que corresponda. Ésta tabla está separada de otra, que contiene los vectores de excepciones.&lt;/div&gt;</summary>
		<author><name>Alesanmed</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Interrupciones_y_excepciones&amp;diff=2709</id>
		<title>Interrupciones y excepciones</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Interrupciones_y_excepciones&amp;diff=2709"/>
				<updated>2013-01-19T11:18:46Z</updated>
		
		<summary type="html">&lt;p&gt;Alesanmed: /* Tratamiento de interrupciones y excepciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Tipos de interrupciones y excepciones==&lt;br /&gt;
&lt;br /&gt;
Se llama interrupción a una alteración en la secuencia de ejecución de instrucciones. Las interrupciones pueden estar causadas por hardware, por una excepción o por una petición de interrupción por parte de algún proceso (interrupción software).&lt;br /&gt;
Una excepción es una interrupción de la propia CPU cuando se intenta ejecutar una instrucción prohibida. La interrupción software, por otro lado, se produce cuando un proceso pide un recurso al SO mediante una llamada al sistema (open, write, read…).&lt;br /&gt;
&lt;br /&gt;
==Tratamiento de interrupciones y excepciones==&lt;br /&gt;
&lt;br /&gt;
Cuando una interrupción es causada por un componente hardware, su tratamiento es el siguiente:&lt;br /&gt;
 1. La CPU termina la instrucción que esté ejecutando actualmente.&lt;br /&gt;
 2. Almacena el estado de la CPU en la pila.&lt;br /&gt;
 3. La CPU pasa a modo supervisor.&lt;br /&gt;
 4. Se determina la dirección del Subprograma de Servicio de Interrupciones (SSI).&lt;br /&gt;
 5. Se salta al SSI y se ejecuta.&lt;br /&gt;
 6. Se retorna del SSI restaurando el estado de la CPU desde la pila, así como el modo de ejecución.&lt;br /&gt;
 7. La CPU continúa con la ejecución del siguiente programa que corresponda.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, cuando la interrupción es causada por una instrucción de petición, el proceso es el mismo hasta el cuarto punto, a partir de ahí, difiere, ya que la CPU no siempre tiene por qué volver al mismo punto.&lt;br /&gt;
Por último, en el caso de las excepciones, nunca se vuelve al mismo punto, ya que es donde se ha causado el error en cuestión. En éste caso se procede como antes, pero se llama al SSE (Subprograma de Servicio de Excepciones).&lt;br /&gt;
En los sistemas operativos, existe una tabla de vectores de interrupción, en la cual, cada vector apunta a la dirección de memoria del gestor, que se encargará de tratar la interrupción del tipo que corresponda. Ésta tabla está separada de otra, que contiene los vectores de excepciones.&lt;/div&gt;</summary>
		<author><name>Alesanmed</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Interrupciones_y_excepciones&amp;diff=2708</id>
		<title>Interrupciones y excepciones</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Interrupciones_y_excepciones&amp;diff=2708"/>
				<updated>2013-01-19T11:16:13Z</updated>
		
		<summary type="html">&lt;p&gt;Alesanmed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Tipos de interrupciones y excepciones==&lt;br /&gt;
&lt;br /&gt;
Se llama interrupción a una alteración en la secuencia de ejecución de instrucciones. Las interrupciones pueden estar causadas por hardware, por una excepción o por una petición de interrupción por parte de algún proceso (interrupción software).&lt;br /&gt;
Una excepción es una interrupción de la propia CPU cuando se intenta ejecutar una instrucción prohibida. La interrupción software, por otro lado, se produce cuando un proceso pide un recurso al SO mediante una llamada al sistema (open, write, read…).&lt;br /&gt;
&lt;br /&gt;
==Tratamiento de interrupciones y excepciones==&lt;br /&gt;
&lt;br /&gt;
Cuando una interrupción es causada por un componente hardware, su tratamiento es el siguiente:&lt;/div&gt;</summary>
		<author><name>Alesanmed</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Interrupciones_y_excepciones&amp;diff=2707</id>
		<title>Interrupciones y excepciones</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Interrupciones_y_excepciones&amp;diff=2707"/>
				<updated>2013-01-19T11:13:05Z</updated>
		
		<summary type="html">&lt;p&gt;Alesanmed: Página creada con 'Se llama interrupción a una alteración en la secuencia de ejecución de instrucciones. Las interrupciones pueden estar causadas por hardware, por una excepción o por una peti…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Se llama interrupción a una alteración en la secuencia de ejecución de instrucciones. Las interrupciones pueden estar causadas por hardware, por una excepción o por una petición de interrupción por parte de algún proceso (interrupción software).&lt;br /&gt;
Una excepción es una interrupción de la propia CPU cuando se intenta ejecutar una instrucción prohibida. La interrupción software, por otro lado, se produce cuando un proceso pide un recurso al SO mediante una llamada al sistema (open, write, read…).&lt;/div&gt;</summary>
		<author><name>Alesanmed</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=P%C3%A1gina_Principal&amp;diff=2706</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=2706"/>
				<updated>2013-01-19T11:12:21Z</updated>
		
		<summary type="html">&lt;p&gt;Alesanmed: /* Fundamentos de 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;
* Comienza el curso 2012/2013 --[[Usuario:Pneira|Pneira]] 15:01 28 sep 2012 (UTC)&lt;br /&gt;
* Primer control de evaluación continua del grupo GC2 el viernes 9 de noviembre --[[Usuario:Pneira|Pneira]] 16:47 26 oct 2012 (UTC)&lt;br /&gt;
* Segundo control de evaluación continua del grupo GC2 el viernes 14 de diciembre --[[Usuario:Pneira|Pneira]] 16:13 28 nov 2012 (UTC)&lt;br /&gt;
* Tercer control de evaluación continua del grupo GC2 el viernes 21 de diciembre --[[Usuario:Pneira|Pneira]] 15:10 12 dic 2012 (UTC)&lt;br /&gt;
* Notas del grupo de inglés disponibles pinchando [http://1984.lsi.us.es/~pablo/notas/english.txt aquí] --[[Usuario:Pneira|Pneira]] 16:48 11 ene 2013 (UTC)&lt;br /&gt;
* Notas de los controles 1, 2 y 3 del grupo GIC2 disponibles pinchando [http://1984.lsi.us.es/~pablo/notas/gic2.pdf aquí]. La revisión es el miércoles después de clase, a partir de las 17h30 --[[Usuario:Pneira|Pneira]] 20:41 11 ene 2013 (UTC)&lt;br /&gt;
* Notas del control 1,2,3 y 4 del grupo GIS1 disponibles pinchando [http://1984.lsi.us.es/~pablo/notas/gis1-final.pdf aquí]. --[[Usuario:Pneira|Pneira]] 14:46 16 ene 2013 (UTC)&lt;br /&gt;
* Revisión de controles el viernes 18 de enero después del control 4 --[[Usuario:Pneira|Pneira]] 19:16 17 ene 2013 (UTC)&lt;br /&gt;
* Si quieres que se te tenga en cuenta la posible subida de nota por contribuciones realizadas a la wiki, pincha [[Evaluame mis contribuciones a la wiki|aquí]]. --[[Usuario:Pneira|Pneira]] 19:23 17 ene 2013 (UTC)&lt;br /&gt;
* Notas del grupo de inglés del control 2, 3 y 4, pincha [http://1984.lsi.us.es/~pablo/notas/english.txt aquí]. --[[Usuario:Pneira|Pneira]] 10:04 18 ene 2013 (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;
&lt;br /&gt;
== Semáforos y comunicación ==&lt;br /&gt;
&lt;br /&gt;
* 7.1 [[Semáforos|Semáforos]]&lt;br /&gt;
* 7.2 [[Monitores|Monitores]]&lt;br /&gt;
* 7.3 [[Mensajería|Mensajería]]&lt;br /&gt;
* 7.4 [[Ejercicios sincronización y comunicación|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Interbloqueo ==&lt;br /&gt;
&lt;br /&gt;
* 8.1 [[Definición de interbloqueo|Definición]]&lt;br /&gt;
* 8.2 [[Condiciones para el interbloqueo y estrategias de resolución|Modelado y Estrategias]]&lt;br /&gt;
* 8.3 [[Algoritmo para averiguar interbloqueo|Algoritmo del banquero]]&lt;br /&gt;
* 8.4 [[Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Segmentación y paginación ==&lt;br /&gt;
&lt;br /&gt;
* 9.1 [[Introducción|Introducción]]&lt;br /&gt;
* 9.2 [[SO multiprogramables con particiones variables|SO multiprogramables con particiones variables]]&lt;br /&gt;
* 9.3 [[Segmentacion|Segmentación]]&lt;br /&gt;
* 9.4 [[Paginación|Paginación]]&lt;br /&gt;
* 9.5 [[Sistema combinado|Sistema combinado]]&lt;br /&gt;
* 9.6 [[Memoria virtual con multiprogramacion|Memoria virtual con multiprogramación]]&lt;br /&gt;
* 9.7 [[Ejercicios administración de memoria contigua|Ejercicios (Administración de memoria contigua)]]&lt;br /&gt;
* 9.8 [[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;
* 10.1 [[Memoria Virtual|Introducción]]&lt;br /&gt;
* 10.2 [[Criterios de reemplazo|Criterios de reemplazo]]&lt;br /&gt;
* 10.3 [[Ejercicios memoria virtual|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Entrada/Salida ==&lt;br /&gt;
&lt;br /&gt;
* 11.1 [[EstructuraES|Estructura dispositivo E/S]]&lt;br /&gt;
* 11.2 [[GestionES|Modos de gestionar dispositivos E/S]]&lt;br /&gt;
* 11.3 [[Diseño modular E/S|Diseño modular E/S]]&lt;br /&gt;
* 11.4 [[Ejercicios de Entrada/Salida|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Gestión L/E ==&lt;br /&gt;
&lt;br /&gt;
* 12.1 [[Discos Magnéticos|Discos Magnéticos]]&lt;br /&gt;
* 12.2 [[MejorasTiempoBusqueda|Mejoras en el tiempo de búsqueda]]&lt;br /&gt;
* 12.3 [[Mejoras en la demora de rotación|Mejoras en la demora de rotación]]&lt;br /&gt;
* 12.4 [[Tipos de errores en discos magnéticos|Tipos de errores en discos magnéticos]]&lt;br /&gt;
* 12.5 [[Ejercicios Gestión L/E|Ejercicios]]&lt;br /&gt;
&lt;br /&gt;
== Administración de archivos ==&lt;br /&gt;
&lt;br /&gt;
* 13.1 [[Introducción en la administración de archivos|Introducción en la administración de archivos]]&lt;br /&gt;
* 13.2 [[FAT|FAT]]&lt;br /&gt;
* 13.3 [[EXT2 |EXT2]]&lt;br /&gt;
* 13.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>Alesanmed</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-ssoo/index.php?title=Modos_de_operaci%C3%B3n_de_la_CPU&amp;diff=2705</id>
		<title>Modos de operación de la CPU</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-ssoo/index.php?title=Modos_de_operaci%C3%B3n_de_la_CPU&amp;diff=2705"/>
				<updated>2013-01-19T11:10:01Z</updated>
		
		<summary type="html">&lt;p&gt;Alesanmed: /* 2.3. Modos de operación de la CPU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 2.3. Modos de operación de la CPU =&lt;br /&gt;
&lt;br /&gt;
Los fabricantes de procesadores actuales ofrecen procesadores que generalmente disponen de, al menos, dos modos de funcionamiento. El estado del procesador se guarda en conjunto de registros de 8, 16, 32 o 64 bits. Además de ellos, el procesador posee dos registros especiales, el de siguiente instrucción (IP, PC,…) y el de estado (CCR):&lt;br /&gt;
&lt;br /&gt;
== No privilegiado ==&lt;br /&gt;
También llamado modo usuario (es preferible no usar este término para no llegar a confusión).&lt;br /&gt;
* Modo en el que se ejecutan los procesos y bibliotecas del sistema operativo. En el caso concreto de los sistemas operativos [[Modelos de Diseño de Sistemas Operativos|micronúcleos]], los servidores también se ejecutan en modo no privilegiado, tales como el servidor de ficheros, el administrador de memoria y los gestores de dispositivo.&lt;br /&gt;
&lt;br /&gt;
* Ofrece únicamente un subconjunto de las instrucciones disponibles.&lt;br /&gt;
&lt;br /&gt;
* Si en éste modo se intenta ejecutar una instrucción privilegiada, el sistema operativo o bien la ignora, o bien lanza una excepción.&lt;br /&gt;
&lt;br /&gt;
== Privilegiado ==&lt;br /&gt;
También llamado modo supervisor (no confundir con usuario root).&lt;br /&gt;
* Modo en el que se ejecuta el núcleo del sistema operativo.&lt;br /&gt;
* Ofrece acceso total a las instrucciones de la CPU.&lt;br /&gt;
Un fallo de programación en modo privilegiado puede plantar el SO, en modo no privilegiado nunca pasaría eso.&lt;br /&gt;
Precisamente esa es la utilidad de tener varios modos de ejecución, la construcción de un sistema robusto.&lt;br /&gt;
En la práctica, lo usual es que los procesadores tengan modos intermedios entre usuario y supervisor.&lt;br /&gt;
La transición de modo supervisor a usuario es arbitraria, mientras que de usuario a supervisor se realiza mediante una interrupción.&lt;br /&gt;
La CPU siempre arranca en modo supervisor, lo cual se intuye, pues en el inicio del dispositivo, se tendrá que ejecutar código del sistema operativo.&lt;br /&gt;
&lt;br /&gt;
2.3. [[Componentes básicos de un sistema operativo|Componentes básicos de un sistema operativo]]&lt;/div&gt;</summary>
		<author><name>Alesanmed</name></author>	</entry>

	</feed>