Sistema operativo

63
Sistema operativo Interacción entre el SO con el resto de las partes. Estimación del uso de sistemas operativos según una muestra de computadoras con acceso a Internet en Noviembre de 2009 (Fuente: W3counter ). Un sistema operativo (SO) es el programa o conjunto de programas que efectúan la gestión de los procesos básicos de un sistema informático, y permite la normal ejecución del resto de las operaciones. 1 Nótese que es un error común muy extendido denominar al conjunto completo de herramientas sistema operativo, es decir, la inclusión en el mismo término de programas como el explorador de ficheros, el navegador y todo tipo de herramientas que permiten la interacción con el sistema operativo, también llamado núcleo o kernel . Uno de los más prominentes ejemplos de esta diferencia, es el núcleo

Transcript of Sistema operativo

Page 1: Sistema operativo

Sistema operativo

Interacción entre el SO con el resto de las partes.

Estimación del uso de sistemas operativos según una muestra de computadoras con acceso a Internet en Noviembre de 2009 (Fuente: W3counter).

Un sistema operativo (SO) es el programa o conjunto de programas que efectúan la gestión de los procesos básicos de un sistema informático, y permite la normal ejecución del resto de las operaciones.1

Nótese que es un error común muy extendido denominar al conjunto completo de herramientas sistema operativo, es decir, la inclusión en el mismo término de programas como el explorador de ficheros, el navegador y todo tipo de herramientas que permiten la interacción con el sistema operativo, también llamado núcleo o kernel. Uno de los más prominentes ejemplos de esta diferencia, es el núcleo Linux, que es el núcleo del sistema operativo GNU, del cual existen las llamadas distribuciones GNU. Este error de precisión, se debe a la modernización de la informática llevada a cabo a finales de los 80, cuando la filosofía de estructura básica de funcionamiento de los grandes computadores2 se rediseñó a fin de llevarla a los hogares y facilitar su uso, cambiando el concepto de computador multiusuario, (muchos usuarios al mismo tiempo) por un sistema monousuario (únicamente un usuario al mismo tiempo) más sencillo de gestionar.3 (Véase AmigaOS, beOS o MacOS como los pioneros4 de dicha

Page 2: Sistema operativo

modernización, cuando los Amiga, fueron bautizados con el sobrenombre de Video Toasters5 por su capacidad para la Edición de vídeo en entorno multitarea round robin, con gestión de miles de colores e interfaces intuitivos para diseño en 3D.

Uno de los propósitos del sistema operativo que gestiona el núcleo intermediario consiste en gestionar los recursos de localización y protección de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. Se encuentran en la mayoría de los aparatos electrónicos que utilizan microprocesadores para funcionar. (teléfonos móviles, reproductores de DVD, computadoras, radios, etc.).

Contenido

[ocultar]

1 Perspectiva histórica o 1.1 Problemas de explotación y soluciones iniciales o 1.2 Monitores residentes o 1.3 Sistemas con almacenamiento temporal de E/S o 1.4 Spoolers

2 Perspectiva histórica o 2.1 Sistemas operativos multiprogramados

3 Llamadas al sistema operativo o 3.1 Modos de ejecución en un CPU o 3.2 Llamadas al sistema o 3.3 Bibliotecas de interfaz de llamadas al sistema

4 Interrupciones y excepciones o 4.1 Tratamiento de las interrupciones o 4.2 Importancia de las interrupciones o 4.3 Excepciones

4.3.1 Clases de excepciones 4.3.2 Importancia de las excepciones

5 Componentes de un sistema operativo o 5.1 Gestión de procesos o 5.2 Gestión de la memoria principal o 5.3 Gestión del almacenamiento secundario o 5.4 El sistema de E/S o 5.5 Sistema de archivos o 5.6 Sistemas de protección o 5.7 Sistema de comunicaciones o 5.8 Programas de sistema o 5.9 Gestor de recursos

6 Clasificación o 6.1 Administración de tareas o 6.2 Administración de usuarios o 6.3 Manejo de recursos o 6.4 Ejemplos de Sistemas Operativos ( ordenadores ) o 6.5 Ejemplos de Sistemas Operativos ( Dispositivos Moviles )

7 Véase también

Page 3: Sistema operativo

8 Referencias 9 Bibliografía 10 Enlaces externos

[editar] Perspectiva histórica

Los primeros sistemas (1945-1960) eran grandes máquinas operadas desde la consola maestra por los programadores. Durante la década siguiente (1950-1960) se llevaron a cabo avances en el hardware: lectoras de tarjetas, impresoras, cintas magnéticas, etc. Esto a su vez provocó un avance en el software: compiladores, ensambladores, cargadores, manejadores de dispositivos, etc.

A finales de los años 80, una computadora Commodore Amiga equipada con una aceleradora Video Toaster era capaz de producir efectos comparados a sistemas dedicados que costaban el triple. Un Video Toaster junto a Lightwave ayudó a producir muchos programas de televisión y películas, entre las que se incluyen Babylon 5, Seaquest DSV y Terminator II.6

[editar] Problemas de explotación y soluciones iniciales

El problema principal de los primeros sistemas era la baja utilización de los mismos, la primera solución fue poner un operador profesional que lo manejase, con lo que se eliminaron las hojas de reserva, se ahorró tiempo y se aumentó la velocidad.

Para ello, los trabajos se agrupaban de forma manual en lotes mediante lo que se conoce como procesamiento por lotes (batch) sin automatizar.

[editar] Monitores residentes

Fichas en lenguaje de procesamiento por lotes, con programa y datos, para ejecución secuencial.

Según fue avanzando la complejidad de los programas, fue necesario implementar soluciones que automatizaran la organización de tareas sin necesidad de un operador. Debido a ello se crearon los monitores residentes: programas que residían en memoria y que gestionaban la ejecución de una cola de trabajos.

Page 4: Sistema operativo

Un monitor residente estaba compuesto por un cargador, un Intérprete de comandos y un Controlador (drivers) para el manejo de entrada/salida.

[editar] Sistemas con almacenamiento temporal de E/S

Los avances en el hardware crearon el soporte de interrupciones y posteriormente se llevó a cabo un intento de solución más avanzado: solapar la E/S de un trabajo con sus propios cálculos, por lo que se creó el sistema de buffers con el siguiente funcionamiento:

Un programa escribe su salida en un área de memoria (buffer 1). El monitor residente inicia la salida desde el buffer y el programa de aplicación

calcula depositando la salida en el buffer 2. La salida desde el buffer 1 termina y el nuevo cálculo también. Se inicia la salida desde el buffer 2 y otro nuevo cálculo dirige su salida al buffer

1. El proceso se puede repetir de nuevo.

Los problemas surgen si hay muchas más operaciones de cálculo que de E/S (limitado por la CPU) o si por el contrario hay muchas más operaciones de E/S que cálculo (limitado por la E/S).

[editar] Spoolers

[editar] Perspectiva histórica

Los primeros sistemas (1945-1950) eran grandes máquinas operadas desde la consola maestra por los programadores. Durante la década siguiente (1950-1960) se llevaron a cabo avances en el hardware: lectoras de tarjetas, impresoras, cintas magnéticas, etc. Esto a su vez provocó un avance en el software: compiladores, ensambladores, cargadores, manejadores de dispositivos, etc.

Hace aparición el disco magnético con lo que surgen nuevas soluciones a los problemas de rendimiento. Se eliminan las cintas magnéticas para el volcado previo de los datos de dispositivos lentos y se sustituyen por discos (un disco puede simular varias cintas). Debido al solapamiento del cálculo de un trabajo con la E/S de otro trabajo se crean tablas en el disco para diferentes tareas, lo que se conoce como Spool (Simultaneous Peripherial Operation On-Line).

[editar] Sistemas operativos multiprogramados

Surge un nuevo avance en el hardware: el hardware con protección de memoria. Lo que ofrece nuevas soluciones a los problemas de rendimiento:

Se solapa el cálculo de unos trabajos con la entrada/salida de otros trabajos. Se pueden mantener en memoria varios programas. Se asigna el uso de la CPU a los diferentes programas en memoria.

Page 5: Sistema operativo

Debido a los cambios anteriores, se producen cambios en el monitor residente, con lo que éste debe abordar nuevas tareas, naciendo lo que se denomina como Sistemas Operativos multiprogramados, los cuales cumplen con las siguientes funciones:

Administrar la memoria. Gestionar el uso de la CPU (planificación). Administrar el uso de los dispositivos de E/S.

Cuando desempeña esas tareas, el monitor residente se transforma en un sistema operativo multiprogramado.

[editar] Llamadas al sistema operativo

Definición breve: llamadas que ejecutan los programas de aplicación para pedir algún servicio al SO.

Cada SO implementa un conjunto propio de llamadas al sistema. Ese conjunto de llamadas es la interfaz del SO frente a las aplicaciones. Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el SO. Por ello si cambiamos de SO, y abrimos un programa diseñado para trabajar sobre el anterior, en general el programa no funcionará, a no ser que el nuevo SO tenga la misma interfaz. Para ello:

Las llamadas correspondientes deben tener el mismo formato. Cada llamada al nuevo SO tiene que dar los mismos resultados que la

correspondiente del anterior.

[editar] Modos de ejecución en un CPU

Las aplicaciones no deben poder usar todas las instrucciones de la CPU. No obstante el Sistema Operativo, tiene que poder utilizar todo el juego de instrucciones del CPU. Por ello, una CPU debe tener (al menos) dos modos de operación diferentes:

Modo usuario: el CPU podrá ejecutar sólo las instrucciones del juego restringido de las aplicaciones.

Modo supervisor: la CPU debe poder ejecutar el juego completo de instrucciones.

[editar] Llamadas al sistema

Una aplicación, normalmente no sabe dónde está situada la rutina de servicio de la llamada. Por lo que si ésta se codifica como una llamada de función, cualquier cambio en el SO haría que hubiera que reconstruir la aplicación.

Pero lo más importante es que una llamada de función no cambia el modo de ejecución de la CPU. Con lo que hay que conseguir llamar a la rutina de servicio, sin tener que conocer su ubicación, y hacer que se fuerce un cambio de modo de operación de la CPU en la llamada (y la recuperación del modo anterior en el retorno).

Page 6: Sistema operativo

Esto se hace utilizando instrucciones máquina diseñadas específicamente para este cometido, distintas de las que se usan para las llamadas de función.

[editar] Bibliotecas de interfaz de llamadas al sistema

Las llamadas al sistema no siempre tienen una expresión sencilla en los lenguajes de alto nivel, por ello se crean las bibliotecas de interfaz, que son bibliotecas de funciones que pueden usarse para efectuar llamadas al sistema. Las hay para distintos lenguajes de programación.

La aplicación llama a una función de la biblioteca de interfaz (mediante una llamada normal) y esa función es la que realmente hace la llamada al sistema.

[editar] Interrupciones y excepciones

El SO ocupa una posición intermedia entre los programas de aplicación y el hardware. No se limita a utilizar el hardware a petición de las aplicaciones ya que hay situaciones en las que es el hardware el que necesita que se ejecute código del SO. En tales situaciones el hardware debe poder llamar al sistema, pudiendo deberse estas llamadas a dos condiciones:

Algún dispositivo de E/S necesita atención. Se ha producido una situación de error al intentar ejecutar una instrucción del

programa (normalmente de la aplicación).

En ambos casos, la acción realizada no está ordenada por el programa de aplicación, es decir, no figura en el programa.

Según los dos casos anteriores tenemos las interrupciones y la excepciones:

Interrupción: señal que envía un dispositivo de E/S a la CPU para indicar que la operación de la que se estaba ocupando, ya ha terminado.

Excepción: una situación de error detectada por la CPU mientras ejecutaba una instrucción, que requiere tratamiento por parte del SO.

[editar] Tratamiento de las interrupciones

Una interrupción se trata en todo caso, después de terminar la ejecución de la instrucción en curso.

El tratamiento depende de cuál sea el dispositivo de E/S que ha causado la interrupción, ante la cual debe poder identificar el dispositivo que la ha causado.

La ventaja de este procedimiento es que no se tiene que perder tiempo ejecutando continuamente rutinas para consultar el estado del periférico. El inconveniente es que el dispositivo debe tener los circuitos electrónicos necesarios para acceder al sistema de interrupciones del computador.

[editar] Importancia de las interrupciones

Page 7: Sistema operativo

El mecanismo de tratamiento de las interrupciones permite al SO utilizar la CPU en servicio de una aplicación, mientras otra permanece a la espera de que concluya una operación en un dispositivo de E/S.

El hardware se encarga de avisar al SO cuando el dispositivo de E/S ha terminado y el SO puede intervenir entonces, si es conveniente, para hacer que el programa que estaba esperando por el dispositivo, se continúe ejecutando.

En ciertos intervalos de tiempo puede convenir no aceptar señales de interrupción. Por ello las interrupciones pueden inhibirse por programa (aunque esto no deben poder hacerlo las mismas).

Un ejemplo de sincronismo por interrupción es el almacenamiento de caracteres introducidos mediante el teclado. Cuando se introduce un carácter, se codifica en el registro de datos del dispositivo y además se activa un bit del registro de estado quien crea una interrupción en el hardware. El procesador deja temporalmente la tarea que estaba completando y ejecuta la rutina de atención a la interrupción correspondiente. El teclado almacena el carácter en el vector de memoria intermedia ( también llamado buffer) asociada al teclado y despierta el proceso que había en el estado de espera de la operación de entrada/salida.

[editar] Excepciones

Cuando la CPU intenta ejecutar una instrucción incorrectamente construida, la unidad de control lanza una excepción para permitir al SO ejecutar el tratamiento adecuado. Al contrario que en una interrupción, la instrucción en curso es abortada. Las excepciones al igual que las interrupciones deben estar identificadas.

[editar] Clases de excepciones

Las instrucciones de un programa pueden estar mal construidas por diversas razones:

El código de operación puede ser incorrecto. Se intenta realizar alguna operación no definida, como dividir por cero. La instrucción puede no estar permitida en el modo de ejecución actual. La dirección de algún operando puede ser incorrecta o se intenta violar alguno

de sus permisos de uso.

[editar] Importancia de las excepciones

El mecanismo de tratamiento de las excepciones es esencial para impedir, junto a los modos de ejecución de la CPU y los mecanismos de protección de la memoria, que las aplicaciones realicen operaciones que no les están permitidas. En cualquier caso, el tratamiento específico de una excepción lo realiza el SO.

Como en el caso de las interrupciones, el hardware se limita a dejar el control al SO, y éste es el que trata la situación como convenga.

Es bastante frecuente que el tratamiento de una excepción no retorne al programa que se estaba ejecutando cuando se produjo la excepción, sino que el SO aborte la ejecución de

Page 8: Sistema operativo

ese programa. Este factor depende de la pericia del programador para controlar la excepción adecuadamente.

[editar] Componentes de un sistema operativo

Componentes del Sistema Operativo.

[editar] Gestión de procesos

Un proceso es simplemente, un programa en ejecución que necesita recursos para realizar su tarea: tiempo de CPU, memoria, archivos y dispositivos de E/S. El SO es el responsable de:

Crear y destruir los procesos. Parar y reanudar los procesos. Ofrecer mecanismos para que se comuniquen y sincronicen.

La gestión de procesos podría ser similar al trabajo de oficina. Se puede tener una lista de tareas a realizar y a estas fijarles prioridades alta, media, baja por ejemplo. Debemos comenzar haciendo las tareas de prioridad alta primero y cuando se terminen seguir con las de prioridad media y después las de baja. Una vez realizada la tarea se tacha. Esto puede traer un problema que las tareas de baja prioridad pueden que nunca lleguen a ejecutarse. y permanezcan en la lista para siempre. Para solucionar esto, se puede asignar alta prioridad a las tareas más antiguas.

[editar] Gestión de la memoria principal

La Memoria es una gran tabla de palabras o bytes que se referencian cada una mediante una dirección única. Este almacén de datos de rápido accesos es compartido por la CPU y los dispositivos de E/S, es volátil y pierde su contenido en los fallos del sistema. El SO es el responsable de:

Conocer qué partes de la memoria están siendo utilizadas y por quién. Decidir qué procesos se cargarán en memoria cuando haya espacio disponible. Asignar y reclamar espacio de memoria cuando sea necesario.

[editar] Gestión del almacenamiento secundario

Un sistema de almacenamiento secundario es necesario, ya que la memoria principal (almacenamiento primario) es volátil y además muy pequeña para almacenar todos los

Page 9: Sistema operativo

programas y datos. También es necesario mantener los datos que no convenga mantener en la memoria principal. El SO se encarga de:

Planificar los discos. Gestionar el espacio libre. Asignar el almacenamiento. Verificar que los datos se guarden en orden

[editar] El sistema de E/S

Consiste en un sistema de almacenamiento temporal (caché), una interfaz de manejadores de dispositivos y otra para dispositivos concretos. El sistema operativo debe gestionar el almacenamiento temporal de E/S y servir las interrupciones de los dispositivos de E/S.

[editar] Sistema de archivos

Los archivos son colecciones de información relacionada, definidas por sus creadores. Éstos almacenan programas (en código fuente y objeto) y datos tales como imágenes, textos, información de bases de datos, etc. El SO es responsable de:

Construir y eliminar archivos y directorios. Ofrecer funciones para manipular archivos y directorios. Establecer la correspondencia entre archivos y unidades de almacenamiento. Realizar copias de seguridad de archivos.

Existen diferentes Sistemas de Archivos, es decir, existen diferentes formas de organizar la información que se almacena en las memorias (normalmente discos) de los ordenadores. Por ejemplo, existen los sistemas de archivos FAT, FAT32, EXT3, NTFS, XFS, etc.

Desde el punto de vista del usuario estas diferencias pueden parecer insignificantes a primera vista, sin embargo, existen diferencias muy importantes. Por ejemplo, los sistemas de ficheros FAT32 y NTFS, que se utilizan fundamentalmente en sistemas operativos de Microsoft, tienen una gran diferencia para un usuario que utilice una base de datos con bastante información ya que el tamaño máximo de un fichero con un Sistema de Archivos FAT32 está limitado a 4 gigabytes, sin embargo, en un sistema NTFS el tamaño es considerablemente mayor.

[editar] Sistemas de protección

Mecanismo que controla el acceso de los programas o los usuarios a los recursos del sistema. El SO se encarga de:

Distinguir entre uso autorizado y no autorizado. Especificar los controles de seguridad a realizar. Forzar el uso de estos mecanismos de protección.

[editar] Sistema de comunicaciones

Page 10: Sistema operativo

Para mantener las comunicaciones con otros sistemas es necesario poder controlar el envío y recepción de información a través de las interfaces de red. También hay que crear y mantener puntos de comunicación que sirvan a las aplicaciones para enviar y recibir información, y crear y mantener conexiones virtuales entre aplicaciones que están ejecutándose localmente y otras que lo hacen remotamente.

[editar] Programas de sistema

Son aplicaciones de utilidad que se suministran con el SO pero no forman parte de él. Ofrecen un entorno útil para el desarrollo y ejecución de programas, siendo algunas de las tareas que realizan:

Manipulación y modificación de archivos. Información del estado del sistema. Soporte a lenguajes de programación. Comunicaciones.

[editar] Gestor de recursos

Como gestor de recursos, el Sistema Operativo administra:

La CPU (Unidad Central de Proceso, donde está alojado el microprocesador). Los dispositivos de E/S (entrada y salida) La memoria principal (o de acceso directo). Los discos (o memoria secundaria). Los procesos (o programas en ejecución). y en general todos los recursos del sistema.

[editar] Clasificación

[editar] Administración de tareas

Monotarea : Solamente puede ejecutar un proceso (aparte de los procesos del propio S.O.) en un momento dado. Una vez que empieza a ejecutar un proceso, continuará haciéndolo hasta su finalización y/o interrupción.

Multitarea : Es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de S.O. normalmente asigna los recursos disponibles (CPU, memoria, periféricos) de forma alternada a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de forma concurrente.

[editar] Administración de usuarios

Monousuario : Si sólo permite ejecutar los programas de un usuario al mismo tiempo.

Multiusuario : Si permite que varios usuarios ejecuten simultáneamente sus programas, accediendo a la vez a los recursos de la computadora. Normalmente estos sistemas operativos utilizan métodos de protección de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario.

Page 11: Sistema operativo

[editar] Manejo de recursos

Centralizado: Si permite usar los recursos de una sola computadora. Distribuido: Si permite utilizar los recursos (memoria, CPU, disco,

periféricos... ) de más de una computadora al mismo tiempo.

[editar] Ejemplos de Sistemas Operativos ( ordenadores )

Windows Mac OS Linux/GNU Kurisu OS

[editar] Ejemplos de Sistemas Operativos ( Dispositivos Moviles )

Symbian Android IOS Windows Mobile

[editar] Véase también

Sistemas operativosLos Sistemas Operativos se pueden categorizar por su tecnología, su propietario o licenciatario, el estado de desarrollo, su uso o por muchas otras características. En la práctica, muchos de estos grupos se solapan.

Contenido

[ocultar]

1 Por Propietario o 1.1 Acorn Computerso 1.2 ADAFComputerso 1.3 Amigao 1.4 Apollo Computero 1.5 Apple Inc.o 1.6 Atario 1.7 BAE Systemso 1.8 Be Incorporatedo 1.9 Burroughs Corporationo 1.10 Convergent Technologieso 1.11 Digital/Tandem Computers/Compaq/HPo 1.12 Fujitsuo 1.13 Green Hills Softwareo 1.14 Haiku Inc.

Page 12: Sistema operativo

o 1.15 Hewlett-Packardo 1.16 Honeywello 1.17 Intel Corporationo 1.18 IBMo 1.19 International Computers Limitedo 1.20 LynuxWorks (originalmente Lynx Real-time Systems)o 1.21 Micrium Inc.o 1.22 Microsofto 1.23 Novello 1.24 QANTELo 1.25 RCAo 1.26 ReactOS Foundationo 1.27 RoweBotso 1.28 SCO / The SCO Groupo 1.29 Unicoi Systemso 1.30 Wind River Systemso 1.31 Basados en Lispo 1.32 Otros

1.32.1 Otros sistemas basados en UNIX o compatibles con POSIXo 1.33 SDC (Sistemas de Datos Científicos)o 1.34 TRON Projecto 1.35 UNIVAC (más tarde Unisys)o 1.36 Wavecom

2 No propietarios o 2.1 *NIX

2.1.1 Sistemas operativos *NIX y otros compatibles con POSIX 2.1.2 *NIX Libres/Código abierto 2.1.3 Otros

o 2.2 No *NIX 2.2.1 Sistemas de investigación no *NIX 2.2.2 Sistemas libres/de código abierto no *NIX

3 DOS 4 De red 5 Sistemas operativos Web 6 Genéricos/commodidades y otros 7 Para Elektronika BK 8 Afición 9 Integrados/empotrados

o 9.1 PDAso 9.2 Reproductores de músicao 9.3 Teléfonos inteligenteso 9.4 Routerso 9.5 Microcontroladores, tiempo real

10 Basados en capacidad o 10.1 LEGO Mindstorms

11 Véase también 12 Enlaces externos

Page 13: Sistema operativo

[editar] Por Propietario

[editar] Acorn Computers

Acorn MOS (en el BBC Micro y BBC Master) Arthur ARX RISC OS RISC iX (basado en 4.3BSD)

[editar] ADAFComputers

FS OS

[editar] Amiga

AmigaOS o AmigaOS 1.0-3.9 (68k)o AmigaOS 4 (PowerPC)

AmigaOS 4.0 AmigaOS 4.1

Amiga Unix (tcc Amix)

[editar] Apollo Computer

AEGIS Domain/OS Uno de los primeros sistemas basados en red. Corría sobre hardware

Apollo/Domain. Adquirido por Hewlett-Packard.

[editar] Apple Inc.

Apple II series o Apple DOS o ProDOS

Apple III o SOS (Sophisticated Operating System)

Apple Lisa o Lisa OS

Macintosh o Mac OS

System 1 System 2 System 3 System 4 System 5 System 6 System 7 (nombre en clave "Big Bang") Mac OS 8 Mac OS 9

Page 14: Sistema operativo

o Unix-like (*NIX) A/UX Darwin (código abierto) iOS (antes "iPhone OS") MkLinux Mac OS X

Mac OS X v10.0 (tcc Mac OS X 10.0 "Cheetah") Mac OS X v10.1 (tcc Mac OS X 10.1 "Puma") Mac OS X v10.2 (tcc Mac OS X 10.2 "Jaguar") Mac OS X v10.3 (tcc Mac OS X 10.3 "Panther") Mac OS X v10.4 (tcc Mac OS X 10.4 "Tiger") Mac OS X v10.5 (tcc Mac OS X 10.5 "Leopard") Mac OS X v10.6 (tcc Mac OS X 10.6 "Snow Leopard") Mac OS X Server

Newton OS

[editar] Atari

Atari DOS (para ordenadores de 8 bits) Atari TOS Atari MultiTOS

[editar] BAE Systems

XTS-400

[editar] Be Incorporated

BeOS o BeIA

Zeta (copia ilegal de BeOS desarrollada originalmente por yellow TAB e interrumpida por magnussoft)

[editar] Burroughs Corporation

Burroughs MCP

[editar] Convergent Technologies

Convergent Technologies Operating System (adquirido por Unisys)

[editar] Digital/Tandem Computers/Compaq/HP

OS/8 ITS (para los PDP-6 y PDP-10) Multi-Programming Executive (de HP) TOPS-10 (para el PDP-10) WAITS (para los PDP-6 y PDP-10) TENEX (de BBN, para el PDP-10)

Page 15: Sistema operativo

TOPS-20 (para el PDP-10) RSTS/E (sistema multiusuario y de tiempo compartido, para el PDP-11) RSX-11 (sistema multiusuario y multitarea para el PDP-11) RT-11 (sistema monousuario para el PDP-11) VMS (creado por DEC, adquirido por HP) para el mini-ordenador VAX, Alpha

y el Intel Itanium 2; renombrado como OpenVMS) Domain/OS (originalmente llamado Aegis, creado por Apollo Computer, que fue

adquirida por HP) RTE (Real Time Executive, corría en el HP 1000) TSB (Time Share Basic, corría en los HP de la serie 2000) Unix-like (*NIX)

