Sie sind auf Seite 1von 71

13-11-2017 TRABAJO DE

COMPILACION
BIBLIOGRAFICA
SISTEMAS OPERATIVOS QUE
SURGIERON DEL AÑO 1990 AL 2000

Julian David TJULIAN DAVID TRULLO VALENCIA

SISTEMAS OPERATIVOS
PROFESOR: CARLOS HERNÁN GÓMEZ GÓMEZ

UNIVERSIDAD NACIONAL DE COLOMBIA.


FACULTAD DE ADMINISTRACIÓN
ADMINISTRACIÓN DE SISTEMAS INFORMÁTICO
MANIZALES 2017
Introducción
Un sistema operativo explota los recursos de hardware de uno o más procesadores para
ofrecer un conjunto de servicios a los usuarios del sistema. El sistema operativo también
gestiona la memoria secundaria y los dispositivos de entrada y salida E/S en nombre de los
usuarios. Los programas que invocan a los servicios del sistema operativo mediante las
llamadas a los sistemas operativos.
El objetivo de este trabajo es mostrar las características fundamentales de diferentes
sistemas operativos que fueron creados o surgieron en la década de 1990 como son: BeOS,
GNU/Linux, Solaris, Windows NT, FreeBSD, Windows 95 y ReactOS.
Veremos un poco de su historia y evolución, características de cada uno y haremos un
análisis más profundo en los sistemas operativos GNU/Linux y Solaris. En dicho análisis se
tocarán temas de la arquitectura de este sistema tales como componentes, estructura,
administración de procesos, de memoria, de memoria auxiliar y de los dispositivos de
entrada y salida soportados por este sistema, soporte a internet de las cosas (IoT). También
se hablará de soporte a tiempo real y de computación en la nube.
Al finalizar encontraremos unas breves conclusiones y la bibliografía de dicho trabajo.

1
2. Historia y Evolución
2.1. BeOS
Be fue fundada por el ex ejecutivo de Apple Computer, Jean-Louis Gassée, en 1990, junto
con Steve Sakoman después de ser derrocado por el CEO de Apple, John Sculley. Tenían
como objetivo la creación de un moderno sistema operativo, escrito en C++, en una
plataforma de hardware propietario.
En 1995, Be sacó el BeBox, que un ordenador personal en que implantaron ese sistema
operativo que habían desarrollado. Además, también produjeron BEIA, un desafortunado
sistema operativo destinado a dispositivos de red, que a pesar de su fugaz existencia,
durante su corta vida fue utilizado comercialmente en aparatos de Sony y DT Researchs
entre otras.
En 1996, Apple estaba buscando un nuevo sistema operativo para reemplazar el MAC OS, y
en la criba final quedaron 2 opciones: BeOS y NeXTSTEP. Al final, Apple acabó decantándose
por NeXT, en gran parte debido a la gran insistencia por parte de Steve Jobs y al estado
inacabado de BeOS, que era criticado por la falta de algunas características como la
capacidad de impresión. Lo curioso es que Apple acabó desechando en gran parte los
componentes de NeXTSTEP y reescribiéndolos desde cero, entre ellos el subsistema de
impresión.
Originalmente el sistema operativo corría sobre su propio hardware, conocido como BeBox.
Más tarde fue extendido a la plataforma PowerPC y finalmente se añadió compatibilidad
con procesadores x86. En el año 2001 la propiedad intelectual de Be fue vendida a la
empresa Palm que la pasó a palmSource y es ahora de Access Co. El último lanzamiento del
sistema fue su versión 5, aunque existía en proyecto una versión nueva y mejorada antes
de la bancarrota.
En febrero de 2001 Be Incorporated tomó acción penal contra Microsoft por sus prácticas
anticompetitivas. Durante años Microsoft utilizó contratos de licencia cerrados con
fabricantes de hardware, los cuales impedían la fabricación de equipos con más de un
sistema operativo preinstalado, es decir, con cualquier cosa que no fuera Windows. Esta
táctica finalmente dejó a Be fuera del mercado. Como medida desesperada, el presidente
ejecutivo de Be (Jean-Louis Gassée) ofreció distribuir BeOS gratuitamente a cualquier
fabricante de hardware que aceptara instalar BeOS junto con Windows, pero ninguno
aceptó. El 5 de septiembre de 2003, el juicio fue cerrado con el pago de 23,2 millones de
dólares a Be, tras lo cual Microsoft dejó de ser acusada de prácticas indebidas.

2
2.1.1. HISTORIAL DE VERSIONES

VERSION FECHA PLATAFORMA

DR1-DR5 OCTUBRE 1995 AT&T/HOBBIT

DR6 ENERO 1996 POWER PC

DR7 ABRIL 1996 POWER PC

DR8 SEPTIEMBRE 1996 POWER PC

ADVANCED PRESS REVIEW MAYO 1997 POWER PC

PR1 JUNIO 1997 POWER PC

PR2 OCTUBRE 1997 POWER PC

VERSION FECHA PLATAFORMA

R3 MARZO 1998 POWERPC / INTEL X86

R3.1 JUNIO 1998 POWERPC / INTEL X86

R3.2 JULIO 1998 POWERPC / INTEL X86

R4 NOVIEMBRE 1998 POWERPC / INTEL X86

R4.5 ("GENKI") JUNIO 1999 POWERPC / INTEL X86

R5 P.E. ("MAUI") MARZO 2000 POWERPC / INTEL X86

R5.1 ("DANO") NOVIEMBRE 2001 POWERPC / INTEL X86

2.2. GNU/Linux
En 1991, con 23 años, un estudiante de informática de la Universidad de Helsinki (Finlandia)
llamado Linus Torvalds se propone como entretenimiento hacer un sistema operativo que
se comporte exactamente igual al sistema operativo UNIX, pero que funcione sobre
cualquier ordenador compatible PC. Posteriormente Linus tuvo que poner como requisito
mínimo que el ordenador tuviese un procesador i386, ya que los ordenadores con CPU más
antiguas no facilitaban el desarrollo de un sistema operativo compatible con UNIX.
Un factor decisivo para el desarrollo y aceptación de Linux va a ser la gran expansión de
Internet. Internet facilitó el trabajo en equipo de todos los que quisieron colaborar con Linus

3
y fueron aportando todos los programas que vienen con UNIX. Linus no pretendía crear
todos los programas que vienen con UNIX. Su objetivo fundamental era crear un núcleo del
S.O. que fuera totalmente compatible con el de UNIX y que permitiera ejecutar todos los
programas gratuitos compatibles UNIX desarrollados por la Free Software Foundation
(fundada por Richard Stallman) que vienen con licencia GNUF.1. Esta licencia impide poner
precio a los programas donados a la comunidad científica por sus propietarios (programas
libres) y obliga a que si se escriben nuevos programas utilizando código de programas libres,
estos sean también libres.
Para crear su núcleo, Linus se inspiró en Minix, una versión reducida de UNIX desarrollada
por el profesor Andy Tanenbaum para que sus alumnos pudieran conocer y experimentar
con el código de un sistema operativo real.
Linus escribió un pequeño núcleo que tenía lo necesario para leer y escribir ficheros en un
disquette. Estamos a finales de Agosto de 1991 y Linus ya tiene la versión $0.01$. Como no
era muy agradable de usar y no hacia gran cosa, no lo anunció. Le puso como nombre Linux,
que es un acrónimo en inglés de ``Linus UNIX'' (el UNIX de Linus).
El 5 de octubre de 1991, Linus anuncia la primera versión ``oficial'' de Linux, la $0.02$. Esta
versión ya podía ejecutar dos herramientas básicas de GNU: el intérprete de órdenes (bash)
y el compilador de C (gcc). Linux no tenía aún nada sobre soporte a usuarios, distribuciones,
documentación ni nada parecido (aún hoy la comunidad de Linux trata estos asuntos de
forma secundaria; lo primero sigue siendo el desarrollo del kernel).
Linus siguió trabajando hasta que Linux llegó a ser un producto realmente útil. Dió los
fuentes de Linux para que cualquiera pudiese leerlo, modificarlo y mejorarlo. Seguía siendo
la versión $0.02$ pero ya ejecutaba muchas aplicaciones GNU (bash, gcc, gnu-make, gnu-
sed, compress, etc.)
Tras la versión $0.03$, Linus salto a la versión $0.10$, al tiempo que más gente empezaba
a participar en su desarrollo. Después de numerosas revisiones, alcanzó la versión $0.95$,
reflejando la esperanza de tener lista muy pronto una versión estable (generalmente, la
versión $1.0$ de los programas es la primera teóricamente completa y sin errores). Esto
sucedía en marzo de 1992. Año y medio después, en diciembre del 93, nacía Linux 1.0.
Hoy Linux es ya un clónico de UNIX completo y hay muchas personas escribiendo programas
para Linux. Incluso las empresas están empezando a escribir programas para Linux ya que
el nivel de aceptación que ha tenido es enorme.

2.3. Solaris
La historia comienza en Silicon Valley en febrero de 1982 fecha en la que nace la empresa
Sun Microsystems fundada por el alemán Andy Bechtolsheim y los norteamericanos Vinod
Khosla, Bill Joy, y Scott McNealy En el mismo año de su fundación Sun comercializa su

4
primera estación y fue bautizada como Sun-1, dicha máquina estaba gobernada por un
microprocesador Motorola a 6 MHz, tenia un 1 mbyte de RAM y un disco duro de 60 mbyte.
El sistema operativo al mando era el SunOS 1 basado en BSD 4.1 (1981) incorporando
TCP/IP.
En el año 1984 Sun desarrolla el Sistema de archivos de red NFS (Network File System ) que
permite a cualquier máquina conectada a la red acceder a discos remotos como si
estuvieran en la máquina local. La tecnología NFS fue licenciada gratuitamente para la
industria estableciendo un nuevo estándar que incorporan en su nueva versión de sistema
SunOs 2 en el año 1985. Un año mas tarde con la salida de la versión de SunOS 3 (1986) se
introducen utilidades de System V y coincide en el tiempo con el lanzamiento de la estación
Sun-3 que todavía continúa basándose en un micro Motorola a 25 MHz y 32 mbyte de RAM.
Ya en 1987 se produce un cambio importante en con el lanzamiento la serie Sun-4 que
adopta por primera vez la arquitectura SPARC V7 RISC. SunOS 4 (1989) es la primera versión
del sistema operativo que soporta la nueva arquitectura Sparc de la serie Sun-4 que
continua basada en BSD 4.3 pero con cambios hacia la arquitectura System V. Con la versión
SunOs 4.1.1 finaliza una primera etapa del sistema operativo a la que Sun Microsystem
denomina Solaris 1 y utilizara este nombre para referirse al sistema SunOs desde 1982 a
1990.
En Julio de 1991 se produce el lanzamiento de SunOS 5.0 que incorpora importantes
cambios:

 Pasa a denominarse Solaris 2


 Se basa en System V Release 4
 Se introduce CDE (Common Desktop Environment) como escritorio estándar
aunque conserva OpenWindows.
 Soporte de Multiprocesamiento Simétrico (SMP) que posibilita el uso de múltiples
CPUs.
Desde 1991 se produce un rápido avance de versiones de Solaris hasta la actual Solaris
10.
Durante este tiempo Sun ha desarrollado nuevas tecnologías para mantener su sistema
operativo entre los más potentes y fiables del mercado. Sun Microsystems también ha
integrado en Solaris tecnologías de Software Libre y como ejemplo de esta sinergia tenemos
el escritorio Gnome.
2.3.1. OpenSolaris
OpenSolaris nace en Junio de 2005 y es el resultado de la liberación de la mayor parte del
código fuente de Solaris pasando a ser un proyecto de software libre. Desde este nuevo
enfoque nacen nuevas distribuciones que aportan mejoras al sistema además de
enriquecerlas con más software.

5
2.3.2. Distribuciones OpenSolaris
OpenSolaris.org es el punto de encuentro donde se pueden ver los proyectos abiertos ya
sean para crear nuevas distribuciones o grupos de trabajo que aportan nuevas
funcionalidades, mejoras, software etc… De las diferentes aportaciones realizadas por
comunidades de usuarios o desarrolladores nacen las siguientes distribuciones: Solaris 10 y
Solaris 10 Express Es la versión oficial de Sun Microsystems disponible para arquitectura
Sparc y x86. Es estable y robusta estando diseñada para entornos de producción donde se
necesita estabilidad. Es gratuita y podemos descargarla del sitio web oficial de Sun. Solaris
10 Express contiene todas las nuevas incorporaciones de funcionalidades y software que
darán lugar a la próxima versión estable de Solaris por lo tanto esta recomendada para
entornos de desarrollo o preproducción.
2.3.3. Solaris 10 y Solaris 10 Express
Es la versión oficial de Sun Microsystems disponible para arquitectura Sparc y x86. Es
estable y robusta estando diseñada para entornos de producción donde se necesita
estabilidad. Es gratuita y podemos descargarla del sitio web oficial de Sun. Solaris 10 Express
contiene todas las nuevas incorporaciones de funcionalidades y software que darán lugar a
la próxima versión estable de Solaris por lo tanto esta recomendada para entornos de
desarrollo o preproducción.
2.3.4. Versiones
En orden descendente, las siguientes versiones de Solaris han sido liberadas a 2010:

6
2.4. Microsoft Windows NT
Windows NT es una familia de sistemas operativos producidos por Microsoft, de la cual la
primera versión fue publicada en julio de 1993.
Previamente a la aparición del famoso Windows 95 la empresa Microsoft concibió una
nueva línea de sistemas operativos orientados a estaciones de trabajo y servidor de red. Un
sistema operativo con interfaz gráfica propia, estable y con características similares a los
sistemas de red UNIX. Las letras NT provienen de la designación del producto como
"Tecnología Nueva" (New Technology).
Las versiones publicadas de este sistema son: 3.1, 3.5, 3.51 y 4.0. Además, Windows NT se
distribuía en dos versiones, dependiendo de la utilidad que se le fuera a dar: Workstation
para ser utilizado como estación de trabajo y Server para ser utilizado como servidor.
Microsoft reunió en 1988 lo que después formaría el equipo de desarrollo de Windows NT
development con el objetivo de desarrollar un sistema operativo polivalente, realmente
moderno, basado en tecnología 32-bits.
Las primeras versiones de Windows NT - Windows NT 3.1 y Windows NT 3.1 Advanced
Server- aparecieron el 23 de Julio de 1993. Estos primeros productos contenían una nueva
arquitectura del núcleo del sistema operativo, capacidad multitarea, un sistema de ficheros

7
NT File System tolerante a fallos, soporte de la arquitectura Windows 32, soporte
multiprocesador, servicios de ficheros e impresoras y algunas innovaciones más.
Windows NT 3.5 le siguió el 8 de Septiembre de 1994 y añadía un mayor rendimiento, más
completa arquitectura y herramientas más complejas. Windows NT 3.51 añadió soporte
para aplicaciones compatibles con Windows 95 y dispositivos PCMCIA el 30 de Mayo de y
Windows NT 4.0 incorporó el famoso interfaz de Windows 95, tecnología de navegación de
Internet Explorer y soporte para NetWare mejorado el 29 de Julio de1996. Desde la primera
aparición de Windows NT 4.0, el producto ha evolucionado a través de cuatro service packs,
añadiendo e integrando funcionalidad de Clave pública/CA, soporte de tarjetas inteligentes,
mejorando la escalabilidad en cuanto a número de procesadores, alta disponibilidad
(cluster), COM (Component Object Model), soporte robusto para transacciones síncronas y
asíncronas, capacidad multimedia, y una gran variedad de características en el entorno de
Exploración de Internet y tecnologías de Servidor.
Desde unas modestas 34.000 unidades vendidas en el año fiscal 1994, Microsoft paso a
vender un millón de licencias de servidor y 5,6 millones de licencias de workstation en el
año fiscal 1997.
2.4.2. Versiones

8
2.5. FreeBSD

