Funciones!de!un!Sistema!Operativo! - Presentación...

12
IF0015_M3AA1 _Funciones Versión: Septiembre 2012 Revisor: José Miguel Campos García ©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato. 1 Funciones de un Sistema Operativo por Roberto Rangel Ibarra El objetivo principal de un sistema operativo además servir como una interfaz entre la computadora y el usuario, reside en las diferentes funciones que puede proporcionar para la efectiva gestión de los diferentes recursos del sistema y la constante evolución en la que está inmerso. Dothre (2009) comenta que puede considerarse que un sistema lleva a cabo tres funciones: Figura 1. Funciones de un Sistema Operativo (Dothre, 2009). Stallings (2005) por su parte menciona que las principales funciones del núcleo del sistema operativo son: Figura 2. Funciones del núcleo de un Sistema Operativo (Stalling, 2005). Interfaz usuario / computadora Administrador de recursos Facilitador de evolución Gestión de Procesos Gestión de memoria Gestión de E/S Funciones de Soporte

Transcript of Funciones!de!un!Sistema!Operativo! - Presentación...

 IF0015_M3AA1 _Funciones Versión: Septiembre 2012 Revisor: José Miguel Campos García

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

 

1

 

         Funciones  de  un  Sistema  Operativo    

por Roberto Rangel Ibarra

  El objetivo principal de un sistema operativo además servir como una interfaz entre la computadora y el usuario, reside en las diferentes funciones que puede proporcionar para la efectiva gestión de los diferentes recursos del sistema y la constante evolución en la que está inmerso. Dothre (2009) comenta que puede considerarse que un sistema lleva a cabo tres funciones:

Figura 1. Funciones de un Sistema Operativo (Dothre, 2009).

Stallings (2005) por su parte menciona que las principales funciones del núcleo del sistema operativo son:

Figura 2. Funciones del núcleo de un Sistema Operativo (Stalling, 2005).

Interfaz  usuario  /  

computadora  Administrador  de  recursos  

Facilitador  de  evolución  

Gestión  de  Procesos  

Gestión  de  memoria  

Gestión  de  E/S  

Funciones  de  Soporte  

 IF0015_M3AA1 _Funciones Versión: Septiembre 2012 Revisor: José Miguel Campos García

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

 

2

Las funciones del núcleo de los sistemas operativos son consideradas las más importantes para la administración de recursos, por lo tanto analizaremos cada una de éstas.

1. Gestión  de  procesos   Márquez (2004, p. 160) menciona que “cuando un programa es leído del disco por el núcleo y es cargado en memoria principal para ejecutarse, se convierte en proceso”. Esto significa que un proceso es una entidad activa, mientras que un programa es una entidad pasiva, ya que un programa solo es una colección de instrucciones y de datos que se encuentran almacenados en algún archivo y para que pueda considerarse como proceso el requisito es que sea cargado en memoria principal para su ejecución. Un proceso está compuesto por tres bloques principales, que reciben el nombre de segmentos: Segmentos:

• Segmento de texto: Contiene instrucciones que entiende la Unidad Central de Procesamiento.

• Segmento de datos: Contiene los datos que deben iniciar al arrancar el proceso. • Segmento de pila: Es creado por el núcleo al arrancar el proceso y su tamaño se gestiona

de forma dinámica. A su vez un proceso puede presentar ciertos estados, por ejemplo:

• New (nuevo): El proceso se está creando. • Running (en ejecución): Se están ejecutando instrucciones. • Waiting / Blocked (esperando / bloqueado): El proceso está esperando que ocurra algún

suceso; no se puede ejecutar debido a la ocurrencia de un factor externo. • Ready (listo): El proceso está esperando que se le asigne a un procesador. • Exit (terminación): El proceso terminó su ejecución.

El diagrama de transición de estos estados lo puedes ver en la figura 3:

 IF0015_M3AA1 _Funciones Versión: Septiembre 2012 Revisor: José Miguel Campos García

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

 