o Digital UNIX (derivado del OSF/1, se convirtió en el Tru64 UNIX de HP)

o HP-UX o Ultrix

NonStop Kernel (Creado originalmente por Tandem Computers para sus plataformas, llamado Guardian). Soporta la ejecución simultánea de:

o Guardiano OSS (Open System Services)

[editar] Fujitsu

Towns OS

[editar] Green Hills Software

INTEGRITY INTEGRITY-178B Una versión certificada DO-178B del INTEGRITY. µ-velOSity Un microkernel ligero.

[editar] Haiku Inc.

Haiku (sistema operativo) ; proyecto de código abierto que busca recrear el sistema operativo BeOS.

[editar] Hewlett-Packard

HP Real-Time Environment ; corría sobre máquinas HP1000. HP Multi-Programming Executive ; (MPE, MPE/XL, y MPE/iX) corría sobre los

miniordenadores HP3000 y HPe3000. HP-UX ; corría sobre máquinas HP9000 e Itanium.

[editar] Honeywell

GCOS Multics OLERT-E; OnLine Executive for Real Time - Corría sobre ordenadores

Honeywell DDP-516.

Page 16: Sistema operativo

[editar] Intel Corporation

iRMX ; sistema operativo en tiempo real creado originalmente para soportar las familias de procesadores Intel 8080 and 8086.