FreeBSD es un sistema operativo basado en 4.4BSD-Lite para ordenadores Intel (x86 y


Pentium), AMD64, Alpha y Sun UltraSPARC. Se está trabajando también en versiones para
otras arquitecturas.
FreeBSD está basado en la versión 4.4BSD-Lite del Computer Systems Research Group
(CSRG) de la Universidad de California en Berkeley, y continúa la distinguida tradición de
desarrollo de sistemas BSD. Además del excelente trabajo del CSRG, el Proyecto FreeBSD
ha invertido miles de horas en ajustar el sistema para conseguir un rendimiento y una
fiabilidad máximas en situaciones de carga reales. Mientras que muchos de los gigantes
comerciales se esfuerzan en dotar a los sistemas operativos para PC de esas características,
rendimiento y fiabilidad, FreeBSD puede ofrecerlas ahora.
El origen del proyecto FreeBSD se remonta a comienzos de 1993, en parte como una
extensión del “Unofficial 386BSD Patchkit” debida a los tres últimos coordinadores del
patchkit: Nate Williams, Rod Grimes y Jordan Hubbard.
El objetivo original era producir una instantánea de 386BSD intermedia para arreglar una
serie de problemas que no se podían solventar con uno de los parches utilizados. Quizás
haya quien recuerde que el primer nombre del proyecto fue “386BSD 0.5” o “386BSD
Interim” debido a esto.
El 386BSD era el sistema operativo de Bill Jolitz, que hasta ese punto había estado sufriendo
severamente las consecuencias de prácticamente un año que más valdría olvidar. A medida
que el “patchkit” se iba haciendo más incómodo cada día que pasaba, así que se acordo
ayudar a Bill con una instantánea del sistema. Estos planes se vieron bruscamente
interrumpidos cuando Bill Jolitz decidió repentinamente retirar su aprobación al proyecto
sin dejar ninguna indicación clara de qué debía hacerse a continuación.
No se tardó mucho en decidir que el objetivo seguía valiendo la pena, aun sin el soporte de
Bill, así que se adoptó el nombre de “FreeBSD”, una idea de David Greenman. Los objetivos
iniciales se fijaron tras consultar a los usuarios del sistema y cuando quedó claro que el
proyecto estaba en marcha y que podía llegar a ser una realidad se contactó a Walnut Creek
CDROM con idea de mejorar los canales de distribución de FreeBSD y hacer más fácil llegar
a aquellas personas que no tenían la suerte de tener acceso a Internet. Walnut Creek
CDROM no solo nos ayudó con la idea de distribuir FreeBSD en CD; también facilitó al
Proyecto una máquina en la que trabajar y una conexión rápida a Internet. Sin la fe casi sin
precedentes que tuvo Walnut Creek CDROM en lo que era en aquél momento un proyecto
completamente desconocido, es bastante improbable que FreeBSD hubiera logrado tanto
y tan rápido como ha logrado hasta el día de hoy.
La primera distribución en CDROM (y disponible por la red) fue FreeBSD 1.0, publicado en
diciembre de 1993. Estaba basado en la cinta de U.C. Berkeley del 4.3BSD-Lite (“Net/2”),

9
con bastantes componentes de 386BSD y de trabajos proveniente de la Free Software
Foundation. Fue un logro bastante apreciable para una primera versión; pronto le siguió
FreeBSD 1.1 en mayo de 1994, que tuvo un gran éxito.
Por entonces se formaron unos inesperados nubarrones en el horizonte ya que Novell y la
Universidad de Berkeley resolvieron el largo juicio acerca del estatus legal de la cinta de
Berkeley Net/2. Una condición del acuerdo fue la concesión por parte de Berkeley de que
una gran parte de Net/2 era código “gravado” y propiedad de Novell, quien a su vez lo había
adquirido de AT&T anteriormente. Berkeley obtuvo a cambio de Novell el “beneplácito”
para que 4.4BSD-Lite, cuando saliera, fuera declarado como “no gravado” y se instara a los
usuarios de Net/2 a cambiar. Esto repercutió sobre el Proyecto FreeBSD, a quienes se dio
hasta julio de 1994 para dejar de sacar su producto basado en Net/2. Bajo los términos de
aquel acuerdo se permitía al Proyecto sacar una última versión antes de la fecha límite: esa
versión fue FreeBSD 1.1.5.1.
FreeBSD tuvo entonces que acometer la ardua tarea de (literalmente) reinventarse a sí
mismo a partir de partes nuevas y bastante incompletas de 4.4BSD-Lite. Las versiones “Lite”
eran ligeras en parte porque el CSRG de Berkeley quitó grandes partes del código necesario
para construir un sistema que pudiera arrancar (debido a diversos requisitos legales) y
porque la versión del 4.4 para Intel era muy incompleta. Hasta noviembre de 1994 el
proyecto al fin realizó esa transición; apareció FreeBSD 2.0 en la red y (a finales de
diciembre) en CDROM. A pesar de no estar suficientemente pulida esta distribución fue un
éxito significativo, al cual siguió el más robusto y fácil de instalar FreeBSD 2.0.5; era junio
de 1995.
Sacamos FreeBSD 2.1.5 en Agosto de 1996; pareció ser suficientemente popular entre ISPs
y otras comunidades comerciales como para que mereciera otra versión de la rama 2.1-
STABLE. Fue FreeBSD 2.1.7.1, publicada en febrero de 1997, que marcó el final de la línea
principal de desarrollo en 2-1.STABLE. Una vez en puesta en mantenimiento, en esa rama
(RELENG_2_1_0) sólo se harían ya mejoras en seguridad y se corregirían errores críticos.
FreeBSD se ramificó desde la línea principal de desarrollo (“-CURRENT”) en noviembre de
1996 como la rama RELENG_2_2, y la primera versión completa (2.2.1) salió en abril de
1997. Se hicieron más versiones de la rama 2.2 en verano y otoño de 1997, la última de las
cuales (2.2.8) apareció en noviembre de 1998. La primera versión 3.0 oficial salió en octubre
de 1998 y marcó el inicio del fin de la rama 2.2.
El árbol se ramificó de nuevo el 20 de Enero de 1999, dando lugar a las ramas 4.0-CURRENT
y 3.X-STABLE. A partir de la 3.X-STABLE salió 3.1 el 15 de febrero de 1999, 3.2 el 15 de mayo
de 1999, 3.3 el 16 de septiembre de 1999, 3.4 el 20 de diciembre de 1999 y 3.5 el 24 de
junio de 2000. Pocos días después de esta apareció una actualización menor, la 3.5.1, que
incorporaba parches de seguridad de última hora para Kerberos. Esa fue la última versión
de la rama 3.X.

10
Hubo otra ramificación el 13 de Marzo de 2000 que dio lugar a la rama 4.X-STABLE. Ha
habido varias versiones de la misma desde entonces: 4.0-RELEASE salió en marzo de 2000 y
la última versión de la rama, 4.11-RELEASE, apareció en enero de 2005.
La largamente esperada 5.0-RELEASE se anunció el 19 de enero de 2003, culminando casi
tres años de trabajo; esta versión situó a FreeBSD en el escenario del multiproceso avanzado
y el soporte de hilos para las aplicaciones, e introdujo soporte para las plataformas
UltraSPARC y ia64. Siguió a esta la versión 5.1 lanzada en Junio de 2003. La última versión
de 5.X como la rama CURRENT fue 5.2.1-RELEASE, que salió en febrero de 2004.
La rama RELENG_5, creada en agosto de 2004, desembocó en 5.3-RELEASE, que marcó el
inicio de la rama de versiones 5-STABLE. La versión 5.5-RELEASE más reciente apareció en
mayo de 2006. No aparecerán más versiones a partir de la rama RELENG_5.
El árbol se dividió de nuevo en julio de 2005, en esta ocasión para crear RELENG_6. 6.0-
RELEASE, la primera versión de la rama 6.X, apareció en noviembre de 2005. 8.3-RELEASE
apareció en Abril 2012. Irán apareciendo más versiones a partir de la rama RELENG_6.
La última versión 9.1 apareció el 4 de diciembre de 2012.

2.6. Windows 95

Windows 95 fue lanzado al mercado el 24 de agosto de 1995. En ésta edición se


introdujeron mejoras que eran muy significativas con respecto a sus antecesores entre los
cuales se pueden mencionar los profundos cambios realizados a la interfaz gráfica de
usuario de Windows, siendo completamente distinta a las de versiones anteriores, y el pasar
de usar una arquitectura multitarea cooperativa de 16 bits a usar una arquitectura
multitarea apropiativa de 32 bits.
Esta versión fue la primera en incluir la barra de tareas y el botón Inicio, los cuales se
siguieron incluyendo en versiones posteriores de Windows, además de ser la primera
versión en soportar la función de Plug and Play
El lanzamiento de Windows 95 estuvo acompañado por una extensa y millonaria campaña
de marketing, logrando con ello obtener un gran éxito de ventas y convirtiéndose en uno
de los sistemas operativos de escritorio más populares.
Los sucesores directos de Windows 95 fueron Windows 98 y Windows ME. Con la
unificación de la línea profesional y la doméstica con Windows XP, ésta familia de sistemas
Windows continuó su desarrollo con Windows Vista, Windows 7 , Windows 8 y Windows
10.
Windows 95 fue vendido en disquetes y en CD-ROM. En la versión en disquetes se incluían
13 discos y se utilizaba un formato no estándar conocido como DMF el cual les permitía
almacenar una capacidad mayor a la normal de 1440 KiB. La versión en CD-ROM ofrecía una

11
selección de accesorios y complementos multimedia, además de algunos controladores de
dispositivos, juegos y versiones de demostración de algunos programas ofrecidos por la
compañía.
Durante la instalación se incluía la opción de crear un disquete de rescate con MS-DOS 7.0.
Esta versión de MS-DOS estaba restringida, ya que inhabilitaba ciertas partes que con
anteriores versiones estaban disponibles a través del BIOS del PC, como el acceso al puerto
serie, en la que una llamada es simplemente devuelta sin modificación alguna, apuntando
a una instrucción RET (lenguaje ensamblador), mientras que con versiones anteriores, aún
apuntaban a la rutina existente en el propio BIOS.
El soporte estándar para Windows 95 finalizó el 31 de diciembre de 2000 y el soporte
ampliado para Windows 95 finalizó el 31 de diciembre de 2001.
32 bits
La inclusión del acceso a ficheros de 32 bits en Windows 3.11 para trabajo en grupos,
significó que el modo Real de 16 bits de MS-DOS no se seguiría usando para manejar
ficheros mientras Windows estuviese en ejecución, y la introducción del acceso a disco de
32 bits significó que la BIOS de un PC dejaría de usarse para administrar el disco duro. Esto
redujo el rol de MS-DOS a un simple Bootloader o cargador de arranque para el kernel en
modo protegido de Windows.
El DOS incluido aún se podía usar para ejecutar drivers antiguos por razones de
compatibilidad, aunque Microsoft no recomendaba su uso, dado su impacto en el
rendimiento y estabilidad del sistema operativo. El Panel de Control de Windows permitió
a los usuarios ver que componentes de MS-DOS todavía permanecían en el sistema,
mejorando el rendimiento general cuando estos no se usaban. El kernel de Windows aún
usaba el antiguo modo real de drivers de MS-DOS en el llamado Modo a prueba de fallos,
aunque este modo especial estaba diseñado para permitir a un usuario arreglar los
problemas que se pudieran presentar con la carga de drivers nativos en modo protegido.

12
2.6.1. Versiones

2.7. ReactOS

Su desarrollo comenzó en 1995, como un clon de Windows 95, que fue continuado a
principios de 1998 como ReactOS, y ha continuado con la incorporación gradual de
características de las últimas versiones de Windows. ReactOS ha sido señalado como un
posible reemplazo drop-in de código abierto para Windows567 y por su información sobre
las APIs de Windows indocumentadas. Como se afirma en el sitio web oficial, "El objetivo
principal del proyecto ReactOS es proporcionar un sistema operativo que sea compatible a
nivel binario con Windows... de tal manera que las personas acostumbradas a la familiar
interfaz de usuario de Windows la encontrarían sencilla usando ReactOS. El objetivo final
de ReactOS es permitir quitar Windows e instalar ReactOS sin que el usuario final note el
cambio.
A septiembre de 2017, ReactOS es considerado como software alfa, que, si bien posee
características incompletas, muchas aplicaciones de Windows ya funcionan (por ejemplo,
Adobe Reader 6.0, OpenOffice, etc. ),y por lo tanto es recomendado por desarrolladores
solamente para propósitos de evaluación y prueba.
ReactOS está principalmente escrito en C, con algunos elementos, como el Explorador de
archivos de ReactOS Explorer, escritos en C++. El proyecto se está portando a las
arquitecturas de procesador ARM y AMD64.14 ReactOS, como parte del ecosistema FOSS,
re-utiliza y colabora con otros muchos proyectos de software libre, más notablemente el
proyecto Wine el cual desarrolla una capa de compatibilidad de Windows para sistemas
operativos basados en Unix.

13
3. Descripción general de los distintos sistemas operativos/subtemas.
3.1 BeOS
3.1.1. Descripción General
Es un sistema operativo que viene siendo desarrollado por Be Inc. desde principio de los '90
con vistas hacia el futuro. Siendo un sistema operativo que ha sido escrito desde cero, no
está atado a ningún esquema o diseño viejo u obsoleto, lo que hizo posible que se lo
implementara desde un comienzo haciendo uso de las últimas tecnologías e ideas en lo que
a sistemas operativos se refiere. Está en principio pensado para satisfacer las cada vez más
exigentes capacidades multimedia que se requieren de una PC, pero sin embargo por su
amigable interface gráfica y gran potencia se presenta como un excelente sistema operativo
de propósito general.

3.1.2. Caracteristicas generales


BeOS cuenta con un micronúcleo modular propio, el cual ha sido altamente optimizado para
trabajo con audio, video y gráficos, y animaciones en tres dimensiones. A diferencia de
UNIX, BeOS es un sistema operativo monousuario. Su arquitectura de núcleo avanzada
ofrece capacidad para múltiples procesadores, un rendimiento alto, ancho de banda de
entrada/salida modular y un penetrante sistema multihilo para su sistema de procesos
multitarea reentrante, flexibilidad gráfica y respuesta en tiempo real. Posee un sistema de
archivos con registro por diario e índice optimizados para 64 bits llamado BFS, pero en vez
de utilizar una base de datos, BeOS confía en su bajo tiempo de espera para registrar y
recuperar atributos de archivos en menor tiempo. Una nueva interfaz gráfica de usuario
multihilo fue desarrollada bajo los principios de claridad y un diseño simple y ordenado. La
interfaz API fue escrita en C++ para simplicidad de programación. Posee compatibilidad
POSIX y una interfaz de línea de comandos basada en Bash.

 Mediante los add-ons es posible extender las capacidades del sistema. A partir de
ahí tanto el usuario como las aplicaciones pueden hacer uso de la nueva
funcionalidad adquirida.
 Con los media-translators cualquier aplicación multimedia puede ver aumentada la
cantidad de formatos que soporta de manera automática y transparente.
 Con los Tracker-add-ons el usuario es capaz de efectuar operaciones sobre archivos
y/o directorios más allá de las básicas que ofrece el sistema.
 Estas aplicaciones pueden "incrustarse" en otras, formando parte de estas últimas
o del escritorio.

14
15
3.1.3. Plataforma
Originalmente (1995-1996) el sistema operativo corría sobre su propio hardware, conocido
como BeBox. Más tarde (1997) fue extendido a la plataforma PowerPC y finalmente (1998)
se añadió compatibilidad con procesadores x86. La intención original de Be era venderle el
sistema operativo a Apple para reemplazar Mac OS, pero los planes de venta fracasaron y
el sistema nunca alcanzó gran popularidad en el mercado. En el año 2001 la propiedad
intelectual de Be fue vendida a la empresa Palm que la pasó a palmSource y es ahora de
Access Co.

3.2 GNU/Linux
3.2.1 Descripción General
Linux es un sistema operativo: un conjunto de programas que le permiten interactuar con
su ordenador y ejecutar otros programas.
Un sistema operativo consiste en varios programas fundamentales que necesita el
ordenador para poder comunicar y recibir instrucciones de los usuarios; tales como leer y
escribir datos en el disco duro, cintas, e impresoras; controlar el uso de la memoria; y
ejecutar otros programas. La parte más importante de un sistema operativo es el núcleo.
En un sistema GNU/Linux, Linux es el núcleo. El resto del sistema consiste en otros
programas, muchos de los cuales fueron escritos por o para el proyecto GNU. Dado que el
núcleo de Linux en sí mismo no forma un sistema operativo funcional, preferimos utilizar el