3

Figura 3. Diagrama de Transición de Procesos (Stallings, 2005, p. 70). Estos estados van a variar dependiendo del Sistema Operativo utilizado, por ejemplo en Unix existen nueve estados de un proceso y son los siguientes:

• Ejecución en modo de usuario • Ejecución en modo del núcleo • Listo para ejecutar y en memoria • Dormido y en memoria • Listo para ejecutar y descargado • Dormido y descargado • Expulsado • Creado • Zombie

Las principales operaciones que pueden realizarse con procesos son:

a) Creación y terminación de los procesos

Tanenbaum (2003) indica que una de las principales funciones del sistema operativo es comprobar la adecuada existencia de todos los procesos que el sistema requiera y que ésta era una labor sencilla en sistemas que fueron diseñados para ejecutar solamente una aplicación, pero en la actualidad los sistemas operativos deben ejecutar diversas aplicaciones, por lo que el uso de mecanismos para la creación y terminación de procesos es muy importante. Existen cuatro sucesos principales causantes de la creación de procesos:

• La inicialización del sistema • La ejecución de alguna llamada al sistema que solicite crear procesos • La solicitud para crear procesos por parte de un usuario • La solicitud de un nuevo trabajo por lotes

 IF0015_M3AA1 _Funciones Versión: Septiembre 2012 Revisor: José Miguel Campos García

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

 

4

También encontramos que existen diversas razones por las que un proceso puede terminar, siendo las principales las siguientes:

• Terminación normal. • Tiempo límite excedido. • Falta de memoria disponible. • Violación de límites. • Error de protección. • Error aritmético. • Tiempo máximo de espera rebasado. • Instrucción inválida. • Instrucción privilegiada. • Mal uso de los datos. • Intervención del operador o del S.O. • Terminación del padre. • Solicitud del padre.

b) Cambio de procesos  

Otra función que desempeña el Sistema Operativo es el cambio de estado de los procesos. El estado de un proceso es la situación en la que se encuentra en relación con el uso del procesador. Los estados de un proceso como indicamos previamente pueden ser: a) Nuevo; b) Listo; c) Ejecución; d) Bloqueado y e) Terminado. También se considera que puede existir otro estado previo a la creación de un nuevo proceso, este estado se conoce como nulo. Dado que los procesos necesitarán pasar de un estado a otro, el sistema operativo será por lo tanto el encargado de administrar los diferentes estados de los procesos. Es importante mencionar que en un sistema monoprocesador, solo un proceso puede tener el estado de ejecución asignado en un determinado tiempo, es decir no puede haber dos o tres procesos ejecutándose de forma simultánea. También debes tomar en cuenta que debido a que en un sistema operativo existen muchos procesos trabajando, se utilizan colas para estados de procesos, y el sistema operativo implementa mecanismos para introducir y sacar procesos en las colas. Los posibles cambios que pueden darse entre procesos son:

 IF0015_M3AA1 _Funciones Versión: Septiembre 2012 Revisor: José Miguel Campos García

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

 

5

Nulo Nuevo Nuevo Listo Listo Ejecución Ejecución Terminado Ejecución Listo Ejecución Bloqueado Bloqueado Listo Listo Terminado Bloqueado Terminado

Tabla 1. Transición de Procesos (Stallings, 2005, p. 84).

c) Sincronización de procesos y soporte para la comunicación entre procesos Martínez, Cabello y Díaz (1997) explican que para poder obtener un mejor desempeño del sistema operativo al ejecutar distintas aplicaciones, “varios procesos pueden cooperar en la ejecución de un programa, pero para que los procesos tengan un funcionamiento correcto deben sincronizar sus actividades de forma que se asegure el cumplimiento de las restricciones de precedencia” (p. 41). La sincronización de procesos evita muchos problemas de concurrencia como el interbloqueo y la inanición. Los principales mecanismos de sincronización de procesos y soporte para la comunicación entre procesos son:

• Archivos • Tuberías • Variables en memoria compartida • Paso de mensajes • Señales • Semáforos • Monitores

d) Gestión de los bloques de control de procesos

El Bloque de Control de Procesos es una estructura que contiene información relevante sobre un proceso, como pueden ser el estado del proceso, el número del proceso, sus límites de memoria, entre otros, y que son utilizados tanto para su definición, como para su administración. Martínez et al. (1997, p. 31) indican que “para implementar el concepto de proceso, el sistema operativo ha de mantener una estructura de datos para cada proceso, denominada bloque de control de proceso (BCP)”. De la misma manera, Pérez y Morera (2002) señalan que los procesos pueden representarse de forma individual “en el sistema operativo por un conjunto de datos, que incluye toda la información necesaria

 IF0015_M3AA1 _Funciones Versión: Septiembre 2012 Revisor: José Miguel Campos García

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

 

6

para definirlo: el estado, recursos utilizados, registros… este grupo de datos se conoce generalmente como el bloque de control del proceso” (p. 66). Los elementos básicos del Bloque de Control de Procesos que debe gestionar el Sistema Operativo son:

Figura 4. Elementos básicos del Bloque de Control de Procesos (Stallings, 2005, p. 88).

2. Gestión  de  memoria  

Otra de las funciones del Sistema Operativo es la Gestión de la memoria, y uno de los aspectos más relevantes a considerar es que un programa para ser ejecutado, y pasar de una entidad pasiva a una activa, debe ser cargado en memoria principal, pero el desempeño de la memoria dependerá del número de procesos que puedan ser cargados en ésta y de la gestión de dicha memoria por medio de técnicas que pueden optimizar su utilización y efectuar cargas más rápidas, mejorando de esta forma el uso de la Unidad Central de Procesamiento y el desempeño y velocidad del sistema. Es importante mencionar que aunque es posible seleccionar alguna técnica o esquema de gestión de la memoria, ésta dependerá de muchos elementos, siendo el principal el diseño del hardware del sistema. Silberschatz y Galvin (1999) mencionan que para lograr un mejor desempeño del sistema es necesario compartir la memoria y que existen diversos algoritmos para poder llevar a cabo esta tarea, desde algunos que se utilizaron en el pasado hasta los más recientes de paginación, segmentación o la combinación de ambos. Stallings (2005) explica los principales esquemas de gestión de la memoria, siendo:

• Gestión de la memoria sin intercambio o paginación: Es el esquema de administración de memoria en el que sólo se tiene un proceso en memoria en cada instante. Generalmente, la memoria se divide entre el Sistema Operativo y el proceso de un solo usuario. Aquí prácticamente se podría decir que no existe gestión de la memoria.

 IF0015_M3AA1 _Funciones Versión: Septiembre 2012 Revisor: José Miguel Campos García

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

 

7

• Gestión de la memoria con multiprogramación: En este esquema de administración de memoria, se facilita la programación al dividirla en dos o más procesos. Además, este esquema mejora el uso del procesador al tenerlo ocupado el mayor tiempo posible.

• Partición fija: Es el esquema más sencillo de gestión de memoria, ya que ésta se divide en un número de particiones fijas, las cuales pueden ser de igual tamaño o de distinto tamaño. La principal ventaja que ofrece es su sencillez, además que no presenta mucha sobrecarga del sistema. La desventaja es la ineficiencia y desperdicio de memoria, ya que es por ejemplo es posible tener una partición de memoria de 512 kb y tener un proceso que solo ocupará 64 kb, lo que originará una fragmentación interna y un desperdicio de memoria de 448 kb, aunque este problema puede reducirse con las particiones fijas de diferente tamaño, suele seguirse presentando.

