martes, marzo 25, 2008

Sistemas operativos alternativos

Todos (o la mayoría) conocen Windows, algunas distribuciones de Linux, BSD’s, Solaris y como no OS X. Pero eso no es todo! Por eso hago este post para mostrarles algunos sistemas operativos que estan en tempranas etapas y quizas no conocen.

ReactOS: ReactOS es un proyecto de código abierto para crear un sistema operativo compatible con aplicaciones y controladores de Windows NT. Parte de su código está basado en el proyecto WINE.

ReactOS siempre ha pensado trabajar con el proyecto WINE para intercambiar tanto esfuerzo en la programación como sea posible.

Esto afecta principalmente a los DLLs del Modo de Usuario (User Mode DLLs) y sucederá una vez el kernel de ReactOS sea más completo, ya que esas áreas forman la infraestructura subyacente.

Otras áreas de cooperación son las aplicaciones y el testeado.

El proyecto ReactOS, aunque actualmente está centrado en la compatibilidad con Windows NT 4.0, busca mantener la compatibilidad con las siguientes versiones de Windows NT; como Windows 2000 (NT 5.0) y Windows XP (NT 5.1).

La arquitectura Windows NT permite tener subsistemas, así como lo hace la arquitectura de ReactOS.

Un subsistema es una implementación de APIs de otro sistema operativo, permitiendo así ejecutar aplicaciones de otros sistemas operativos en ReactOS (subsistemas para Java, OS/2, DOS y otros).

Haiku:

Haiku, antes llamado OpenBeOS, es un proyecto de código abierto que busca recrear el sistema operativo BeOS. El proyecto esta dirigido por Haiku Inc., una organización no lucrativa situada en Nueva York

En 2001 se inició el proyecto con el nombre de OpenBeOS, cuando la empresa Palm compró a Be, la empresa de BeOS. Esto dejaba a los usuarios de BeOS sin soporte a nuevas actualizaciones y nuevo software para sus equipos.

En 2004 el proyecto cambió de nombre para evitar los derechos de marca que tenía Palm. La decisión de usar como nombre Haiku —una forma de poesía tradicional japonesa— intentaba reflejar la sencillez y elegancia que se obtenía con el antiguo sistema operativo BeOS.

SkyOS: SkyOS es un sistema operativo propietario, escrito desde cero (no está basado en ningún otro SO), para PCs del tipo x86 (también conocidas como i386). Como todo sistema operativo moderno, soporta características como el multiproceso simétrico (SMP), memoria virtual, memoria protegida, multitarea y flujo de ejecución por hilos (threading en inglés) y es altamente compatible con POSIX, entre otras cosas.

Portar SkyOS a otras plataformas (que no sean PCs) no era una opción, lo que hizo que el código de bajo nivel estuviera optimizado para dicha arquitectura.


SkyOS es un sistema operativo de escritorio, de forma que después de iniciarse la computadora, se entra en modo gráfico. Cosas como la línea de comandos y la programación de scripts son opcionales (están, pero su uso no es imprescindible). Habitualmente los usuarios no tendrán que abrir un intérprete de comandos en modo texto, pero de todas maneras hay varios comandos útiles (como compilador de C de GNU, utilidades para archivos, etc), y la mayoría de las herramientas disponibles en Microsoft Windows y GNU/Linux.

La primera versión de este sistema operativo fue anunciada en 15 de diciembre del año 1997. La última versión es la SkyOS 5.0 Beta - Build XXXX (30 de agosto de 2006). Algunas características que posee son: un modo real de 16 bits, inexistencia de tareas de usuario y una interfaz gráfica (GUI) muy simple llamada SkyGI que está integrada en el kernel. Por tanto el entorno gráfico de SkyOS a diferencia de los sistemas Unix-like no usa X window. SkyOS se debe principalmente al esfuerzo de un solo hombre, el austríaco Robert Szeleney.

DexOS: DexOS es un Sistema Operativo del que ya hemos hablado su codigo esta escrito integramente en Assembly y es de 32 bit, esta orientado mas a un experimento didactio, que a un producto real.


MenuetOS: MenuetOS es un sistema operativo escrito para PC x86, escrito enteramente en lenguaje Assembler para 64 y 32 Bits. Soporta programación en 64 y 32 bits en lenguaje assembler.Algunas características:

  • GUI con resoluciones de hasta 1280×1024, en 16 millones de colores
  • IDE: Editor/Macro Assembler para aplicaciones
  • TCP/IP
  • Aplicaciones de red incluidos servidores ftp/http/etc
  • Free-form ventanas de aplicaciones
  • Cabe en un solo disquette