16
término “GNU/Linux” para referirnos a los sistemas que la mayor parte de las personas
llaman de manera informal “Linux”.
Linux está modelado como un sistema operativo tipo Unix. Desde sus comienzos, Linux se
diseñó para que fuera un sistema multi tarea y multi usuario. Estos hechos son suficientes
para diferenciar a Linux de otros sistemas operativos más conocidos. Sin embargo, Linux es
más diferente de lo que pueda imaginar. Nadie es dueño de Linux, a diferencia de otros
sistemas operativos. Gran parte de su desarrollo lo realizan voluntarios de forma altruista.
En 1984 comenzó el desarrollo de lo que más tarde sería GNU/Linux cuando la Free
Software Foundation (Fundación de software libre, N. del t.) comenzó a desarrollar un
sistema operativo libre de tipo Unix, llamado GNU.
El proyecto GNU ha desarrollado un conjunto de herramientas de software libre para ser
utilizados por Unix™ y sistemas operativos tipo Unix como Linux. Estas herramientas
permiten a los usuarios desarrollar tareas que van desde las mundanas (como copiar o
eliminar ficheros del sistema) a las arcanas (como escribir y compilar programas o hacer
edición sofisticada en una gran variedad de formatos de documento).
Aunque hay muchos grupos e individuos que han contribuido a Linux, la Free Software
Foundation ha sido quien más ha contribuido. No sólo creó la mayor parte de las
herramientas que se utilizan en Linux sino también la filosofía y comunidad que hizo que
Linux fuera posible.

3.2.2 Caracteristicas generales

 Multiprocesador: Linux soporta el trabajo con más de un microprocesador en


plataformas Intel y SPARC.
 Memoria: En Linux la memoria funciona en modo protegido, de esta forma un mal
funcionamiento en la ejecución de un programa no puede colgar el sistema
completo.La memoria es gestionada como un recurso unificado para todos los
programas de usuarios y caché del disco. Esto asegura que toda la memoria pueda
utilizarse como caché y, a la vez, ser reducida cuando sea necesario ejecutar
programas de gran tamaño.
 Ejecutables: Linux utiliza la llamada carga de ejecutables por demanda, esto quiere
decir que sólo se leen y cargan del disco las partes de un programa que son
necesarias en el momento.
 Escritura: Es implementada una política de copia en escritura para la compartición
de páginas entre ejecutables, es decir, varios procesos pueden utilizar una zona de

17
la memoria para ejecutarse. Esto da como resultado un aumento en la velocidad y
una reducción en el uso de la memoria.
 Memoria Virtual: Linux emplea la paginación, por lo que no se intercambian
procesos completos al disco.
 Disponibilidad: Todos los archivos de código fuente del núcleo, herramientas de
desarrollo, drivers y todos los programas de archivos fuente de usuario están
disponibles para ser modificados y redistribuidos con total libertad. Aunque también
existen programas comerciales que son ofrecidos a Linux sin código fuente.
 Consolas virtuales Linux: presenta la posibilidad de utilizar múltiples consolas
virtuales independientes, que son accesibles a través de combinaciones de teclas
especiales.
 Acceso a MS-DOS: Posee un acceso totalmente transparente a particiones MS-DOS,
utilizando un sistema de archivos especial. No es necesario ejecutar algún comando
particular para acceder a este tipo de particiones, ya que éstas se presentan como
un sistema de archivo propio de un sistema operativo Unix.
 UMS-DOS: Este sistema de archivos propio de Linux permite que sea instalado sin
problemas en una partición MS-DOS

3.2.3 Plataformas soportadas

 DEC Alpha
 ARM
 AVR32
 Blackfin
 ETRAX CRIS

18
 FR-V
 H8/300
 Itanium
 M32R
 m68k
 Microblaze
 MIPS
 MN103
 PA-RISC
 PowerPC
 s390
 S+core
 SuperH
 SPARC
 TILE64
 Unicore32
 x86
 Xtensa

3.2.4 Distribuciones
Una distribución de Linux es una distribución de software basada en el núcleo Linux que
incluye determinados paquetes de software para satisfacer las necesidades de un grupo
específico de usuarios, dando así origen a ediciones domésticas, empresariales y para
servidores. La distribución más famosa es Ubuntu, la cual ha sido una de las que han hecho
famoso a Linux en el mundo y equiparable a otros sistemas como Windows o macOS, pero
Ubuntu no existiría sin Debian, una de las más antiguas y grandes distribuciones de la cual
se basó Canonical para desarrollar Ubuntu.
3.2.4.1 Principales distribuciones GNU/Linux

 Ubuntu, para usos generales:


La distribución más grande y utilizada del mundo, desarrollada y mantenida por la empresa
Canonical, se orienta a usos generales y se caracteriza por su compatibilidad de software y
facilidad de uso equiparable a Mac OS X o Windows, es la más representativa del sistema
operativo Linux. Cuenta con varias versiones, entre las que destacan: Ubuntu Desktop,
Xubuntu, Lubuntu y Ubuntu Server.

 Fedora, para estaciones de trabajo y servidores.


Distribución para propósitos generales, que se caracteriza por ser estable y seguro, la cual
es desarrollada y mantenida por la empresa Red Hat y una comunidad internacional de

19
ingenieros, diseñadores gráficos y usuarios que informan de fallos y prueban nuevas
tecnologías. Sus usos se orientan más al desarrollo de software y servidores.

 OpenSUSE, para administración de sistemas y servicios.


Distribución auspiciada por SUSE Linux GmbH (una división independiente de The
Attachmate Group), y AMD. Se orienta en ofrecer un sistema operativo estable, potente y
administrable para usos avanzados, pero con gran facilidad.

 Distribuciones 100% Libres de GNU/Linux


o BLAG
o Dragora GNU/Linux
o Dyne:bolic
o gNewSense
o Musix GNU+Linux
o Parabola GNU/Linux
o Trisquel GNU/Linux
o UTUTO XS GNU/Linux

3.3 Solaris
3.3.1 Descripción General
Solaris es un sistema operativo de tipo Unix desarrollado por Sun Microsystems desde 1992
como sucesor de SunOs. Es un sistema certificaco oficialmente como version de Unix.
Aunque solaris fue desarrollado como software privado, la mayor parte de su codigo se ha
liberado como proyecto de software libre denominado OpenSolaris. Solaris es famoso por
s escalabilidad, especialmente en sistemas SPARC y por ser origen de innovadoras
tecnologías.
Sun solaris se ejecuta sobre la arquitectura SPARC en 32 y 64 bits (más conocida como Ultra
Sparc) o sobre procesadores x86 (incluidos Intel y AMD).
A comienzos del 2005, Sun Microsystems ha sacado a la luz la version 10 (5.10) de su sistema
operativo Solaris con nuevas características.
3.3.2 Caracteristicas generales
PORTABILIDAD: El software conformado por una ABI (aplicación de interfaces binaria),
ejecuta con un Shrink-wrapped (Contracción envuelta) el software en todos los sistemas
vendidos con la misma arquitectura del microprocesador. Esto obliga a los desarrolladores
de aplicaciones a reducir el costo del desarrollo del software y traer productos al mercado

20
rápidamente, y obliga a los usuarios a actualizar el hardware mientras retienen sus
aplicaciones de software y minimizan sus costos de conversión.
ESCALABILIDAD: Las aplicaciones se usan con más frecuencia en el sobre tiempo, y requiere
sistemas más poderosos para soportarlos. Para operar en un ambiente creciente, el
software debe ser capaz de ejecutar en un rango de ancho poderosos y debe ser capaz de
tomar ventajas del poder adicional que se está procesando.
INTEROPERATIBIDAD: La computación del ambiente heterogéneo es una realidad hoy. Los
usuarios compran de muchos vendedores para implementar la solución que necesitan. La
estandarización y una clara interface son criterios para un ambiente heterogéneo,
permitiendo a los usuarios desarrollar estrategias para comunicarse por medio de su red. El
sistema operativo de Solaris puede interoperar con unos sistemas muy populares hoy en el
mercado, y aplicaciones que se ejecutan en UNIX se pueden comunicar fácilmente.
COMPATIBILIDAD: La tecnología de la computación continua avanzando rápidamente, pero
necesita permanecer en el ámbito competitivo para minimizar sus costos y maximizar sus
ingresos.

21
3.3.3 Arquitectura
Solaris usa una base de código común para las arquitecturas que soporta: SPARC y x86
(incluyendo AMD64/EM64T). También fue portado a la arquitectura PowerPC (en
plataforma PReP) en la versión 2.5.1, pero el soporte fue cancelado casi tan pronto como
fue liberado.

En un tiempo se planeó la compatibilidad para el Itanium pero nunca se llevó al mercado.


Sun también tiene planes de implementar APIs de Linux en Solaris 10, permitiendo la
ejecución de código objeto Linux de forma nativa en la plataforma x86, lo cual sería
facilitado por el hecho de que ambos sistemas operativos utilizan el formato ejecutable
Executable and Linkable Format. Por el momento, Sun ha adoptado la tecnología Lxrun y la
ofrece como descarga gratuita, si bien no está incorporada a la distribución base.
Solaris tiene una reputación de ser muy adecuado para el multiprocesamiento simétrico
(SMP), soportando un gran número de CPUs. También ha incluido soporte para aplicaciones
de 64 bits SPARC desde Solaris 7. Históricamente Solaris ha estado firmemente integrado
con la plataforma hardware de Sun, SPARC, con la cual fue diseñado y promocionado como
un paquete combinado. Esto proporcionaba frecuentemente unos sistemas más fiables
pero con un coste más elevado que el del hardware de PC. Sun dejó ofrecer estaciones de
trabajo basadas en arquitectura SPARC, reemplazándolas por algunos modelos basados en
x86 y AMD64.
Se asegura las aplicaciones escritas en versiones previas de Solaris pueden correr en Solaris
10 extendiendo la cobertura de compatibilidad hasta la versión de Solaris 2.6 la cual es una
garantía sin precedentes en más de 7 años de lanzamiento de sistemas operativos en la
industria. Además es capaz de correr la mayoría de las aplicaciones para GNU/Linux de
forma nativa.

3.4 Microsoft Windows NT


3.4.1 Descripción General
El sistema operativo Windows NT es una plataforma que trabaja en forma de cliente
servidor.
Es el sistema mas desarrollado de la familia Windows y fue diseñado para poder aprovechar
al máximo los recursos del complejo hardware de 32 bits que existe actualmente.
Las primeras versiones que surgieron de este sistema operativo fueron diseñadas a
principios de la década del ’80 incorporando todos los beneficios de los sistemas Windows
que lo precedieron, integrando las aplicaciones al modelo Cliente-Servidor.

22
3.4.2 Caracteristicas generales

 Full 32 bits
 Sistema Operativo Multitarea
 Incluye procesadores INTEL RISC y Sistemas de Multiprocesamientos Simétricos
 Diseño de un avanzado microkernel integrando seguridad y una plataforma robusta
para su manejo
 Recursos compartidos de archivos e impresoras
 Trabajo en forma de grupo
 Soporte para múltiples protocolos
 Compatible con otras redes (Banyan, VINES y Novell Netware)
 Manejo centralizado de restricciones a usuarios, a través de una sola computadora,
de departamentos, divisiones y grupos
 Protección avanzada de datos a través de discos espejados, segmentación de discos
(RAID 5) y soporte para manejo de UPS
 Servicio de acceso remoto que permite conectarse vía WAN a través del discado en
líneas telefónicas asincronicas, ISDN y redes X-25. Estas tecnologías deben aplicarse
con computadoras trabajando con MS-DOS, Windows para trabajo en grupo o
Sistema Operativo Windows NT
 Servicio para Macintosh (los usuarios de este sistema pueden acceder al Windows
NT y compartir aplicaciones con otros servers de APPLE)
 Puede trabajar como Sistema Operativo Distribuido aplicando el concepto de
Dominio pudiendo ser Server primario o en su defecto secundario

23
24
3.4.3 Arquitectura
La familia de los sistemas operativos Windows NT de Microsoft está constituida por
versiones como Windows 10, Windows 8.x, 7, Vista, XP, Windows Server 2003, Windows
2000 y Windows NT. Todos tienen multitarea apropiativa y son sistemas operativos que han
sido diseñados para trabajar tanto con computadoras con un solo procesador como con
múltiples procesadores que en inglés es el Symmetrical Multi Processor o SMP.
Para procesar las peticiones de entrada/salida (en inglés Input/Output, I/O) acude a una
dirección de paquetes de E/S que utiliza peticiones (IRP) y E/S asíncrona. A partir de
Windows 2000 Advanced Server, Microsoft comenzó a desarrollar sistemas operativos que
soportaban 64-bits. Antes sus sistemas operativos estaban basados en un modelo de 32-
bits.
La arquitectura de Windows NT es altamente modular y se basa en dos capas principales:

 Modo usuario: Cuyos programas y subsistemas están limitados a los recursos del
sistema a los que tienen acceso.
 Modo núcleo: Tiene acceso total a la memoria del sistema y los dispositivos
externos. Los núcleos de los sistemas operativos de esta línea son todos conocidos
como núcleos híbridos, aunque hay que aclarar que este término está en discusión
ya que este núcleo es esencialmente un núcleo monolítico que está estructurado al
estilo de un micronúcleo. La arquitectura dentro del modo núcleo1 se compone de
lo siguiente:
o Un núcleo híbrido.
o Una capa de abstracción de hardware.
o Controladores o también llamados drivers.
o Executive: Sobre el cual son implementados todos los servicios de alto nivel.
o Librerías dinámicas para su correcto funcionamiento, como ntoskrnl.exe
El modo núcleo de la línea de Windows NT está compuesto por subsistemas capaces de
pasar peticiones de E/S a los controladores apropiados usando el gestor de E/S. Dos
subsistemas crean la capa del modo usuario de Windows 2000: el subsistema de Entorno
(ejecuta aplicaciones escritas para distintos tipos de sistemas operativos), y el subsistema
Integral (maneja funciones específicas de sistema de parte del subsistema de Entorno). El
modo núcleo en Windows 2000 tiene acceso total al hardware y a los recursos del sistema
de la computadora. El modo núcleo impide a los servicios del modo usuario y las
aplicaciones acceder a áreas críticas del sistema operativo a las que no deberían tener
acceso.
El Executive se relaciona con todos los subsistemas del modo usuario. Se ocupa de la
entrada/salida, la gestión de objetos, la seguridad y la gestión de procesos. El núcleo se

25
sitúa entre la capa de abstracción de hardware y el Executive para proporcionar
sincronización multiprocesador, hilos y programación y envío de interrupciones, y envío de
excepciones.
El núcleo también es responsable de la inicialización de los controladores de dispositivos al
arrancar. Hay tres niveles de controladores en el modo núcleo: controladores de alto nivel,
controladores intermedios y controladores de bajo nivel. El modelo de controladores de
Windows (en inglés Windows Driver Model, WDM) se encuentra en la capa intermedia y
fue diseñado principalmente para mantener la compatibilidad en binario y en código fuente
entre Windows 98 y Windows 2000. Los controladores de más bajo nivel también son un
legado de los controladores de dispositivos de Windows NT que controlan directamente un
dispositivo o puede ser un bus hardware PnP.

3.5 FreeBSD
3.5.1 Descripción General
FreeBSD es un sistema operativo libre para computadoras basado en las CPU de
arquitectura x86, Intel 80386, Intel 80486 (versiones SX y DX), y Pentium. También funciona
en procesadores compatibles con x86 como AMD y Cyrix. En la actualidad se ejecuta en
once arquitecturas distintas como, Alpha, AMD64, IA-64, MIPS, PowerPC y UltraSPARC.