• Partición dinámica: En este esquema la creación es de tipo dinámica, por lo que la memoria se divide de forma continua hasta lograr tener particiones exactamente idénticas al tamaño de los procesos. La principal ventaja es la eliminación de desperdicio de memoria, y un uso más eficiente de ésta, la desventaja es que se sobrecarga el trabajo de la unidad central de procesamiento debido a que necesita emplear una técnica adicional llamada compactación, que elimina la fragmentación interna, y consiste en continuar dividiendo y compactando la memoria hasta lograr un tamaño de partición deseado, pero que al final produce fragmentación externa, ya que siempre queda un pequeño espacio de memoria desperdiciado.

• Paginación simple: Este esquema está basado en gestionar la memoria principal dividiéndola en trozos iguales de tamaño fijo relativamente pequeños y dividiendo también cada proceso en pequeños trozos de tamaño fijo y del mismo tamaño que los de memoria. La finalidad es que los trozos del proceso, llamados páginas, puedan asignarse a los trozos libres de memoria, llamados marcos o marcos de página. Su principal ventaja es que no presenta fragmentación externa, pero sí un poco de fragmentación interna.

• Segmentación simple: Este esquema consiste en que el programa y sus datos asociados se dividen en un conjunto de segmentos, no siendo necesario que todos los segmentos tengan la misma longitud, aunque sí debe considerarse la existencia de una longitud máxima de segmento; en este esquema la memoria principal no es dividida. Su principal ventaja es que no presenta fragmentación interna pero necesita compactación.

• Memoria virtual paginada: Este esquema de gestión indica que para que el proceso se ejecute no hace falta que todas sus páginas estén en marcos de memoria principal. Por lo que pueden estar descargadas de la memoria principal y se leerán cuando se necesiten. Al momento de hacer la carga en memoria principal de una página deberá descargarse otra al disco. Su principal ventaja es que no presenta fragmentación externa, pero su principal desventaja es la sobrecarga de trabajo de la memoria, debido a la complejidad que requiere.

• Memoria virtual segmentada: Este esquema de gestión indica que para que el proceso se ejecute no hace falta que todos sus segmentos estén en memoria principal. Por lo que al igual que en la memoria virtual paginada pueden estar descargados de la memoria principal

 IF0015_M3AA1 _Funciones Versión: Septiembre 2012 Revisor: José Miguel Campos García

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

 

8

y se leerán cuando se necesiten. Al momento de hacer la carga en memoria principal de un segmento deberá descargarse otro al disco. Su principal ventaja es que no presenta fragmentación interna, pero su principal desventaja es la sobrecarga de trabajo de la memoria, debido a la complejidad que requiere.

• Paginación y segmentación combinadas: Este esquema de gestión de la memoria es muy flexible, debido a que inicialmente el programador es quien decide cómo dividir en varios segmentos el espacio de direcciones destinado a un usuario.

Las principales operaciones que pueden realizar con la memoria son: • Asignación de espacios de direcciones a los procesos • Intercambio • Gestión de páginas y segmentos

3. Gestión  de  E/S  

Otra función que realiza el sistema operativo es la gestión de los dispositivos de Entrada / Salida, en donde intervienen tanto el hardware como el software del sistema operativo, las principales tareas que debe realizar el sistema operativo son:

 

Figura 5. Scanner bw (Wikimedia Commons, s. f.).

 

Figura 6. Hdd icon (Coelho, s. f.).  Figura 7. Human-gnome-dev-

keyboards (Wikimedia Commons, s. f.).

a) Gestión de buffers Se considera como buffer una determinada área específica para el almacenamiento de datos mientras se realiza una transferencia entre dos dispositivos o entre un dispositivo y una aplicación. Por lo tanto la necesidad de la gestión de buffers surge debido a que la velocidad de transferencia entre dispositivos y aplicaciones, y el tamaño es diferente, por lo que en muchas ocasiones habrá que asignar áreas de espera, como en los «pits» de una carrera Fórmula 1:

 IF0015_M3AA1 _Funciones Versión: Septiembre 2012 Revisor: José Miguel Campos García

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

 

9

 

Figura 8. Flickr- The U.S. Army- A pit-stop for Army Racing (The U.S. Army, 2009).