[editar] IBM

OS/360 y sucesores o OS/360 (Primer SO oficial enfocado a la arquitectura System/360)

PCP (Primary Control Program) MFT (Multi-Programming Fixed Tasks) MVT (Multi-Programming Variable Tasks)

o OS/VS (El port oficial del OS/360 enfocado a la arquitectura de memoria virtual de los System/370.)

SVS (Single Virtual Storage (tanto el VS1 como el VS2 comenzaron somo sistemas SVS))

OS/VS1 (Operating System/Virtual Storage 1, versión de memoria virtual del OS/MFT)

OS/VS2 (Operating System/Virtual Storage 2, versión de memoria virtual del OS/MVT)

OS/VS2 R2 (llamado Multiple Virtual Storage, MVS, eliminó toda necesidad del VS1)

o MVS/SE o MVS/SP (MVS System Package)o MVS/XA (31 bits)o MVS/ESA o OS/390 (Mejora del MVS, con un entorno *NIX.)o z/OS (versión del OS/390 que soportaba direccionamientos

z/Architecture, de 64bits.)

DOS/360 y sucesores o BOS/360 (Versión inicial del DOS/360, brevemente disponible)o TOS/360 (Similar al BOS, capaz de arrancar y funcionar con dispositivos

de cintas de la serie 2x00)o DOS/360 (Disk Operating System). El primer SO disponible para el

