Está en la página 1de 6

El Sistema Operativo UNIX: Caractersticas y Tipos Grupo de Sistemas y Comunicaciones Noviembre de

1995 1. Evoluci’on Hist’orica del sistema operativo Unix Los origenes del sistema operativo Unix hay que
buscarlos 26 a˜nos atr’as, en 1969, cuando se escribi’o la primera versi’on de este sistema operativo,
desarrollado por Ken Thompson, Rudd Canaday, Doug McIlroy, Joe Ossana y Deninis Ritchie . La primera
m’aquina que recibi’o este sitema de tiempo compartido y uso general fu’e un vieja DEC PDP-7 que ya
no empleaban los citados laboratorios. Al poco tiempo y dado el entusiamo que despert’o, se migr’o el
sistema a una m’aquina mayor una PDP-11-20. Entre las personas que comenzaron a emplear el sistema
y que ayudaron en 1970, a portarlo a esta nueva m’aquina se encontraba Dennis Ritchie, desarrollador
del famoso lenguaje C. La contribuci’on de este ’ultimo fu’e decisiva en el dise˜no (reescritura del
n’ucleo) y desarrollo del Sistema Operativo en C (1973), marcando un hito en la historia del desarrollo
de los sitemas operativos, ya que hasta el momento todo el software de sistemas estaba escrito en
ensamblador. ****** Referencia a MultiCS, sacarla del Tanaenbaum ************ Existen muchas
similaridades entre Unix y el SO Multics. Este ’ultimo fu’e el resultado de un proyecto conjunto entre la
General Electric y el MIT, en concreto el grupo del proyecto MAC. Esta similaridades incluyen
principalmente: Organizaci’on del sistema de ficheros. Shell como un proceso de usuario. Interface del
sistema de ficheros (SF). ****************************************************** A finales de
los a˜nos 70, en 1974 en concreto, Unix comenz’o a ganar “con finles educativos”, terreno en las
universidades. Adem’as, dadas la bondades del entorno del desarrollo de software, y del buen servicio
de operaciones de transacciones en redes de comunicaci’on, comenz’o a ser empleado por las
compa˜n’ias telef’onicas. A la primera implementaci’on de sobre el DEC PDP-7, siguieron otras sobre un
un PDP-11, y posteriormente en 1977, a un Interdata 8/32. Entre 1977 y 1982, los laboratorios Bell
combinaron las variantes del Unix de AT&T dentro de un ’unico sistema. Este sistema se conoci’o como
Unix System 1 III. Paulatinamente se fueron a˜nadiendo mejoras, que tuvieron su aparici’on oficial en lo
que se denomin’o Unix System V. Entre las razones que marcaron el ’exito de Unix hasta este instante
cabe hacer referencia fundamentalmente a dos; por un lado el hecho de estar escrito C, lo que
favorec’ia claramente su portabilidad entre m’aquinas de este tipo. La segunda y quiz’as m’as
importante raz’on resid’ia en la posibilidad de disponer del c’odigo fuente, lo que permit’ia adaptarlo a
las exigencias particulares de cada organizaci’on, y lo que era m’as importante era sencillo de hacer
porque estaba escrito en un lenguaje de alto nivel. A prtir de aqu’i hay dos hechos determinantes en la
evoluci’on de Unix: El primero lo constituy’o el trabajo desarrollado por la Universidad de California
(Berkeley), integrando los protocolos de comunicaci’on en redes con el sistema operativo. Los
protocolos TCP/IP, implementados por DARPA -Defense Advanced Research Projects Agency-,
perteneciente al departamento de defensa de los Estados Unidos (DoD), se ligaron con much’isimo
’exito al Unix de Berkeley originando BSD-Unix, sin duda el m’as popular de los Unix, empleado de forma
’unica en pr’acticamente la totalidad del mundo acad’emico en su momento. La gran ventaja que
aportaba la implementaci’on de estos protocolos realizada por Berkeley, resid’ia en que era capaz de
soportar la comunicaci’on entre redes diferentes, como Ethernet, Token-Ring, etc. El otro hecho decisivo
se produjo en enero de 1983, AT&T comenz’o a dar soporte de manera oficial al sistema operativo,
momento en el que pas’o a ser comercial, marcando un punto de inflexi’on en su desarrollo. En este
momento los sistemas tipo Unix m’as importantes que hab’ian eran el System V, y BSD (Berkeley
Software Distribution). A mediados de los a˜nos 80 Unix se encontraba instalado en much’isimos
sistemas diferentes, desde peque˜nos ordenadores, hasta grandes m’aquinas, un hito que ning’un otro
sitema operativo hab’ia conseguido hasta la fecha. Entre los factores del ’exito habr’ia que centrarse en
lo que ofrec’ia el sistema que no hab’ia hasta el momento: Es un sistema multiusuario y multiproceso.
Cada usuario puede ejecutar varios procesos de forma concurrente, controlando los procesos que ’el
crea, su instante de comienzo y su terminaci’on. Arquitectura de m’aquina transparente al usuario.
Facilita la escritura de los programas, permitiendo que puedan ejecutarse en diferentes m’aquinas,
sobre distinto hardware (Transportabilidad). El int’erprete de comandos que se encuentra un usuario es
constante, con independencia del “origen” de Unix (comercial o de distribuci’on p’ublica), y de la
m’auina sobre la que est’e instalado. Soporta un sistema de ficheros jer’arquico. Posee un formato
consistente para sus ficheros, lo que le permite proporcionar un Interface Consistente con los
dispositivos perif’ericos, facilitando la labor der escritura de aplicaciones. 2 Aunque puede parecer que
este sistema operativo es la panac’ea dista bastante de ella, y posee bastante puntos negros: Interface
de usuario consistente pero sumamente cr’iptico, la existencia de comandos como grep, awk, man, etc,
hace que sea un sistema dif’icil de aprender. Los temas relacionados con la administraci’on del sistema
son complejos en la mayor’ia de los casos, y posee variaciones significaivas entre los distintos “tipos” de
Unix. Adem’as se ve agrabado por las tareas de administraci’on relacionadas con la comunicaci’on
TCP/IP. Al ser un sistema multiusuario, es dif’icil evitar ingerencias externas no deseadas - Problemas de
Seguridad. A pesar de todo ello. hoy es el sistema operativo m’as difundido en el mundo si se consideran
todas sus variantes, por lo que reultad fundamental conocer un poco m’as a fondo su constituci’on
interna. 2. Caractersticas mas relevantes del Sistema Operativo Unix En general, un sistema operativo
pude decirse que es el programa - o software de sistemas-, encargado de controlar todas las partes de
un ordenador tanto hardware como software, permiti’endonos emplear todas las facilidades que este
proporciona. Este programa constituye el alma de la mquina hasta el punto de que todos los
ordenadores precisan de un sistema operativo para funcionar. En el caso de Unix, tres son las partes
fundamentales que lo constituyen: El n’ucleo o kernel El int’erprete de comandos o shell El sistema de
ficheros 2.1. El n’ucleo Como indica su nombre, el n’ucleo es una pieza fundamental dentro de este
sistema operativo, hasta el punto que es preciso arrancarlo cada vez que se produce la inicializaci’on del
sistema. Su misi’on es gestionar todos y cada uno de los recursos del sistema tanto hardware como
software, presentando una interface consistente a cada uno de sus usuarios. Entre las funciones m’as
relevantes que se encarga de realizar el n’ucleo se encuentran: La Planificaci’on del trabajo de la CPU. La
Gesti’on de memoria y su asignaci’on a los procesos. 3 La Transferencia de datos entre las diferentes
partes de la m’aquina. La Aceptaci’on y Ejecucci’on de las instrucciones del int’erprete de comandos. El
Control de los permisos del Sistema de Ficheros. Este fichero tan “misterioso” se encuentra almacenado
en el directorio raiz /, que contiene tanto el fichero de inicializaci’on (boot), como el propio fichero del
n’ucleo para el sistema. El nombre que erecibe este fichero varia de unos sistemas a otros, pero es muy
usual que al menos lleve incluida la cadena “nix”. 2.2. El Int’erprete de comandos Siempre que nos
conectamos a una sistema Unix, e iniciamos una sesi’on, lo hacemos dentro de un int’erprete de
comandos o shell, visible por un s’imbolo o prompt que nos indica que estamos dentro de ’el. Su
funcionamiento es muy simple, y se reduce a recibir los comandos que nosotros le enviamos. Se los pasa
al n’ucleo, y muestra los resultados generados por este en la pantalla. Entre muchas cosas el int’erprete
de comandos tiene como misi’on fundamental proporcionar alguna de las siguientes caracter’istias:
Crear un entorno que se adecue a nuestras necesidades de trabajo. Permitir la Escritura de ficheros de
comandos Scripts de Shell. Definir alias para los comandos. Manipular un hist’orico de comandos,
incrementando las prestaciones. Editar y Completar la linea de comandos, facilitando la localizaci’on de
los comandos y ficheros. Etc. Dependiendo del tipo de int’erprete que estemos ejecutando tendremos
todas, o parte de las caracter’isticas que acabamos de exponer. Los tipos m’as comunes de int’erpretes
son los siguientes: sh (Bourne Shell) csh (C Shell) tcsh (TC Shell) ksh (Korn Shell) bash (Bourne Again
Shell) Las diferencias entre ellas son substanciales, aunque las m’as apreciables son aquellas
relacionadas con las facilidades interectivas de los int’erpretes m’as modernos. A continuaci’on
mostramos una tabla comparativa que resume las caracter’isticas principales de cada una de ellas.
******************* 4 Bourne C TC Korn BASH ______________________________________
Hist’orico de Comandos No Si Si Si Si command alias No Yes Yes Yes Yes shell scripts Yes Yes Yes Yes Yes
filename completion No Yes Yes Yes Yes command line editing No No Si Si Si job control No Si Si SiSi 2.3.
El sistema de ficheros Unix Un sistema de ficheros constituye una forma l’ogica de organizar y almacenar
grandes cantidades de informaci’on de manera que se factible y sencillo su manejo. La unidad m’inima
de informaci’on que se maneja en este sitema operativo es el fichero, y el sistema de ficheros es el
encargado de su manejo. Sus caracter’isticas son las siguientes: Aunque el usuario no lo percibe, posee
diferentes tipos de ficheros: • Ordinarios - se encargan de almacenar informaci’on grfica, o de tipo
textual. Ser’an los de uso com’un por parte de los usuarios, pudi’endoles asignar permisos que
restringan el acceso a los mismos. Normalmente se organizan en directorios. • Directorios - un
directorio es un fichero que almacena informaci’on sobre otros ficheros, b’asicamente almacena dos
tipos de informaciones por fichero, su n’ummero de inodo, que en realidad es un puntero al fichero, y el
propio fichero, su contenido. As los nombres del fichero act’uan s’olo como enlaces (links) al ficheros y
su inodo, porque para el sistema un fichero s’olo es un inodo. • Especiales - son ficheros empleados para
representar dispositivos f ’isicos reales como una impresora, una unidad de cinta o un terminal. Los
ficheros especiales que representan dispositivos en los sistemas Unix, est’an normalmente almacenados
en el directorio /dev. • Pipes - puede verse como un fichero temporal que permite enlazar la ejecuci’on
de comandos en Unix. Su misi’on consiste en almacenar los datos proporcionados por la ejecuci’on de
un comando hasta que son recogidos como entrada a otro. El sistema de ficheros se encuentra
organizado como una jerarqu’ia de directorios que comienza en un directorio raiz o /. Inmediatamente
debajo de este, se encuentran varios directorios del sitema con informaci’on espec’ifica que este
precisa. • / (root) • /bin - contiene los comandos y utilidades empleados cotidianamente. Almeca
ficheros binarios ejecutables, de ah’i su 5 nombre. Entre estos ficheros se encuantran los comandos
Unix. • /dev - contiene losficheros especiales empleados en la representaci’on de dispositivos f ’isicos
com impresoras y teerminales. • /etc - contiene varios ficheros y comandos empleados
fundamentalmente en tareas de administraci’on del sistema. • /lib - almacena las bibliotecas empleadas
por otros programas y lenguajes. • /tmp - se emplea como ’area vac’ia de almacenamiento sobre la que
guardar temporalmente informaci’on. • /usr - est’a formado por otros muchos subdirectorios, entre
ellos cabe destacar uno para cada uno de los usuarios que tienen acceso al sistema, conocidos como
home directory. Adem’as almacena tambi’en el texto fuente de las p’aginas de manual. Puesto que un
sistem Unix puede tener simult’aneamente m’as de un usuario trabajando sobre ’el (multiusuario), ha
de poseer una forma de “forzar” a que trabajen en ’areas separadas y de una forma m’as o menos
organizada. Para ello, cada usuario que posee acceso al sistema posee un directorio home al que accede
de forma autom’atica cuando se conecta. Normalmente est’an agrupados bajo el directorio /usr.
Cuando variamos de directorio, ya no estamos en el home, en ese instante el directorio en el que nos
encontramos se conoce como directorio actual. Cada fichero y directorio del sistema poseen un medio
de quedar identificados de forma un’ivoca dentro del mismo, esta no es otra que el nombre completo
del fichero o directorio. Este nombre puede ser absoluto, si es dado desde el directorio raiz, o relativo si
es dado desde el directorio actual. Adem’as existen formas abreviadas de referirse a ciertos directorios
en particular .. representa el directorio inmediatamenta superior al actual, . representa el directorio
actual y representa el home directory para cada uno de los usuarios que empleen el s’imbolo. El sistema
de Ficheros tambin proporciona un forma de permitir o restringir el acceso a aquellos ficheros y
directorios de los que somos propietarios, para lo cual hemos de modificar los permisos de los mismos.
3. Sistemas Operativos “Tipo” Unix A continuaci’on comentaremos algunos de los distintos “tipos” de
sistemas Unix que existen en la actualidad. 6 3.1. SunOS de Sun Microsystems El sistema operativo
SunOS de Sun, fu’e desarrollado por Bill Joy. SunOS emple’o la versi’on 4.2 de BSD como la base sobre la
que a˜nadir’ia nuevas caracter’isticas al sistema operativo, especialmente en el ’area de la
comunicaci’on empleando redes (networking) - NFS (Network File System), NIS (Network Information
Service), RPC (Remote Procedure Call), y XDR (External Data Representation). Las sucesivas generaciones
del sistema operativo de Sun, se conoce como Solaris. As’i, por ejemplo, la versi’on 5.O de SunOS que se
basa como System V Release 4 (SVR4), se conoce como Solaris 2.0. Sun ha portado el sistema operativo
Solaris a la arquitectura Intel 80X86. 3.2. ULTRIX de Digital El sistema operativo ULTRIX de Digital est’a
basado en BSD4.2 con algunos a˜nadidos de BSD4.3. Este SO es compatible a nivel de c’odigo fuente con
la definici’on de interface de AT&T System V. Digital fu’e la primera empresa delmundo de la
inform’atica en lanzar al mercado una versi’on Unix basada en el sistema operativo OSF/1 de la Open
Software Foundation(OSF). Los nuevos procesadores Alph de Digital soportan OSF/1, VMS, y Windows
NT. 3.3. AIX de IBM El SO AIX de IBM se deriva del Unix SVR1 de AT&T, incluyendo algunas extensiones
de SVR2, y SVR3. AIX proporciona soporte para protocolos como TCP/IP, NFS, NCS, SNA y el est’andar X
Window. EL AIX/ESA (Enterprise Systems Architecture) Versi’on 2 release 2 se basa en el OSF/1, y ha sido
pensado xomo sistema operativo paraa los mainframes tipo 390. AIX/ESA soporta: Tama˜no de Sistema
de Ficheros superior a 500GB. Sistema X Window, X11R5,6. POSIX 1003.1(especificaci’on de 1990). E/S
As’incrona (solapamiento de este tipo de operaciones). En el futuro, AIX/ESA soportar’a: Entorno de
gesti’on distribuido de OSF, conocido como DME. Entorno de computaci’on ditribuido conocido como
DCE, tambi’en de OSF. Fortran Paralelo 3.4. IRIX de Silicon Graphics (SGI) El SO de Silicon Graphics se
conoce con el nombre de IRIX. Est’a basado en el System V Release 3, con algunas incorporaciones de
4.3BSD y de la propia compa˜n’ia. 7 3.5. BSD 4.x Si dejamos a un lado los laboratorios Bell y AT&T, la
instituci’o que m’as influencia ha tenido en la difusi’on y desarrollo del Sistema Opertaivo Unix ha sido
sin duda la Universidad de California - Berkeley. En 1976, Bill Joy lider’o un equipo de esta universidad
para afrontar el desarrollo de la primera de las versiones de Unix BSD. En 1978, se introdujo una nueva
version de 32-bits del mismo sistema operativo, y a partir de este momento, todo el desarrollo se llev’o
a cabo sobre un VAX 11/780 que hab’ia sido introducido por Digital ese mismo a˜no. La primera de las
versiones de BSD puestas “en circulaci’on” se conoci’o como la release 3BSD. Esta versi’on soportaba
memoria virtual, paginaci’on por demanda, y sustituci’on de p’aginas. En 1979, DARPA apoy’o el
desarrollo de una versi’on de 3BSD que incluyese soporte para TCP/IP. El apoyo se prolongar’ia despu’es
para introducir algunas caracter’isticas especiales en 4.1BSD: Sistema de Ficheros muy r’apido. Cuotas
de disco. Interface de socket TCP/IP. El n’umero de versiones que han aparecido desde 3BSD, han sido
muchas: 4.0BSD, 4.1BSD, 4.2BSD, 4.3BSD, 4.3BSDTahoe, 4.4BSD, NetBsd0.9, NetBsd1.0, etc. La release
4.3BSD proporcion’o soporte para m’ultiples familias de protocolos de red, como TCP/IP, o XEROX
Network System (XNS). Tambi’en proporcion’o para TCP/IP en subredes y encaminamiento. 3.6. XENIX y
Unix SCO En el a˜no de 1980, Microsoft introdujo el SO XENIX para los microcomputadores. Este sistema
operativo se basa en s’eptima edici’on de 4.1BSD y alguna otram utilidad adicional. La release 3.0 de
XENIX incluy’o nuevas caractr’isticas del AT&T System III, hasta que en 1985, tom’o como base definitiva
Unix System V. En 1987, Xenix fu’e portado a la familia de sistema Intel 80386 por Santa Cruz (SCO). En
paralelo, AT&T y Microsoft aunaron sus esfuerzos, y mezclaron Unix System V con XENIX, obteniendo
como resultado Unix System V release 3.2 Aunque en la actualidad SCO sigue dando soporte a XENIX,
tambi’en ofrece otros dos SO‘s: SCO UNIX SVR3.2 versi’on 4 y SCO Open DeskTop Release 2.0. SCO UNIX
SVR3.2 versi’on 4 soporta configuaraci’on autom’atica del kernel y nivel de seguridad C2. La versi’on
OpenDeskTop incluye soporte para el sistema X Window, OSF/MOTIF, y la capacidad de ejecutar
aplicaciones DOS. 3.7. SVR4 El Unix SVR4 unific’o las versiones m’as importantes de este sistema
opertaivo: SytemV Release 3, XENIX, BSD, y SunOS. System V Release 4 (SVR4) 8 fu’e desarrollado por
USL (Unix System Laboratories), supeditado a Unix International (UI). UI es una organizaci’on sin ’animo
de lucro que tiene como objetivo unificar el mercado de los sistemas Unix. Las versiones m’as recientes
de SVR4 incluyen SVR4 MP y SVR4.1. La primera de ellas, SVR4 MP posee un kernel para procesadores
m’ultiples con multithreads, permitiendo el funcionamiento concurrente hasta de 16 procesadores. La
versi’on SVR4.1 posee ciertos aditamentos relacionados con el campo de la seguridad, posee un nivel B2
de seguridad. Adem’as de todo esto, SVR4 proporciona soporte para el p‘rocesamiento en tiempo real.
Para ello el sistema trabaja con dos tipos de procesos; los de tiempo compartido y los de tiempo real. Se
han incorporado un nuevo conjunto de llamadas al sistema incluyendo y adaptando varias de ellas de
BSD. Al igual que BSD, SVR4 ofrece resoluci’on en microsegundos para los requisitos de tiempo y as’i
permitir la correcta planificaci’on de aquellas aplicaciones que tratec con interavalos de tiempo muy
ajustados. Sin embargo, donde m’as trabajo nuevo se fha realizado ha sido en el ’area de la
comunicaci’on. Soporta los prtocolos TCP/IP, incluye comando para la transferencia de ficheros,
sesiones remotas, y ejecuci’on remota de aplicaciones. Tambi’en se proporciona soporte para NFS, RPC,
y protocolos XDR. 3.8. OSF Los miembros principales que componen la Open Software Fundation son
IBM, Digital y HP. El sistema operativo disponible para la OSF se denomina OSF/x, donde x representar’a
siempre el n’umero de la versi’on, siendo la release actual al dos (OSF/2). OSF/2 incorpora un
microkernel aue posee s’olamente 60.000 lineas de c’odigo, por lo que se ha liberado una gran cantidad
de memoria que se ha podido aprovechar en otras aplicaciones. Ha sido certificado con un nivel B-3 de
seguridad. Los elementos del sistema operativo, como los que controlan los procesos y proporcionan
acceso a la CPU se encuentran en el kernel mientras otras partes del sistema operativo son ejecutadas
como si fueran aplicaciones normales. El Kernel de OSF/1 se bas’o en el de Mach 2.5 y 3.0 desarrollado
por la Universidad de Carnegie-Mellon, que inclu’ia la versi’on BSD4.3 que satisface los requisitos POSIX.
La caracter’sitica fundamental de Mach reside en que soporta el empleo de threads concurrentes,
facilitando la multiprogramaci’on sim’etrica. Los Threads son secuencias separables de instrucciones
relacionadas. OSF/1 incluye tambi’en porciones de AIX de IBM, y parte de la implementaci’on de
mutiproceso sim’etrico de Encore Computers. La tecnolog’ia que en la actualidad est’a ofreciendo OSF
incluye DCE, DME y Motif. El OSF/DCE (Distruted Computing Environent) ha sido especificado de forma
completa. El c’odigo DCE est’a disponible tanto para los miembros como los no miembros de OSF; y
recientemente USL ha anunciado su intenci’on de dar soporte a las especificaciones DCE. Los elementos
de DCE incluyen la funcionalidad de las capas de red desde el nivel 4 al 7. Las tecnolog’ias adoptadas de
otros incluyen: las RPC‘s de HP Apollo (con extensiones de IBM y Digital), el DNS de Digital, el servicio
X.500 de Siemens-Nixdorf, el servicio de autenticaci’on del MIT, Kerberos, y el sistema de ficheros
Andrew (AFS) de Transarc Corporation, con aluguna extensi’on del NFS de Sun. 9 3.9. HP-UX Est’a
basado en UNIX System V Release 3.0. Hewlettt-Packard es miembro fundador de OSF, as’i que es
probeble que el futuro, el kernel del nuevo HP-UX est’e basado en el kernel de OSF/1. 3.10. NeXTStep La
release 3.0 de NeXTStep es un sistema operativo orientado a objetos, que se ejecuta sobre un sistema
Motorola 68040. El sistema opertaivo de NeXT est’a basado en la versi’on del SO Mach 2.5 de Carnegie-
Mellon. La version NeXTStepo 3.0 incluye: Cliente Netware - de esta forma la m’aquina NeXT puede
obtener recurso de los servidores de ficheros Novell, empleando para ello el protocolo IPX/SPX. Esto
permite montar volumenes NetWare e imprimir por impresoras Netware. Clientes AppleShare -
permiten montar discos flexibles de 1,44 MB de ordenadores Macintosh, discos SCSI, y unidades CD-
ROM. Tambi’en es posible que un host NeXT imprima por un im‘resora AppleShare. El sistema operativo
NeXT soprta los protocolos AppleTalk tanto de Phase 1 como Phase 2. 3.11. Coherent Este sistema
operativo es un sistema de apariencia UNIX proporcionada por Mark Williams Company. El Choerent 4.0
soporta la arquitectura Intel 80386 de 32-bits, e incluye m’as de 200 comandos de apariencia Unix, un
compilar de C, make, lex, yacc, nroff/troff, las shells Korn and Bourne, e implementraciones de EMACS y
Kermit. EN el futuro tiene previsto incorporarse soporte para los protocolos TCP/IP, X Window, ANSI C, y
streams o sockets. 10

También podría gustarte