Download Formacion_Especifica_Tarea_ISE1_3_1

Document related concepts

Sistema operativo wikipedia , lookup

MINIX wikipedia , lookup

Sistema operativo de disco wikipedia , lookup

Historia de los sistemas operativos wikipedia , lookup

Proceso de arranque en Linux wikipedia , lookup

Transcript
Introducción a los Sistemas Industriales (IS)
Módulo 3: Sistemas Operativos
Tarea 3.1: Componentes, funciones básicas
y estructura de los OS.
A. Petrov, PU, Dep. ECIT
Operating Systems – Task3_1
1
Objetivos
•
•
•
•
•
•
Definición, clasificación y componentes principales
Gestión de recursos
Cooperación y procesos concurrentes
Manipulación bloqueo mutuo
Redes
Seguridad y confiabilidad
Operating Systems – Task3_1
2
Definición y funciones básicas
 Un sistema operativo (OS) es un programa informático que
gestiona los recursos de hardware y de software de un ordenador
[4].
 Un OS realiza tareas básicas tales como el control y la asignación
de memoria, dando prioridad a las solicitudes del sistema, el control
de los dispositivos de entrada y de salida, facilitando la creación de
redes, y la gestión de archivos.
 También puede proporcionar una interfaz gráfica de usuario para
funciones de nivel superior
 Se forma una plataforma para otro software del sistema y para el
software de aplicación.
Operating Systems – Task3_1
3
Sistemas Operativos – gestión de recursos
Aplicaciones
Aplicaciones
Lector de disco
Administrador I/O
Drivers dispositivos
Sistema
operativo
Administrador de memoria
Ratón
Monitor
Administrador de CPU
Hardware
Teclado
Impresora
Operating Systems – Task3_1
4
Clasificación de OS
 Multiusuario OS: Permite que dos o más usuarios puedan ejecutar
programas al mismo tiempo. Algunos sistemas operativos permiten cientos o
incluso miles de usuarios simultáneos.
 Multiproceso OS: Soporta la ejecución un programa en más de una CPU.
 Multitarea OS: Permite que más de un programa se ejecute
simultáneamente.
 Multilectura OS: Permite que diferentes partes de un solo programa se
ejecute al mismo tiempo.
 Tiempo real OS: Responde a una entrada al instante. Los sistemas
operativos de uso general, como DOS y UNIX, no son en tiempo real.
 Red OS (NOS) y Distribuida OS (DOS) (ver trea de formación 3_2)
Operating Systems – Task3_1
5
Estructuras OS







Componentes del sistema
Servicios del sistema operativo
Llamadas del Sistema
Programas del Sistema
Estructure del Sistema
Máquinas Virtuales
Diseño e Implementación del Sistema
Operating Systems – Task3_1
6
Componentes Comunes de los OS
 Proceso Administrador
 Memoria Principal Administrador
 Almacenamiento Secundario Administrador
 I/O Sistema Administrador
 Archivo Administrador
 Protección Sistema
 Red generaliza el acceso a la red
 Interpretación de comandos Sistema – interfaz entre el usuario y el OS