System/360 debido a problemas en el proyecto OS/360) DOS/360/RJE (DOS/360 con una extensión del programa de

control que posibilitaba el control de dispositivos de entrada remotos conectados por líneas de teléfono dedicadas.)

o DOS/VS (El primer DOS ofertado para sistemas de la serie System/370)o DOS/VSE (actualización del DOS/VS)o VSE/SP (rebautizado; es el DOS/VSE)o VSE/ESA (DOS/VSE con un soporte de memoria virtual expandido para

direcciones de 32 bits)o z/VSE (La última versión de la vieja serie DOS. Soporta direcciones de

64 bits, multiproceso, multiprograma, SNA, TCP/IP y otras características)

CP/CMS y sucesores

Page 17: Sistema operativo

o CP-40 /CMS (para System/360 Modelo 40)o CP-67 /CMS (para System/360 Modelo 67)o VM/370 Virtual Machine / Conversational Monitor System, VM

(sistema operativo) para el System/370 con memoria virtual.o VM/XA VM (sistema operativo) eXtended Architecture para el

System/370 con memoria virtual extendida.o VM/ESA Virtual Machine /Extended System Architecture (ESA), con

direccionamientos de 32 bits para la serie VM.o z/VM Versión z/Architecture del SO VM (direccionamientos de 64 bits).

TPF para mainframes de IBM o ACP (Airline Control Program)o TPF (Transaction Processing Facility)o z/TPF (extensión z/Architecture)

Unix-like para mainframes de IBM o UTS o AIX/370 o AIX/ESA o Linux (Linux para System z, z/Linux)o OpenSolaris (OpenSolaris para IBM System z)

Otros Sistemas Operativos para mainframes de IBM o IBSYS (SO basado en cintas para los IBM 7090 e IBM 7094)o CTSS (Compatible Time-Sharing System, desarrollado en el Centro de

Computación del MIT)o RTOS/360 (Real Time Operating System, corría sobre 5 sistemas

personalizados System/360/75s de la NASA. Constituyeron el punto álgido del desarrollo del OS/360.)

o MTS (Michigan Terminal System para el System/360 de IBM)o TSS/360 (Time Sharing System para el System/360 de IBM)o MUSIC/SP (desarrollado por la Universidad McGill para el IBM

System/370)o IJMON (Un monitor arrancable para cargar programas en los IBM 1400

e IBM 1800.)

IBM Series/1 o EDX (Event Driven Executive)o RPS (Realtime Programming System)

IBM 8100 o DPCX (Distributed Processing Control eXecutive)o DPPX (Distributed Processing Programming eXecutive)

IBM System/34 , IBM System/36 o SSP (System Support Program)

IBM System/38 o CPF (Control Program Facility)

Page 18: Sistema operativo

IBM System/88 o Stratus VOS (desarrollado por Stratus, y utilizado en computadoras IBM

System/88)

AS/400 , iSeries, System i, Power Systems i Edition o OS/400 (descendiente del System/38 CPF, incluye un entorno System/36

SSP.)o i5/OS (mejora el OS/400 con características significativas de

interoperabilidad)o IBM i (mejora el i5/OS.)

UNIX en IBM POWER o AIX (Advanced Interactive eXecutive)o AOS (una versión BSD Unix)

IBM PC y sucesores con arquitectura x86 o PC DOS / IBM DOS

PC DOS 1.x, 2.x, 3.x (desarrollado conjuntamente con Microsoft) IBM DOS 4.x, 5.0 (desarrollado conjuntamente con Microsoft) PC DOS 6.x, 7, 2000

o OS/2 OS/2 1.x (desarrollado conjuntamente con Microsoft) OS/2 2.x OS/2 Warp V3 OS/2 Warp V4 eComStation

Others o IBM Workplace OS (SO basado en microkernel, desarrollado y

cancelado en los años 90)o K42 (SO de investigación de código abierto para sistemas

multiprocesador PowerPC o x86)o Dynix (desarrollado por Sequent, y usado en los IBM NUMA-Q)

[editar] International Computers Limited

GEORGE 2/3/4 GEneral ORGanisational Environment, utilizado en los ICL 1900

ICL VME

[editar] LynuxWorks (originalmente Lynx Real-time Systems)

LynxOS

[editar] Micrium Inc.

MicroC/OS-II

[editar] Microsoft

Page 19: Sistema operativo

Xenix (versión de Unix; licenciada a SCO en 1987) MSX-DOS (desarrollado por MS Japan para el ordenador de 8 bits MSX) MS-DOS (desarrollado conjuntamente con IBM, versiones 1.0–6.22) Windows CE (SO para ordenadores de mano, dispositivos integrados, y

aplicaciones en tiempo real) o Windows CE 3.0 o Windows Mobile (basado en Windows CE)o Windows CE 5.0 o Windows CE 6.0

o Windows Mobile 5.0 o Windows Mobile 6 o Windows Mobile 6.1

Windows basados en DOS o Windows 1.0 o Windows 2.0 o Windows 3.0 (la primera versión que tuvo un impacto comercial notable)o Windows 3.1 o Windows 3.2 (edición exclusivamente china)

Familia Windows 9x o Windows 95 (tcc Windows 4.0) (Nombre en clave: Chicago)o Windows 98 (tcc Windows 4.1) (Nombre en clave: Memphis)o Windows Millennium Edition (normalmente abreviado a Windows Me)

(tcc Windows 4.9) OS/2 (desarrollado conjuntamente con IBM) Windows NT

o Windows NT 3.1 o Windows NT 3.5 o Windows NT 3.51 o Windows NT 4.0 o Windows 2000 (tcc Windows NT 5.0)o Windows XP (tcc Windows NT 5.1) (Nombre en clave: Whistler)o Windows Server 2003 (aka Windows NT 5.2) (Nombre en clave:

Whistler Server)o Windows Fundamentals for Legacy PC o Windows Vista (tcc Windows NT 6.0) (Nombre en clave: Longhorn)o Windows Home Server o Windows Server 2008 (tcc Windows NT 6.0) (Nombre en clave:

Longhorn Server)o Windows 7 (Nombre en clave: Blackcomb) (renombrado posteriormente

como Vienna)o Windows Preinstallation Environment (WinPE)

Singularity Midori

[editar] Novell

Page 20: Sistema operativo

NetWare Open Enterprise Server , el sucesor de NetWare. SUSE Linux

[editar] QANTEL

BEST - Business Executive System for Timesharing

[editar] RCA

TSOS

[editar] ReactOS Foundation

ReactOS ; ReactOS tiene como meta lograr compatibilidad binaria con aplicaciones y drivers de dispositivos para sistemas NT (XP, 2003) usando una arquitectura similar y proveyendo una interfaz pública completa y equivalente.

[editar] RoweBots

Unison RTOS DSPnano RTOS Unison/Reliant V3

[editar] SCO / The SCO Group

Xenix Xenix 286 Xenix 386 SCO Unix SCO Open Desktop SCO OpenServer 5 UnixWare 2.x UnixWare 7 SCO OpenServer 6

[editar] Unicoi Systems

Fusion RTOS DSPOS

[editar] Wind River Systems

VxWorks

[editar] Basados en Lisp

Máquina Lisp o Symbolics

Page 21: Sistema operativo

[editar] Otros

EOS (Operating System) EMBOS GCOS PC-MOS/386 SINTRAN III THEOS TinyOS TRS-DOS NewDos/80 TX990/TXDS , DX10 y DNOS (sistemas operativos para los miniordenadores

TI-990) MAI Basic Four Michigan Terminal System MUSIC/SP TSX-32 OS ES Prolog-Dispatcher (utilizado para controlar la nave espacial soviética Buran)

[editar] Otros sistemas basados en UNIX o compatibles con POSIX

Aegis Amiga Unix Clix Coherent DC/OSx DG/UX DNIX DSPnano RTOS INTERACTIVE UNIX IRIX MeikOS NeXTSTEP OS-9 OS9/68K OS-9000 OSF/1 OpenStep QNX Rhapsody RISC/os RMX SCO UNIX SINIX Solaris SunOS SUPER-UX System V System V/AT, 386

Page 22: Sistema operativo

Trusted Solaris UniFLEX Únicos Unison RTOS

[editar] SDC (Sistemas de Datos Científicos)

CP (Control Program)

[editar] TRON Project

TRON

[editar] UNIVAC (más tarde Unisys)

EXEC I EXEC II EXEC 8 VS/9

[editar] Wavecom

Open AT OS

[editar] No propietarios

[editar] *NIX

[editar] Sistemas operativos *NIX y otros compatibles con POSIX

Minix Plan 9

o Inferno o Plan B

Solaris Unix (SO desarrollado por los Laboratorios Bell en los años 70) Xinu

[editar] *NIX Libres/Código abierto

BSD o FreeBSD

DesktopBSD PC-BSD DragonFly BSD

o NetBSD OpenBSD

GNU Linux

Page 23: Sistema operativo

o GNU/Linux : Sistema Operativo de Software de Código Abierto (software Libre) combinado con el Núcleo Linux

OpenDarwin OpenSolaris SSS-PC Syllable VSTa Jari OS AuroraUX

