INDICE INTRODUCCIÓN AL MANUAL UNIX (2) EL SISTEMA OPERATIVO UNIXS (3) HISTORIA (3)

Anuncio
INDICE
• INTRODUCCIÓN AL MANUAL UNIX (2)
• EL SISTEMA OPERATIVO UNIXS (3)
• HISTORIA (3)
• VERSIONES (8)
• ESTRUCTURA DEL SISTEMA (10)
• NÚCLEO DEL SISTEMA OPERATIVO (11)
• EL SHELL DEL SISTEMA OPERATIVO (13)
• SISTEMA DE ARCHIVO (14)
• MANEJO DE DIRECTORIOS (17)
• REQUERIMIENTOS HADWARE (19)
• ADMINISTRACIÓN DEL SISTEMA (21)
• INSTALACIÓN DEL SISTEMA OPERATIVO (27)
• CONCLUSIÓN (30)
OPINION PERSONAL DEL SISTEMA OPERATIVO
VII. BIBLIOGRAFÍA (31)
• INTRODUCCION AL MANUAL UNIX
Un sistema operativo es el encargado de manejar el hardware y el software del computador. Estas
tareas se centran entorno de:
• Gestión de archivos.
• Ejecución de programas.
• Recibir ordenes del usuario.
Esta interacción se hace por medio de una interfaz ( Ej.: Una línea de textos o elección de menús).
Este manual se centrará en el sistema operativo UNIX, este fue desarrollado en 1969 por Ken Thompson de
AT&T Bell Laboratories.
El sistema UNIX se ha vuelto bastante popular desde su estreno en 1969, funcionando en máquinas de
procesamiento variable desde microprocesadores hasta mainframes y suministrando un entorno de ejecución
común a través de él.
Se trata de un sistema operativo de los mas utilizados y con mas futuro debido a que son muchos organismos
oficiales y particulares los que defienden su utilización, así como muchas firmas de fabricación y
comercialización de computadoras que lo incorporan en sus productos. Podemos citar el ejemplo de la
Comunidad Económica Europea, que impone el sistema operativo UNIX en todas las aplicaciones que se
desarrollan bajo sus auspicios.
El sistema está dividido en dos partes. La primera parte está formado por programas y servicios que han hecho
del sistema UNIX un entorno muy popular; es la parte visible para el usuario, incluyendo programas como el
shell, mail, paquetes de procesamiento de textos, y compiladores. La segunda parte está formada por el
sistema operativo que soporta estos programas y servicios.
Comenzaremos la descripción del sistema operativo UNIX con una breve reseña histórica para llegar la
1
situación actual e indicar los posibles motivos de su fuerte expansión.
• ELSISTEMA OPERATIVO UNÍX
UNIX es un sistema multiusuario, es decir, varios usuarios pueden acceder de manera simultanea al sistema
para manejar su información. Para mantener la seguridad en la información de los usuarios, el administrador
del sistema tiene que crear una cuenta UNIX para cada usuario, este da un login ID (nombre de usuario) y
una password para que puedan empezar a trabajar.
En sistemas con varios usuarios, la password permite prevenir que alguien utilice el login de otro usuario,
pues es secreta, para que una password sea válida debe contener un mínimo de caracteres alfanuméricos, este
número dependerá del sistema UNIX, el primero de los cuales debe ser alfabético.
1. HISTORIA DEL UNIX.
A pesar de los sistemas abiertos, la historia de UNIX está dominada por el ascenso y caída de los sistemas
hardware. UNIX nació en 1969 en una mainframe 635 de Genaral Electric. A la vez, los Laboratorios Bell de
AT&T había completado el desarrollo de Multics, un sistema multiusuario que falló por su gran demanda de
disco y memoria. En respuesta a Multics, los ingenieros de sistemas Kenneth Thompson y Dennis Ritchie
inventaron el UNIX. Inicialmente, Thompson y Ritchie diseñaron un sistema de archivos para su uso
exclusivo, pero pronto lo cargaron en una Digital Equipment Corp. (DEC) PDP−7, una computadora con solo
18 kilobytes de memoria. Este suministraba una larga serie de puertos. En 1970, fue cargado en una PDP−11,
y el run off, el predecesor del troff, se convirtió en el primer procesador de texto de UNIX. En 1971, UNIX
recibió reconocimiento oficial de AT&T cuando la firma lo usó para escribir manuales.
La segunda edición de UNIX fue realizada en 1971. La segunda edición dio forma al UNIX moderno con la
introducción del lenguaje de programación C y sobre los 18 meses siguientes, el concepto de los pipes. Los
pipes fueron importantes por muchas razones. Representaron una nueva forma de tratamiento de datos. Desde
un punto de vista moderno, los pipes son un mecanismo orientado a objetos, porque entregan datos desde un
objeto, o programa, a otro objeto.
Mientras tanto, había mucha actividad con el C. El C es otro producto de los Laboratorios Bell. Fue formado a
partir de conceptos de otros tres lenguajes: B, CPL (Combined Programming Lenguage) y Algol−60. A
finales de 1973, después de que Ritchie añadió soporte para variables globales y estructuras, C se convirtió en
el lenguaje de programación de UNIX preferente. (Brian Kernigham, quien ayudó a Ritchie a desarrollar el C,
añadió la R al estándar K&R, es el estándar preferido hasta la aceptación del ANSI C).
Figura 1. Evolución del Unix.
El ascenso del C fue responsable del concepto de portabilidad. Escrito en C, el entorno UNIX pudo ser
relativamente fácil de trasladar a diferentes plataformas hardware. Las aplicaciones escritas en C pudieron ser
fáciles de transportar entre diferentes variantes de UNIX. En esta situación nació el primer criterio de sistema
abierto: portabilidad OS, la posibilidad de mover software desde una plataforma hardware a otra de una forma
estándar. La portabilidad de UNIX se convirtió en el modelo de transportar aplicaciones en C desde un
sistema UNIX a otro.
En 1974, la quinta edición de UNIX fue realizada para que estuviera disponible para las universidades. El
precio de la versión 5 fue suficiente para recuperar los costos de las cintas y manuales. Se informó de los
errores directamente a Thompson y Ritchie, quienes los reparaban a los pocos días de la notificación.
En 1975, la sexta edición de UNIX fue desarrollada e iniciada para ser ampliamente usada. Durante este
tiempo, los usuarios se hicieron activos, los grupos de usuarios fueron formados, y en 1976, se estableció el
2
grupo de usuarios USENIX. En 1977, Interactive System Corp. inició la venta de UNIX en el mercado
comercial. Durante este tiempo, UNIX también adquirió más poder, incluyendo soporte para procesadores
punto flotante, microcódigo y administración de memoria.
Con la creciente popularidad de los microprocesadores, otras compañías trasladaron el UNIX a nuevas
máquinas, pero su simplicidad y claridad tentó a muchos a aumentarlo bajo sus puntos de vista, resultando
muchas variantes del sistema básico. En el período entre 1977 y 1982, los Laboratorios Bell combinaron
algunas variantes de AT&T dentro de un sistema simple, conocido comercialmente como UNIX System III.
Los Laboratorios Bell más tarde añadieron muchas características nuevas al UNIX System III, llamando al
nuevo producto UNIX System V, y AT&T anunció su apoyo oficial al System V en Enero de 1983. Sin
embargo, algunas personas en la Universidad de California en Berkeley habían desarrollado una variante del
UNIX, BSD, para máquinas VAX, incluyendo algunas nuevas e interesantes características.
A comienzos de 1984, había sobre 100.000 instalaciones del sistema UNIX en el mundo, funcionando en
máquinas con un amplio rango de computadoras, desde microprocesadores hasta mainframes.
A pesar de que el sistema operativo y muchos de los comandos están escritos en C, UNIX soporta otros
lenguajes, incluyendo Fortran, Basic, Pascal, Ada, Cobol, Lisp y Prolog. El sistema UNIX puede soportar
cualquier lenguaje que tenga un compilador o intérprete y una interface de sistema que defina las peticiones
del usuario de los servicios del sistema operativo de la forma estándar de las peticiones usadas en los sistemas
UNIX.
A continuación presentaremos algunos de los hechos importantes de la historia del Unix.
Año
Evento
Descripción
1965
Origen
Bell Telephone Laboratories y General Electric Company intervienen
en el proyecto MAC (del MIT) para desarrollar MULTICS.
1969−71
Infancia del UNIX
1972−73
Nace el C
El primer UNIX llamado Versión 1 o Primera edición, nace de las
cenizas de MULTICS.
En la Versión 2 el soporte del lenguaje C y los pipes son añadidos. En
la Versión 4 el ciclo se completa con la reescritura de UNIX en C.
1974−75
El momento
Las Versiones 5 y 6 de UNIX se distribuyen a las universidades. La
Versión 6 circula en algunos ambientes comerciales y
gubernamentales. AT&T impone ahora pagar una licencia, a pesar de
que no puede promocionar UNIX por las duras regulaciones de EEUU
del monopolio telefónico de AT&T.
1977
UNIX como
producto
Interactive Systems es la primera compañía comercial que ofrece
UNIX.
1977
Nace BSD
1BSD incluye un Shell Pascal, dispositivos y el editor ex.
1979
Versión 7
La Versión 7 de UNIX incluye el compilador completo K&R con
uniones y definiciones de tipos. Versión 7 también añade el Bourne
Shell.
1979
Trabajo en Red
BSD acrecentado por BBN incluye soporte para trabajar en red.
1979
Nace XENIX
Implementación para microcomputadoras ampliamente distribuido en
hardware de bajo coste.
1980
Memoria Virtual
La capacidad de memoria virtual se añade en 4BSD.
1980
Nace ULTRIX
DEC realiza una versión de UNIX basado en BCD.
3
1980
Licencias en AT&T La distribución de licencias abre el mercado.
1983
Nace System V
La versión más común de AT&T obtiene sus bases.
1984
Salida de SVR3
AT&T desata la versión más popular de System V hasta ahora.
1988
Motif vs Open
Look
Sistemas por ventanas rivales son anunciados por OSF y UI.
1988
Siguiente paso
Un UNIX gráfico usa el Kernel Mach.
1990
OSF/1 vs. SVR4
Versiones rivales de UNIX son anunciadas por OSF y UI.
1992−95
Socialización
OSF/1 abandona la escena; SVR4 se convierte en el estándar; Sun
vende más estaciones de trabajo para usuarios de Motif que para
usuarios de Open Windows; y crece Windows/NT de Microsoft.
Tabla 1. Hechos importantes en la historia de UNIX
2. VERSIONES DE UNIX.
Cuando surgió UNIX su utilización fue limitada a sus creadores (los Laboratorios Bell) y a las instituciones
tales como universidades y escuelas superiores, donde los usuarios tuvieron suficiente pericia y motivación
para mantener un sistema operativo sin soporte por parte de los creadores.
Esta situación y los atractivos obvios de su uso, llevaron de forma inevitable a cierto número de casas
suministradoras de software a intentar que se tapara ese agujero y crear algún sistema operativo semejante a
UNIX y accesible al gran mercado con el servicio de soporte que requiere un usuario comercial. Esto ha
tenido dos tendencias:
♦ Comercialización de lo que es en esencia el sistema operativo UNIX, redirigido a otro
procesador, debido al compilador transportable C, puesto que UNIX está escrito en lenguaje
C.
♦ Comercialización de un UNIX reescrito, con igual apariencia pero métodos y estructuras
internas de trabajo que pueden ser muy distintos.
La variedad entre las versiones de UNIX es terrible. Las dos familias más importantes de versiones de UNIX
son BSD y System V.
BSD dio nacimiento a SunOS, quien se ha convertido ahora en el progenitor de muchas pequeñas variantes en
el mercado de las SPARC. Con la adquisición de la división de sistemas operativos de Interactive Systems,
Sun ha trasladado también SunOS a las arquitecturas Intel 386 y 486.
System V es la versión más ampliamente usada de UNIX. Es el descendiente directo del UNIX desarrollado
por AT&T en 1969. Está actualmente en la revisión 4.1 y a menudo es referenciado como SVR4, o System V
Release 4.
Ejemplos de descendientes de System V son ZEUS, XENIX (desarrollado por Microsoft), Idrix, LINUX, etc.
A continuación mostraremos una pequeña tabla de las versiones mas conocidas de unix y algunas
características.
Producto
LINUX
Fabricante
Descripción
Creador
Linux Torvalds Es un clon de Unix escrito desde cero por Linux Torvalds, con asistencia de
4
FreeBSD
Universidad
Berkeley
NetBSD
Universidad
Berkeley
AIX
IBM
HP−UX
HP
SPARC−OS Tatung
SunOS
SUN
Solaris
XENIX
IDRIX
SUN
Microsoft
System V
AT&T
ULTRIX
SolOS
Solinux
UnixWare
OSF/1
Minix
DEC ahora
COMPAQ
Solobourne
Computers
SUN
Novell
DEC, HP, IBM
Andrew S.
Tanenbaum
otros muchos hackers en la red que soporta el software de libre distribución
de GNU.
FreeBSD (versión 2.0) es un sistema operativo de tipo Unix basado en la
versión 4.2BSD−Lite de UCB para plataforma i386. También se encuentra
basado aunque indirectamente en el sistema 386BSD de William Jolitz
El proyecto NetBSD ha surgido con el propósito de producir un sistema
operativo tipo Unix accesible y libremente distribuible. NetBSD está basado
en una gran variedad de software de libre distribución.
Basado en el sistema operativo Unix System V. Basado en SVR2
Basado en el sistema operativo Unix System V
Basado en el sistema operativo UNIX BSD
Basado en el sistema operativo UNIX BSD. A partir de la versión 2 pasa a
denominarse Solaris
Basado en el sistema operativo UNIX BSD
Basado en el sistema operativo Unix System V
Basado en el sistema operativo Unix System V
System V es la versión más ampliamente usada de UNIX. Es el descendiente
directo del UNIX desarrollado por AT&T en 1969. Está actualmente en la
revisión 4.1 y a menudo es referenciado como SVR4, o System V Release 4.
Basado en el sistema operativo Unix System V
Basado en el sistema operativo UNIX BSD
Basado en el sistema operativo Unix System V
Para PC y VAX. Se distribuye con los fuentes. Compatible con la versión 7
3. ESTRUCTURA DEL SISTEMA.
La figura 2. Describe la arquitectura de alto nivel de UNIX. El sistema operativo interactúa directamente con
el hardware, suministrando servicios comunes a los programas y aislándolos de la particularización del
hardware.
Viendo el sistema como un conjunto de capas, el sistema operativo es comúnmente llamado como núcleo del
sistema o kernel. Como los programas son independientes del hardware que hay por debajo, es fácil moverlos
desde sistemas UNIX que corren en diferentes máquinas si los programas no hacen referencia al hardware
subyacente.
Los programas como el shell y los editores (ed y vi) mostrados en la capa siguiente interactúa con el kernel
invocando un conjunto bien definido de llamadas al sistema.
Las llamadas al sistema ordenan al kernel realizar varias operaciones para el programa que llama e
intercambiar datos entre el kernel y el programa. Varios programas mostrados en la figura 1 están en
configuraciones del sistema estándares y son conocidos como comandos, pero los programas de usuario deben
estar también en esta capa, indicándose con el nombre a.out, el nombre estándar para los archivos ejecutables
producidos por el compilador de C.
5
Otros programas de aplicaciones pueden construirse por encima del nivel bajo de programas, por eso la
existencia de la capa más exterior en la figura 1. Aunque la figura muestra una jerarquía a dos niveles de
programas de aplicación, los usuarios pueden extender la jerarquía a tantos niveles como sea apropiado. En
realidad, el estilo de programación favorecida por UNIX estimula la combinación de programas existentes
para realizar una tarea.
Muchos programas y subsistemas de aplicación que proporcionan una visión de alto nivel del sistema tales
como el shell, editores, SCCS (Source Code Control System) y los paquetes de documentación, están
convirtiéndose gradualmente en sinónimos con el nombre de "Sistema UNIX". Sin embargo, todos ellos usan
servicios de menor nivel suministrados finalmente por el kernel, y se aprovechan de estos servicios a través
del conjunto de llamadas al sistema. Hay alrededor de 64 llamadas al sistema en System V, de las cuales unas
32 son usadas frecuentemente. Tienen opciones simples que las hacen fáciles de usar pero proveen al usuario
de gran poder. El conjunto de llamadas al sistema y los algoritmos internos en los que se implementan forman
el cuerpo del kernel. En resumen, el kernel suministra y define los servicios con los que cuentan todas las
aplicaciones del UNIX.
3. 1 NUCLEO DEL SISTEMA OPERATIVO.
El núcleo del sistema operativo UNIX (llamado Kernel) es un programa escrito casi en su totalidad en
lenguaje C, con excepción de una parte del manejo de interrupciones, expresada en el lenguaje ensamblador
del procesador en el que opera.
Las funciones del núcleo son permitir la existencia de un ambiente en el que sea posible atender a varios
usuarios y múltiples tareas en forma concurrente, repartiendo al procesador entre todos ellos, e intentando
mantener en grado óptimo la atención individual.
El Kernel opera como asignador de recursos para cualquier proceso que necesite hacer uso de las
facilidades de cómputo. Es el componente central de UNIX y tiene las siguientes funciones:
− Creación de procesos, asignación de tiempos de atención y sincronización.
− Asignación de la atención del procesador a los procesos que lo requieren.
− Administración de espacio en el sistema de archivos, que incluye: acceso, protección y administración de
usuarios; comunicación entre usuarios v entre procesos, y manipulación de E/S y administración de
periféricos.
− Supervisión de la transmisión de datos entre la memoria principal y los dispositivos periféricos.
El Kernel reside siempre en la memoria central y tiene el control sobre la computadora, por lo que ningún otro
proceso puede interrumpirlo; sólo pueden llamarlo para que proporcione algún servicio de los ya
mencionados. Un proceso llama al Kernel mediante módulos especiales conocidos como llamadas al sistema.
El Kernel consta de dos artes principales: la sección de control de procesos y la de control de dispositivos. La
primera asigna recursos, programas, procesos y atiende sus requerimientos de servicio; la segunda, supervisa
la transferencia de datos entre la memoria principal y los dispositivos periféricos.
. El Kernel también prepara algunas estructuras de datos que abarcan una sección de almacenamiento
temporal para transferencia de información entre terminales y procesos, una sección para almacenamiento
de descriptores de archivos y una variable que indica la cantidad de memoria principal.
A continuación, el Kernel inicializa un proceso especial, llamado proceso 0. En general, los procesos se
6
crean mediante una llamada a una rutina del sistema (fork), que funciona por un mecanismo de duplicación
de procesos. Sin embargo, esto no es suficiente para crear el primero de ellos, por lo que el Kernel asigna
una estructura de datos y establece apuntadores a una sección especial de la memoria, llamada tabla de
procesos, que contendrá los descriptores de cada uno de los procesos existentes en el sistema.
3.2 EL SHELL DEL SISTEMA OPERATIVO.
El Shell proporciona una interfaz entre el NUCLEO y el USUARIO:
El Shell controla recursos como los periféricos ( pantalla, impresora, etc.), además recursos del computador
como el procesador, tarjetas (sonido, vídeo, etc.). También controla las utilidades (programas de aplicación)
que son los programas utilizados por los usuarios (Word, Excel, juegos, etc.), además controla la forma en la
cual se almacena y se organiza la información (archivos).
3.3 SISTEMA DE ARCHIVOS.
A) ORGANIZACION DE LA INFORMACION
El sistema operativo UNIX está diseñado para manejar información contenida normalmente en discos. Para
que esta manipulación sea realmente efectiva, es necesario que la información esté organizada de alguna
forma. La manera estándar de organizar la información es en archivos. Los archivos son localizados dentro del
disco porque son apuntados desde un lugar determinado, a este lugar se le denomina directorio.
Sin embargo en UNIX no se utiliza un único directorio para apuntar a todos los archivos del sistema, sino que
se crea una estructura jerárquica de directorios conocida como estructura en árbol. Se muestra un ejemplo de
esta estructura jerárquica en la figura 3
Figura 3. Estructura del sistema de archivos
B) ARCHIVO
La estructura fundamental que utiliza el UNIX para almacenar información es el archivo. El UNIX mantiene
la pista de cada uno de los archivos asignándole a cada uno, un número de identificación (i−number) que
apunta a la tabla de i−nodos. El usuario, no obstante, indicará cada archivo por medio de su nombre asignado
por el propio usuario.
El UNIX mantiene toda la información propia del archivo, excepto su nombre, en su inodo correspondiente.
El nombre se encuentra en la entrada correspondiente del directorio al que pertenece.
Todos los archivos UNIX son tratados como una simple secuencia de bytes (caracteres), comenzando en el
primer byte del archivo y terminando con el ultimo. Los programas son libres para organizar sus archivos, con
independencia de la forma en que los datos estén almacenados en el disco.
C) DIRECTORIOS
Prácticamente para todos los efectos, un directorio se comporta como un archivo, con la característica de que
sus registros son de longitud fija.
A pesar de lo comentado anteriormente, el contenido de los directorios no apunta directamente a los bloques
de datos de los archivos o subdirectorios que dependen de él, sino a unas tablas (i−nodos) separadas de la
estructura.
7
Es desde estas tablas desde las que se apunta a los bloques físicos de los archivos dentro del disco.
Figura 4. Estructura de un directorio.
D) LOS SISTEMAS DE ARCHIVOS
El conjunto formado por la estructura de archivos y directorios y las tablas de inodos, se denomina Sistema de
Archivos o File System. Cada sistema de archivos está residente en un soporte físico, normalmente disco
magnético, pero si el disco es de gran capacidad puede dividirse en varios discos lógicos o "particiones", cada
uno de los cuales sería un sistema de archivos independiente. En el caso de que el sistema disponga más de un
disco físico, cada uno será forzosamente un file system.
Por lo tanto se puede asociar el concepto de sistema de archivos al de disco lógico o partición de disco.
El sistema de archivos, o file system, de UNIX está caracterizado por:
♦ una estructura jerárquica,
♦ tratamiento consistente de los datos,
♦ la habilidad de crear y borrar archivos,
♦ crecimiento dinámico de archivos,
♦ la protección de los datos,
♦ el tratamiento de los dispositivos periféricos como archivos.
Cada sistema de archivos consta fundamentalmente de las siguientes partes:
♦ Bloque de carga:
Este bloque, que es el primero de cada sistema (bloque cero), está reservado para un programa de carga. El
bloque cero no tiene ningún significado en el sistema de archivos. Toda la información del sistema comienza
en el bloque uno del dispositivo. Sólo se utiliza en el sistema de archivos principal.
♦ Súper bloque:
El súper bloque es el bloque uno del dispositivo. Este bloque contiene información sobre el sistema de
archivos, tales como su tamaño en bloques, el nombre del sistema de archivos, número de bloques reservados
para i−nodos, la lista de i−nodos libres y el comienzo de la cadena de bloques libres. También contiene el
nombre del volumen, momento de la última actualización y tiempo del último backup. Siempre reside en un
bloque de 512 bytes.
♦ I−nodos:
8
A continuación del súper bloque están situados los bloques que contienen los i−nodos. El número de bloques
de i−nodos varía dependiendo del número de bloques del sistema de archivos. El número de i−nodos está
especificado en el súper bloque. Es una tabla que contiene información sobre las características de los
archivos. Esencialmente es el bloque de control de los archivos. Hay un i−nodo por cada directorio y archivo
del sistema de archivos. El i−nodo contiene una descripción del directorio o archivo, así como el lugar físico
que ocupan sus bloques de datos. Los i−nodos sólo apuntan a los archivos o directorios de su mismo sistema
de archivos.
♦ Bloques de datos:
El resto del espacio del dispositivo lógico consta de bloques de datos. Bloques de datos que contienen los
datos actualmente almacenados en los archivos. Algunos bloques de datos sirven como bloques indirectos,
conteniendo números de bloques (direcciones) de grandes archivos.
Figura 5. Estructura de un Sistema de Archivos.
3.4 MANEJO DE DIRECTORIOS
La estructura del conjunto de todos los directorios del sistema, es una estructura de árbol invertido, como se
puede apreciar en la figura siguiente. Un directorio equivale a abrir una rama dentro del árbol.
FIGURA 4. EJEMPLO DE DIRECTORIOS
Observemos que:
• Los directorios pueden contener otros directorios, archivos ordinarios o estar vacíos.
• Un archivo ordinario es siempre el último archivo en un path (camino).
• El primer directorio de la estructura es el directorio raíz; todos los demás archivos y directorios parten
de él. El directorio raíz se designa con un nombre especial, /. Ningún otro archivo puede tener este
nombre.
En el sistema UNIX, todos los archivos forman parte de la jerarquía. Cualquier archivo de esta estructura es
parte de una red de directorios conectados. Esta red de directorios, junto con el nombre de un archivo
particular, constituye el pathname para un archivo.
9
Cada archivo se identifica con un único pathname, que describe su localización con respecto a los otros
directorios.
Se puede especificar un nombre de archivo utilizando pathnames absolutos o relativos:
• Un pathname absoluto especifica la localización de un archivo desde el directorio raíz. Por lo tanto,
todos los pathnames absolutos deben de empezar con un slash (/).
• Un pathname relativo especifica la localización de un archivo con respecto al directorio en que se está
trabajando, en lugar del directorio raíz, por lo que no empiezan con un slash (/).
El punto (.) se refiere al directorio en que se está, y dos puntos (..) se refiere al directorio anterior.
A UNÍS continuación se muestra un ejemplo del UNIX de directorio de UNIX:
FIGURA 5. DIRECTORIOS
III. REQUERIMIENTOS HADWARE.
CONSIDERACIONES
La ejecución de procesos de usuario en sistemas UNIX se divide en dos niveles: usuario y kernel. Cuando un
proceso ejecuta una llamada al sistema, el modo de ejecución cambia del modo usuario a modo kernel: el
sistema operativo ejecuta y atiende el servicio requerido por el usuario, devolviendo un código de error si
falla.
Incluso si el usuario no hace una petición explícita de los servicios del sistema operativo, el sistema operativo
continúa realizando operaciones que relacionan a los procesos de usuario, manipulando interrupciones,
planificando procesos, administrando la memoria, etc. Muchas arquitecturas (y sus sistemas operativos)
soportan más niveles que los dos descritos, pero estos dos modos, usuario y kernel, son suficientes para los
sistemas UNIX.
Las diferencias entre los dos modos son:
♦ Los procesos en el modo usuario pueden acceder a sus propias instrucciones y datos pero no a
las instrucciones y datos del kernel (o los de otros procesos). Los procesos en el modo kernel,
sin embargo, pueden acceder a las direcciones del kernel y del usuario.
♦ Algunas instrucciones máquina están privilegiadas y producen error si se ejecutan en modo
usuario.
UNIX, comparado con otros sistemas operativos avanzados, necesita muy poca memoria para funcionar .
Debería contar con un mínimo de 2 megabytes de RAM; sin embargo, es altamente recomendable tener 4
megabytes. Cuanta más memoria tenga más rápido irá su sistema.
UNIX soporta el rango completo de direcciones de 32−bits de los 386/486; es decir, utilizará toda la memoria
RAM de forma automática, y se apañará sin problemas con tan sólo 4 megabytes de RAM, incluyendo
aplicaciones "pedigüeñas" como X−Window, Emacs, y demás.
Sin embargo, disponer demás memoria es casi tan importante como tener un procesador más rápido. 8
suficiente para uso personal; 16 megabytes o más pueden ser necesarios si espera una fuerte cargade usuarios
en el sistema.
La mayoría de los usuarios de Unix, reservan una parte del disco duro para espacio de
10
intercambio("swapping") que se usa como RAM virtual. Incluso si dispone de bastante memoria RAM física
en su máquina, puede que quiera utilizar un área de "swap" . El área de "swap" no puede reemplazara una
memoria física RAM real, pero puede permitir a su sistema ejecutar aplicaciones más grandes guardando en
disco duro aquellas partes de código que están inactivas. La cantidad de espacio de intercambio a reservar
depende de diversos factores; volveremos a esta cuestión en la Sección 2.2.3.
Requisitos de la controladora de disco duro
No necesita un disco duro para ejecutar Linux; puede ejecutar un sistema mínimo completamente desde CDS
O Disquettes. Sin embargo, puede resultar muy lento y muy limitado, y de todas formas, muchos usuarios
tienen acceso a almacenamiento en disco duro.
Debe tener una controladora AT−estándar (16−bit). El núcleo soporta controladoras XT−estándar (8 bit);
aunque la mayoría de las controladoras usadas hoy son AT−estándar. Unix debería soportar todas las
controladoras MFM, RLL, e IDE. La mayoría, pero no todas, las controladoras ESDI están soportadas sólo
aquellas que hacen emulación hardware de la ST506.
La regla general para controladoras que no sean SCSI, es que si puede acceder a las unidades (disco y/o
disquete) desde MS−DOS u otro sistema operativo, debería poder hacerlo desde Unix.
IV. ADMINISTRACIÓN DEL SISTEMA.
1. Tareas administrativas básicas
La administración del sistema consiste básicamente en gestionar los recursos del sistema para que se puedan
utilizar de la forma más eficiente posible así como llevar control de los usuarios potenciales del sistema.
Entrando más en detalle, las tareas de administración del sistema más comunes son las siguientes:
♦ Instalar el sistema operativo.
♦ Añadir, eliminar y controlar usuarios y sus contraseñas.
♦ Instalar software de aplicación.
♦ Instalar hardware (como tarjetas, impresoras, terminales y modems).
♦ Mantener la seguridad e integridad del sistema y de la red.
♦ Diagnosticar y arreglar problemas software y hardware cuando ocurran.
♦ Comprobar el uso de los sistemas de archivos para asegurarse que no están llenos y además
controlar el uso indiscriminado de éstos.
♦ Mantener impresoras, modems y terminales remotos.
♦ Realizar copias de seguridad de los sistemas de archivos.
♦ Recuperar archivos desde copias de seguridad.
♦ Mantener servicios de red, correo y otros servicios de comunicaciones.
♦ Optimizar el uso de los recursos del sistema.
♦ Asistir a los usuarios en sus necesidades.
Los comandos y archivos relativos a la administración del sistema varía de una versión a otra del UNIX, pero
la filosofía es siempre la misma. A continuación se verá la administración en UNIX System V Release 4
(SVR4) como ejemplo de administración de UNIX, los pasos a seguir son prácticamente los mismos para
cualquier otra versión.
2. Administración del sistema de archivos
2.1 Particiones de disco:
11
Dada la gran capacidad de almacenamiento de las unidades de disco, puede ser interesante el subdividirlo en
porciones más pequeñas para mejorar su gestión. Cada una de estas subdivisiones se denomina partición,
comportándose como si fuera un disco lógico.
Normalmente, cada partición se utiliza como un sistema de archivos, sin embargo también pueden utilizarse
para otros propósitos, como el área de swap.
En un sistema que disponga de varios discos físicos se denomina disco primario al que contiene el directorio
raíz. Las particiones del disco primario se crean durante la instalación del sistema operativo.
• Sistema de archivos virtual:
En UNIX System V Release 4, el sistema de archivos virtual (virtual file system o VFS) es un concepto que
permite que existan diferentes tipos de sistemas de archivos trabajando conjuntamente en el mismo sistema.
Para su correcto funcionamiento, utiliza dos mecanismos de control, uno dependiente del tipo de sistema de
archivos y el otro no.
Estructura vnode:
Es una estructura de memoria que controla la información independiente del tipo de sistema de archivos. Cada
archivo accedido tiene asociada su propia estructura vnode, que es el centro de toda su actividad. Contiene
punteros hacia:
♦ Sistemas de archivos montados.
♦ Tipo de archivo.
♦ Información de inodo.
♦ Operaciones que se pueden realizar en el archivo.
Virtual file system switch table:
Se encarga de manejar la información que depende del tipo de sistema de archivos. Contiene una entrada por
cada uno de los tipos de sistema de archivos.
Esta tabla lleva punteros hacia las utilidades y operaciones específicas de cada tipo. Muchas de las utilidades
que manejan los sistemas de archivos incorporan una opción para apuntar a la entrada apropiada en esta tabla.
2.3 Tipos de sistemas de archivos:
SVR4 permite la coexistencia de diferentes tipos de sistemas de archivos en una misma estructura. Existen
tres tipos diferentes de sistemas de archivos:
♦ s5 es el tipo de sistemas de archivos tradicional de System V (el estándar de AT&T). Permite
nombres de archivos de hasta 14 caracteres.
♦ ufs está basado en el tipo de sistema de archivos utilizado en el UNIX de la Universidad de
Berkeley (BSD Fast File System). Permite nombres de archivos de 250 caracteres.
♦ bfs es un tipo de sistema de archivos especial (boot file system) que se utiliza tan sólo para
una partición donde se almacenan los archivos necesarios para realizar la carga del sistema (el
directorio /stand).
Aparte de estos tipos de sistemas de archivos que se asocian a particiones de disco, existen otros sistemas de
12
archivos virtuales, de uso interno del sistema, que quedan residentes en memoria
2.4 Área de desplazamiento (swap):
En configuraciones por defecto, la segunda partición del primer disco se utiliza para el área de swap. El área
de swap se utiliza como una ampliación de la memoria principal durante la operación del sistema.
Dado que pertenece al primer disco, que es formateado y construidas sus particiones durante el proceso de
instalación, la re−configuración del espacio destinado a este área implica una tarea complicada (copias de
seguridad de todos los sistemas de archivos del disco, nueva instalación, etc.). Para evitarlo, dentro de lo
posible, se ha proporcionado la posibilidad de asignar y liberar recursos de disco, de forma dinámica al área
de swap.
2.5 Quota system (ufs):
El sistema de archivos ufs permite asignar un límite (quota) de espacio y cantidad de inodos a ser utilizados en
él por un usuario específico. Existen dos tipos de límites, uno "hard" y otro "soft".
Límite Hard:
Especifica el número máximo de bloques de disco, o de i−nodos, que puede utilizar el usuario. Nunca puede
ser alcanzado. En caso de que el usuario intente llegar a este límite, se visualizará un mensaje de error.
Límite Soft:
Este límite tiene dos parámetros, espacio de disco y tiempo. El límite especificado para el espacio de disco
puede ser excedido (sin llegar al límite hard), pero en ese momento arranca un reloj que permite utilizar ese
espacio hasta que el límite de tiempo se agote. A partir de ese momento el usuario debe situar la utilización
del sistema de archivos por debajo del límite soft antes de poder utilizar más espacio.
Resumiendo, cada usuario puede tener especificados límites (hard y soft) para la utilización de bloques y de
i−nodos. También puede definirse un límite de tiempo, que se aplica a todos los usuarios del sistema de
archivos, indicando durante cuanto tiempo puede excederse el límite soft. Puede especificarse un límite de
tiempo diferentes para cada sistema de archivos. Además, los usuarios pueden tener diferentes límites en
diferentes sistemas de archivos.
3. Administración de usuarios.
La administración de la cuenta de los usuarios y sus grupos de trabajo implica una gran responsabilidad, pues
el primer paso para mantener la seguridad del sistema consiste en evitar el acceso al mismo de personas no
autorizadas. Esta tarea se realiza asignando y manteniendo identificativos y contraseñas de acceso al sistema.
Para que un usuario pueda acceder al sistema, debe estar previamente registrado ante el mismo. Esta tarea,
realizada por el administrador del sistema, afecta a tres archivos: /etc/passwd, /etc/shadow y /etc/group.
Sin embargo, estos archivos no deben ser editados directamente, para evitar errores que los corrompan, pues
son críticos para el acceso al sistema.
Por tanto, el registro de usuarios se realiza por medio de un conjunto de utilidades suministradas con el
13
sistema.
3.1 Archivo /etc/passwd:
Este archivo es consultado por el proceso login cuando un usuario se identifica, para ver si figura el
identificativo en el mismo, y si es así localizar la información pertinente para dejarle correctamente conectado
al sistema.
En este archivo existe una línea por cada usuario registrado ante el sistema. Cada registro consta de siete
campos, separados por el carácter ":" de la siguiente forma:
Usuario:contraseña:user−id:group−id:comentario:directorio:shell
con el significado siguiente:
usuario
contraseña
user−id
group−id
comentario
directorio
shell
Nombre con el que puede identificarse un usuario cuando el sistema el login a
un terminal.
En versiones anteriores, en este campo se almacenaba la contraseña de acceso
del usuario, en forma encriptada. Actualmente contiene un carácter "x" y la
contraseña y sus características están en el archivo /etc/shadow.
Número asignado al usuario para identificarlo internamente. Este número es
utilizado por el sistema para efectuar los controles de propiedad de archivos y
subdirectorios. Los números más bajos quedan reservados para los usuarios
con privilegios de administrador.
Número que identifica el grupo al que se asocia ese usuario. Debe tener una
correspondencia con el archivo /etc/group. Afectará a los permisos de acceso a
archivos a nivel de grupo.
Normalmente contiene información sobre el propietario del login, como puede
ser su nombre completo, su dirección, etc.
Ruta completa del directorio HOME, en el que sitúa al usuario cuando tanto el
identificativo como la contraseña son correctos.
Nombre completo del proceso que se arrancará automáticamente para el
usuario cuando se identifica. Aunque puede ser cualquier programa ejecutable,
normalmente será un intérprete de comandos (shell).
3.2 Archivo /etc/group:
En este archivo se almacenan los grupos existentes en el sistema y los usuarios asignados a cada grupo. Cada
entrada en este archivo tiene la sintaxis siguiente:
grupo:contraseña:group−id:usuarios
donde cada campo tiene el siguiente significado:
grupo
contraseña
group−id
Nombre asignado a ese grupo.
Contiene la contraseña encriptada de grupo. En versiones modernas de UNIX
este campo no se utiliza pero se mantiene en blanco por compatibilidad con
versiones antiguas.
Número que identifica al grupo internamente para el sistema. Se utiliza para
comprobar los permisos al nivel de grupo.
14
usuarios
Lista con los nombres de los usuarios (que aparecen en /etc/passwd) que están
asignados a cada grupo. Aparecen separados por comas. Un mismo usuario
puede estar asignado simultáneamente a varios grupos, pero el principal será
aquel que figura en el campo correspondiente de /etc/passwd. No es necesario
incluirse en el grupo en el que se creó un usuario.
3.3 Control del espacio de disco:
El espacio libre de disco es totalmente crítico en UNIX, por lo que una de las tareas más habituales del
administrador será la de vigilar la ocupación que se está realizando de cada sistema de archivos.
Por otro lado suele ser normal que usuarios inexpertos del sistema, creen archivos para hacer pruebas y
después no los borren, ocupando innecesariamente grandes espacios de disco.
V. INSTALACIÓN DEL SISTEMA OPERATIVO.
5.1 Preparación para instalar Unix
Una vez que usted ha obtenido una distribución de Unix, estará preparado para instalar el sistema.
Esto supone cierto grado de planificación, sobre todo si en su ordenador se usan actualmente otros sistemas
operativos. En las secciones siguientes describiremos cómo preparar la instalación de unix de forma general.
5.1.1 Visión general de la instalación
A pesar de ser diferente cada distribución de Unix, el método utilizado para instalar el software es, en general,
como sigue:
1. Reparticiones su(s) disco(s) duro(s). Si usted tiene instalados otros sistemas operativos, necesitará
reparticionar los discos con el fin de reservar espacio para Linux. Esto se tratará más adelante en la Sección
2.2.4.
2. Arranque la instalación de Unix. Cada distribución de Unix incluye algo para arrancar inicialmente e
instalar el software, usualmente un diskette de arranque. Arrancando de esta forma, usted entrará en un
programa de instalación para el resto del software, o bien le permitirá seguir instalándolo a mano.
3. Cree las particiones para Unix. Después de reparticionar su disco para reservar espacio para Unix, debe
crear particiones de Unix en dicho espacio.
4. Cree los sistemas de ficheros y el espacio de intercambio. En este momento, debe crear uno o más sistemas
de ficheros, utilizados para guardar sus ficheros, en las particiones recién creadas. Además, si piensa usar
espacio de intercambio ("swap"), debe crear dicho espacio en una de las particiones para Unix.
5. Instale los programas en los sistemas de ficheros. Finalmente, debe instalar el software en sus nuevos
sistemas de ficheros. Después de esto, lo que queda es fácil si todo va bien.
La mayoría de las distribuciones de Unix proporcionan un programa de instalación que le guiará en cada paso
de la instalación, y automatiza algunos de esos pasos. Tenga en cuenta que cualquiera de los siguientes pasos
pueden estar automatizados o no, dependiendo de la distribución.
La distribución Slackware de Unix, explicada en este libro, solo requiere que reparticione su disco, utilizando
fdisk, y use el programa setup para completar los restantes pasos.
15
Un consejo importante: Mientras instala Unix, lo mejor que le podemos aconsejar es que tome notas durante
todo el procedimiento de instalación. Escriba todo lo que haga, todo lo que escriba y todo lo que vea y pueda
no parecerle normal. La idea aquí es simple: si usted tiene (¡o cuando tenga!) problemas, usted querrá poder
retroceder sus pasos y encontrar qué hizo mal. Instalar Unix no es difícil, pero hay que recordar
continuamente muchos detalles.
5.2 Instalación del software de UNIX
Después de modificar sus particiones para reservar espacio a Unix, usted está preparado para instalar el
software. A continuación se muestra un resumen del procedimiento a seguir:
o Arrancar con el dispositivo de arranque de unix (disquete);
o Ejecutar fdisk bajo Unix para crear las particiones de Unix;
o Ejecutar mke2fs y mkswap para crear los sistemas de ficheros y el espacio de intercambio;
o Instalar el software de Unix;
o Finalmente, instalar el cargador LILO en el disco duro, o crear un disco de arranque con el fin de arrancar su
nuevo sistema Unix.
Como hemos dicho, uno (o más) pasos de los anteriores pueden estar automatizados por los programas de
instalación, según la distribución que esté utilizando. Por favor, consulte la documentación de su distribución
para ver las instrucciones específicas.
5.3 Arranque de UNIX
El primer paso es iniciar el computador con el dispositivo de arranque de Unix, que suele ser un disco "boot"
que contiene un pequeño sistema Unix. Tras arrancar con el floppy, se le presentará un menú de instalación de
algún tipo que le guiará en el proceso de instalación. En otras distribuciones, se le mostrara un prompt de
login cuando arranque. Aquí se suele entrar como root o install para comenzar el proceso de instalación.
La documentación que viene con su particular distribución le explicará qué necesita para arrancar Unix.
La mayoría de las distribuciones de Unix utilizan un disquete de arranque que le permite introducir
parámetros de su hardware en tiempo de arranque, para forzar la detección de sus dispositivos.
5.3 Instalación del software
Finalmente, ya está preparado para instalar el software en su sistema. Cada distribución tiene una forma
distinta de hacerlo. Muchas tienen un programa que le guía paso a paso en este proceso. En otras, usted tendrá
que montar sus sistemas de ficheros en un directorio (como /tmp) y copiar el software a éste a mano. En las
distribuciones en CD−ROM puede seguir la opción de instalar una parte de lo que contiene en su disco duro y
dejar el resto (la mayor parte) en el CD−ROM.
Algunas distribuciones ofrecen diversos mecanismos para instalar el software. Por ejemplo, puede instalarlo
directamente desde una partición MS−DOS de su disco duro, en lugar de hacerlo desde los disquetes. O
incluso puede hacerlo a través de una red TCP/IP mediante FTP o NFS. Consulte la documentación de la
distribución para ver detalles.
El método exacto para instalar el software de Unix difiere en gran parte según la distribución. Confiamos en
16
que instalar el software de Unix es autoexplicativo, como sucede con la mayoría de las distribuciones.
• CONCLUSIÓN
OPINION PERSONAL ACERCA DEL SISTEMA OPERATIVO UNÍS Y FUTURO DEL SISTEMA
OPERATIVO.
En los más de 20 años que Unix ha estado en el medio computacional, ha evolucionado en forma sostenida
para satisfacer las necesidades cambiantes de los usuarios.
En sus versiones iniciales, la interfase con el usuario no era del todo amigable, sin embargo, ahora con los
ambientes gráficos, es posible bajo Unix ejecutar aplicaciones con sólo colocar y presionar un botón del
mouse.
Ahora, hay cientos de miles de sistemas operativos Unix instalados en todo el mundo, y cada vez más
fabricantes de equipo ofrecen alguna versión de Unix en sus máquinas.
Respecto a su crecimiento, una firma importante de consultoría proyecta que Unix tendrá entre el 15 y 20% de
participación en el mercado de software a la llegada de 1995, en comparación con la participación del 3%
lograda en 1991.
En inversiones de hardware, la firma proyecta que Unix tendrá cerca de 50% del mercado para 1995, y sus
únicos competidores importantes serán Windows de Microsoft y sistemas NT. En un sistema multiusuario
real, Unix aniquilará realmente a los demás.
El futuro de Unix, aunque sigue estando sujeto a mucha especulación, se contempla promisorio, y seguirá
volviéndose aún más brillante, conforme se vuelven más compatibles las diferentes versiones de este sistema
operativo que existe en el mercado.
Con más de dos millones de sistemas instalados para 1991, Unix se encuentra en referencia en la industria de
la computación. El mercado mundial combinado de todos los productos para Unix en 1990 fue de $8.2 miles
de millones de dólares, donde el participante principal fue Estados Unidos.
Por lo que los fabricantes deben hacer el sistema más similar a productos de DOS a fin de mantenerse en la
línea de batalla. El hecho de Unix ser un sistema abierto, en nuestra opinión le da un índice elevado de seguir
en el Mercado de los sistemas operativos, ofreciendo buenas expectativas a sus usuarios.
VII BIBILIOGRAFIA
INTRODUCCIÓN AL UNIX. RACHEL MORGAN. 1991
WWW. MUNDOUNIX.COM
WWW.ELPRISMA.COM
WWW.UNIX.DIGITAL.COM
WWW.UNIX−SYSTEM.ORG
WWW.UNIXSUP.COM
MANUAL DE UNIX
17
24
Figura 2. Arquitectura del Sistema Unix
Otra Forma de Arquitectura Unix
INTERFAZ GRAFICA
Y
LINEA DE COMANDOS
SHELL: Interpreta
Y/O
Envía instrucciones al núcleo
NUCLEO:
Asigna recursos
Y
Controla procesos
IMPRESORA
PANTALLA
18
ARCHIVO
19
UTILIDAD
20
Descargar