Operating Systems – Task3_1
7
La gestión de procesos
• El proceso no es un programa, sólo es un instante de un programa: un
proceso es la unidad de trabajo en un sistema.
•Las cinco actividas principales de un OS en la gestión de procesos
son:
–
–
–
–
–
Creación y eliminación de los procesos de usuario y del sistema.
Suspensión y reanudación de procesos.
Un mecanismo para la sincronización del proceso.
Un mecanismo para la comunicación del proceso.
Un mecanismo para el manejo del bloqueo.
• En la arquitectura de von Neumann sólo se podía ejecutar un proceso
en la CPU. En los nuevos OS se permite la ejecución simultánea de
varios procesos a la vez a través de la multitarea, incluso con una sola
CPU
• Como la mayoría de las computadoras tienen un procesador de un
núcleo, la multitarea se realiza mediante cambios rápidos en los procesos.
Operating Systems – Task3_1
8
Estado de proceso
• El estado del proceso consiste al menos en lo siguiente:
– Código para el programa.
– Datos estáticos del Programa.
– Datos dinámicos del Programa.
– Pila de llamadas de procedimiento del Programa.
– Contenido de registros de uso general.
– Contenido del contador de programa (PC)
– Contenido del texto de estado del programa (PSW).
– El contenido del texto del estado del programa.
• Un subproceso es una actividad dentro de un proceso [4].
Operating Systems – Task3_1
9
Multitarea de los OS (1)
• Un proceso ocupa una cierta cantidad de memoria RAM. También
hace uso de registros, pilas y listas dentro de la CPU y espacio de
memoria del sistema operativo.
• Ejemplo:
– Cuando dos procesos están en multi-tarea, el sistema operativo asigna un
cierto número de ciclos de ejecución de la CPU para cada programa.
– Después de un número de ciclos, el sistema operativo hace copias de
todos los registros, pilas y listas utilizadas por los procesos, y señala el
punto en el que el proceso se detuvo en su ejecución.
– A continuación, carga todos los registros, pilas y listas utilizados por el
segundo proceso y permite un cierto número de ciclos de la CPU.
– Cuando estos están completos, hace copias de todos los registros, pilas y
listas utilizadas por el segundo programa, y carga el primer programa.
Operating Systems – Task3_1
10
Multitarea de los OS (2)
• La multitarea es el proceso de dejar que el sistema operativo realice
varias tareas simultaneamente.
• En SMP (sistemas de multiprocesamiento con Procesador simétrico)
este es el caso, ya que hay varios programas en ejecución en la
CPU. En sistemas con una sola CPU se hace cambiando la
ejecución muy rápidamente entre cada programa, por lo que da la
impresión de ejecución simultánea. Este proceso también se conoce
como tarea de conmutación o tiempo compartido. Prácticamente
todos los sistemas operativos modernos tiene esta capacidad.
• La multitarea se da en las máquinas con un solo procesador,
implementada para dejar que el proceso que se ejecuta en la CPU
por un tiempo (una porción de tiempo) y cuando sea necesario se
reemplaza con otro proceso, que a su vez es propietaria de la CPU.
• Los dos métodos más comunes para compartir el tiempo de CPU es
multitarea cooperativa o multitarea preventiva[12].
Operating Systems – Task3_1
11
Trabajo tarea única
• La CPU tiene que esperar para la ejecución de la instrucción de
Entrada / Salida para completar la instrucción anterior.
Operating Systems – Task3_1
12
Trabajo de multitarea
• Cuando una tarea está a la espera para la operación de Entrada /
Salida, la CPU puede cambiar a otra tarea.
2 Trabajo tarea
3 Trabajo tarea
Operating Systems – Task3_1
13
Multitarea en OS (3)
Multitarea
Proceso
Proceso
Proceso
Operating Systems – Task3_1
14
Multiproceso OS
• En un sistema con dos o más CPU, el OS tiene que dividir la
carga de trabajo entre las CPUs, tratando de equilibrar las
demandas de los procesos necesarias con los ciclos
disponibles sobre las diferentes CPUs.
• OS asimétrico utiliza una CPU para sus propias necesidades y
divide los procesos de aplicación entre las CPUs restante.
• OS simétrico se dividen entre las diversas CPUs, equilibrando la
demanda disponible de la CPU incluso cuando el sistema
operativo es lo único que se está ejecutando.
Operating Systems – Task3_1
15
Multiproceso OS (disponible)
• Multiproceso simétrico (SMP)
– Cada procesador ejecuta y
copia idénticamente el
sistema operativo.
– Muchos procesos se
pueden ejecutar a la vez sin
que disminuya el
rendimiento.
– La mayoría de los sistemas
operativos modernos
soportan SMP
• Multiproceso simétrico
– A cada procesador se le asigna una tarea específica, el control de
horarios de procesador y asigna trabajo a otros procesadores.
– Más común en los sistemas muy grandes
Operating Systems – Task3_1
16
Multiproceso OS (continuación)
Asimétrico
Simétrico
Operating Systems – Task3_1
17
¿Qué es un bloqueo mutuo?
• Un bloqueo mutuo es una situación en la que dos o más acciones en
competencia están a la espera una hasta el final de la otra, por lo que
ninguno de los dos lo hace [4]. Se ve a menudo en una paradoja como 'el
huevo o la gallina '.
• El bloqueo mutuo en el mundo de la informática se refiere a una condición
específica cuando dos o más procesos están cada uno a la espera del otro
para liberar un recurso, o cuando más de dos procesos están esperando por
los recursos en una cadena circular.
• Bloqueo mutuo es un problema común en multiprocesamiento donde
muchos procesos comparten un tipo específico de recurso mutuamente
excluyentes conocido como un software o bloqueo suave.
Operating Systems – Task3_1
18
Condiciones necesarias para que se
produzca un bloqueo mutuo
• Mutua condición de exclusión: un recurso está ya asignado a un
proceso que está disponible
• Mantener y esperar condiciones: los procesos de mantenimiento de
recursos podrán solicitar nuevos recursos
• Ninguna condición de preferencia: sólo un proceso que mantiene un
recurso puede liberarlo.
• Condición circular de espera: dos o más procesos forman una
cadena circular, cuando cada proceso espera un recurso que el
siguiente proceso en la cadena tiene
•bloqueo mutuo sólo se produce en los sistemas donde se producen
las 4 condiciones.
Operating Systems – Task3_1
19
Tratar con bloqueo mútuo
3 métodos para tratar con bloqueos mútuos:
–
–
1. Prevención - asignar recursos en el inicio. Los bloqueos mutuos
pueden prevenirse asegurando que se dan al menos una de las siguientes
cuatro condiciones (ver más abajo) *
2. Evitar - Sólo hace las asignaciones "seguras"
–
a. Algoritmo de Banker limita el uso de los recursos que se conocen
de antemano. Sin embargo, para muchos sistemas es imposible. Esto
significa que la prevención de bloqueo mutuo es a menudo imposible.
–
b. Otros dos algoritmos son Wait/Die y Wound/Wait, utilizan una
técnica de ruptura de simetría. En estos dos algoritmos existe un proceso
más antiguo (O) y un proceso más joven (Y). La edad del proceso se
puede determinar mediante una marca de tiempo en el momento de la
creación del proceso. Las marcas de tiempo menores son procesos más
antiguos, mientras que las marcas de tiempo mayores representan
procesos más jóvenes.
–
3. Detección/Recuperación –realiza la búsqueda de ciclos de espera
para los gráficos, y luego deshacer, rehacer, adelanto, etc.
Operating Systems – Task3_1
20
Gestión de la memoria principal
Hay dos tareas generales que deberán realizarse[6]:
1. Cada proceso debe tener suficiente memoria en el que se ejecuta, no
puede funcionar en el espacio de memoria de otro proceso ni se ejecutará
por otro proceso.
2. Los diferentes tipos de memoria en el sistema se deben utilizar
adecuadamente de modo que cada proceso pueda ejecutarse más
eficazmente.
La primera tarea que requiere el sistema operativo para configurar los
límites de memoria en los tipos de software y para aplicaciones
individuales.
Algunas de las actividades en conexión con la administración de memoria que
son manejados por el sistema operativo :
–
–
–
Mantiene un registro de qué partes de la memoria se están utilizando actualmente
y por quién
Decidir qué procesos cargar cuando el espacio de memoria está disponible.
Asignar y desasignar espacio de memoria necesario.
Operating Systems – Task3_1
21
Gestión de Almacenamiento Secundario
• La mayoría de los equipos modernos usan discos como el
principal medio de almacenamiento en línea, tanto para los
programas como para los datos.
• Debido a que el almacenamiento secundario se utiliza
frecuentemente, debe ser utilizado eficientemente, sino se
produce un cuello de botella de procesamiento
• El sistema operativo es responsable de las siguientes
actividades relacionadas con la administración de discos:
– La gestión del espacio libre
– La asignación de almacenamiento
– La programación disco
Operating Systems – Task3_1
22
Gestión de archivos
•
Un archivo es una colección de información relacionada definida por su
creador. Comunmente, los archivos representan programas (tanto formas
fuente y objeto) y datos.
•
El sistema operativo es responsable de las siguientes actividades en conexión
con la administración de archivos:
– Creación y eliminación del archivo.
– Creación y eliminación de directorios.
– Apoyo de primitivas para manipular archivos y directorios.
– Cartografía de archivos en el almacenamiento secundario.
– Copia de seguridad del archivo de medios de almacenamiento estables.
•
Nuevos OS como Windows XP / Vista / 7 support nueva tabla de
asignación de archivos tipo – NTFS, que es más eficiente para discos
grandes que los mayores FAT 32
Operating Systems – Task3_1
23
Gestor de archivos de entrada / salida
• Ocultar las peculiaridades de los dispositivos de hardware específicos
del usuario
• El sistema de Entrada / Salida se compone de:
– Un componente de gestión de memoria que incluye buffering, el
almacenamiento en caché y la cola de impresión.
– Una interfaz general del controlador del dispositivo.
– Controladores para los dispositivos hardware específicos.
Operating Systems – Task3_1
24
Interfaz de Usuario
•
Una interfaz de Usuario (UI) da la estructura de la interacción entre un
usuario y el ordenador. En la última década, la más popular es la interfaz
gráfica de usuario(GUI), dos modelos, Apple's Macintosh y Microsoft's
Windows [1, 3].
•
El popular, sistema operativo de ódigo abierto, Linux, también es compatible
con una interfaz gráfica de usuario.
•
Unix, por ejemplo, tiene interfaces de usuario llamados conchas que presentan
una interfaz de usuario más flexible y potente que el sistema operativo
estándar de interfaz basada en texto.
•
También existen interfaces gráficas de usuario, como por ejemplo X-Windows y
Gnome, que hacen que Unix y Linux más parecidos a ordenadores con
Windows y Macintosh desde el punto de vista del usuario.
Operating Systems – Task3_1
25
Sistema de Comando-Intérprete
• Sirve como la interfaz entre el usuario y el sistema operativo
Fácil de usar, el medio ambiente en Macintosh y Microsoft Windows
– En MS-DOS y UNIX, los comandos se escriben en el teclado y se muestran
por pantalla o impresora
• Muchas órdenes se dan en el sistema operativo por sentencias de
control que se ocupan de:
–
–
–
–
–
–
–
Creación y gestión de procesos
Manipulación de Entrada/Salida
Gestión de almacenamiento secundario
Gestión de la memoria principal
Acceso al sistema de archivos
Protección
Red
Operating Systems – Task3_1
26
Llamadas al sistema
• Las llamadas al sistema proporcionan la interfaz entre un programa en
ejecución y el sistema operativo. Por ejemplo:
– Archivo de entrada abierto, crean el archivo de salida.
– Generalmente disponible como rutinas escritas en C y C++
– Ciertas tareas de bajo nivel (acceso directo al hardware) pueden ser escritas
en languaje ensamblador
• Sobre todo es muy usada por los programas a través de un alto nivel
Application Program Interface (API) en lugar de utilizar directamente la
llamada al sistema:
– Proporciona la portabilidad (hardware subyacente manejado por el sistema
operativo)
– Oculta los detalles del programador
Las tres APIs más usadas con: Win32 API para Windows, POSIX
API para sistemas basados en POSIX- (incluyendo prácticamente
todas las versiones de UNIX, Linux, y Mac OS X), y Java API para la
máquina virtual Java (JVM)
27
Operating Systems – Task3_1
Ejemplo de llamadas al sistema
• Secuencia de llamadas del sistema para copiar el contenido
de un archivo a otro
Operating Systems – Task3_1
28
Ejemplo de una norma API
• Considere la función en el ArchivodeLectura()
• Win32 una función para la lectura de un archivo
Una descripción de los parámetros pasados ​a
ArchivodeLectura()
–
–
–
–
–
HANDLE file—archivo para ser leido
LPVOID buffer—un buffer, donde los datos se leen y se escriben
DWORD bytesToRead—el número de bytes que se lee en el buffer
LPDWORD bytesRead—el número de bytes leídos durante la última lectura
LPOVERLAPPED ovl—indica si se está utilizando E / S
Operating Systems – Task3_1
29
Implementación del sistema de llamada
• Normalmente un número asociado a cada llamada de sistema
– Interfaz del sistema llamada mantiene una tabla indexada de acuerdo a
estos números
• La interfaz del sistema de llamada invoca una llamada al sistema
previsto en OS kernel y devuelve el estado de la llamada al sistema y
los valores de retorno
• El emisor no necesita saber nada nada sobre cómo se implementa la
llamada al sistema
– Sólo tiene que obedecer a API y entender lo que va a hacer el OS como
resultado de una llamada
– La mayoría de los detalles de la interfaz del programador OS ocultos
por API
Gestionado por la biblioteca de compatibilidad de tiempo de ejecución (conjunto de
funciones incorporadas en las bibliotecas que se incluye con compilador)
30
Operating Systems – Task3_1
API – Sistema de Llamada – OS Relación
Operating Systems – Task3_1
31
Ejemplo de Librería stándart en C
• Programa C invocando printf () llamada de la biblioteca,
que llama a write () llamada al sistema
Operating Systems – Task3_1
32
Tipos de Llamadas del Sistema
• Control del proceso
– final, abortar, cargar, ejecutar, asignar memoria libre
• Gestión de archivos
– Crear, eliminar, abrir, cerrar, leer, escribir el archivo
• Gestión de dispositivos
– Solicitar/desbloquear, leer, escribir
• Mantenimiento de Información
– obtener / establecer los datos del sistema
• Comunicaciones
– Enviar / recibir mensajes, crear / eliminar comunicador
Operating Systems – Task3_1
33
Programas del Sistema
• Los programas del sistema proporcionan un entorno adecuado para
el desarrollo y ejecución del programa. Se pueden dividir en :
– La manipulación de archivos
– Información de estado (fecha, hora, número de usuarios, memoria libre etc.)
– Modificación del archivo (editor de texto)
– Apoyo al lenguaje de programación (compiladores, ensambladores, etc)
– Carga y ejecución del programa (cargadores, vinculación editores)
– Comunicaciones (crea conexiones virtuales entre procesos, usuarios y
diferentes sistemas informáticos)
– Utilidades del sistema o programas de aplicación (navegadores web,
procesamiento de textos, hojas de cálculo, etc)
• La mayoria de los usuarios ven el OS definido por el sistema de
programas, no por el actual sistema de llamadas.
Operating Systems – Task3_1
34
Implementación del Sistema
• Tradicionalmente escrito en lenguaje ensamblador, OS ahora se
puede escribir en lenguajes de alto nivel *.
• El código escrito en un lenguaje de alto nivel :
– se puede escribir más rápido.
– es más compacto.
– es más fácil de entender y depurar.
• Los oponentes a los OSs en lenguaje de alto nivel se quejan por un
bajo rendiemiento y un incremento de consumo en almacenaje
de datos.
• Sus defensores sostienen:
–Los compiladores modernos pueden producir códigos altamente optimizados.
–Hoy en día sistemas operativos se ejecutan en hardware muy complejo que
puede saturar el programador con detalles.
–Mejora las estructuras de datos y algoritmos, mejora el rendimiento de sistemas
operativos
–Sólo una pequeña cantidad de código es crítica para alto rendimiento – los
cuellos de botella pueden ser reemplazados con código de ensamblador más
adelante
• Un sistema operativo es mucho más fácil de transportar(mover a algún
otro hardware) si está escrito en un lenguaje de alto nivel.
35
Operating Systems – Task3_1
Estructura del Sistema Operativo
• MS-DOS – escrito para
proporcionar la mayor
funcionalidad en el menor
espacio
– No muy bien dividido en
módulos
– Diseñado sin esperar tanta
popularidad
– Aunque MS-DOS tiene una
estructura, sus interfaces y
niveles de funcionalidad no
están bien separados
– Vulnerable a fallos del sistema
cuando un usuario del
programa falla
– Escrito para Intel 8088, que no
tenía doble núcleo ni
protección de hardware
MS-DOS layer structure
Operating Systems – Task3_1
36
Estructura del sistema UNIX
kernel
Operating Systems – Task3_1
37
Máquinas virtuales
• Una máquina virtual tiene el enfoque por capas con
conclusión lógica. Se trata de hardware y sistema
operativo kernel como si fueran todo el hardware
• Una máquina virtual proporciona una interfaz idéntica a
la del hardware simple
• El sistema operativo crea la ilusión de múltiples
procesos, cada uno en la ejecución de su propio
procesador con su propia memoria (virtual)
Operating Systems – Task3_1
38
Máquinas Virtuales (Cont.)
• Los recursos de la computadora física son
compartidos para crear las máquinas virtuales
– La programación de la CPU puede crear la apariencia de
que los usuarios tienen su propio procesador
– Una cola de impresión y un sistema de archivos se pueden
ofrecer a los lectores de tarjetas virtuales e impresoras de
líneas virtuales
– Un terminal de tiempo compartido sirve al usuario como
consola del operador de la máquina virtual
Operating Systems – Task3_1
39
Máquina Virtual (Cont.)
Non-virtual Machine
Virtual Machine
(a) máquina no virtual (b) máquina virtual
Operating Systems – Task3_1
40
Máquina Virtual Java
Operating Systems – Task3_1
41
Memoria Virtual (VM)
A. Definición – Es una técnica de optimización, ejecutada por el sistema
operativo con el fin de dar a un programa en uso la impresión de que tiene más
memoria de la que realmente tiene. OS utilizan un programa llamado
Administrador de memoria virtual (VMM) para administrar la VM.