[editar] Otros

TUNIS

[editar] No *NIX

[editar] Sistemas de investigación no *NIX

Amoeba Croquet House ILIOS EROS

o CapROS o Coyotos

L4 Mach MONADS

o SPEEDOS Nemesis Singularity Spring V

[editar] Sistemas libres/de código abierto no *NIX

FullPliant FreeDOS FreeVMS osFree

[editar] DOS

86-DOS o PC DOS o MS-DOS

DR-DOS o Concurrent DOS o Multiuser DOS

Page 24: Sistema operativo

FreeDOS ProDOS PTS-DOS RDOS

o TurboDOS o DESQview

[editar] De red

Cambridge Ring CSIRONET CTOS Data ONTAP SAN-OS Enterprise OS Fabric OS JUNOS NetWare NOS Novell Open Enterprise Server OliOS Plan 9

o Inferno o Plan B o TurboDOS

XPATH OS

[editar] Sistemas operativos Web

amoebaOS DesktopTwo G.ho.st YouOS Browser OS eyeOS Jooce Glide OS 3.0 Craythur Goowy Orca Purefect

[editar] Genéricos/commodidades y otros

BLIS/COBOL Bluebottle BS1000 by Siemens AG BS2000 by Siemens AG BS3000 by Siemens AG

Page 25: Sistema operativo

CP/M o CP/M-80 o CP/M-86 o CP/M-68k o CP/M-8000 o MP/M-80 o MP/M-86

FLEX9 FutureOS GEM GEOS JavaOS JNode JX KERNAL MERLIN MorphOS nSystem NetWare Oberon (sistema operativo) OSD/XC by Fujitsu-Siemens OS-IV Pick PRIMOS Sinclair QDOS SkyOS SSB-DOS SymbOS Symobi TripOS

o TurboDOS UCSD p-System UMIX VOS VOS VM2000 VisiOn VPS/VM aceos Miraculix

[editar] Para Elektronika BK

ANDOS AO-DOS BASIS CSI-DOS DOSB10 DX-DOS FA-DOS

Page 26: Sistema operativo

HC-DOS KMON MicroDOS MK-DOS NORD NORTON-BK RAMON PascalDOS RT-11

o RT-11SJ o OS BK-11

Turbo-DOS BKUNIX OS/A WASP

[editar] Afición

AROS AtheOS DexOS DSPnano RTOS EROS FAMOS HelenOS KolibriOS LoseThos LSE/OS MenuetOS Möbius operating system NewOS Syllable Desktop Unison RTOS Visopsys TajOS

[editar] Integrados/empotrados

A/ROSE DSPnano RTOS Embedded Linux FreeBSD FreeRTOS Inferno LynxOS pSOS Nucleus RTOS CMX uC/OS eCos

Page 27: Sistema operativo

RTEMS MINIX 3 .NET Micro Framework OS/RT Open AT OS polyBSD QNX RTXC Quadros RTOS ROM-DOS T2 SDE Unison RTOS VxWorks RTLinux Windows XP Embedded Windows CE

[editar] PDAs

Inferno Palm OS Palm webOS EPOC Windows CE

o Pocket PC o Windows Mobile

Linux DOS Newton OS VT-OS Internet Tablet OS Magic Cap

[editar] Reproductores de música

DSPnano RTOS ipodlinux Pixo RockBox iPhone OS iriver clix UI

[editar] Teléfonos inteligentes

BlackBerry OS Embedded Linux

o Android o Openmoko Linux o Mobilinux

Page 28: Sistema operativo

o MontaVista o MotoMagx o Qtopia o LiMo Platform

iPhone OS JavaFX Mobile Palm OS Symbian OS Windows CE

o Windows Mobile

[editar] Routers

AlliedWare AlliedWare Plus AirOS CatOS Cisco IOS CyROS DD-WRT Inferno IOS-XR IronWare JunOS RouterOS ROX ScreenOS Timos Unison RTOS

[editar] Microcontroladores, tiempo real

BeRTOS ChibiOS/RT ChorusOS Contiki DSPnano RTOS eCos FreeRTOS Fusion RTOS INtime RTOS para Windows iRMX Inferno Integrity LUnix LynxOS MenuetOS MontaVista Nucleus OS-9

Page 29: Sistema operativo

Operating System Embedded OSEK OS/RT Phoenix-RTOS Prex QNX RTAI RTEMS RTLinux RTXC Quadros RTOS SCIOPTA RTOS ThreadX TRON Project μClinux uKOS µOS++ Unison Operating System VRTX VxWorks XMK Xenomai

[editar] Basados en capacidad

KeyKOS o EROS

CapROS Coyotos

MONADS o SPEEDOS

V

[editar] LEGO Mindstorms

BrickOS leJOS ChyanOS

[editar] Véase también

Comparación de sistemas operativosA continuación se compara la información general, técnica y el ambiente gráfico de algunos sistemas operativos.

Sistema

opera

Windows 7

Window

s

Windows

Windows 2000

Haiku Mac OS X

Mac OS Debian

GNU

Fedora

(

SUSE

Linu

Mandriv

a

FreeBSD

OpenBS

D

Solaris

Plan 9

Page 30: Sistema operativo

tivoVist

aXP

/Linux

Linux)

xLinu

x

Creador

Microsoft

Microso

ft

Microso

ft

Microsoft

Haiku Project

Apple Apple

Proyecto Debian

Proyecto Fedo

ra

SuSE

Mandriva (empresa)

Universidad de California

Theo de

Raadt

SunBell Labs

Año de

primera

distribució

n

20092007

2001

2000 2009 2001 1984 1993 2003 1994 1998 1993 1996 1989 1993

  Aspectos generales

Última

versión

estable

6.1 build 7600

6.0 buil

d 6000

Service Pack 2

5.1 buil

d 2600

con Service Pack 3

5.0 con

Service

Pack 4

R1/Alpha 2