FreeBSD está basado en la versión 4.4 BSD-Lite del Computer Systems Research Group
(CSRG) de la Universidad de Berkely en California siguiendo la tradición que ha distinguido
el desarrollo de los sistemas BSD.
Originalmente, su desarrollo se basó en la versión Net/2, también conocida como 386BSD
de William Jolitz, aunque en estos momentos no quede prácticamente nada del código
original.
3.5.2 Caracteristicas generales
Algunas de las características principales de FreeBSD son:

 Sistema desarrollado totalmente en 32 bits.


 "Preemptive multitasking" con ajuste dinámico de prioridades para asegurar un
buen reparto de recursos entra aplicaciones y usuarios.
 Multiusuario. Diferentes usuarios pueden usar un mismo sistema FreeBSD
simultáneamente. El sistema comparte periféricos como impresoras, disco, cintas,
etc.
 Sistema TCP/IP completo, incluyendo SLIP, PPP, NFS, NIS, etc, que nos permite usar
FreeBSD como servidor de ficheros, servidor de red, servidor de comunicaciones
(http, ftp, nntp, smtp, pop3, imap, dns, routing, firewall, etc) o estación de trabajo.

26
 Protección de memoria que evita que las aplicaciones o usuarios pueden interferir
entre ellas. Si una aplicación falla, no afecta al resto de aplicaciones del sistema.
 X Window System (X11R6), como interface gráfico de usuario (GUI).
 Compatibilidad de binarios con otros sistemas operativos como SCO, BSD/OS,
NetBSD, 386BSD, Linux, BSDi.
 Librerías compartidas.
 El sistema base incluye compiladores de C, C++ (cc y gcc), Fortran, etc.
 Disposición de todo el código fuente tanto del kernel como de las aplicaciones
incluidas en la instalación base.

3.5.3 Plataforma

 x86
 x86-64
 IA-32
 sparc64
 PowerPC
 ARM
 MIPS

3.6 Windows 95
3.6.1 Descripción General

27
Windows 95 es un sistema operativo con interfaz gráfica de usuario híbrido de entre 16 y
32 bits. Fue lanzado al mercado el 24 de agosto de 1995 por la empresa de software
Microsoft con notable éxito de ventas. Durante su desarrollo se conoció como Windows 4
o por el nombre clave Chicago.
Sustituyó a MS-DOS como sistema operativo y a Windows 3.x como entorno gráfico. Se
encuadra dentro de la familia de sistemas operativos de Microsoft denominada Windows
9x. En la versión OSR2 (OEM Service Release 2)1 incorporó el sistema de archivos FAT32,
además del primer indicio del entonces novedoso USB.

3.6.2 Caracteristicas generales


Windows 95 terminó por salir a la venta el 24 de Agosto de 1995 , debido a muchos retrasos
de varias horas antes. Aún así tuvo mucho éxito, sobre todo por las nuevas características
como son:

 Barra de Tareas
Muy indispensable para acelerar los trabajos en Windows, podrías regresar más
rápidamente a los programas que Windows ejecutaba, aunque sin embargo si
ejecutabas demasiados se convertía en un caos y no sabías que programa usa,
también en la barra de tareas se incluye al menú Inicio, iconos de notificación, hora,
etc.
 Menú Inicio
A través de ella podiamos acceder más rápidamente a Paint, a los juegos o a buscar
programas o archivos perdidos de algo o al reproductor de música, el cual el que
traía Win95 cuando se instalaba con disquetes, no aparecían de forma automática
en el menú, había que agregarlos manualmente.
 Mejor escritorio
Un escritorio algo ordenado, los iconos ya no iban amontonados donde sea , el fondo
verde atómico combinaba con los iconos, accesos rápidos, etc. Todo para una mayor
comodidad para el usuario; se podía usar una foto de alta resolución (como ahora)
para el fondo, pero solo una hora que provocaba un pantallazo azul por sobrecarga
del sistema.
 Acceso a internet
Según los desarrolladores de Windows 95 tenía un más fácil acceso a internet. Sin
embargo por la gran lentitud de los procesadores, esto se dificultaba y sumado el
Internet Explorer 3.0, usar el Internet era un caos.

28
3.6.3 Plataformas soportadas

 IA-32
3.6.4 Interfaz gráfica de usuario
Windows 95 estrenaba una nueva interfaz de usuario más sencilla y potente que sus
antecesores, convirtiendo al sistema operativo en menos de dos años en el de mayor éxito
de todos los tiempos, a pesar de sus cuantiosos defectos.
Con la instalación de Internet Explorer 4.0 se incluyó una actualización llamada Windows
Desktop Update que una vez instalada confería a Windows 95 (y NT 4.0) una interfaz de
usuario muy similar al que sería su sucesor, Windows 98. Esta actualización desapareció en
las siguientes versiones de Internet Explorer.
3.6.5 Salida del mercado
Windows 95 salió al mercado con una fuerte campaña de marketing, incluyendo un anuncio
publicitario con la canción de los Rolling Stones, "Start Me Up"5 (Una referencia al botón
inicio, en inglés Start). Los detractores de Microsoft se apresuraron en señalar que el
segundo verso de la canción comenzaba con "you make a grown man cry" (haces llorar a un
hombre), una línea que es repetida en varias ocasiones.6 La frase fue usada de forma
humorística en muchas críticas de Windows 95.78 Se habla que Microsoft pagó a los Rolling
Stones entre 8 y 14 millones de dólares aproximadamente para usar la canción,9 (que
pertenece al álbum de 1981 Tattoo You) aunque la cantidad exacta se mantiene en secreto.

29
La campaña publicitaria de Microsoft que costó unos 300 millones de dólares mostraba
historias de personas haciendo colas en los exteriores de las tiendas, tan sólo para conseguir
una copia.
En Nueva York, el rascacielos Empire State se preparó para que se iluminara coincidiendo
con los colores del logotipo de Windows.10 Mientras, en Toronto, colgaron un cartel de
unos 100 metros representando a Windows en lo alto de la Torre CN. Y en el Reino Unido,
The Times se distribuía gratuitamente porque Microsoft había comprado una tirada de 1,5
millones de ejemplares (el doble de los habituales en aquel momento).
Windows 95 marca la introducción del botón Inicio y de la barra de tareas en la interfaz, los
cuales aún siguen presentes hasta Windows 10.

3.7 ReactOS
3.7.1 Descripción General
ReactOS (React Operating System) es un sistema operativo de código abierto para PC
x86/x64 concebido para ser compatible a nivel binario con programas informáticos y
controladores de dispositivos diseñados para Microsoft Windows Server 2003.
Su desarrollo comenzó en 1995, como un clon de Windows 95, que fue continuado a
principios de 1998 como ReactOS, y ha continuado con la incorporación gradual de
características de las últimas versiones de Windows. ReactOS ha sido señalado como un
posible reemplazo drop-in de código abierto para Windows y por su información sobre las
APIs de Windows indocumentadas.
Como se afirma en el sitio web oficial, "El objetivo principal del proyecto ReactOS es
proporcionar un sistema operativo que sea compatible a nivel binario con Windows... de tal
manera que las personas acostumbradas a la familiar interfaz de usuario de Windows la
encontrarían sencilla usando ReactOS. El objetivo final de ReactOS es permitir quitar
Windows e instalar ReactOS sin que el usuario final note el cambio.
3.7.2 Caracteristicas generales

 Los desarrolladores tienen por objeto hacer que el núcleo sea más compatible con
Windows NT 5.2 (Windows Server 2003), y el API de modo de usuario con Windows
NT 6.0 (Windows Vista), para añadir soporte para más aplicaciones y hardware. El
soporte para DirectX se lleva a cabo a través de ReactX, una reimplementación de la
empresa. El renderizado 2D acelerado por hardware se hace de forma nativa,

30
mientras que la funcionalidad de dibujo se redirige a OpenGL como una solución
temporal.
 El desarrollo está limitado por la falta de gente con experiencia. A partir del 24 de
marzo de 2010 , la entrada de ReactOS en Ohloh , lleva a un "equipo activo de
desarrollo muy grande", que lista 37 desarrolladores que han contribuido por un
período de más de 12 meses y un total acumulado de 97 usuarios actuales y pasados
que han contribuido con código al proyecto a través de Subversion desde su
creación. Por el contrario, hay 1000 de los desarrolladores que trabajaron
solamente en Windows 7, organizados en 25 equipos, cada equipo con un promedio
de 40 desarrolladores Además, en su presentación en Hackmeeting 2009 en Milán,
Michele C., desarrollador de ReactOS, señaló que la mayoría de los desarrolladores
aprenden sobre la arquitectura de Windows mientras se trabaja en ReactOS sin
tener ningún conocimiento previo.

 ReactOS hace uso del código de otros proyectos donde sea posible, de manera que
los desarrolladores puedan evitar la duplicación de funciones disponibles y
centrarse en la compatibilidad binaria con Windows.

31
3.7.3 Arquitecturas soportadas
ReactOS soporta varias arquitecturas:

 IA-32.
 Xbox (Regresión).
 PowerPC. (Detenido)
 ARM (Arranque parcial).
 AMD64 (Arranque parcial).
Windows NT 4.0 fue portado a otras arquitecturas de IA-32 como MIPS, Alpha AXP y
PowerPC, y los derivados de NT han sido tratados de manera similar, como Windows XP
portado a AMD64, y Windows Server 2003 portado a AMD64 e Itanium. En vista de esto,
los desarrolladores de ReactOS lo han portado parcialmente a las arquitecturas AMD64 y
ARM.14 El soporte para la Xbox, una variante de la IA-32, se añadió a través de una
arquitectura específica de la HAL, aunque ésta, junto con el soporte para PowerPC, ya no es
mantenido activamente.

4. Análisis Sistemas operativos

4.1. GNU/linux
4.1.1. Presentación
Este sistema al parecer 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.
Existen muchas distribuciones actuales de Gnu/Linux (Debian, Fedora, Ubuntu, Slackware,
etc.) donde todas ellas tienen en común que ocupan el mismo núcleo Linux. Dentro de las
cualidades de Gnu/Linux se puede caracterizar el hecho de que la navegación a través de la
web es sin riegos de ser afectada por virus, esto debido al sistema de permisos
implementado, el cual no deja correr ninguna aplicación sin los permisos necesarios,
permisos que son otorgados por el usuario. A todo esto se suma que los virus que vienen
en dispositivos desmontables tampoco afectan al sistema, debido al mismo sistema de
permisos.

32
4.1.2. Estructura y Componentes del sistema
4.1.2.1. Entorno gráfico
GNU/Linux puede funcionar tanto en entorno gráfico como en modo consola. La consola es
común en distribuciones para servidores, mientras que la interfaz gráfica está orientada al
usuario final tanto de hogar como empresarial. Asimismo, también existen los entornos de
escritorio, que son un conjunto de programas conformado por ventanas, iconos y muchas
aplicaciones que facilitan la utilización del computador. Los escritorios más populares en
GNU/Linux son: GNOME, KDE SC, LXDE, Xfce, Unity, MATE y Cinnamon.

Escritorio KDE SC 4.10

Escritorio GNOME 3.0

33
Escritorio XFCE 4.4

34
Escritorio LXDE 0.5

4.1.2.2. Como sistema de programación


La colección de utilidades para la programación de GNU es con diferencia la familia de
compiladores más utilizada en este sistema operativo. Tiene capacidad para compilar C,
C++, Java, Ada, Pascal, Python, Perl, entre otros muchos lenguajes. Además soporta diversas
arquitecturas mediante la compilación cruzada, lo que hace que sea un entorno adecuado
para desarrollos heterogéneos.
Hay varios entornos de desarrollo integrados disponibles para GNU/Linux incluyendo,
Anjuta, KDevelop, Lazarus, Ultimate++, Code::Blocks, NetBeans IDE y Eclipse. También
existen editores extensibles como Emacs o Vim. GNU/Linux también dispone de
capacidades para lenguajes de guion (script), aparte de los clásicos lenguajes de
programación de shell, o el de procesado de textos por patrones y expresiones regulares
conocido como awk, la mayoría de las distribuciones tienen instalado Python, Perl, PHP y
Ruby.
4.1.2.3. Aplicaciones de usuario
Las aplicaciones para GNU/Linux se distribuyen principalmente en los formatos .deb y .rpm,
los cuales fueron creados por los desarrolladores de Debian y Red Hat respectivamente.
También existe la posibilidad de instalar aplicaciones a partir de código fuente en todas las
distribuciones.

35
4.1.2.4. Software de código cerrado para GNU/Linux
Durante la primera época había pocas aplicaciones de código cerrado para GNU/Linux. Con
el tiempo se fueron uniendo programas no libres al sistema GNU/Linux, entre ellos Adobe
Reader, Adobe Flash, Opera, entre otros.

4.1.3. Distribuciones
Una distribución de Linux es una distribución de software basada en el núcleo Linux que
incluye determinados paquetes de software para satisfacer las necesidades de un grupo
específico de usuarios, dando así origen a ediciones domésticas, empresariales y para
servidores. La distribución más famosa es Ubuntu, la cual ha sido una de las que han hecho
famoso a Linux en el mundo y equiparable a otros sistemas como Windows o macOS, pero
Ubuntu no existiría sin Debian, una de las más antiguas y grandes distribuciones de la cual
se basó Canonical para desarrollar Ubuntu.
4.1.3.1. Principales distribuciones GNU/Linux
 Ubuntu: para usos generales:
La distribución más grande y utilizada del mundo, desarrollada y mantenida por la empresa
Canonical, se orienta a usos generales y se caracteriza por su compatibilidad de software y
facilidad de uso equiparable a Mac OS X o Windows, es la más representativa del sistema
operativo Linux. Cuenta con varias versiones, entre las que destacan: Ubuntu Desktop,
Xubuntu, Lubuntu y Ubuntu Server.

 Fedora: para estaciones de trabajo y servidores.


Distribución para propósitos generales, que se caracteriza por ser estable y seguro, la cual
es desarrollada y mantenida por la empresa Red Hat y una comunidad internacional de
ingenieros, diseñadores gráficos y usuarios que informan de fallos y prueban nuevas
tecnologías. Sus usos se orientan más al desarrollo de software y servidores.

 OpenSUSE: para administración de sistemas y servicios.


Distribución auspiciada por SUSE Linux GmbH (una división independiente de The
Attachmate Group), y AMD. Se orienta en ofrecer un sistema operativo estable, potente y
administrable para usos avanzados, pero con gran facilidad.

 Distribuciones 100% Libres de GNU/Linux


o BLAG: es una distribución basada en Fedora, realizada por Brixton Linux
Action Group, del sistema operativo Linux que posee aplicaciones de
escritorio enfocadas al usuario "experto", incluyendo software para
multimedia, gráficos, Internet, etc. e incluye una colección de paquetes para
servidores. Comparte desde su distribución base, aplicaciones como Dag,

36
Dries, Freshrpms, NewRPMS, ATrpms, etc. Está reconocida por la Free
Software Foundation como 100% libre.
o Dragora: Es una distribución GNU/Linux enfocada en la libertad, el idioma
(castellano), la estabilidad y la seguridad. Ha sido desarrollada en Argentina
sin basarse en ninguna otra distribución anterior, con algunas características
similares a Slackware. Se encuentra compilada para las arquitecturas i486
(32 bits) y x86_64 (64 bits), lo cual le da una gran adaptación entre
procesadores, asegurando de esta forma el correcto funcionamiento en
distintas arquitecturas.
o Dyne:bolic : Es una distribución GNU/Linux especializada en multimedia,
reconocida por la Free Software Foundation como 100% libre. La versión
dyne:bolic 2.2 lleva el nombre en código dhoruba, y es una versión
completamente reconstruida de todo el sistema operativo, mejorada para
mayor utilidad y abierta a los desarrolladores para que se unan en su
mantenimiento. La distribución se presenta en un livecd que permite
arrancarla en vivo.
o gNewSense: Es un sistema operativo GNU/Linux basado en Debian y Ubuntu.
Fue diseñado con la meta de proporcionar una distribución 100% libre a los
usuarios que desean utilizar solamente software libre.
o Musix: Es una distribución de Linux presentada en LiveCD Live-DVD y Live-
USB basada en Knoppix, Kanotix y Debian. Por esta razón y por eliminar el
software privativo contenido en sus distribuciones madres es considerada
un sistema operativo 100% libre. Está principalmente destinado a músicos,
artistas en general, y fue preparado para la enseñanza artística en salones de
clase. Es una de las primeras (y de las pocas)1 distribuciones de Linux
reconocidas como 100% libres por la Free Software Foundation.
o Parabola: es un proyecto de software libre que intenta proveer una versión
de Arch Linux completamente libre, con paquetes optimizados para
arquitecturas i686, x86_64 y armv7h. Parabola pretende que sus
herramientas de administración y sus paquetes sean simples. El objetivo es
brindar al usuario control total de su sistema con aplicaciones 100% libres.
Parabola GNU/Linux es listada por la Free Software Foundation como un
sistema operativo totalmente libre.
o Trisquel: Es una versión del sistema operativo GNU que utiliza el kernel
Linux-libre. Los principales objetivos del proyecto son la producción de un
sistema operativo totalmente libre, fácil de usar, completo, y con buen
soporte de idiomas. Las versiones actuales incluyen traducciones para los
idiomas Gallego, Inglés, Español, Catalán, Vasco, Chino, Francés, Indio y
Portugués.