Silberschatz y Galvin (1999) mencionan que existen tres razones para el uso de buffers:

• Diferencia de velocidades entre productor y consumidor de un flujo de datos • Como adaptador entre dispositivos con diferentes tamaños de transferencia de datos • Como apoyo a la semántica de copiado de las operaciones de Entrada / Salida de

aplicaciones Es muy interesante el funcionamiento de los buffers, el cual es descrito de la siguiente manera:

En un sistema estrictamente secuencial, cada operación de E/S debe ser solicitada por el programa de usuario, que pone en funcionamiento al dispositivo de E/S para conseguir la información solicitada, transcurriendo un tiempo muerto hasta que la operación finaliza y el registro pedido esté a disposición del programa de usuario. La utilización de un buffer nos permite que el equipo de entrada vaya por delante de la UCP, de forma que los registros sean leídos por anticipado y almacenados en el buffer donde estarán disponibles para el programa de usuario, de manera que no es necesario esperar para cada solicitud de E/S; el dispositivo de E/S se anticipa al programa de usuario llenando el buffer, la UCP tomará los registros del buffer y solamente deberá esperar por nuevos datos cuando el buffer esté vacío. Normalmente la UCP consume registros a una velocidad muy superior a la del dispositivo de entrada, por lo que la técnica de buffering no producirá buenos resultados si la UCP requiere continuamente nuevos registros. El objetivo fundamental de esta técnica es amortiguar las tasas de solicitud de nuevos registros por la UCP, aprovechando para llenar los buffers los períodos de tiempo en los que la UCP no realiza E/S. Si la UCP consume registros a una velocidad constante y superior a la velocidad de producción de registros del dispositivo de E/S, el buffer estará siempre vacío y la UCP tendrá que esperar por E/S. La utilización de esta técnica, que permite la E/S asíncrona, lleva consigo la aparición de mecanismos de sincronización, ya que cuando se ha terminado una operación de E/S debemos señalar dicho suceso a la UCP mediante una interrupción, para que una vez examinados los buffers continúe con la ejecución del programa. (Martínez et al., 1997, p. 12).

 IF0015_M3AA1 _Funciones Versión: Septiembre 2012 Revisor: José Miguel Campos García

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

 

10

Los tres tipos de buffers que incorporan los sistemas operativos para mejorar su rendimiento son el buffer simple, el buffer doble y el buffer circular.

b) Spooling

Otra de las actividades en la gestión de E/S del Sistema Operativo es conocida como spooling y consiste en la utilización de un buffer que contiene salidas para un dispositivo, que no permita aceptar flujos de datos de forma intercalada, como por ejemplo, al utilizar una impresora sabemos que ésta solo puede imprimir un trabajo a la vez, pero puede tener muchas peticiones de trabajos esperando en una cola de impresión y aunque éste parece ser un procedimiento sencillo, ¿cómo es que ninguna de estas peticiones logra intercalarse? La respuesta es debido a la utilización del spool, ya que se encarga de interceptar todas las peticiones de impresión, y las guarda en un archivo de disco de forma independiente, por lo que al recibir la solicitud de impresión el spool coloca el archivo correspondiente en la cola de la impresora y copia cada uno de estos archivos, el sistema operativo proporciona también una interfaz de control para gestionar la cola, para eliminar archivos que ya no se quieren imprimir, para suspender o reiniciar algún trabajo de impresión, en caso de no contar con un sistemas de gestión como el spool existirían diversos problemas de acceso y utilización de los dispositivos de E/S, principalmente el uso indeterminado o acaparamiento por parte de un proceso.

             

Figura  9.    Gnome-­‐printer-­‐properties  (Kuswanto  Zeus  Box  Studio,  s.  f.).