Mac OS X v10.6 ("Sno

w Leopard")

9.26.0

Squeeze

14 11.1

2010.0

Adelie

7 4.0 10

Fourth

Edition

Costo

U$S 199.9

9 (Hom

e Premium)

299.99

(Professiona

l) 319.9

9 (Ultimate)

U$S 90

(Home

Basic)

179 (Home Premium) 229 (Business) 349 (Ultimate)

143,526€ $2 152.89

MX (Home)217,593€ $3 263.895 MX(Pro

)

 ? Gratuito29€ o preinstalado

Gratuito hasta

7.5.5, 9.2 cuesta 15,60€

para dueños de Mac OS X

Gratuito

Gratuito

Gratuito

Gratuito

Gratuito

Gratuito

Gratuito

Gratuito

Licencia

No Libre

No Libr

e

No Libr

e

No Libre

Libre: Licencia

MIT

No LibreParcialment

e software

libre

No LibreLibre:

GPL

Libre:

GPL

Libre:

GPL

Libre:

GPL

Libre:

BSD

Libre:

BSD

No Libr

eSemilibre

: CDDL

Libre:

LPL

Tipo de

usuario

Hogar,

negocios y redes

Hogar, negocios y

Hogar, negocios y

Negocios

Hogar, diseño, ciencia,

negocios, servidore

Hogar,

diseño,

negoc

Hogar, diseño,

negocios

Hogar,

ciencia,

servi

Hogar,

ciencia,

servi

Hogar,

ciencia,

servi

Hogar,

ciencia,

servi

Servidores

Servidore

s

Servidore

s, negocios

Estaciones de trabajo,

Page 31: Sistema operativo

redes

redes

s y redes

ios, servidores y redes

dores,

redes,

negocios

dores

dores

dores,

redes,

negocios, empresas, Estaciones de trabajo ,

escritorio

servidore

s, embebid

o HPC

  Aspectos técnicos

Tipo de

núcleo

Híbrido

Híbrido

Híbrido

Híbrido

Híbrido modular

Mach (

Micronúcle

o)

Ninguno/

Micronúcleo

Monolític

o

Monolític

o

Monolític

o

Monolític

o

Monolític

o

Monolític

o

Monolític

o

Monolític

o

Arquitecturas de procesador soportadas

Intel x86, Intel x86 64,

Intel IA64

Intel x86, Intel x86 64,

Intel IA6

4

Intel

x86, Inte

l x86 64, Inte

l IA6

4

Intel x86

Intel x86, x86-64,

PowerPC, ARM

Intel x86 64,

PowerPC

PowerPC Intel x86, Intel IA64,

AMD64, DEC Alph

a, ARM, HP PA-RISC,

MIPS

(big endia

n), MIP

S (little endia

n), PowerPC, IMB S/39

0, Spar

c

Intel x86, AMD64, PowerPC

Intel x86, AMD64, PowerPC

Intel x86, AMD64, PowerPC

Intel x86, AMD64, DEC Alph

a, ARMISH,

HP300, HP PA,

Landisk,

Luna-88k, Mac68k, PowerPC

, Motorola VME

68k, Motorola VME

88k, SGI, Spar

c, UltraSpar

Intel x86, AMD64, Spar

c, UltraSpar

c, PowerPC (sólo

en versión

2.5.1),

Sun4d,

Sun4m

Intel IA32,

PowerPC

, ARM,

DEC Alph

a, MIPS,

Sparc,

Motorola 6800

0

Page 32: Sistema operativo

c, VAX,

Zaurus

Sistema de archivos por

defecto

NTFSNTFS

NTFS

NTFS/

FAT32

BFSHFS+/

UFS

HFS/HFS+

ext3 ext4ReiserFS

ext4Berkeley FFS

Berkeley FFS

UFS/

ZFS

fossil/

venti,

9P2000, kfs, ext2, FAT,

ISO 9660

Soporte de

sistemas de archivo de

16 bits

No No Sí Sí Sí No Sí  ? Sí  ?  ? Sí  ?  ?

Soporte de

sistemas de archivo de

32 bits

Sí Sí Sí Sí Sí Sí Sí Sí Sí Sí Sí Sí Sí Sí Sí

Soporte de

sistemas de archivo de

64 bits

Si Si Si No Sí Sí No Sí Sí Sí Sí  ?  ?  ?

Herramienta de

actualización por defect

o

Windows

Update

Window

s Update

Window

s Update

Windows

Update

installoptionalpacka

ge

Software

Update

Software Update

apt yumYaS

T

urpmi y RP

MDrake

Fuentes

Fuentes

pkgadd

replica/pull

  Aspectos gráficos

Entorno

gráfico¹

Basado en el

núcleo

Basado en el

núcleo

Basado en el

núcleo

Basado en el

núcleo

Basado en el

Núcleo híbrido modular

Basado en el

núcleo (

Quartz)

Basado en el

núcleo

Aplicación: X

Window

System

Aplicación: X

Window System

Aplicación: X

Window System

Aplicación: X

Window System

Aplicación: X Window Syste

m

Aplicación: X

Window System

Aplicación: X

Window System

Aplicación: rio

Page 33: Sistema operativo

Sistema de ventanas por

defecto

Standard

Windows

Standard Window

s

Standard

Window

s

Standard

Windows

Haiku (Integrad

a nativame

nte)

OS X Finde

r

Macintosh Finder

GNOME

GNOME

KDE

KDE y

GNOME

 ? N/A

CDE o

GNOME

rio

Estilo de

Interfaz

gráfica de

usuario

AeroAero

Estilo

Luna

Estilo clásic

o interf

az

Haiku (Integrad

a nativame

nte)

Aqua PlatinumMetacity

Metacity con tema ClearLoo

ks

kwin con tema plast

ik

Metacity con tema La ora

 ?fvwm

dtwm

con CDE,

Metacity con GNOME

rio

[editar] Véase también

Sistema operativo Windows Haiku GNU/Linux GNU Hurd NetWare ReactOS BSD Solaris Mac OS Mac OS X

Cronología de los sistemas operativosEste artículo presenta una línea del tiempo de los Sistemas Operativos desde 1960 a 2010.

Contenido

[ocultar]

1 1960s 2 1970s 3 1980s 4 1990s 5 2000s 6 2010s

Page 34: Sistema operativo

[editar] 1960s

1960 o IBSYS

1961 o CTSS

1965 o OS/360

[editar] 1970s

1970 o BATCH-11 (PDP-11)

1971 o OS/8

1972 o MFT (sistema operativo) o MVT o RDOS o SVS o VM/CMS

1973 o Alto OS

o BS2000

1976 o CP/M o TOPS-20

1978 o Apple DOS 3.1 (Primer SO Apple)o TripOS o VMS o Lisp Machine (CADR)

1979 o POS o NLTSS

[editar] 1980s

1980 o OS-9 o QDOS o SOS o XDE (Tajo) (Xerox Development Environment)o Xenix

1981 o MS-DOS

Page 35: Sistema operativo

1982 o Commodore DOS o SunOS (1.0)o Ultrix

1983 o Lisa OS o Coherent o Novell NetWare o ProDOS

1984 o Macintosh OS (System 1.0)o MSX-DOS o QNX o UniCOS

1985 o AmigaOS o Atari TOS o MIPS OS

1986 o AIX o GS-OS o HP-UX

1987 o Arthur o IRIX (3.0 es la primera versión de SGI)o Minix o OS/2 (1.0)

1988 o A/UX (Apple Computer)o LynxOS o MVS/ESA o OS/400

1989 o NeXTSTEP (1.0)o RISC OS o SCO Unix (release 3)

[editar] 1990s

1990 o Amiga OS 2.0o BeOS (v1)o OSF/1 ( karla duran OX )

1991 o Linux

1992 o 386BSD 0.1o Amiga OS 3.0o Solaris 2.0 (Sucesor de SunOS 4.x; basado en SVR4)

Page 36: Sistema operativo

1993 o Linux Debian y Linux Slackware o Plan 9 (Primera Version)o FreeBSD o NetBSD

1994 o Linux RedHat

1995 o Digital UNIX (aka Tru64 )o OpenBSD o OS/390 o Windows 95 o Plan 9 (Segunda Version)

1996 o Windows NT 4.0

1997 o Inferno o Mac OS 7.6 (El primer Mac OS llamado oficialmente así)o SkyOS

1998 o Mandrake Linux(hoy Conocido como Mandriva Linux )o Solaris 7 (El primer 64-bit de Solaris.)o Windows 98 o ReactOS 0.0.13

1999 o AROS o Mac OS 8 o ReactOS 0.0.14

[editar] 2000s

2000 o AtheOS o Mac OS 9 o MorphOS o Windows 2000 o Windows Me o ReactOS 0.0.16o Plan 9 (Tercera Version)

2001 o Amiga OS 4.0 (May 2001)o Mac OS X 10.1 o Windows XP o z/OS o ReactOS 0.0.18

2002 o Syllable o Mac OS X 10.2 o ReactOS 0.0.21

Page 37: Sistema operativo

o Plan 9 (Cuarta Version)o gnulinex

2003 o Windows Server 2003 o Mac OS X 10.3 o ReactOS 0.1.5

2004 o Ubuntu Linuxo ReactOS 0.2.4

2005 o Mac OS X 10.4 o ReactOS 0.2.9

2006 o Windows Vista o ReactOS 0.3.0

2007 o Mac OS X v10.5 o ReactOS 0.3.2 (Versión nunca lanzada)o iPhone OS 1.0]

2008 o ReactOS 0.3.7o Windows Server 2008 o iPhone OS 2.0

2009 o JNode 0.2.8o Mac OS X v10.6 o Windows 7 o ReactOS 0.3.10o iPhone OS 3.0o Palm webOS o Android

[editar] 2010s

2010 o Windows Home 7 o Android 2.1o iOS 4 (la ultima actualización es el iOS 4.1)o Ubuntu 10.04o Windows Mobile 7.1 iOS (sistema operativo)

Historia de los sistemas operativos(Redirigido desde Historia y evolución de los sistemas operativos)

Este artículo o sección necesita referencias que aparezcan en una publicación acreditada, como revistas especializadas, monografías, prensa diaria o páginas de Internet fidedignas.Puedes añadirlas así o avisar al autor principal del artículo en su página de discusión pegando:

Page 38: Sistema operativo

{{subst:Aviso referencias|Historia de los sistemas operativos}} ~~~~

Un sistema operativo es un conjunto de programas destinado a permitir el uso apropiado de las partes fisicas del ordenador hardware, y de esta manera interactuar con el usuario. Sin un sistema operativo el usuario seria incapaz de poder trabajar con un computador ya que este no seria mas que una conjunto de piezas electronicas sin objetivo, he ahi su importancia

Es posible encontrar en el tiempo entre la retirada de un trabajo y el montaje del siguiente. Era sumamente complicado, por el hecho de que eran tarjetas perforadas las cuales las tenia que leer el sistema.

1. Almacenamiento temporal == Su objetivo era disminuir el tiempo de carga de los programas, haciendo simultánea la carga del programa o la salida de datos con la ejecución de la siguiente tarea. Para ello se utilizaban dos técnicas, el buffering y el spooling.

En los años 60 se produjeron cambios notorios en varios campos de la informática, con la aparición del circuito integrado la mayoría orientados a seguir incrementando el potencial de los ordenadores. Para ello se utilizaban técnicas de lo más diversas.

Contenido

[ocultar]

1 Multiprogramación 2 Tiempo compartido 3 Tiempo real 4 Multiprocesador 5 Sistemas operativos desarrollados 6 Inconvenientes de los sistemas existentes 7 Características de los nuevos sistemas 8 Sistemas operativos desarrollados 9 Años 80

o 9.1 Mac OS o 9.2 MS-DOS o 9.3 Microsoft Windows

10 Años 90 o 10.1 GNU/Linux

[editar] Multiprogramación

En un sistema multiprogramado la memoria principal alberga a más de un programa de usuario. La CPU ejecuta instrucciones de un programa, cuando el que se encuentra en ejecución realiza una operación de E/S; en lugar de esperar a que termine la operación de E/S, se pasa a ejecutar otro programa. Si éste realiza, a su vez, otra operación de E/S,

Page 39: Sistema operativo

se mandan las órdenes oportunas al controlador, y pasa a ejecutarse otro. De esta forma es posible, teniendo almacenado un conjunto adecuado de tareas en cada momento, utilizar de manera óptima los recursos disponibles.

[editar] Tiempo compartido

Artículo principal: Tiempo compartido

En este punto tenemos un sistema que hace buen uso de la electrónica disponible, pero adolece la falta de interactividad; para conseguirla debe convertirse en un sistema multiusuario, en el cual existen varios usuarios con un terminal en línea, utilizando el modo de operación de tiempo compartido. En estos sistemas los programas de los distintos usuarios residen en memoria. Al realizar una operación de E/S los programas ceden la CPU a otro programa, al igual que en la multiprogramación. Pero, a diferencia de ésta, cuando un programa lleva cierto tiempo ejecutándose el sistema operativo lo detiene para que se ejecute otra aplicación.

[editar] Tiempo real