37
o UTUTO XS: Fue una distribución del sistema operativo GNU, que usaba su
propio núcleo de Linux Libre. Se compila usando los "ebuilds" y el software
"emerge" de Gentoo Linux. Ututo fue la primera distribución en ser
reconocida como totalmente libre por el Proyecto GNU. El proyecto se dejó
de actualizar el 1 de diciembre de 2013.

4.1.4. Proceso de Instalación


Linux se puede instalar en cualquier disco que tengas en tu sistema y en cualquier particion
del disco duro (Primaria o extendida).
No podrás tener Linux en una partición compartida con otro sistema operativo, Linux
necesita su propia particion/es para funcionar.
¿Cuantas particiones necesito para Linux?
La respuesta rápida y fácil es: recomendable al menos dos, una para el sistema/datos y otra
para Swap. Usualmente se suelen tener tres, una para el sistema/programas (/), otra para
los datos (/home) y otra para swap.
La respuesta larga y no tan fácil es mas complicada de explicar: Todo dependerá muchisimo
del uso que se le vaya a dar al sistema.
Para sistemas que se utilicen de forma particular y por uno o pocos usuarios bastara con las
dos/tres particiones antes mencionadas, esto evitara los problemas de saber que cantidad
de espacio necesitan las diferentes particiones y el quedarnos sin espacio en alguna
particion vital, mientras que nos sobra en otras.
Para sistemas servidores, con gran cantidad de servicios y usuarios es muy recomendable
tener varias particiones/discos. Existe un documento (HOWTO: Multi Disk System Tuning)
muy bueno y quizás complicado para el principiante que explica cuantas particiones y discos
y que tamaño deberían tener en función del uso que se le vaya a dar al sistema, o en
cualquier servidor con documentación Howto.
¿Porque necesito diferentes particiones?
El particionar el disco, es simplemente una manera de organizar tu disco duro. Podrás
organizarlo con una sola partición o en varias. Es el usuario el que deberá decidir cuantas
particiones tendrá su disco, y el tamaño de las mismas, hay que recordar, que al menos hay
que tener una partición primaria.

 Desventajas de tener vuestro disco dividido en diferentes particiones.


o Ninguna
 Ventajas en tener vuestro disco particionado en varias particiones:

38
o Si tienes un error/problema en una de ellas, las demás no se verán afectadas.
o Poder tener diferentes sistemas operativos en vuestra maquina, totalmente
independientes unos de otros.
o Poder tener vuestros archivos de datos en particiones totalmente
independientes.
o Poder borrar/cambiar el contenido de una partición, sin que esto afecte a las
demás.
4.1.5. Gestión de procesos y del procesador
La más simple definición de un proceso podría ser que es una instancia de un programa en
ejecución (corriendo). A los procesos frecuentemente se les refiere como tareas. El contexto
de un programa que está en ejecución es lo que se llama un proceso. Este contexto puede
ser más procesos hijos que se hayan generado del principal (proceso padre), los recursos
del sistema que este consumiendo, sus atributos de seguridad (tales como su propietario y
permisos de archivos así como roles y demás de SELinux), etc.
Linux, como se sabe, es un sistema operativo multitarea y multiusuario. Esto quiere decir
que múltiples procesos pueden operar simultáneamente sin interferirse unos con los otros.
Cada proceso tiene la "ilusión" que es el único proceso en el sistema y que tiene acceso
exclusivo a todos los servicios del sistema operativo.
Programas y procesos son entidades distintas. En un sistema operativo multitarea,
múltiples instancias de un programa pueden ejecutarse simultáneamente. Cada instancia
es un proceso separado. Por ejemplo, si cinco usuarios desde equipos diferentes, ejecutan
el mismo programa al mismo tiempo, habría cinco instancias del mismo programa, es decir,
cinco procesos distintos.
Cada proceso que se inicia es referenciado con un número de identificación único conocido
como Process ID PID, que es siempre un entero positivo. Prácticamente todo lo que se está
ejecutando en el sistema en cualquier momento es un proceso, incluyendo el shell, el
ambiente gráfico que puede tener múltiples procesos, etc. La excepción a lo anterior es el
kernel en sí, el cual es un conjunto de rutinas que residen en memoria y a los cuales los
procesos a través de llamadas al sistema pueden tener acceso.
Gestión de procesos: Prioridades

 Prioridad Estática: puede ser modificada por el usuario a través del comando nice
 Prioridad Dinámica: se recalcula cada vez que el proceso abandona el procesador o
un dispositivo.Para procesos reales es igual a la prioridad dinámica
 Rango de Prioridades: [0-139]
Procesos de Tiempo Real [0-99]
Procesos Normales [100-139]

39
4.1.6. Gestión de memoria
El kernel de Linux implementa un sistema de memoria virtual compartida.
4.1.6.1. Sistema de memoria virtual compartida
El sistema manejador de memoria de Linux nunca asigna la memoria física directamente a
algún proceso. En lugar de esto cada proceso tiene una visión "virtual" de la memoria. Cada
proceso cree que es el único proceso que accede a la memoria en el sistema. Es decir no
está consciente de las solicitudes de memoria que hacen los demás procesos. El uso de una
partición swap permite que los procesos crean que la memoria RAM es más grande de lo
que realmente es.
4.1.6.2. Uso de la memoria física como cache
El acceso a un dispositivo de almacenamiento secundario como un disco duro es
significativamente más lento que acceder a la memoria principal. Por lo tanto, el sistema de
manejo de memoria de Linux utiliza una porción de la memoria principal como caché para
mantener en memoria los archivos que hayan sido recientemente utilizados y así agilizar
futuros accesos a dichos archivos.

4.1.6.3. Soluciones para cuando la memoria RAM está ocupada


Cuando una aplicación solicita espacio en memoria y no hay suficiente espacio libre en la
RAM.
El kernel tiene dos maneras de liberar espacio en disco:

 Reduciendo el tamaño del cache que esta en la RAM


 Utilizando espacio de la partición swap.
Desde la versión 2.6 del kernel el usuario puede definir la probabilidad que se le dará a cada
una de las dos opciones. Es un valor del 0 al 100 donde 0 se apega a la primera
opción(reducir el cache) y 100 (mandar paginas al área de swap)

4.1.7. sistema de archivos


Linux soporta gran variedad de sistemas de ficheros, desde sistemas basados en discos,
como pueden ser ext2, ext3, ReiserFS, XFS, JFS, UFS, ISO9660, FAT, FAT32 o NTFS, a
sistemas de ficheros que sirven para comunicar equipos en la red de diferentes sistemas
operativos, como NFS (utilizado para compartir recursos entre equipos Linux) o SMB (para
compartir recursos entre máquinas Linux y Windows).

40
Los sistemas de ficheros indican el modo en que se gestionan los ficheros dentro de las
particiones. Según su complejidad, tienen características como previsión de apagones,
posibilidad de recuperar datos, indexación para búsquedas rápidas, reducción de la
fragmentación para agilizar la lectura de los datos, etc. Hay varios tipos, normalmente
ligados a sistemas operativos concretos. A continuación se enumeran los más
representativos:
 ext2: Hasta hace poco era el sistema estándar de Linux. Tiene una fragmentación
muy baja, aunque es algo lento manejando archivos de gran tamaño. Fue la
continuación del sistema de ficheros ext, implementado en 1992 e integrado en
Linux 0.96. Las principales ventajas que tenía sobre ext eran las siguientes:
o Compatible con sistemas de ficheros grandes, admitiendo particiones de
disco de hasta 4TB y ficheros de hasta 2GB de tamaño.
o Proporciona nombres de ficheros largos, de hasta 255 caracteres.
o Tiene una gran estabilidad.
o Actualización.
 ext3: Es la versión mejorada de ext2, con previsión de pérdida de datos por fallos
del disco o apagones. En contraprestació, es totalmente imposible recuperar datos
borrados. Es compatible con el sistema de ficheros ext2. Actualmente es el más
difundido dentro de la comunidad GNU/Linux y es considerado el estándar. Sus
ventajas frente a ext2 son:
o Actualización. Debido a que los dos sistemas comparten el mismo formato,
es posible llevar a cabo una actualización a ext3, incluso aunque el sistema
ext2 esté montado.
o Fiabilidad y mantenimiento.
 ext4: Es la última versión de la familia de sistemas de ficheros ext. Sus principales
ventajas radican en su eficiencia (menor uso de CPU, mejoras en la velocidad de
lectura y escritura) y en la ampliación de los límites de tamaño de los ficheros, ahora
de hasta 16TB, y del sistema de ficheros, que puede llegar a los 1024PB (PetaBytes).
 ReiserFS: Es el sistema de ficheros de última generación para Linux. Organiza los
ficheros de tal modo que se agilizan mucho las operaciones con estos. El problema
de ser tan actual es que muchas herramientas (por ejemplo, para recuperar datos)
no lo soportan.
 swap: Es el sistema de ficheros para la partición de intercambio de Linux. Todos los
sistemas Linux necesitan una partición de este tipo para cargar los programas y no
saturar la memoria RAM cuando se excede su capacidad. En Windows, esto se hace

41
con el archivo pagefile.sys en la misma partición de trabajo, con los problemas que
esto conlleva.
Además de estos sistemas de ficheros, Linux también ofrece soporte para sistemas de
ficheros de Windows, como FAT, FAT32 y NTFS. Tanto para FAT como para FAT32, Linux
tiene soporte completo y estable de escritura y lectura, mientras que para NTFS, y con las
últimas versiones del kernel, solo se puede acceder de manera estable en modo lectura. En
modo escritura todavía está en fase experimental y no es estable.

4.1.8. Gestión de entrada y salida


La Entrada/Salida se realiza por medio de los controladores de dispositivos, que tienen un
rol especial en el núcleo de Linux. Estos son los encargados de ocultar completamente los
detalles de funcionamiento interno de un dispositivo a nivel del Hardware, independizando
así los programas de usuario que deberán utilizar ciertas funciones para poder operar con
dichos dispositivos; de esta manera, si hubiera cambios en los dispositivos, porque se
añadan, quiten o cambien, no hará falta volver a programar los programas, bastando con
reemplazar los controladores antiguos por los que gestionen el nuevo hardware.
La ventaja de desarrollar controladores de dispositivos para Linux consiste en que estos
pueden desarrollarse por separado del resto del núcleo y luego ser cargados en tiempo de
ejecución, cuando se necesiten.
4.1.9. Dispositivos de entrada y salida que soporta
En un sistema Linux la interacción final con dispositivos la realizan los controladores o el
kernel (núcleo). Dicho de otra forma, un dispositivo sólo podrá ser usado si el kernel lo
soporta o si existe un controlador capaz de controlarlo y si se configura apropiadamente
para hacerlo. Por esto, los dispositivos que se produzcan hoy, no pueden ser operados con
controladores ya existentes (a menos que los dispositivos hayan sido diseñados para ser
operados con éstos, caso que para algunos dispositivos como tarjetas de sonido, tarjetas de
vídeo o modems es poco común), por esto mismo, eventualmente, si actualiza el hardware
de su computador o si desea usar un cierto servicio del kernel, también deberá actualizar
algún módulo o eventualmente el kernel completo. Aunque algunos controladores
autodetectan la configuración del dispositivo, esto no siempre ocurre y en algunos casos
tendrá que probar, hasta hacer funcionar el módulo que maneja el dispositivo (en estas
pruebas la documentación del dispositivo y la del módulo serán de utilidad. Si desea
experimentar rápidamente emplee modconf). Las fuentes en C de cada versión del kernel
cuentan con controladores para diversos dispositivos. Cuando se compila una versión,
algunos de esos controladores pueden unirse con el kernel mismo (estáticamente), otros
pueden dejarse como módulos para cargarse/descargarse cuando la parte estática del
kernel esté operando, otros pueden ser excluidos del proceso de compilación (y por lo tanto

42
no podrán ser usados ni cuando el kernel esté operando). El núcleo Linux ha sido criticado
con frecuencia por falta de controladores para cierto hardware de computadoras de
escritorio. Sin embargo, el progresivo incremento en la adopción de Linux en el escritorio
ha mejorado el soporte de hardware por parte de terceros o de los propios fabricantes,
provocando que, en los últimos años, los problemas de compatibilidad se reduzcan. pág. 60
Empresas como IBM, Intel Corporation, Hewlett-Packard, Dell o MIPS Technologies tienen
programadores en el equipo de desarrolladores del núcleo Linux que se encargan de
mantener los controladores para el hardware que fabrican. Este grupo de programadores
también se le suman los que provee grandes distribuidores de soluciones Linux como Novell
o Red Hat. Actualmente Linux es un núcleo monolítico híbrido. Los controladores de
dispositivos y las extensiones del núcleo normalmente se ejecutan en un espacio
privilegiado conocido como anillo 0 (ring 0), con acceso irrestricto al hardware, aunque
algunos se ejecutan en espacio de usuario. A diferencia de los núcleos monolíticos
tradicionales, los controladores de dispositivos y las extensiones al núcleo se pueden cargar
y descargar fácilmente como módulos, mientras el sistema continúa funcionando sin
interrupciones. También, a diferencia de los núcleos monolíticos tradicionales, los
controladores pueden ser prevolcados (detenidos momentáneamente por actividades más
importantes) bajo ciertas condiciones. Esta habilidad fue agregada para gestionar
correctamente interrupciones de hardware, y para mejorar el soporte de
multiprocesamiento simétrico.
Dispositivos de Bloque
Los dispositivos de bloque proporcionan la interfaz principal para todos los dispositivos de
disco en un sistema. El rendimiento es particularmente importante para los discos, y el
sistema de bloqueo del dispositivo debe proporcionar la funcionalidad para garantizar que
el acceso al disco es tan rápido como sea posible. Este funcionalidad se logra a través de la
programación de las operaciones de E / S.
El gestor de peticiones es la capa de software que gestiona la lectura y la escritura de los
contenidos del búfer hacia y desde un controlador de bloque del dispositivo.
Linux kernel versión 2.6 introduce un nuevo algoritmo de programación de E / S. Aunque
un algoritmo sencillo ascensor sigue estando disponible, el valor predeterminado de E /
S planificador es ahora el Completamente Feria Queueing (CFQ) planificador. El CFQ I /
O planificador es fundamentalmente diferente de algoritmos basados en ascensor. En
lugar de ordenar las solicitudes dentro de una lista, CFQ mantiene un conjunto de listas-de
forma predeterminada, una para cada proceso. Las solicitudes procedentes de un proceso
de ir en la lista de ese proceso. Por ejemplo, si dos procesos están emitiendo peticiones de
E / S, CFQ mantendrá dos listas separadas de las solicitudes, una para cada proceso. Las
listas se mantendrán según el algoritmo C-SCAN.