Esta orientado básicamente a dispositivos embebidos.

NewOS: NewOS es un sistema operativo libre desarrollado en C/C++ y algo de Assembly. Es compatible con el estandard POSIX y tambien incluye compatibilidad con aplicaciones de BeOS. Soporta varias características de los sistemas operativos modernos (SMP, Multithreading, memoria protegida, memoria virtual, kernel debugging, protocolos de red, kernel modular, etc. Corre en procesadores multinúcleo Intel, AMD, IBM Power, Pegasos, y también en una Sega Dreamcast. Se esta trabajando asiduamente en un sistema de archivos propio (por el momento soporta ext2), en una arquitectura de drivers propia, en una GUI, la implementacion de libc, soporte USB. Soporte completo de IDE/ATAPI, y planea portarse a: ARM dev Board, plataformas compatibles con Sun UltraSPARC, Motorola 68040, Indy MIPS R5000 32 y 64 bits y Alpha 21064.

Syllable:

Syllable es un sistema operativo basado en software libre diseñado para microprocesadores x86 de Intel. Concebido para ser un sistema operativo fácil de usar y orientado al usuario final, nació en julio de 2002 como un proyecto independiente de AtheOS.

Tiene un navegador web nativo llamado Abrowse.

Características:

Plan 9 from Bell Labs (o simplemente Plan 9) es un sistema operativo distribuido, usado principalmente como vehículo de investigación.

Fue desarrollado como el sucesor en investigación del sistema UNIX por el Computing Sciences Research Center de los Laboratorios Bell entre mitad de los años 80 y 2002.

Plan 9 es conocido especialmente por representar todos los interfaces del sistema, incluyendo aquellos utilizados para redes y comunicación con el usuario, a través del sistema de archivos en lugar de con sistemas especializados.

El nombre proviene de la película de ciencia ficción llamada Plan 9 del espacio exterior.

La primera versión pública estuvo disponible en 1992 para universidades. En 1995 se puso a disposición del público en general una segunda versión comercial.

Más tarde, a finales de los 90, Lucent Technologies, quien había “heredado” los Bell Labs, dejó de interesarse comercialmente por el proyecto. En 2000, una tercera versión no comercial fue hecha disponible bajo licencia open source. Y en 2002 una cuarta versión, nuevamente no comercial, se hizo disponible en forma de software libre.

El desarrollo continúa, liderado por un equipo de los Laboratorios Bell y miembros del MIT. Actualizaciones menores se hacen disponibles diariamente en forma de imágenes ISO para la plataforma IA-32.

El árbol de desarrollo es también accesible bajo los protocolos 9P y HTTP, que son usados para mantener una instalación al día.

UTF-8 fue inventado por Ken Thompson para ser usado como codificación nativa en Plan 9. Se adaptaría para ello en 1992. Así, Plan 9 fue el primer sistema operativo en incorporar soporte completo de Unicode.

Plan 9 usa un entorno de ventanas llamado rio.

Un entorno de ejecución instalable existe para la plataforma IA-32, y Plan 9 ha sido portado a MIPS, DEC Alpha, SPARC, PowerPC, ARM, Motorola 68000 y otras arquitecturas. El sistema está escrito en un dialecto del lenguaje de programación C. Diversas aplicaciones fueron originalmente escritas en un lenguaje llamado Alef, pero desde entonces se han reescrito en lenguaje C. Plan 9 puede importar aplicaciones POSIX y emular el sistema de sockets Berkeley.

El centro Computing Sciences Research Center donde se desarrolló Plan 9 fue el mismo que donde se desarrolló UNIX, el lenguaje de programación C y C++. El equipo de Plan 9 fue originalmente liderado por Rob Pike, Ken Thompson, Dave Presotto y Phil Winterbottom con asistencia de Dennis Ritchie como cabeza del Computing Techniques Research Department. A través de los años varios desarrolladores notables han contribuido al proyecto, incluyendo Brian Kernighan, Tom Duff, Doug McIlroy, Bjarne Stroustrup y muchos otros.

Los diseñadores de Plan 9 se interesaron en objetivos similares a los de los microkernels, pero hicieron diferentes elecciones de arquitectura y diseño para alcanzarlos.

  • Recursos como archivos: todos los recursos del sistema se representan como archivos en el sistema de archivos jerárquico.
  • Espacios de nombres (namespaces): la vista de la red por parte de la aplicación es un espacio de nombres simple y coherente que aparece como un sistema de archivos jerárquico pero que puede representar recursos físicamente separados (locales o remotos).
  • Protocolo de comunicaciones estándar: se usa un protocolo estándar, llamado 9P, para acceder a todos los recursos, ya sean locales o remotos.

UNIX fue el primer sistema operativo que intentó describir el entorno informático mayoritariamente como un sistema de archivos. Sin embargo muchos conceptos clave no parecían encajar bien en archivos en aquel tiempo, y, a medida que se añadían nuevas características, éstas se tendían a implementar fuera del sistema de archivos. El proyecto de investigación Plan 9 cuestionó esas distinciones.

Plan 9 extendió el sistema de archivos a nombres, esto es, una ruta única a un objeto ya sea un archivo, pantalla, usuario ó computadora. Todos se manejaron utilizando los estándares UNIX existentes, pero extendidos de forma que cualquier objeto pudiera ser nombrado y accedido, un concepto similar al más conocido sistema URI utilizado en la World Wide Web. En UNIX, dispositivos como impresoras habían sido representados por nombres utilizando “conversores software” en el directorio /dev, pero éstos solamente manejaban dispositivos del hardware local y no dispositivos remotos. Bajo Plan 9 las impresoras fueron virtualizadas como archivos, que podían ser accedidos a través de la red desde cualquier estación de trabajo.

Otra innovación de Plan 9 fue la habilidad de que los usuarios tuvieran nombres diferentes para los mismos objetos reales. Cada usuario podía crear un entorno personalizado colectando objetos varios en su espacio de nombres. UNIX tiene un concepto similar en el que los usuarios ganan “privilegios” siendo copiados desde otro usuario, pero Plan 9 extiende esto a todos los objetos. Los usuarios pueden fácilmente crear copias de sí mismos, modificarlas y después eliminarlas sin afectar los recursos de los que fueron creadas.

Plan 9 también introdujo el concepto de los directorios unión, directorios que combinan y agrupan recursos a través de distintos medios y redes. Por ejemplo, el directorio /bin (programas) de otro computador puede ser vinculado al del propio computador, y entonces este directorio contendrá las aplicaciones locales y las aplicaciones remotas (del otro computador), a las que el usuario puede acceder de forma transparente. Los enlaces de UNIX y los puntos de montaje harían que desapareciera el directorio original, no pudiendo acceder a los programas locales. Usando el mismo sistema, bajo Plan 9, dispositivos externos y recursos pueden ser vinculados a /dev (juntándolos con los locales), haciendo que todos los dispositivos sean dispositivos de red sin código adicional.

Para ilustrar cómo estas características funcionaban juntas para producir un conjunto mayor, se puede considerar el interesante directorio /proc, en el cual se listaban todas las aplicaciones que se estaban ejecutando. Las aplicaciones son objetos con nombre bajo Plan 9 al igual que todo lo demás, y por tanto tenía sentido listarlas en un directorio, como todo lo demás. Este cambio simple tiene muchos efectos secundarios útiles, permitiendo al usuario utilizar herramientas como ls (que al igual que en UNIX listaba el contenido de cualquier directorio) para buscar y ordenar la lista de procesos, que anteriormente sólo estaba disponible utilizando herramientas dedicadas (como ps en UNIX). Pero incluso más interesante era que los usuarios podían utilizar el sistema de directorios unión descrito anteriormente para anexar aplicaciones remotas en su espacio de nombres, interactuando con ellas como si fueran locales, y haciendo el procesamiento a través de una red casi una trivialidad.

El resultado es un entorno de computación distribuida ensamblado a partir de máquinas diferentes: terminales en los escritorios de los usuarios, servidores de archivos que almacenan datos permanentes, y otros servidores que proveen CPUs rápidas, autenticación de usuarios y pasarelas de red; todo ello utilizando el sistema jerárquico nombres-directorios familiar a la mayoría de usuarios de computadoras. Un usuario podía construir un sistema colectando directorios desde servidores de archivos, aplicaciones ejecutándose en servidores, impresoras de la red y después agruparlas todas en su cuenta ejecutándose en su terminal local.

Plan 9 se basa en UNIX pero fue desarrollado para demostrar el concepto de hacer de la comunicación la función principal de un sistema informático. Todos los recursos del sistema se nombraban y accedían como si fueran archivos, y se podían definir múltiples vistas del sistema distribuido dinámicamente para cada programa ejecutándose en una máquina en particular. Esta aproximación mejora la generalidad y modularidad del diseño de aplicaciones, “animando” a los servidores que mantienen cualquier información a aparecer a los usuarios y a las aplicaciones simplemente como archivos ordinarios — accesibles de la misma forma que archivos locales.

La clave para soportar la transparencia de red de Plan 9 fue un nuevo protocolo de red de bajo nivel conocido como 9P. El protocolo 9P y su implementación conectaban objetos de red con nombre y presentaban una interfaz como un sistema de archivos. 9P es un sistema de archivos distribuido rápido y orientado a bytes (en lugar de orientado a bloques). Puede virtualizar cualquier objeto, no sólo aquellos presentados por un servidor NFS en una máquina remota. El protocolo se usa para referirse a procesos, programas y datos, la interfaz de usuario y la red. Con la liberación de la cuarta edición de Plan 9, fue modificado y renombrado a 9P2000.

Plan 9 demostró que el concepto central de Unix (que cualquier interfaz de sistema podía representarse como conjuntos de archivos) podía implementarse y hacerse funcional en un moderno sistema distribuido. Algunas ideas de Plan 9 han sido implementadas en otros sistemas operativos. Sistemas Unix como Linux han implementado partes del sistema de archivos de Plan 9 (por ejemplo el directorio /proc), la codificación UTF-8 y formas limitadas parecidas a la llamada al sistema rfork. Además, varias de las aplicaciones y herramientas de Plan 9 han sido portadas a Unix y Linux y han alcanzado algún nivel de popularidad.

De todas formas, Plan 9 en sí mismo nunca ha sobrepasado a Unix en popularidad, y continúa como una herramienta de investigación. Plan 9 ha sido criticado como “parecer funcionar principalmente como medio para generar papers interesantes en la investigación de sistemas operativos”. Eric S. Raymond en su libro The Art of Unix Programming especula sobre la falta de aceptación de Plan 9:

“Plan 9 falló simplemente porque se quedó corto de ser un mejoramiento lo suficientemente convincente de Unix como para desplazar a su ancestro. Comparado a Plan 9, Unix tiene obvios puntos herrumbrados, pero hace el trabajo lo suficientemente bien como para mantener su posición. Esta es una lección para los arquitectos de sistemas ambiciosos: un código base que es lo suficientemente bueno es el peor enemigo de una mejor solución.”(traducción en proceso)

Entre otros críticos de Plan 9 se incluyen aquellos que critican a UNIX en general, donde Plan 9 se considera el epítome de la escuela peor es mejor (worse is better) de diseño de sistemas operativos, llevando la simplicidad como objetivo de diseño a un extremo.

Los proponentes y desarrolladores de Plan 9 aseguran que los problemas que obstaculizaban su adopción se han solucionado, y que sus objetivos originales como sistema distribuido, entorno de desarrollo y plataforma de investigación se han conseguido, y que disfruta de una popularidad moderada pero en crecimiento. El sistema Inferno, a través de sus capacidades hosted, ha sido un vehículo para llevar tecnologías de Plan 9 a otros sistemas como parte de rejillas de computación hetereogéneas

Glenda es la mascota del sistema operativo distribuido Plan 9 from Bell Labs. Fue dibujada por Renée French y existen tres `versiones disponibles. Una tiene un fondo blanco, una tiene un fondo negro y una es la mascota con un casco de astronauta en su cabeza. Estos diseños están bajo la Lucent Public License, que es una Licencia Open Source.

Como Plan 9 recibió su nombre por la película de Ed Wood Plan 9 del espacio exterior, Glenda fue nombrada por la película también de Ed Wood Glen or Glenda.

Inferno es un producto derivado, empezado originalmente por el mismo grupo que creó Plan 9, y ahora desarrollado por una compañía británica llamada Vita Nuova. Inferno comparte la mayor parte del diseño con Plan 9, pero utiliza un nuevo lenguaje de programación de aplicaciones denominado Limbo, y una máquina virtual que lo acompaña, Dis. Inferno se promociona como un sistema operativo embedido open source.

Plan 9 from User Space (Plan 9 desde espacio de usuario) es un porte de las aplicaciones más notables de Plan 9 a sistemas operativos tipo UNIX.

QNX (pronunciado Q.N.X. o Q-nix) es un sistema operativo de tiempo real basado en Unix que cumple con la norma POSIX. Es desarrollado principalmente para su uso en dispositivos empotrados. Desarrollado por QNX Software Systems empresa canadiense. Está disponible para las siguientes arquitecturas: x86, MIPS, PowerPC, SH4 (incluida la videoconsola Dreamcast con una versión muy limitada de este), ARM, StrongARM y xScale.

QNX: QNX está basado en una estructura de microkernel, que proporciona características de estabilidad avanzadas frente a fallos de dispositivos, aplicaciones, etc.

Photon o Photon microGUI es el sistema de ventanas (servidor y cliente) de QNX, aunque también funciona una versión X Window.

Los sistemas operativos de tiempo real son interesantes para situaciones donde sea absolutamente necesaria una toma contínua de, por ejemplo, muestras de datos. Basándose en este interés, existen diversos proyectos para crear versiones en tiempo real de otros sistemas.

Está orientado a su utilización en microcontroladores y sistemas críticos.

HP-UX: Es la versión de Unix de Hewlett-Packard. HP-UX es la versión de Unix desarrollada y mantenida por Hewlett-Packard desde 1983, ejecutable típicamente sobre procesadores HP PA RISC y en sus últimas versiones sobre Intel Itanium (arquitectura Intel de 64 bits); a pesar de estar basada ampliamente en System V incorpora importantes características BSD. En la actualidad la última versión del operativo es la 11.23, también conocido como 11iv2 (2003), aunque existen numerosas instalaciones de sistemas más antiguos, especialmente HP-UX 10.x (1995-97) o incluso 9.x. (1992-95). Apartir de la versión 11.11 (2000) se usa un sistema de numeración doble, así la 11.11 es también conocida como 11i, la 11.20 es 11iv1.5 y así sucesivamente hasta la actual 11.23 (11iv2). Está previsto el lanzamiento de 11.31 (11iv3) a finales de 2006.

HP-UX es, como la mayor parte de Unix comerciales, un entorno de trabajo flexible, potente y estable, que soporta un abanico de aplicaciones que van desde simples editores de texto a complicados programas de diseño gráfico o cálculo científico, pasando por sistemas de control industrial que incluyen planificaciones de tiempo real.

Durante los últimos años Hewlett-Packard, como muchos otros fabricantes, parece haberse interesado bastante por la seguridad en general, y en concreto por los sistemas de protección para sus plataformas; prueba de ello es la gama de productos relacionados con este campo desarrollados para HP-UX, como el sistema de detección de intrusos IDS/9000 para HP-UX 11.x corriendo sobre máquinas HP-9000 o la utilidad Security Patch Check, similar al PatchDiag de Sun Microsystems. También es importante destacar las grandes mejoras en cuanto a seguridad del sistema se refiere entre HP-UX 9.x, HP-UX 10.x y muy especialmente HP-UX 11.x.

AIX (Advanced Interactive eXecutive) es un sistema operativo UNIX propietario de IBM. Inicialmente significaba “Advanced IBM Unix” pero probablemente el nombre no fue aprobado por el departamento legal y fue cambiado a “Advanced Interactive eXecutive”

AIX corre en los servidores IBM eServers pSeries, utilizando procesadores de la familia IBM POWER de 32 y 64bits.

Algunas de las características únicas de AIX incluyen el Object Data Manager (ODM, una base de datos de información del sistema). La integración de AIX del “Logical Volume Management” (administrador de volumen lógico) dentro del kernel está siendo incluido gradualmente a varios sistemas operativos libres similares a UNIX.

AIX 5L 5.3 puede utilizar un máximo de:

  • 64 procesadores
  • 2 TB en memoria principal
  • JFS2: 16 TB de sistema de archivos máximo soportado
  • JFS2: 16 TB de tamaño de archivos máximo.

Distintas versiones de AIX han existido a través del tiempo. Algunas han sido eventualmente eliminadas. AIX V1, que corría en la IBM RT/PC (AIX/RT) apareció en 1986. Era basado en un System V Release 3. Desde 1989, AIX ha sido el sistema operativo para las estaciones de trabajo y servidores RS/6000 (AIX/6000). Durante el desarrollo de AIX, características del 4.2BSD y el 4.3BSD fueron integradas por IBM y el Interactive Systems Corporation (Bajo contrato con IBM)


AIX Soporta arquitecturas POWER y PowerPC
AIX V1 corría en el bus PS2 MCA de las PCs, la última versión de éstas fue la 1.3. AIX V2 corrió en sistemas RTPC (6150), la última versión fue la 2.2.1. AIX V3 fue una versión para desarrolladores licenciadas para OSF y el LVM (Logical Volume Manager) fue incorporado en el OSF/1. AIX V3.1 estuvo disponible en primer trimestre del 1990

  • AIX 5L 5.3, Agosto del 2004
    • Soporte para NFS Versión 4
    • Advanced Accounting
    • SCSI Virtual
    • Ethernet Virtual
    • Soporte para Simultaneous multithreading (SMT)
    • Soporte para Micro-Particionamiento
    • Soporte para cuota en JFS2
    • Soporte para compactación del sistema de archivos JFS2
  • AIX 5L 5.2, Octubre 2002
    • La versión mínima requerida para el procesador POWER5
    • Soporte para discos MPIO Fibre Channel
    • iSCSI iniciador de software
    • Soporte para LPAR dinámico
    • Permite reducir el tamaño de los file systems
  • AIX 5L 5.1, Mayo 2001
    • La versión mínima requerida para el procesador POWER4 y la última en soportar arquitectura de Micro canal.
    • Introducción de Kernel de 64-bit, instalado pero no activado por defecto.
    • JFS2
    • Soporte para LPAR estáticos
    • La “L” significa afinidad con Linux
    • Trusted Computing Base (TCB)
  • AIX 4.3.3, Septiembre 1999
    • Se agregó funcionalidad de Respaldo online
    • Administración de Carga de Trabajo “Workload Management ( WLM )”
  • AIX 4.3.2, Octubre 1998
  • AIX 4.3.1, Abril 1998
  • AIX 4.3, Octubre 1997
    • Soporte para arquitectura de procesadores de 64bits
  • AIX 4.2.1, Abril 1997
    • Soporte para NFS Versión 3
  • AIX 4.2, Mayo 1996
  • AIX 4.1.5, Agosto 1996
  • AIX 4.1.4, Octubre 1995
  • AIX 4.1.3, Julio 1995
  • AIX 4.1.1, Octubre 1994
  • AIX 4.1, Agosto 1994
  • AIX v4, 1994
  • AIX v3.2 1992
  • AIX v3.1
    • Introducción del sistema de archivos Journaled File System (JFS)
  • AIX v3, 1990
  • AIX v2
  • AIX v1, 1986

El Common Desktop Environment (CDE) es el entorno gráfico por defecto del sistema AIX. Como parte de su afinidad con GNU/Linux y del “AIX Toolbox for Linux Applications (ATLA)” también están disponibles los entornos libres KDE y GNOME.

SMIT, también conocido como smitty, es una herramienta de administración de interfase de AIX. Permite al usuario navegar a través de un menú jerárquico en vez de utilizar una línea de comandos. Administradores del sistema experimentados hacen uso del comando F6 el cual muestra la línea de comandos para tareas complejas.

SMIT y smitty son el mismo programa, sin embargo smitty es la versión basada en texto, y el SMIT es la versión gráfica que corren bajo X Window. Si estás en una terminal basada en texto, corriendo el programa SMIT va a llamar a la versión de texto.

FreeDOS: FreeDOS es un proyecto que aspira a crear un sistema operativo libre que sea totalmente compatible con las aplicaciones y los controladores de MS-DOS.

El programa ya ha alcanzado un alto grado de madurez y tiene algunas características que no existían en MS-DOS. Algunos comandos de FreeDOS son idénticos o mejores que sus equivalentes de MS-DOS, pero aún faltan algunos del sistema operativo original.

El intérprete de línea de comandos usado por FreeDOS se llama FreeCOM.

Diferencias con MS-DOS

  • Controlador Ultra-DMA y soporte para discos grandes (LBA).
  • Soporta el sistema de archivos FAT32.
  • Controlador DOSLFN para usar los nombres de archivo largos de VFAT.
  • Licencia libre (GPL).
  • Soporte de internacionalización definida por el usuario.

Desafortunadamente no es posible iniciar ninguna versión de Windows basada en MS-DOS en modo extendido del 386, sólo se puede iniciar Windows 3.0 en modo estándar, Windows 3.1 en modo estándar y las versiones de Windows 1.x y 2.x desde FreeDOS. No obstante, es posible sortear este problema usando un gestor de arranque o una herramienta similar, como la que viene con FreeDOS, para hacer una instalación paralela (con arranque dual) de FreeDOS y la versión de Windows en cuestión (decidiendo entre un sistema operativo y otro al arrancar).

Estas versiones de Windows están enlazadas al propio DOS que incorporan. No es posible ejecutarlas desde FreeDOS, pero se pueden instalar Windows y FreeDOS en la misma unidad C:, con la ayuda de un gestor de arranque tal como se ha descrito anteriormente, o con un gestor de arranque de Linux como LiLo o Grub.

Una instalación paralela con Windows NT/2000/XP y ReactOS no causa problemas porque estas versiones ya no usan un sistema DOS como sistema base. El núcleo de FreeDOS se puede añadir simplemente al gestor de arranque que estos sistemas operativos incluyen.

El programa de gestión de memoria EMM386 incluido con FreeDOS soporta VCPI, que permite ejecutar programas que utilizan DPMI. FreeDOS también contiene un controlador UDMA para un acceso a disco más rápido, que además también se puede usar en otras versiones de DOS. La memoria intermedia de disco LBAcache almacena los datos del disco a los que se ha accedido recientemente en la memoria XMS para proporcionar un acceso aún más rápido y reducir el acceso directo al disco duro (lo que causa menos ruido)

Gracias a que el intérprete de línea de comandos FreeCOM se puede mover a sí mismo a la memoria extendida, es posible liberar mucha memoria convencional: Con el núcleo almacenado en la memoria alta y los controladores cargados en los bloques de memoria superior, se pueden disponer de 620k (620*1024 bytes) de memoria convencional, lo que es útil para programas y juegos de DOS exigentes en este aspecto.

Algunas ventajas de FreeDOS: La licencia es libre y el programa está en pleno desarrollo, mejorando día a día. Tiene soporte para particiones FAT32, desde las que puede arrancar. Dependiendo de la BIOS usada, se pueden utilizar discos duros LBA de hasta 128 Gb o incluso 2 TB. Algunas BIOS tienen soporte para LBA pero tienen un fallo con los discos mayores de 32 GB; controladores como OnTrack o EzDrive pueden “reparar” ese problema. FreeDOS también se puede usar con un controlador llamado DOSLFN que soporta nombres de archivo largos (ver VFAT), pero la mayoría de los programas de FreeDOS NO soportan nombres de archivo largos, incluso si el controlador está cargado.

No hay planes para añadir soporte NTFS o ext2fs a FreeDOS, pero hay varios controladores shareware disponibles para tal propósito. Para acceder a particiones ext2fs, se pueden usar la herramienta LTOOLS, que puede copiar información desde y hacia particiones ext2fs. Si se ejecuta FreeDOS en DOSEmu (un emulador de PC/DOS para sistemas Linux) es posible instalar aplicaciones DOS en cualquier sistema de archivos y disco duro que soporte Linux.

Tampoco está planeado el soporte de USB, sólo los dispositivos USB reconocidos por la BIOS están disponibles de primera mano para FreeDOS. Se pueden usar controladores gratuitos, o ejecutar FreeDOS en una ventana de DOSEmu y dejar que use cualquier unidad que sea accesible a Linux.

Otros emuladores populares de PC y DOS son Bochs (simula un PC completo) y DOSBox, que simula un PC con un núcleo DOS y su intérprete: Los programas dentro de DOSBox “ven” un DOS, pero no se puede instalar FreeDOS u otro núcleo. No obstante, las herramientas de FreeDOS son plenamente funcionales en DOSBox

El núcleo de FreeDOS también se suministra con DOSEmu. DOSEmu simula de manera optimizada un PC que permite el uso de controladores simplificados (proporcionados con DOSEmu). El sistema se ejecuta mucho más rápido que con el simulador de PC GNU Bochs o el emulador comercial VMware. Sin embargo, la simulación del hardware carece de realismo en algunos aspectos: El acceso al disco simulado a través de la BIOS virtual funciona bien, pero los programas DOS no pueden programar los controladores del disco virtual. No obstante, sí que hay hardware gráfico y de sonido virtual

Debido a un acuerdo con Microsoft, que impedía a los vendedores de ordenadores venderlos sin sistema operativo instalado, Dell Computer ofreció algunos de sus sistemas de su “serie n” con FreeDOS preinstalado.

El proyecto FreeDOS comenzó para proporcionar una alternativa a MS-DOS cuando Microsoft anunció en 1994 que dejaría de vender y dar soporte a su MS-DOS.

AmigaOS es el sistema operativo nativo que viene por defecto en los ordenadores Amiga. Las primeras versiones (1.0, 1.1, 1.2 y 1.3) del sistema operativo que llevaban los ordenadores de la familia Amiga se llamaban Amiga Disk Operating System o AmigaDOS. Más tarde se les cambió el nombre por AmigaOS, manteniéndose hasta la actualidad.

Entre otras características posee:

  • Multitarea preemptiva al estilo Unix utilizando un sistema de prioridades
  • Arquitectura microkernel
  • Interrupciones programables en tiempo real con muy bajas latencias
  • Diseño de 32 bit
  • BOOPSI (Sistema orientado a objetos estándar para la mayoría de componentes)
  • ARexx integrado (lenguaje de scripting que permite automatizar tareas)
  • Dispositivos de sistema de ficheros programables (permite acceder transparentemente y sin recompilar kernels ni extraños parches a particiones FAT, NTFS, FAT32, ext2, mac… y usar sistemas de ficheros nativos de amiga mejorados como SmartFileSystem o ProfessionalFileSystem)
  • Datatypes, un sistema modular de códecs para audio, animación, imágenes, texto etc que permite acceder a todo tipo de formatos desde todas las aplicaciones sin cambiar una sola línea.

Es importante notar que no dispone de protección de memoria y que su paso de mensajes ultrarápido usa punteros. No obstante existen herramientas de desarrollador diseñadas para detectar accesos a memoria no autorizados.

También conviene reseñar que AmigaOS a diferencia de otros sistemas operativos de m68k como MacOS no requiere que partes del SO estén en zonas fijas de memoria. Esto permite por ejemplo liberar la parte baja de la memoria mediante emuladores/máquinas virtuales como Shapeshifter, Fusion/iFusion o Basilisk II

Viene dividido en varias partes:

  • Kickstart (Es la parte que reside en ROM: contiene el gestor de arranque, el núcleo, las bibliotecas más importantes y la parte fundamental del entorno gráfico)
  • Workbench (Es el escritorio del sistema, se lanza mediante el comando LoadWB y puede ser sustituido o incluso puede evitarse lanzarlo. El comando en sí viene en disco pero las librerías están en la ROM. A menudo se confunde pensando que el escritorio es el sistema operativo)
  • AmigaOS propiamente dicho, el cual incluye las partes que no cabían en la rom, contiene librerías adicionales (por ejemplo para crear interfaces de usuario), el lenguaje de scripting ARexx, sistemas de ficheros para acceder a discos de MSDOS o simplemente sistemas mejorados, fuentes de letra, parches y algunas utilidades que complementan el kickstart

El AmigaOS y el Workbench no se requiere para que el Amiga funcione, es por ello por lo que multitud de juegos arrancan directamente desde el kickstart sin necesidad de cargar el Workbench. La mayoría de los juegos antiguos eliminaban el SO para tomar control de todo el ordenador, no obstante los desarrollados para AGA comenzaron progresivamente a respetarlo más y permitían correrlos en multitarea arrancándolos desde el Workbench

Ha tenido diferentes versiones del Workbench, desde la 1.0 hasta la 3.9. El Kickstart llegó a la versión 40. Existen numerosos escritorios para sustituir el WB, los más famosos son Scalos y DirectoryOpus.

En la actualidad se utiliza en la plataforma Power PC

AROS: AROS (AROS Research Operating System) es un sistema operativo gratuito y portable cuyo propósito es conseguir una implementación en código abierto de los APIs del AmigaOS 3.1. Diseñado para ser portable y flexible, es binariamente compatible con AmigaOS en procesadores 68k y compatible a nivel de código fuente en otros procesadores. Hay puertos nativos para x86 PCs y hospedado en Linux y FreeBSD. Actualmente se está preparando versiones hospedadas en Mac OS X y Linux PowerPC.


Con esto creo que cubrí la mayor parte de sistemas operativos, como para completar el otro post. Quise poner información sobre Symbian y JUIX, pero solo encontre listas de teléfonos compatibles y demás, asi que si alguien es tan amable de facilitarme información mas detallada, se lo agradecería.

Desde este enclace se pueden encontrar otros sistemas operativos libres algunos de ellos discontinuados y otros mencionados en el presente articulo: http://www.freeos.com/download.php