Estos sistemas se usan en entornos donde se deben aceptar y procesar en tiempos muy breves un gran número de sucesos, en su mayoría externos al ordenador. Si el sistema no respeta las restricciones de tiempo en las que las operaciones deben entregar su resultado se dice que ha fallado. El tiempo de respuesta a su vez debe servir para resolver el problema o hecho planteado. El procesamiento de archivos se hace de una forma continua, pues se procesa el archivo antes de que entre el siguiente, sus primeros usos fueron y siguen siendo en telecomunicaciones.

[editar] Multiprocesador

Diseño que no se encuentran en ordenadores monoprocesador. Estos problemas derivan del hecho de que dos programas pueden ejecutarse simultáneamente y, potencialmente, pueden interferirse entre sí. Concretamente, en lo que se refiere a las lecturas y escrituras en memoria. Existen dos arquitecturas que resuelven estos problemas:

La arquitectura NUMA, donde cada procesador tiene acceso y control exclusivo a una parte de la memoria. La arquitectura SMP, donde todos los procesadores comparten toda la memoria. Esta última debe lidiar con el problema de la coherencia de caché. Cada microprocesador cuenta con su propia memoria cache local. De manera que cuando un microprocesador escribe en una dirección de memoria, lo hace únicamente sobre su copia local en caché. Si otro microprocesador tiene almacenada la misma dirección de memoria en su caché, resultará que trabaja con una copia obsoleta del dato almacenado.

Para que un multiprocesador opere correctamente necesita un sistema operativo especialmente diseñado para ello. La mayoría de los sistemas operativos actuales poseen esta capacidad.

[editar] Sistemas operativos desarrollados

Page 40: Sistema operativo

Además del Atlas Supervisor y el OS/360, los años 70 marcaron el inicio de UNIX, a mediados de los 60 aparece Multics, sistema operativo multiusuario - multitarea desarrollado por los laboratorios Bell de AT&T y Unix, convirtiéndolo en uno de los pocos SO escritos en un lenguaje de alto nivel. En el campo de la programación lógica se dio a luz la primera implementación de Prolog, y en la revolucionaria orientación a objetos, Smalltalk.

[editar] Inconvenientes de los sistemas existentes

Se trataba de sistemas grandes, complejos y costosos, pues antes no se había construido nada similar y muchos de los proyectos desarrollados terminaron con costos muy por encima del presupuesto y mucho después de lo que se marcaba como fecha de finalización. Además, aunque formaban una capa entre el hardware y el usuario, éste debía conocer un complejo lenguaje de control para realizar sus trabajos. Otro de los inconvenientes es el gran consumo de recursos que ocasionaban, debido a los grandes espacios de memoria principal y secundaria ocupados, así como el tiempo de procesador consumido. Es por esto que se intentó hacer hincapié en mejorar las técnicas ya existentes de multiprogramación y tiempo compartido.

[editar] Características de los nuevos sistemas

Para solventar los problemas antes comentados, se realizó un costosísimo trabajo para interponer una amplia capa de software entre el usuario y la máquina, de forma que el primero no tuviese que conocer ningún detalle de la circuitería.

[editar] Sistemas operativos desarrollados

MULTICS (Multiplexed Information and Computing Service): Originalmente era un proyecto cooperativo liderado por Fernando Corbató del MIT, con General Electric y los laboratorios Bell, que comenzó en los 60, pero los laboratorios Bell abandonaron en 1969 para comenzar a crear el sistema UNIX. Se desarrolló inicialmente para el mainframe GE-645, un sistema de 36 bits; después fue soportado por la serie de máquinas Honeywell 6180.

Fue uno de los primeros. Además, los traducía a instrucciones de alto nivel destinadas a BDOS.

BDOS (Basic Disk Operating System): Traductor de las instrucciones en llamadas a la BIOS.

El hecho de que, años después, IBM eligiera para sus PC a MS-DOS supuso su mayor fracaso, por lo que acabó desapareciendo.Desde los años 70 han cambiado los sistemas ya que la ciencia ha desarrollado nuevos conocimientos

[editar] Años 80

Con la creación de los circuitos LSI -integración a gran escala-, chips que contenían miles de transistores en un centímetro cuadrado de silicio, empezó el auge de los ordenadores personales. En éstos se dejó un poco de lado el rendimiento y se buscó más

Page 41: Sistema operativo

que el sistema operativo fuera amigable, surgiendo menús, e interfaces gráficas. Esto reducía la rapidez de las aplicaciones, pero se volvían más prácticos y simples para los usuarios. En esta época, siguieron utilizándose lenguajes ya existentes, como Smalltalk o C, y nacieron otros nuevos, de los cuales se podrían destacar: C++ y Eiffel dentro del paradigma de la orientación a objetos, y Haskell y Miranda en el campo de la programación declarativa. Un avance importante que se estableció a mediados de la década de 1980 fue el desarrollo de redes de computadoras personales que corrían sistemas operativos en red y sistemas operativos distribuidos. En esta escena, dos sistemas operativos eran los mayoritarios: MS-DOS(Micro Soft Disk Operating System), escrito por Microsoft para IBM PC y otras computadoras que utilizaban la CPU Intel 8088 y sus sucesores, y UNIX, que dominaba en los ordenadores personales que hacían uso del Motorola 68000.

[editar] Mac OS

El lanzamiento oficial del ordenador Macintosh en enero de 1984, al precio de US $1,995 (después cambiado a $2,495 dólares)[1]. Incluía su sistema operativo Mac OS cuya características novedosas era una GUI (Graphic User Interface), Multitareas y Mouse. Provocó diferentes reacciones entre los usuarios acostumbrados a la línea de comandos y algunos tachando el uso del Mouse como juguete.

[editar] MS-DOS

En 1981 Microsoft compró un sistema operativo llamado QDOS que, tras realizar unas pocas modificaciones, se convirtió en la primera versión de MS-DOS (MicroSoft Disk Operating System). A partir de aquí se sucedieron una serie de cambios hasta llegar a la versión 7.1, versión 8 en Windows Milenium, a partir de la cual MS-DOS dejó de existir como un componente del Sistema Operativo.

[editar] Microsoft Windows

A mediados de los años 80 se crea este sistema operativo, pero no es hasta la salida de (Windows 95) que se le puede considerar un sistema operativo, solo era una interfaz gráfica del (MS-DOS)en el cual se disponía de unos diskettes para correr los programas. Hoy en día es el sistema operativo más difundido en el ámbito doméstico aunque también hay versiones para servidores como Windows NT. (Microsoft) ha diseñado también algunas versiones para superordenadores, pero sin mucho éxito. Años después se hizo el (Windows 98) que era el más eficaz de esa época Después se crearía el sistema operativo de (Windows ME) (Windows Millenium Edition) aproximadamente entre el año 1999 y el año 2000. Un año después se crearía el sistema operativo de (Windows 2000) en ese mismo año. Después le seguiría el sistema operativo más utilizado en la actualidad, (Windows XP) y otros sistemas operativos de esta familia especializados en las empresas. Ahora el más reciente es (Windows 7) (Windows Seven) que salio al mercado el 22 de octubre del 2009, dejando atrás al (Windows Vista), que tuvo innumerables criticas durante el poco tiempo que duró en el mercado.

[editar] Años 90

[editar] GNU/Linux

Page 42: Sistema operativo

Este sistema es una versión mejorada de Unix, basado en el estándar POSIX , un sistema que en principio trabajaba en modo comandos. Hoy en día dispone de Ventanas, gracias a un servidor gráfico y a gestores de ventanas como KDE, GNOME entre muchos. Recientemente GNU/Linux dispone de un aplicativo que convierte las ventanas en un entorno 3D como por ejemplo Beryl o Compiz. Lo que permite utilizar linux de una forma visual atractiva...

Sistema operativo de redEs un componente software de una computadora que tiene como objetivo coordinar y manejar las actividades de los recursos del ordenador en una red de equipos. Consiste en un software que posibilita la comunicación de un sistema informático con otros equipos en el ámbito de una red.

Dependiendo del fabricante del sistema operativo de red, tenemos que el software de red para un equipo personal se puede añadir al propio sistema operativo del equipo o integrarse con él. Netware de Novell es el ejemplo más familiar y famoso de sistema operativo de red donde el software de red del equipo cliente se incorpora en el sistema operativo del equipo. El equipo personal necesita ambos sistema operativos para gestionar conjuntamente las funciones de red y las funciones individuales.

úcleo (informática)Para otros usos de este término, véase Núcleo.

En informática, un núcleo o kernel (de la raíz germánica Kern) es un software que constituye la parte más importante del sistema operativo.1 2 Es el principal responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma más básica, es el encargado de gestionar recursos, a través de servicios de llamada al sistema. Como hay muchos programas y el acceso al hardware es limitado, también se encarga de decidir qué programa podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo, lo que se conoce como multiplexado. Acceder al hardware directamente puede ser realmente complejo, por lo que los núcleos suelen implementar una serie de abstracciones del hardware. Esto permite esconder la complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso al programador.

Contenido

[ocultar]

1 Técnica 2 Generalidades

o 2.1 Funciones generalmente ejercidas por un núcleo o 2.2 Unix

3 Tipos de núcleo o 3.1 Micronúcleos

Page 43: Sistema operativo

o 3.2 Núcleos monolíticos en contraposición a micronúcleos o 3.3 Núcleos híbridos (micronúcleos modificados) o 3.4 Exonúcleos

4 Referencias 5 Véase también 6 Enlaces externos

[editar] Técnica