43
Dispositivo de caracteres
Un conductor de dispositivo de carácter puede ser casi cualquier controlador de dispositivo
que no ofrece de acceso aleatorio a los bloques fijos de datos. Todos los controladores de
dispositivo de caracteres registrados al kernel de Linux también debe registrar un conjunto
de funciones que implementan la archivo que he operaciones de E / S que el conductor
pueda manejar. El kernel lleva a cabo casi sin procesamiento previo de un archivo de lectura
o escritura solicitud a un dispositivo de caracteres. Simplemente pasa la solicitud al
dispositivo en cuestión y deja que el acuerdo con el dispositivo de petición.
Una disciplina de línea es un intérprete para la información del terminal dispositivo. La
disciplina de línea más común es la disciplina tty, que encola la datos del terminal de flujo
en los flujos de entrada y salida estándar de un usuario de los procesos en ejecución, lo que
permite esos procesos se comuniquen directamente con la el terminal del usuario. Este
trabajo es complicado por el hecho de que varios de estos procesos pueda estar
ejecutándose simultáneamente, y la disciplina de línea tty es responsable de conectar y
desconectar la entrada del terminal y salida de los diversos procesos conectados a él como
aquellos procesos se suspenden o despertados por el de usuario.

 Unidades de disco
 Unidades de cinta
 Terminales
 Líneas de comunicación
 Impresoras

4.1.10. Gestión de comunicaciones y seguridad


La seguridad en un sistema se basa en los mecanismos de protección que ese sistema
proporciona. Estos mecanismos deben permitir controlar qué usuarios tienen acceso a los
recursos del sistema y qué tipo de operaciones pueden realizar sobre esos recursos.
Todo mecanismo de protección debe manejar 2 conceptos:
1. Recursos: son las partes del sistema utilizadas por los procesos.
2. Dominios de protección: son el conjunto de recursos y operaciones sobre estos
recursos que podrán utilizar todos aquellos procesos que se ejecuten sobre él.
En general, en un sistema LINUX, el conjunto de recursos está formado por todos los
archivos del sistema, y el dominio será un usuario y los procesos que el ejecuta y que, por
tanto, tengan el mismo UID efectivo.

44
Para controlar el acceso de los dominios a los recursos se utilizan las Listas de Control de
Acceso por cada recurso. La Lista de Control de Acceso (ACL) especifica qué dominios tienen
acceso al recurso y qué operaciones asociadas al recurso pueden utilizar. El problema que
plantea la lista de control de acceso es su tamaño variable, ya que depende del numero de
dominios que tengan acceso al recurso y de las operaciones que pueda realizar cada uno de
ellos.
En Linux, para conseguir Listas de tamaño constante, se utilizan 2 técnicas:
1. Reducir el numero de operaciones posibles sobre un recurso (archivo): podemos
controlar 3 operaciones sobre los archivos, que son la lectura (r), escritura (w) y la
ejecución (x).
2. Reducir el número de dominios que aparecen en la lista. Esto se consigue mediante
el concepto de grupos de usuarios.
Todos los usuarios de un sistema Linux deben pertenecer, al menos, a un grupo. Existen 3
grupos o categorías en la relación entre un dominio (usuario) y un recurso (archivo):
 Propietario: indica quién creó el archivo
 Grupo del propietario: reúne a todos los usuarios que pertenecen al grupo del
propietario.
 Resto de usuarios: los que no crearon el archivo y no pertenecen al grupo del
propietario.
Con estos 2 mecanismos la Lista de control de acceso se reduce a 9 bits, organizados en 3
grupos de 3. Esta Lista de control de acceso está situada en la Palabra de protección del
nodo-i, que es donde se mantienen todos los atributos asociados a un archivo.
4.1.11. Seguridad
El sistema incluye funciones avanzadas de seguridad y entre sus políticas se encuentra el
no activar, de forma predeterminada, procesos latentes al momento de instalarse. Por eso
mismo, no hay un cortafuegos predeterminado, ya que supuestamente no existen servicios
que puedan atentar a la seguridad del sistema. Para labores o tareas administrativas en la
línea de comandos incluye una herramienta llamada sudo (de las siglas en inglés de
SwitchUser do), con la que se evita el uso del usuario administrador. Posee accesibilidad e
internacionalización, de modo que el sistema esté disponible para tanta gente como sea
posible. Desde la versión 5.04, se utiliza UTF-8 como codificación de caracteres
predeterminado. No sólo se relaciona con Debian por el uso del mismo formato de paquetes
.deb. También tiene uniones con esa comunidad, aunque raramente contribuyendo con
cualquier cambio directa e inmediatamente, o sólo anunciándolos. Esto sucede en los

45
tiempos de lanzamiento. La maryoría de los empaquetadores de Debian son los que realizan
también la mayoría de los paquetes importantes de Ubuntu.

4.1.12. Soporte a tiempo real


Gracias a la reciente llegada del conjunto de parches de PREEMPT_RT, la comunidad Linux
unificó su método para lograr el rendimiento en tiempo real con Linux. Lo que es
particularmente relevante acerca de esta solución es que un solo sistema operativo en
tiempo real basado Linux permite a los desarrolladores obtener las ventajas del rendimiento
en tiempo real con la accesibilidad, usabilidad y soporte de una comunidad que están
disponibles en sistemas operativos de propósito general.
Un RTOS de Linux creado con el conjunto de parches de PREEMPT_ RT incluye jitter al mismo
nivel que otros RTOS dedicados, como el VxWorks de WindRiver o el Interval de Zero. Del
mismo modo, con respecto a la utilización de la CPU como una función de la velocidad del
bucle, un PREEMPT_RT RTOS basado en Linux ofrece un rendimiento equivalente o
mejorado sobre otros RTOS dedicados. En gran parte, esta mejora del rendimiento a nivel
de aplicación, medido por una ganancia inferior en el uso de la CPU a velocidades más altas
del bucle, es un resultado de la disponibilidad de la programación de un sistema RTOS
basado en Linux. A diferencia de la mayoría de los RTOS dedicados, un RTOS basado en Linux
puede ofrecer tanto un programador en tiempo real para las tareas críticas, como un
programador mucho más eficiente y completo para todas las tareas que no son en tiempo
real.
El consenso creciente es que PREEMPT_RT permite un RTOS basado en Linux que ofrece un
rendimiento similar al de otros RTOS existentes. Lograr este nivel de rendimiento es excelente, tanto
para los usuarios de Linux que buscan hacer frente a aplicaciones de prestaciones más elevadas y
en tiempo real, como para aquellos que actualmente dependen de RTOS dedicados que buscan
beneficiarse de la estabilidad, facilidad de uso y soporte de la comunidad que ofrece Linux. La gran
comunidad de IP y herramientas junto con la importante base de usuarios con experiencia permite
a los diseñadores una mayor autonomía para incrementar la funcionalidad de su solución a un coste
menor de desarrollo. Muchas de las mejoras en todo el sistema operativo pueden ser rápidamente
aprovechadas, por ejemplo, el stack de red maduro y estable proporcionado por Linux soporta
verdaderos NICs (Network Interface Cards) de doble DHCP y ofrece soporte para protocolos de
comunicación como IPv6 y SNMP.

4.1.13. Soporte para la nube e integración a ella (Cloud computing)


Ubuntu es un sistema operativo que ha sabido cómo dar el salto a la nube y cómo hacer
que el sistema operativo (tanto de escritorio como de servidor) y los dispositivos IoT hagan
uso de ella, según las necesidades de cada uno. Este sistema operativo libre y basado en
Debian ha seguido una buena racha de migración a la nube desde que la generalización de
las IaaS (Infrastructure as a Service) con el fin de ejecutar cargas de trabajo que hasta ahora
eran tareas del servidor en la nube.

46
4.1.14. Soporte a internet de las cosas
Internet de las cosas: todas las cosas o casi todas las cosas conectadas a internet entre si
para el beneficio de las personas, eso dicen o es la promesa; linux como sistema operativo
abierto es una plataforma para el desarrollo de que esta promesa se haga una realidad
viable, ya existen distribuciones linux que están orientadas al soporte y desarrollo del
internet de las cosas.
Entre las distribuciones de linux orientadas al IoT (Internet of Things):

 RIOT: basado en linux, corre sobre plataformas de 8-bits, 16-bits o 32 bits,


programacion en lenguaje c y c++, eficiencia energetica, soporte TCP/IP, 6LoWPAN.
 IOTTLY: basado en GNU/LInux compatible por ahora con Udoo, Arduino y
Raspberry, es un proyecto en sus primeros pasos
 Ubuntu Core: es la apuesta de Canonical para el internet de las cosas, una versión
reducida de ubuntu orientado al servicio en la nube y la personalización de
dispositivos embebidos con el soporte de los fabricantes.

4.1.15. Estadísticas de utilización a nivel mundial


El uso de GNU/Linux es del 2.33%

4.1.16. Otros aspectos


LINUX – COMANDOS BÁSICOS
date muestra la fecha del sistema.

47
date –u mmddhhhhaa cambia la fecha del sistema, ej. 1202120095 es igual a mes 12, día
02, hora 12:00 y año 1995.
logout sale de la actual sesión.
login sale de la actual sesión.
^D sale de la actual sesión.
Alt+F1 inicia una consola virtual (varias a la vez: F1,F2,F3...)
passwd cambia el password del actual usuario.
^C aborta programa en ejecución.
^S paraliza la pantalla.
^Q anula la paralización de la pantalla.
who lista los usuarios conectados.
who am i lista tu nombre.
who you are lista tu nombre.
mail nombre envía correo, se finaliza escribiendo un punto en una línea sola.
mail visualiza tu correo, teclea ? para ayuda.
ls lista directorios y ficheros.
ls –i lista directorios y ficheros con sus i-números.
ls –a lista directorios y ficheros en orden alfabético.
ls –s lista directorios y ficheros con su tamaño en bloque (1 bloque= 512 bytes)
ls –r lista directorios y ficheros en orden inverso.
ls –u lista directorios y ficheros según último acceso.
ls –l lista todos los directorios y ficheros en formato largo.
Head –nº lines selecciona la primera línea (ej. ls|head –1 lines)
cat file file ... visualiza seguidamente los ficheros indicados.
cat file file > file graba los dos archivos en uno.
ln file link crea un enlace a un archivo, los dos contienen el mismo fichero físico, si cambias
uno, cambia el otro. Pero si borras uno todavía queda el otro.
cp file file copia ficheros.

48
rm file borra ficheros.
mv file file mueve o cambia de nombre.
pwd muestra el directorio actual.
cd cambia de directorio.
mkdir directorio crea un directorio.
rmdir directorio borra un directorio.
comando & hace que el proceso sea desatendido en 2º plano (background).
ps [nº] muestra los procesos desatendidos.
ps alx muestra los procesos desatendidos asociados a la terminal (a), los no asociados (x) y
hace una lista larga (l).
Elementos de la lista larga: STA (Estado del proceso) O (Inexistente) S (Durmiendo) W
(Esperando) I (Intermedio) R (Ejecutándose) Z (Terminado) Z (Parado) UID (Nº de
Identificación del propietario) PID (Nº de Identificación del proceso) PPID (Nº de
Identificación del proceso padre) PRI (Prioridad, nº altos=baja prioridad) WCHAN (Suceso al
que espera) NICE (Nº para calcular la pri.) TTY (Terminal) STTY (Tiempo de ejecución)

kill nº detiene la ejecución de un proceso en background.


at hora o fecha <<EOF ejecuta algo a una hora establecida (para salir escribir EOF)
Posibilidades para hora o fecha: 8am, 2130, 12N fri week (siguiente semana), 2PM apr 3,
now +1minute, now +1 hour, 4PM +2 days, 1PM tomorrow,...
comando ; comando se pueden escribir varios comandos a la vez.
comando > file redirecciona la salida a un archivo.
(comando ; comando) > file redirecciona toda la salida del conjunto a un archivo.
comando >> file redirecciona la salida a un archivo, pero lo añade al final de este.
comando < file > file redirecciona de forma contraria para acabar llevando el resultado a un
archivo.
comando | comando tubo (pipeline) la salida del 1º la envía hacia el 2º.
*, ?, [...], ... caracteres de sustitución.
echo * lista directorios y ficheros.

49
echo –n "Hoy es `date`, hola $variable" hace eco sin carro de retorno (-n) de la frase Hoy es,
ejecuta el comando date (entre acentos), hace eco de hola y imprime el contenido de la
variable. Para eliminar los valores especiales de algunos caracteres deberemos escribir /
antes, ejemplo "Hola /"Pepe/"".
mesg y permite que te escriban los usuarios del sistema.
mesg n prohibe que te escriban a los usuarios del sistema.
mesg muestra el estado actual (escribir o no).
tty muestra tu número (archivo) de terminal.
write nombre [tty] para comunicarse con un usuario conectado al sistema. Para salir ^D,
para indicar al otro el fin del mensaje –oo-, y el fin de la comunicación –oo-. Si el usuario
pertenece a otra terminal, se debe indicar. Si el usuario tiene el mesg en no o esta realizando
una tarea específica no podremos comunicarnos.
cmp file file comprueba si son idénticos, si lo son no aparece ninguna salida.
comm [-nº] file file lista las palabras comunes de los dos archivos, en el número se indica la
columna a comparar: 0,1,2,3.
diff file file lista las palabras diferentes de los dos archivos.
find . –file ... –mtime 1 –size +10 –type f busca en el directorio actual los ficheros con dicho
nombre, que hayan sido modificados hace 1 día, con un tamaño mayor a 10 bloques y del
tipo fichero.
find / -name ... –atime 1 –size –20 –type d busca en el directorio actual los directorios con
dicho nombre, que hayan tenido acceso hace 1 día, con tamaño menor que 20 bloques y
del tipo directorio.
find . –name –ok rm {} \; busca en el directorio actual y borra los ficheros encontrados que
cumplan los requisitos.
lpr file imprime el archivo.
pr file imprime el archivo junto a un encabezamiento, la fecha, hora, ...
tail nº file muestra la cola de un archivo, en nº se debe especificar: +2l (a partir de la segunda
línea por arriba), -10l (a partir de la décima línea por abajo). Si en lugar de l (línea) podemos
escribir b (bloque) ó c (carácter).
tr caracteres caracteres cambia los caracteres por los indicados a continuación. (Ejemplo: tr
abc ABC).
tee file muestra los datos en un punto intermedio.

50
du muestra el tamaño por bloques de cada archivo y directorio.
du –s muestra el tamaño total por bloques.
file file indica el tipo de archivo que es (empty\ cannot open\ directory\ English
text\ ascii text\ data).
stty información sobre nuestro terminal.
stty [-] raw lee carácter a carácter. Se anula añadiendo el signo – al comando.
stty [-] cooked lee línea a línea. Se anula añadiendo el signo – al comando.
stty [-] cbreak mezcla de los dos anteriores. Se anula añadiendo el signo – al comando.
stty [-] nl no retorna el carro hasta el principio (se anula con ^J).
stty [-] echo no se ven las pulsaciones en pantalla. Se anula añadiendo el signo – al comando.
sort file muestra en pantalla el archivo ordenado por la 1ª columna (para indicar la segunda
columna añadir +1 y así sucesivamente).
sort file –u muestra en pantalla el archivo ordenado por la 1ª columna sin las líneas
duplicadas.
sort file –b muestra en pantalla el archivo ordenado por la 1ª columna ignorando espacios
en blanco.
sort file –f muestra en pantalla el archivo ordenado por la 1ª columna distinguiendo entre
minúsculas y mayúsculas.
sort file –r muestra en pantalla el archivo ordenado por la 1ª columna en orden inverso.
sort file –c comprueba si el archivo ya esta ordenado.
grep palabra file busca unos caracteres determinados en un fichero.
grep –v palabra file busca las líneas que no contienen dicha palabra.
grep –c palabra file muestra el número de líneas que contienen la palabra.
grep –y palabra file busca la palabra en el fichero sin distinguir entre
minúsculas y mayúsculas.
grep –n palabra file busca la palabra y muestra su línea con el número de
esta.
uniq file muestra el archivo sin las líneas que estén repetidas.
wc file muestra el número de líneas, palabras y caracteres (en este orden) del archivo.
wc –l file muestra el número de líneas del archivo.