B. Como trabaja VM – VMM crea un archivo de paginación (archivo de
intercambio) en el disco duro que contiene la memoria adicional que necesita el
sistema operativo. Cada vez que el sistema operativo necesita un "bloque" de la
memoria que no está en la memoria real (RAM), la VMM toma un bloque de la RAM
de acuerdo con un determinado algoritmo, escribe en el archivo de paginación, y
luego lee el bloque de memoria que el sistema operativo necesita del archivo de
paginación. El VMM toma entonces el bloque de memoria del archivo de paginación,
y lo mueve en la memoria real - en lugar del anterior bloque. Este proceso se llama
intercambio o paginación.


C. Algoritmos de sustitución de páginas


1. FIFO, 2. Optimal, 3. LRU, 4. LFU, 5. By randomly
D. Ventajas de VM
1. Permite la ejecución de los procesos de grandes.
2. Mejora la eficiencia de la multiprogramación.
3. Libera a los programadores de un cuidado de la memoria.

La memoria virtual se implementa mediante varios sistemas operativos como
Windows, Mac OS X, y Linux.
Operating Systems – Task3_1
42
Protección y Seguridad
• Protección - Un mecanismo para controlar el acceso de los
procesos o usuarios a los recursos definidos por el sistema
operativo
• Seguridad – defiende el sistema contra ataques internos y
externos
– Gran variedad, incluyendo ataques de denegación de servicio, gusanos,
virus, robo de identidad, robo de servicio
• Los sistemas generalmente primero distinguen entre los
usuarios, para determinar quién puede hacer qué
– Identidades de usuario (ID de usuario, ID de seguridad) incluyen el nombre
y número de asociado, uno por usuario
– ID de usuario a continuación, se asocia con todos los archivos y procesos
de este usuario para determinar el control de acceso
– Identificador de grupo (ID de grupo) permite que un conjunto de usuarios
que está definido y controla la gestión, entonces también se asocia con
cada proceso y archivo
– Una escala de privilegios permite al usuario cambiar de ID efectivo con
43
más derechos
Operating Systems – Task3_1
Seguridad (continuación)
• La seguridad se basa en las dos ideas que:
– El sistema operativo proporciona acceso a una serie de recursos,
– El sistema operativo es capaz de distinguir entre algunos
solicitantes
• Seguridad interna
– puede considerarse como la protección de los recursos del
ordenador de los programas, al mismo tiempo que se ejecutan en
el sistema.
• Seguridad externa
– Típicamente una oferta de sistemas operativos (hosts) varios
servicios a los otros equipos conectados en red y a los usuarios,
tales como el intercambio de archivos, servicios de impresión,
correo electrónico, sitios web, y los protocolos de transferencia de
archivos.
– La primera línea de la seguridad son dispositivos de hardware
conocidos como cortafuegos.
Operating Systems – Task3_1
44
Fiabilidad*
Operating Systems – Task3_1
45
Sistemas Operativos
Preguntas:
1. Describe la clasificación general de los sistemas operativos .
2. Describe las estructuras de los OS
3. Describe los componentes comunes de los OS
4. ¿Cuáles son las actividades principales de un sistema operativo en la
gestión de procesos?
5. Explica: por que se pueden producir condiciones de situación de
bloqueo mutuo y cuales son los principales métodos para tratar con los
bloqueos mutuos
6. Describe las operaciones que pueden hacer los OS en multitarea
7. Describe la interfaz entre un programa en ejecución y el sistema operativo
- el método de las llamadas al sistema y el método a través de una interfaz
de programación de aplicaciones de alto nivel (API). Compararlos.
8. Explica el principio de trabajo de las máquinas virtuales.
Operating Systems – Task3_1
46
Sistemas Operativos
Recursos adicionales:
1. http://en.wikipedia.org/wiki/Operating_system
2. http://www.webopedia.com/TERM/o/operating_system.html
3. http://computer.howstuffworks.com/operating-system5.htm
4. http://en.wikipedia.org/wiki/Deadlock
5. http://www.personal.kent.edu/~rmuhamma/OpSystems/os.html
6. Andrew S. Tanenbaum, Maarten van Steen, Distributed Systems: Principles and
Paradigms (http://www.cs.vu.nl/~ast/books/ds1/)
7. http://www.howstuffworks.com/operating-system6.htm
8. http://en.wikipedia.org/wiki/Comparison_of_operating_systems
9. http://www.bellevuelinux.org/operating_systems_list.html
10. http://www.linuxinsider.com/story/31855.html
11. http://www.cse.ucsc.edu/~sbrandt/111/slides.html
12. http://hjem.get2net.dk/rune_moeller_barnkob/multitasking.html
13. http://en.wikibooks.org/wiki/The_Computer_Revolution/Software/OS
14. http://en.wikipedia.org/wiki/System_call
15. http://en.wikipedia.org/wiki/Application_programming_interface
Operating Systems – Task3_1
47