Cuando se aplica voltaje al procesador de un dispositivo electrónico, éste ejecuta un reducido código en lenguaje ensamblador localizado en una dirección concreta en la memoria ROM (dirección de reset) y conocido como reset code, que a su vez ejecuta una rutina con la que se inicializa el hardware que acompaña al procesador. También en esta fase suele inicializarse el controlador de las interrupciones. Finalizada esta fase se ejecuta el código de arranque (startup code), también código en lenguaje ensamblador, cuya tarea más importante es ejecutar el programa principal (main()) del software de la aplicación.3

[editar] Generalidades

Una visión típica de la arquitectura de computadores como una serie de capas de abstracción: hardware, firmware, lenguaje de máquina, núcleo, software de sistema y aplicaciones 4

En informática, el núcleo es el programa informático que se asegura de:

La comunicación entre los programas que solicitan recursos y el hardware. Gestión de los distintos programas informáticos (tareas) de una máquina. Gestión del hardware (memoria, procesador, periférico, forma de

almacenamiento, etc.)

Page 44: Sistema operativo

La mayoría de las interfaces de usuario se construyen en torno al concepto de núcleo. La existencia de un núcleo, es decir, de un único programa responsable de la comunicación entre el hardware y el programa informático, resulta de compromisos complejos referentes a cuestiones de resultados, seguridad y arquitectura de los procesadores. El núcleo tiene grandes poderes sobre la utilización de los recursos materiales (hardware), en particular, de la memoria.

[editar] Funciones generalmente ejercidas por un núcleo

Los núcleos tienen como funciones básicas garantizar la carga y la ejecución de los procesos, las entradas/salidas y proponer una interfaz entre el espacio núcleo y los programas del espacio del usuario.

Aparte de las funcionalidades básicas, el conjunto de las funciones de los puntos siguientes (incluidos los pilotos materiales, las funciones de redes y sistemas de ficheros o los servicios) necesariamente no son proporcionados por un núcleo de sistema de explotación. Pueden establecerse estas funciones del sistema de explotación tanto en el espacio usuario como en el propio núcleo. Su implantación en el núcleo se hace en el único objetivo de mejorar los resultados. En efecto, según la concepción del núcleo, la misma función llamada desde el espacio usuario o el espacio núcleo tiene un coste temporal obviamente diferente. Si esta llamada de función es frecuente, puede resultar útil integrar estas funciones al núcleo para mejorar los resultados.

[editar] Unix

Un núcleo Unix es un programa escrito casi en su totalidad en lenguaje C, con excepción de una parte del manejo de interrupciones, expresada en el lenguaje ensamblador del procesador en el que opera. Las funciones del núcleo son permitir la existencia de un ambiente en el que sea posible atender a varios usuarios y múltiples tareas en forma concurrente, repartiendo al procesador entre todos ellos, e intentando mantener en grado óptimo la atención individual.

El núcleo opera como asignador de recursos para cualquier proceso que necesite hacer uso de las facilidades de cómputo.

Creación de procesos, asignación de tiempos de atención y sincronización. Asignación de la atención del procesador a los procesos que lo requieren. Administración de espacio en el sistema de archivos, que incluye: acceso,

protección y administración de usuarios; comunicación entre usuarios y entre procesos, y manipulación de E/S y administración de periféricos.

Supervisión de la transmisión de datos entre la memoria principal y los dispositivos periféricos.

Reside siempre en la memoria principal y tiene el control sobre la computadora, por lo que ningún otro proceso puede interrumpirlo; sólo pueden llamarlo para que proporcione algún servicio de los ya mencionados. Un proceso llama al núcleo mediante módulos especiales conocidos como llamadas al sistema.

Consta de dos partes principales: la sección de control de procesos y la de control de dispositivos. La primera asigna recursos, programas, procesos y atiende sus

Page 45: Sistema operativo

requerimientos de servicio; la segunda, supervisa la transferencia de datos entre la memoria principal y los dispositivos del ordenador. En términos generales, cada vez que algún usuario oprime una tecla de una terminal, o que se debe leer o escribir información del disco magnético, se interrumpe al procesador central y el núcleo se encarga de efectuar la operación de transferencia.

Cuando se inicia la operación de la computadora, debe cargarse en la memoria una copia del núcleo, que reside en el disco magnético (operación denominada bootstrap). Para ello, se deben inicializar algunas interfaces básicas de hardware; entre ellas, el reloj que proporciona interrupciones periódicas. El núcleo también prepara algunas estructuras de datos que abarcan una sección de almacenamiento temporal para transferencia de información entre terminales y procesos, una sección para almacenamiento de descriptores de archivos y una variable que indica la cantidad de memoria principal.

A continuación, el núcleo inicializa un proceso especial, llamado proceso 0. En Unix, los procesos se crean mediante una llamada a una rutina del sistema (fork), que funciona por un mecanismo de duplicación de procesos. Sin embargo, esto no es suficiente para crear el primero de ellos, por lo que el núcleo asigna una estructura de datos y establece apuntadores a una sección especial de la memoria, llamada tabla de procesos, que contendrá los descriptores de cada uno de los procesos existentes en el sistema.

Después de haber creado el proceso 0, se hace una copia del mismo, con lo que se crea el proceso 1; éste muy pronto se encargará de "dar vida" al sistema completo, mediante la activación de otros procesos que también forman parte del núcleo. Es decir, se inicia una cadena de activaciones de procesos, entre los cuales destaca el conocido como despachador, o planificador, que es el responsable de decidir cuál proceso se ejecutará y cuáles van a entrar o salir de la memoria central. A partir de ese momento se conoce el número 1 como proceso de inicialización del sistema, init.

El proceso init es el responsable de establecer la estructura de procesos en Unix. Normalmente, es capaz de crear al menos dos estructuras distintas de procesos: el modo monousuario y el multiusuario. Comienza activando el intérprete del lenguaje de control Shell de Unix en la terminal principal, o consola del sistema, proporcionándole privilegios de "superusuario". En la modalidad de un solo usuario la consola permite iniciar una primera sesión, con privilegios especiales, e impide que las otras líneas de comunicación acepten iniciar sesiones nuevas. Esta modalidad se usa con frecuencia para revisar y reparar sistemas de archivos, realizar pruebas de funciones básicas del sistema y para otras actividades que requieren uso exclusivo de la computadora.

Init crea otro proceso, que espera a que alguien entre en sesión en alguna línea de comunicación. Cuando esto sucede, realiza ajustes en el protocolo de la línea y ejecuta el programa login, que se encarga de atender inicialmente a los nuevos usuarios. Si el nombre de usuario y la contraseña proporcionadas son correctos, entonces entra en operación el programa Shell, que en lo sucesivo se encargará de la atención normal del usuario que se dio de alta en esa terminal.

A partir de ese momento el responsable de atender al usuario en esa terminal es el intérprete Shell. Cuando se desea terminar la sesión hay que desconectarse de Shell (y, por lo tanto, de Unix), mediante una secuencia especial de teclas (usualmente. < CTL >

Page 46: Sistema operativo

- D). A partir de ese momento la terminal queda disponible para atender a un nuevo usuario.

[editar] Tipos de núcleo

No necesariamente se necesita un núcleo para usar una computadora. Los programas pueden cargarse y ejecutarse directamente en una computadora «vacía», siempre que sus autores quieran desarrollarlos sin usar ninguna abstracción (informatica) del hardware ni ninguna ayuda del sistema operativo. Ésta era la forma normal de usar muchas de las primeras computadoras: para usar distintos programas se tenía que reiniciar y reconfigurar la computadora cada vez. Con el tiempo, se empezó a dejar en memoria (aún entre distintas ejecuciones) pequeños programas auxiliares, como el cargador y el depurador, o se cargaban desde memoria de sólo lectura. A medida que se fueron desarrollando, se convirtieron en los fundamentos de lo que llegarían a ser los primeros núcleos de sistema operativo.

Hay cuatro grandes tipos de núcleos:

Los núcleos monolíticos facilitan abstracciones del hardware subyacente realmente potentes y variadas.

Los micronúcleos (en inglés microkernel) proporcionan un pequeño conjunto de abstracciones simples del hardware, y usan las aplicaciones llamadas servidores para ofrecer mayor funcionalidad.5

Los núcleos híbridos (micronúcleos modificados) son muy parecidos a los micronúcleos puros, excepto porque incluyen código adicional en el espacio de núcleo para que se ejecute más rápidamente.

Los exonúcleos no facilitan ninguna abstracción, pero permiten el uso de bibliotecas que proporcionan mayor funcionalidad gracias al acceso directo o casi directo al hardware.

[editar] Micronúcleos

Esquema del funcionamiento de un micronúcleo.Artículo principal: Micronúcleo

El enfoque micronúcleo consiste en definir una abstracción muy simple sobre el hardware, con un conjunto de primitivas o llamadas al sistema que implementan

Page 47: Sistema operativo

servicios del sistema operativo mínimos, como la gestión de hilos, el espacio de direccionamiento y la comunicación entre procesos.

El objetivo principal es la separación de la implementación de los servicios básicos y de la política de funcionamiento del sistema. Por ejemplo, el proceso de bloqueo de E/S se puede implementar con un servidor en espacio de usuario ejecutándose encima del micronúcleo. Estos servidores de usuario, utilizados para gestionar las partes de alto nivel del sistema, son muy modulares y simplifican la estructura y diseño del núcleo. Si falla uno de estos servidores, no se colgará el sistema entero, y se podrá reiniciar este módulo independientemente del resto. Sin embargo, la existencia de diferentes módulos independientes origina retardos en la comunicación debido a la copia de variables que se realiza en la comunicación entre módulos.

Algunos ejemplos de micronúcleos:

AIX La familia de micronúcleos L4 El micronúcleo Mach, usado en GNU Hurd y en Mac OS X BeOS Minix MorphOS QNX RadiOS VSTa Hurd