51
wc –w muestra el número de palabras del archivo.
wc –c muestra el número de caracteres del archivo.
cal [nº mes] nº año imprime un calendario del mes y/o año indicado. Mes: 1-12, año 1-9999.
newgrp grupo cambia de grupo.
sum file suma las palabras de un archivo.
expr nº + nº suma +, resta -, multiplica *, divide /,... una expresión.
wall mensaje manda un mensaje a todos los usuarios. (Solo lo recibirán los usuarios que
tengan su sistema configurado para poder recibir estos mensajes)
id muestra nuestro UserId y el GroupId.
chmod nºnºnº file cambia los permisos de un archivo. 1: Permiso de ejecución (x), 2:
Permiso de escritura (w), 3: Permiso de lectura ( r). Se deben sumar para poner más de uno.
El primer número corresponde al creador del archivo, el segundo al grupo del creador, y el
tercero al resto de usuarios. Ej. 666 : todo el mundo tiene permiso de todo.
chown nombre file cambia el propietario de un archivo.
chgrp grupo file cambia el grupo del propietario de un archivo.
umask muestra los permisos por defecto de los archivos creados. Ej. 022 entonces 666-
022=644, es decir usuario permiso de w, r, grupo permiso de r y lo otros permiso de r.
umask nº cambia los permisos por defecto de los archivos creados. Ej. umask 000: todo el
mundo tiene todos los permisos al ser creado un archivo.

4.2. Solaris
4.2.1. Presentación
Solaris es un sistema operativo de tipo Unix desarrollado desde 1992 inicialmente por Sun
Microsystems y actualmente propiedad de Oracle Corporation tras la adquisición de Sun
por parte de esta. Sucesor de SunOS, es un sistema certificado oficialmente como versión
de UNIX. Funciona en arquitecturas SPARC y x86 para servidores y estaciones de trabajo.

4.2.2. Estructura y Componentes del sistema


Las funciones primarias del kernel pueden ser divididas en dos categorías: manejo del
hardware mediante la asignación de sus recursos a los programas que están en ejecución,
y proveer un conjunto de servicios de sistema a estos programas para su uso. El kernel de
Solaris, como otros sistemas operativos, provee una máquina virtual que permite que

52
múltiples programas se ejecuten concurrentemente en le plataforma de hardware. Cada
programa tiene su propio ambiente de máquina virtual, con su contexto de ejecución y
estado de ejecución.
El kernel posee mecanismos que permiten acceder los servicios del sistema operativo, tales
como I/O, servicios de red, creación y terminación de procesos y threads, y comunicación
interprocesos (IPC). Los procesos acceden estos servicios a través del uso de llamadas de
sistema (system calls).

El kernel de Solaris 10 se divide en los siguientes componentes o capas:


 Capa de Interface de llamadas de sistema: Permite a los procesos de usuario
acceder a los servicios del kernel. De ese modo, el kernel lleva a caobo tareas
específicas “en nombre” del proceso que lo llama, tales como leer o escribir un
archivo, o establecer una conexión de red.
 Capa de Ejecución y Schedule de procesos: Habilita la creación, ejecución, manejo
y terminación de procesos. Para ello dividen los recursos de procesamiento de la
máquina entre los threads en ejecución. Solaris soporta diferentes clases de
scheduling, que otorgan distinto comportamiento a los procesos.
 Capa de manejo de memoria: El sistema de memoria virtual maneja el mapeo de
memoria física a los procesos de usuario y al propio kernel. El manejo de memoria
se divide a su vez en dos capas: las funciones comunes de manejo de memoria y los
componentes específicos de hardware.
 Capa de manejo de recursos: El kernel de Solaris contiene la infraestructura para
asignar recursos de sistema específicos a los procesos. Esto permite maximizar el
uso del hardware, manejar múltiples cargas de trabajo con una sola instancia del
kernel, y soportar múltiples ambientes de ejecución.
 Capa de manejo de archivos: Solaris implementa una estructura virtual de
filesystems, en la cual se pueden configurar al mismo tiempo múltiples tipos de
filesystems, entre ellos filesystems convencionales basados en discos, filesystems
basados en redes, y pseudo filesystems.
 Capa de buses de I/O y manejo de dispositivos: Implementa una serie de módulos
jerárquicos que reflejan la organización física de las interconexiones entre los buses
y los dispositivos.
 Capa de facilidades del kernel: Incluye relojes, timers de sistema, primitivas de
sincronización, etc.

53
 Capa de manejo de redes: Provee soporte a IPv4 e IPv6, interfaces basadas en
sockets para programación de aplicaciones en red. Las implementaciones de TCP/IP
y UDP/IP han sido totalmente rescritas para mejorar su rendimiento.

4.2.3 Plataformas sobre las que trabaja


Sun SPARC
Es una arquitectura RISC big-endian. Es decir, una arquitectura con un conjunto de
instrucciones reducidas.
Fue originalmente diseñada por Sun Microsystems en 1985, se basa en los diseños RISC I y
II de la Universidad de California en Berkeley que fueron definidos entre los años 1980 y
1982.
La empresa Sun Microsystems diseñó esta arquitectura y la licenció a otros fabricantes
como Texas Instruments, Cypress Semiconductor, Fujitsu, LSI Logic entre otros.
SPARC es la primera arquitectura RISC abierta y como tal, las especificaciones de diseño
están publicadas, así otros fabricantes de microprocesadores pueden desarrollar su propio
diseño.
Una de las ideas innovadoras de esta arquitectura es la ventana de registros que permite
hacer fácilmente compiladores de alto rendimiento y una significativa reducción de
memoria en las instrucciones load/store en relación con otras arquitecturas RISC. Las
ventajas se aprecian sobre todo en programas grandes.
La CPU SPARC está compuesta de una unidad de enteros (IU), que procesa la ejecución
básica y una unidad de coma flotante (FPU) que ejecuta las operaciones y cálculos de
números reales. La IU y la FPU pueden o no estar integradas en el mismo chip.
Aunque no es una parte formal de la arquitectura, las computadoras basadas en sistemas
SPARC de Sun Microsystems tienen una unidad de manejo de memoria (MMU) y un gran
caché de direcciones virtuales (para instrucciones y datos) que están dispuestos
periféricamente sobre un bus de datos y direcciones de 32 bits.

4.2.4. Proceso de Instalación


La instalación de Solaris la haremos empleando la Solaris Webstart Installation que es la que
se ejecuta cuando arrancamos con el Install CD.
Los pasos que seguiremos para la instalación son más o menos como sigue:
 Arrancamos desde el CD.
 Selección idioma: Spanish

54
 Saltamos la configuración del entorno gráfico dándole a F4.
 Formateamos y particionamos el disco, la memoria de intercambio coje 512Mb y se
coloca al principio del disco, redistribuimos el espacio de las particiones a
automáticas para no quedarnos cortos.
 El programa de instalación copia el 'mini-root' en el disco local y reinicia.
En el reinicio se debe arrancar del disco duro, hay que revisar la BIOS y el lector de CD.
Una vez rearrancamos nos vuelve a pedir la configuración del entorno gráfico, la evitamos
pulsando de nuevo el F4 y se inicia el programa de instalación en modo texto.
El programa nos hace una serie de preguntas para configurar la red, el uso de kerberos, los
servicios de nombres, la fecha y la hora, la contraseña del administrador y la gestión de
energía. La secuencia de respuestas es más o menos como sigue:
1. Máquina conectada a la red.
2. No se usa DHCP.
3. Le asignamos un nombre a la máquina (sin dominio).
4. Escribimos su IP y su máscara de subred.
5. No usamos IPv6.
6. Especificamos la dirección del encaminador manualmente.
7. No se habilita Kerberos.
8. Usamos DNS como servicio de nombres, especificamos nuestro dominio, las
direcciones de los servidores de nombres y los dominios de búsqueda.
9. Seleccionamos zona horaria: Europa/España/península.
10. Configuramos la hora del sistema.
11. Introducimos la contraseña del administrador.
Ahora el sistema nos muestra los valores introducidos y nos pide confirmación.
Una vez a validado la configuración se arranca el asistente de la instalación, en principio le
decimos que no queremos ni rearrancar el sistema ni expulsar los CDs de modo automático.
Después seleccionamos CD/DVD como origen de datos para instalar Solaris, el sistema nos
pide que insertemos el primer disco de software de Solaris.
Se nos presenta la opción de realizar una instalación predeterminada o personalizada;
elegimos esta última.

55
A partir de aquí nos solicita los idiomas a instalar (de momento los dejamos tal cual),
dejamos el entorno nacional español (es_ES.ISO8859-1).
El sistema nos deja seleccionar software adicional para instalar, de momento no instalamos
nada de la documentación, quizás sería interesante seleccionar el Sun Screen 3.2 del
disco Solaris 9 Extra Value Software, que es el sistema cortafuegos que pensamos utilizar.
Cuando nos pregunta si queremos añadir más software le decimos que no.
A continuación nos permite elegir grupos de software para instalar, de entrada
seleccionamos el quinto, Grupo de núcleo, que es el mínimo necesario para un sistema
Solaris.
Una vez seleccionado se nos da la opción de personalizar la selección de paquetes, cosa que
hacemos para instalar algunas utilidades que nos interesan y eliminar otras cosas.
Eliminamos las siguientes opciones:
 FTP Server (clusters 30 y 31).
 NFS Server (cluster 92).
 NIS (cluster 93).
 PCMCIA (cluster 100).
 Remote network services and commands (cluster 117).
Añadimos las siguientes opciones:
 Freeware Shells, BASH (cluster 41, seleccionamos la 41,0).
 Freeware Compresión Utilities (cluster 39, las seleccionamos todas).
 Freeware Other Utilities (cluster 40, las seleccionamos todas).
 gcmn - GNU common package (cluster 189).
 GNU wget (cluster 43)
 NTP (cluster 94).
 Sun Workshop Compilers Bundled libC (cluster 148).
 Documentation Tools (cluster 27).
 On-Line manual pages (cluster 96).
 Secure Shell (cluster 126).
 ggrep (cluster 190).

56
 gtar (cluster 191).
 tcpd (cluster 197).
Para muchos programas puede que necesitemos usar las X Windows, un conjunto mínimo
de paquetes que nos permite usarlas es:
 SUNWctpls: Portable layout services for Complex Text Layout support
 SUNWmfrun: MotifRunTime Kit
 SUNWxwdv: X Window System Kernel Drivers
 SUNWxwfnt: X Window System Fonts
 SUNWcpp: Solaris C Pre-Processor (cpp)
 SUNWxwplt: X Window System platform software
 SUNWxwice: X Window System Inter-Client Exchange (ICE) Components
 SUNWxwpls: X Server x86 platform software
 SUNWxwrtl: X Window System & Graphics Runtime Library Links in /usr/lib
Por desgracia para muchas cosas nos puede hacer falta Java, así que lo instalamos:
 SUNWj3rt: J2SDK 1.4 runtime environment
Para instalar más tarde el Sun Screen debemos instalar:
 SUNWsprot: Solaris Bundled tools
 SUNWtoo: Programming Tools
 SUNWeu8os: American English/UTF-8 L10N For OS Environment User Files
 SUNWapchr: The Apache HTTP server program (root components)
 SUNWapchu: The Apache HTTP server program (usr components)
Por requisitos seleccionamos:
 175,3
 164
Una vez seleccionado todo el sistema nos pregunta si queremos borrar el disco, le decimos
que sí y que lo haga todo automático. El tamaño de particiones queda un poco extraño y lo
corregimos, asignando más de un giga al sistema de archivos raiz.

57
A partir de aqui comienza la instalación automática, hasta que se reinicia el sistema, ya
instalado.

4.2.5. Gestión de procesos y del procesador


Gestión de procesos del sistema (mapa de tareas)

Comandos para gestionar procesos del sistema


La siguiente tabla describe los comandos necesarios para gestionar los procesos del sistema.
Tabla 2-1 Comandos para gestionar procesos

Uso del comando ps


El comando ps permite comprobar el estado de los procesos activos en un sistema y
mostrar información técnica sobre los procesos. Estos datos son útiles para tareas
administrativas, como la determinación de la manera de definir las prioridades del proceso.
Según las opciones utilizadas, el comando ps proporciona la siguiente información:
 Estado actual del proceso
 ID de proceso
 ID de proceso principal

58
 Identificador del usuario
 Clase de programación
 Prioridad
 Dirección del proceso
 Memoria utilizada
 Tiempo de CPU utilizado

4.2.6. Soporte y Gestión de Hilos


Solaris implementa un singular soporte de hilos multinivel diseñado para ofrecer una
formidable flexibilidad al explorar los recursos del procesador. Solaris hace uso de cuatros
conceptos independientes relativos a hilos:

 Proceso
 Hilos a nivel de usuario
 Procesos ligeros
 Hilos del núcleo
La estructura de datos LWP incluye los siguientes elementos:

 Un identificador LWP
 La prioridad de LWP, y por tanto el hilo del núcleo que le da soporte.
 Una máscara de señales que indica al núcleo que señales serán aceptadas.
 Los valores salvados de los registros de usuario.
 Pila para el núcleo LWP
 Uso de recursos y datos de sincronización
 Un puntero al hilo del núcleo asociado
 Un puntero a la estructura del proceso Ejecución de Hilos
 Sincronización
 Suspensión
 Apropiación
 Cesión

59
4.2.7. Gestión de memoria
Sistema de Paginación:
Estructuras de datos: Para la memoria virtual paginada, Solaris, hace uso de una serie de
estructuras de datos que son independientes de la máquina:
 Tabla de páginas: posee una tabla por proceso, con una entrada para cada página
de la memoria virtual del proceso.
 Descriptor de bloques de disco: asociado a cada página del proceso, hay una
entrada en la tabla de páginas que describe la copia en el disco de la página virtual.
 Tabla de marcos de página: describe cada marco de la memoria real y está indexada
por el número de marco.
Reemplazo de páginas: El algoritmo de reemplazo de páginas utilizado en Solaris es
conocido como algoritmo del reloj de dos agujas, ya que utiliza un bit de referencia para
cada pagina de la memoria que reúne los requisitos (no bloqueada) para ser expulsada. Dos
parámetros determinan la operación del algoritmo:
 Velocidad de recorrido: la velocidad con la que las agujas se mueven a través de la
lista de páginas, en páginas por segundo.
 Alcance entre agujas: el espacio entre la aguja frontal y la trasera.

4.2.8. Sistema de archivos.


Un sistema de archivos es una estructura de directorios que se utiliza para organizar y
almacenar archivos. El término sistema de archivos se utiliza para describir lo siguiente:
 Un tipo concreto de sistema de archivos: basados en disco, basado en red o virtual.
 Todo el árbol de archivos, empezando con el directorio raíz (/).
 La estructura de datos de un segmento de disco u otro dispositivo de
almacenamiento de medios.
 Una parte de una estructura de árbol de archivos que se adjunta a un punto de
montaje en el árbol de archivos principal para que los archivos sean accesibles.
Normalmente, sabe por el contexto el significado que se desea manifestar.
El SO Oracle Solaris utiliza la arquitectura del sistema de archivos virtual (VFS), que
proporciona una interfaz estándar para diferentes tipos de sistemas de archivos. La
arquitectura de VFS permite al núcleo manejar operaciones básicas, como la lectura, la

60
escritura y la enumeración de archivos. La arquitectura de VFS hace que sea más fácil
agregar nuevos sistemas de archivos.
Tipos de sistemas de archivos Oracle Solaris
El SO Oracle Solaris admite tres tipos de sistemas de archivos:
 Basados en disco
 Basados en red
 Virtuales
Para identificar el tipo de sistema de archivos, consulte Determinación de un tipo del
sistema de archivos.
Sistemas de archivos basados en disco Oracle Solaris
Los sistemas de archivos basados en disco se almacenan en medios físicos como discos
duros y DVD. Los sistemas de archivos basados en disco se pueden escribir en diferentes
formatos como son:

 ZFS
 UFS
 HSFS
 PCFS
 UDFS
Cada tipo de sistema de archivos basado en disco se asocia por lo general con un dispositivo
de medios, como los siguientes:
 ZFS o UFS con disco duro
 HSFS con CD-ROM
 PCFS con disquete USB
 UDF con DVD