Candela, García, Quesada, Santana y Santos (2007) mencionan que otro ejemplo de spooling es el uso del correo electrónico, ya que cuenta con un spool de correo y con un programa demonio de correo, y cuando un usuario envía un correo electrónico, se almacena en el directorio spool de correo, dando la sensación al usuario de que el correo ya está enviado, pero en realidad es el demonio de correo el que con posterioridad se encarga de hacer el envío, evitando así un mal uso de la red, y el acaparamiento de ésta.

4. Funciones  de  soporte   a) Tratamiento de interrupciones

De acuerdo a Ortiz (2005, p. 16) “una interrupción no es más que un mecanismo mediante el cual otros módulos (entrada/salida, memoria) pueden interrumpir la ejecución normal del procesador”. En la tabla 2, se pueden observar los principales tipos de interrupción con su prioridad.

 IF0015_M3AA1 _Funciones Versión: Septiembre 2012 Revisor: José Miguel Campos García

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

 

11

Prioridad Tipo de interrupción Nivel alto Comprobación de máquina o error de bus Nivel alimentación Fallo de alimentación Nivel de interrupción interprocesador

Solicitud de trabajo de otro procesador

Nivel de reloj Intervalo de reloj Nivel n de dispositivo Prioridad más elevada de un dispositivo de E/S Nivel 1 de dispositivo Prioridad más baja de un dispositivo de E/S Nivel de despacho/DPC Despacho de un hilo y procesamiento de una

llamada de procedimiento aplazada (DPC) Nivel APC Procesamiento de una llamada de

procedimiento asíncrona (APC) Nivel bajo Ejecución normal de un hilo

Tabla 2. Tipos de interrupción con su prioridad (Candela et al., 2007, p. 445).

b) Excepciones de soporte

Otra de las actividades esenciales de los Sistemas Operativos son los mecanismos o herramientas de soporte y recuperación. García y López (2007, p. 19) destacan que es necesario “implementar las excepciones para dar soporte al sistema operativo”.

Referencias    

Candela, S., García, C. R., Quesada, A., Santana, F. J. y Santos, J. M. (2007). Fundamentos de sistemas operativos. Madrid, España: Paraninfo. [Versión electrónica]. Recuperado el 28 de febrero de 2011, de http://books.google.com.mx/books?id=fRK3lbTrNy4C&pg=PA261&dq=spool+es&hl=es&ei=8NBrTcDAGI7WtQPrw7SmBA&sa=X&oi=book_result&ct=result&resnum=6&ved=0CDoQ6AEwBQ#v=onepage&q=spool%20es&f=false García, M. y López, J. M. (2007). Apuntes de Organización de Computadores. Oviedo, España: Ediciones de la Universidad de Oviedo. [Versión electrónica]. Recuperado el 28 de febrero de 2011, de http://books.google.com.mx/books?id=d0IDEsqbD4wC&pg=PA19&dq=soporte+del+sistema+operativo&hl=es&ei=RFd2TZv7HZG6sQOp--ixBA&sa=X&oi=book_result&ct=result&resnum=5&ved=0CE0Q6AEwBA#v=onepage&q=soporte%20del%20sistema%20operativo&f=false

Dhotre, I. A. (2009). Operating Systems. India: Technical Publications Pune. [Versión electrónica]. Recuperado el 28 de febrero de 2011, de

http://books.google.com.mx/books?id=iQzqVqFz3IsC&printsec=frontcover&dq=Operating+Systems&hl=es&ei=enukTcGsMoz0swOG4_H5DA&sa=X&oi=book_result&ct=result&resnum=2&ved=0CCoQ6AEwAQ#v=onepage&q&f=false

Márquez, F. M. (2004). Unix Programación avanzada. (3ª ed.). Madrid, España: RA-MA Editorial.

Martínez, P., Cabello, M. y Díaz, J.C. (1997). Sistemas Operativos Teoría y Práctica. Madrid, España: Ediciones Díaz de Santos. [Versión electrónica]. Recuperado el 25 de febrero de 2011, de http://books.google.com.mx/books?id=wXzwFPaVku0C&pg=PA17&dq=sistemas+de+tiempo+compartido&hl=es&ei=0AdoTeaSNYiasAPXkd2mBA&sa=X&oi=book_result&ct=result&resnum=5&ved=0CEgQ6AEwBA#v=onepage&q=sistemas%20de%20tiempo%20co

 IF0015_M3AA1 _Funciones Versión: Septiembre 2012 Revisor: José Miguel Campos García

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

 

