Beruflich Dokumente
Kultur Dokumente
COMPILACION
BIBLIOGRAFICA
SISTEMAS OPERATIVOS QUE
SURGIERON DEL AÑO 1990 AL 2000
SISTEMAS OPERATIVOS
PROFESOR: CARLOS HERNÁN GÓMEZ GÓMEZ
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
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:
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
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
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.
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.
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
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
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.
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.
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:
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.
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.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.
33
Escritorio XFCE 4.4
34
Escritorio LXDE 0.5
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.
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.
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.
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.
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
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.
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):
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)
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.
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).
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.
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.
58
Identificador del usuario
Clase de programación
Prioridad
Dirección del proceso
Memoria utilizada
Tiempo de CPU utilizado
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.
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.
Enviar comandos
Recibir Interrupciones
Tratar los errores
Presentar una interfaz
Entre sus principales características tenemos:
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
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.
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