Sin embargo, estas asociaciones no son restrictivas. Por ejemplo, los DVD pueden tener
sistemas de archivos ZFS o UFS creados en ellos.
Sistema de archivos de formato de disco universal (UDFS)
Para obtener información sobre la creación de un sistema de archivos UDFS en medios
extraíbles, consulte Cómo crear un sistema de archivos en medios extraíbles.
El sistema de archivos UDF es el formato estándar de industria para almacenar información
en medios ópticos, DVD (Digital Versatile Disc o Digital Video Disc).

61
El sistema de archivos UDF se proporciona como módulos cargables dinámicamente de 32
y 64 bits, con utilidades de administración del sistema para crear o montar, y comprobar el
sistema de archivos tanto en las plataformas SPARC como x86. El sistema de archivos Oracle
Solaris UDF funciona con dispositivos de CD-ROM, unidades de disco y unidades de DVD
ATAPI y SCSI compatibles. Además, el sistema de archivos Oracle Solaris UDF cumple
totalmente con la especificación UDF 1.50.
El sistema de archivos UDF proporciona las siguientes funciones:
 La capacidad de acceder a los medios de CD-ROM y DVD-ROM estándar de industria
cuando contienen un sistema de archivos UDF.
 Flexibilidad a la hora de intercambiar información entre plataformas y sistemas
operativos.
 Un mecanismo para implementar nuevas aplicaciones ricas en emisión de video de
alta calidad, sonido de alta calidad e interactividad mediante la especificación de
video DVD según el formato UDF .
Las siguientes funciones no se incluyen en el sistema de archivos UDF:
 Compatibilidad para medios de una sola escritura (CD-RW), con grabación DAO
secuencial y grabación incremental.
El sistema de archivos UDF necesita lo siguiente:
 Plataforma SPARC o x86 compatible
 Dispositivo de CD-ROM o DVD-ROM compatible
La implementación del sistema de archivos Oracle Solaris UDF proporciona lo siguiente:
 Compatibilidad de UDF de lectura/escritura estándar de industria, versión 1.50
 Utilidades de sistemas de archivos completamente internacionalizadas
Sistemas de archivos basados en red
Se puede acceder a los sistemas de archivos basados en red desde la red. Normalmente,
los sistemas de archivos basados en red residen en un sistema, normalmente un servidor, y
otros sistemas pueden acceder a ellos a través de la red.
Con el servicio NFS, puede proporcionar recursos distribuidos (archivos o directorios) si los
comparte desde un servidor y si los monta en clientes individuales. Para obtener más
información, consulte El entorno NFS.
Con el servicio SMB de Oracle, puede proporcionar recursos distribuidos (archivos o
directorios) para sistemas Windows y Mac OS si los comparte desde un servidor y si los

62
montar en clientes individuales. Para obtener más información, consulte Servicio SMB de
Oracle Solaris.
Sistemas de archivos virtuales
Los sistemas de archivos virtuales son sistemas de archivos basados en memoria que
proporcionan acceso a información de núcleo especial y utilidades. La mayoría de los
sistemas de archivos virtuales no utilizan espacio en disco de sistemas de archivos. Además,
algunos sistemas de archivos virtuales, como el sistema de archivos temporal (TMPFS),
utiliza el espacio de intercambio en un disco.
Sistema de archivos temporal
El sistema de archivos temporal (TMPFS) utiliza memoria local para lecturas y escrituras de
sistemas de archivos. Con TMPFS pueden mejorar el rendimiento del sistema al evitar el
costo de leer y escribir archivos temporales en un disco local o en la red. Por ejemplo, se
crean archivos temporales al compilar un programa. El sistema operativo genera mucha
actividad de disco o actividad de red mientras se manipulan estos archivos. Mediante el uso
de TMPFS para mantener estos archivos temporales puede acelerar significativamente su
creación, manipulación y eliminación.
Los archivos en sistemas de archivos TMPFS no son permanentes. Estos archivos se eliminan
cuando se desmonta el sistema de archivos y cuando se cierra o reinicia el sistema.
TMPFS es el tipo de sistema de archivos predeterminado para el directorio /tmp en el SO
Oracle Solaris. Puede copiar o mover archivos dentro y fuera del directorio /tmp, tal como
lo haría en un sistema de archivos UFS o ZFS.
El sistema de archivos TMPFS utiliza espacio de intercambio como almacenamiento de
copias de seguridad temporal. Si un sistema con un sistema de archivos TMPFS no tiene
suficiente espacio de intercambio, pueden producirse dos problemas:
 El sistema de archivos TMPFS puede quedarse sin espacio, como pasa con los
sistemas de archivos comunes.
 Debido a que TMPFS asigna espacio de intercambio para guardar datos de archivos
(si es necesario), es posible que algunos programas no se ejecuten debido a espacio
de intercambio insuficiente.
Para obtener más información sobre la creación de sistemas de archivos TMPFS, consulte
el Capítulo 18, Creación y montaje de sistemas de archivos (tareas). Para obtener
información sobre cómo aumentar el espacio de intercambio, consulte el Capítulo 19,
Configuración de espacio de intercambio adicional (tareas).
El sistema de archivos en bucle de retorno

63
El sistema de archivos en bucle de retorno (LOFS) permite crear un sistema de archivos
virtual para poder acceder a los archivos utilizando un nombre de ruta alternativo. Por
ejemplo, puede crear un montaje en bucle de retorno del directorio
raíz (/) en /tmp/newroot. Estos montajes en bucle de retorno hacen que toda la jerarquía
del sistema de archivos aparezca como duplicada en /tmp/newroot, incluido cualquier
sistema de archivos montado desde servidores NFS. Se podrá acceder a todos los archivos
mediante un nombre de ruta que comience desde la raíz (/) o mediante un nombre de ruta
que comience desde /tmp/newroot.
Para obtener más información sobre cómo crear sistemas de archivos LOFS, consulte
el Capítulo 18, Creación y montaje de sistemas de archivos (tareas).
Sistema de archivos de procesos
El sistema de archivos de procesos (PROCFS) reside en la memoria y contiene una lista de
los procesos activos, por número de proceso, en el directorio /proc. La información en el
directorio /proc es utilizada por comandos como ps. Los depuradores y otras herramientas
de desarrollo también pueden acceder al espacio de dirección de los procesos mediante
llamadas del sistema de archivos.

4.2.9. Gestión de entrada y salida


Controladores de Entrada y Salida

 Enviar comandos
 Recibir Interrupciones
 Tratar los errores
 Presentar una interfaz
Entre sus principales características tenemos:

 Portabilidad: reduce el costo a nivel de desarrollo de software y obliga a los usuarios


a actualizar el hardware.
 Escalabilidad: debido a la sobrecarga este es capaz de ejecutarse en un rango de
ancho poderoso y obtiene poder sobre lo que esta procesando.

64
 Interoperabilidad: debido a las estrategias que los usuarios desarrollan Solaris es
capaz de interoperar con sistemas muy populares y aplicaciones que se ejecuten en
Unix.
 Compatibilidad: ya que la tecnología esta en boom este sistema debe minimizar
costos y maximizar ingresos.
Tipos de dispositivos

 Dispositivos de bloques
o Bloques de tamaño fijo
o L/E de cada bloque de forma independiente
o Se puede direccionar cada bloque
 Dispositivos de carácter
o Sin estructura de bloques
o L/E de flujos de caracteres
Manejadores y Controladores
Controlador de dispositivos o adaptador

 Programa de más bajo nivel que se encarga de los detalles que son dependientes
del dispositivo
 Elemento electrónico de la unidad de E/S
 Bus
 Canales E/S

4.2.10. Gestión de comunicaciones y seguridad


Tecnologías de seguridad de Oracle Solaris

 Servicio de auditoria
 Herramienta básica de creación de informes de auditoría
 Servicios criptográficos
 Permisos de archivo y entradas de control de acceso
 Filtros de paquetes
 Filtro IP
 Envoltorios TCP
 Las contraseñas y sus restricciones
 Módulo de autenticación conectable

65
4.2.11. Soporte a tiempo real
DTrace
Es un framework de rastreo y monitoreo abarcativo y dinámico creado por Sun
Microsystems para diagnosticar problemas de kernel y aplicaciones en sistemas de
producción en tiempo real. Originalmente desarrollado para Solaris, ha sido desde entonces
lanzado bajo la licencia CDDL y ha sido portado a otros sistemas operativos tipo Unix.
DTrace puede ser utilizado para obtener una mirada global de un sistema que esté activo,
brindando información tal como cantidad de memoria, tiempo de procesador, o recursos
de red o del sistema de archivos que estén usando los procesos activos. También puede
proveer información mucho más detallada, como el registro de los argumentos con los que
una función específica está siendo llamada o una lista de los procesos que están accediendo
a un archivo determinado.

4.2.12. Soporte para la nube e integración a ella (Cloud computing)


 Distribución de OpenStack
o Aporta calidad empresarial a OpenStack.
o Ofrece una distribución completa de OpenStack para SPARC y x86.
o La mejor plataforma de OpenStack para DBaaS empresariales.
o Fácil instalación y actualización sin problemas.
 Virtualización diseñada y sin compromiso para la nube
o Proporciona la más eficiente virtualización de nube empresarial sin pérdida
de rendimiento y con las tasas de consolidación más altas.
o Brinda la virtualización de nube empresarial más escalable, pues ejecuta
aplicaciones a gran escala totalmente virtualizadas sin penalización.
o Proporciona virtualización incorporada sin necesidad de software ni costos
adicionales y una estrecha integración con la administración del ciclo de
vida, las redes y la seguridad.
o Extiende la funcionalidad de la zona para permitir kernels de zona
independientes con parche/actualización independiente y migración en
vivo, y proporciona mucha más flexibilidad en las cargas de trabajo en
movimiento.

66
o Proporciona entornos virtuales únicos de solo lectura como complemento
de seguridad de Oracle Solaris para brindar protección para los datos sin
actividad y en movimiento.
 Datos a una escala de nube con Oracle Solaris ZFS
o Le permite ampliar el diseño con capacidad ilimitada para el crecimiento
futuro.
o Proporciona cifrado integrado ZFS, compresión, replicación, instantáneas y
clonación que permiten lograr ahorros cuantificables en comparación con
ofertas de la competencia.
o Compresión integrada que reduce los requisitos de almacenamiento hasta
10 veces.
o Proporciona el mejor rendimiento de almacenamiento mediante grupos de
almacenamiento en niveles compatibles con flash.
 Virtualización de red en la nube
o Le permite construir su red virtual mediante el soporte de redes definidas
por software (SDN) que utiliza estructura de red donde es posible y túnel
cuando es necesario.
o Le permite construir servicios que cumplan los requisitos de rendimiento
organizacional a través de SLA de red orientados a las aplicaciones.
o Ofrece la posibilidad de virtualizar topologías de red sin necesidad de
adquirir redes virtuales de hardware de red, tarjetas de interfaz de red
virtuales, switches virtuales, además de servicios incorporados de
balanceador de carga, firewall y enrutamiento.
o Le permite modelar de forma segura toda la topología de un centro de
datos en una sola instancia de sistema operativo o distribuir mediante
entornos virtuales en diferentes sistemas para conseguir la flexibilidad que
su negocio demanda.
 Diseñada para la seguridad de la nube en todos los niveles
o Le permite alcanzar un cumplimiento seis veces más rápido con funciones
de seguridad diseñadas para satisfacer las obligaciones de cumplimiento
más estrictas.
o Ayuda a evitar amenazas mediante la protección antimalware del
hipervisor a la aplicación, a bloquear máquinas virtuales o la zona global, y
hacerlos de solo lectura para que reciban mayor protección.

67
o Ofrece la posibilidad de aislar aplicaciones, usuarios y máquinas virtuales
mediante requisitos de seguridad centralizados, a la vez que delega el
acceso necesario a las unidades de negocio para brindar flexibilidad
operativa y control centralizado.
o Ofrece criptografía asistida por hardware en los sistemas SPARC de Oracle
para las aplicaciones de Oracle Solaris, Oracle Database, Java JCE
middleware o cualquier aplicación.
o Permite la memoria asegurada en silicio que evita los ataques comunes de
seguridad, como desbordamientos y sobrescrituras de búfer.
 Implementación sencilla de la nube con Image Packaging System y nuevas
herramientas para la administración del ciclo de vida de software
o Permite actualizaciones e implementaciones rápidas a través del sistema
operativo y la instalación de software rediseñados, y herramientas de
administración del ciclo de vida.
o Ofrece firmware en un paso para actualizaciones de aplicaciones, además
de una fácil reversión del entorno a un momento anterior a los cambios, lo
que reduce la mayor fuente de tiempo de inactividad: el error humano.
o Proporciona archivos unificados para crear o implementar instancias de
máquinas virtuales hacia entornos físicos o virtuales, o desde ellos; estos
archivos pueden utilizarse para la recuperación de desastres, la clonación y
las copias de seguridad simples. La clonación de VM es la base para un
rápido aprovisionamiento de entornos de aplicaciones en la nube.
 Diseñado para cargas de trabajo de Oracle
o Aproveche la tecnología del software en silicio de Oracle para impulsar el
rendimiento de la aplicación y evitar corrupción de datos.
o El mejor para Oracle Database y aplicaciones Java.
o Cientos de optimizaciones en torno a CPU, memoria, sistema de archivos,
entradas y salidas, redes y seguridad para brindar el mejor rendimiento de
base de datos, middleware y aplicaciones cuando las cargas de trabajo de
Oracle se ejecutan en Oracle Solaris.
 Compatibilidad garantizada
o Garantiza la protección de la inversión en aplicaciones.
o Le permite ejecutar aplicaciones sin modificaciones en todas las versiones
de Oracle Solaris.

68
o Garantiza que las aplicaciones recompiladas funcionen en sistemas SPARC y
en sistemas x86.
 Opción de plataforma
o Le permite ampliar de forma vertical y horizontal los sistemas SPARC y x86
para que se correspondan con los modelos de computación de su empresa.
o Proporciona valor mediante una gama de soluciones empresariales, de
propósito general, especializadas en sistemas con diseño de ingeniería de
Oracle, incluido Oracle SuperCluster.

5. Conclusiones
 Los sistemas operativos son de gran importancia en la tecnología en general, pues
podemos considerar que el hardware más avanzado se quedaría corto sin un
sistema operativo que controle estos recursos, los administre y permita una
adecuada interacción con el usuario y los demás recursos que integran un sistema
 El Sistema Operativo Solaris brinda portabilidad, escalabilidad, compatibilidad y
seguridad en las aplicaciones para así operar en un ambiente creciente; también
presenta características para los usuarios, integra servicios desktop, bibliotecas
gráficas, administración de calendario y herramientas de imagen. Este sistema tiene
características para el administrador de sistemas en donde se puede obtener
información sobre dispositivos.
 Ubuntu ha proporcionado al mundo una manera de compartir software de manera
gratuita, y que gracias a miles de contribuidores, esta distribución de Linux se ha
esforzado en tener más cabida en los hogares siendo cada vez más fácil de usar.
 La memoria virtual (partición Swap) que proporciona Linux, es un mecanismo que
permite a los procesos que no alcanzan espacio en la memoria RAM o están poco
activos, sean movidos a esta área de intercambio (swap en el disco duro) para así
liberar memoria principal y poder cargar otros procesos. Aunque este
procedimiento es más lento respecto al acceso a RAM, permite aparentar al sistema
que tiene más memoria disponible.

69
6. Bibliografía

https://beos.wikispaces.com/
https://www.ecured.cu/GNU/Linux
http://profesores.fi-b.unam.mx/sun/Downloads/Solaris/DavidGalan/1.historia.pdf
http://www.duiops.net/noticias/histwnt.htm https://www.ecured.cu/Solaris
https://es.wikipedia.org/wiki/Historia_de_los_sistemas_operativos#AmigaOS
http://freebsd-sistemas-operativos.blogspot.com.co/p/blog-page_15.html
http://www.maestrosdelweb.com/historia-de-windows/
https://www.ecured.cu/BeOS
https://es.wikipedia.org/wiki/Solaris_(sistema_operativo)
https://www.freebsd.org/es/
https://www.wikiteka.com/apuntes/gestion-de-memoria-en/
https://docs.oracle.com/cd/E37929_01/html/E36490/sysressysinfo-75169.html#scrolltoc

70

Das könnte Ihnen auch gefallen