12

mpartido&f=false

Ortiz, H. J. (2005). Sistemas Operativos Modernos. Medellín, Colombia: Universidad de Medellín. [Versión electrónica]. Recuperado el 28 de febrero de 2011, de http://books.google.com.mx/books?id=3Hb6f3gyCxUC&pg=PA16&dq=interrupciones+%2B+sistema+operativo&hl=es&ei=n95rTbGtJYSisQPit9CmBA&sa=X&oi=book_result&ct=result&resnum=3&ved=0CDMQ6AEwAg#v=onepage&q=interrupciones%20%2B%20sistema%20operativo&f=false Pérez, J. A. y Morera, J. M. (2002). Conceptos de Sistemas Operativos. Madrid, España: Amábar. [Versión electrónica]. Recuperado el 28 de febrero de 2011, de http://books.google.com.mx/books?id=LY2P_VSuZ3cC&pg=PA131&dq=concurrencia+%2B+sistema+operativo&hl=es&ei=1uZrTenDEpOWsgOvjdGmBA&sa=X&oi=book_result&ct=result&resnum=2&ved=0CC0Q6AEwAQ#v=onepage&q=concurrencia%20%2B%20sistema%20operativo&f=false

Tanenbaum, A. S. (2003). Sistemas Operativos Modernos. (2ª ed.). Estado de México, México: Pearson Educación. [Versión electrónica]. Recuperado el 28 de febrero de 2011, de http://books.google.com.mx/books?id=g88A4rxPH3wC&printsec=frontcover&dq=sistemas+operativos+modernos+tanenbaum&hl=es&ei=CnukTdEHkryxA_ex_fgM&sa=X&oi=book_result&ct=result&resnum=1&ved=0CCQQ6AEwAA#v=onepage&q&f=false

Silberschatz, A. y Galvin, P. B. (1999). Sistemas Operativos. (5ª ed.). México: Addison Wesley Longman. Stallings, W. (2005). Sistemas Operativos: Aspectos Internos y Principios de Diseño. (5ª ed.) Madrid, España: Pearson Prentice Hall. Stallings, W. (2006). Organización y arquitectura de computadores. Recuperado el 1 de marzo de 2011 de la base de datos Bibliotechnia de la Biblioteca Digital UVEG.

Referencias    de  las  imágenes  

Coelho, E. (s. f.). Hdd icon. Recuperada el 12 de abril de 2011, de http://commons.wikimedia.org/wiki/File:Hdd_icon.svg (Bajo licencia GNU Lesser General Public). Kuswanto Zeus Box Studio. (s. f.). Gnome-printer-properties. Recuperada el 12 de abril de 2011, de http://commons.wikimedia.org/wiki/File:Gnome-printer-properties.png (Bajo licencia GNU General Public). The U.S. Army. (2009). Flickr- The U.S. Army- A pit-stop for Army Racing. Recuperada el 12 de abril de 2011, de http://commons.wikimedia.org/wiki/File:Flickr_-_The_U.S._Army_-_A_pit-stop_for_Army_Racing.jpg (Imagen de dominio público). Wikimedia Commons. (s. f.). Human-gnome-dev-keyboards. Recuperada el 12 de abril de 2011, de http://commons.wikimedia.org/wiki/File:Human-gnome-dev-keyboard.svg (Bajo licencia Creative Commons Attribution-Share Alike 2.5 Generic). Wikimedia Commons. (s. f.). Scanner bw. Recuperada el 12 de abril de 2011, de http://commons.wikimedia.org/wiki/File:Scanner_bw.png (Bajo licencia GNU General Public).