Unix

Comandos. Sincronización de procesos (pipes y fifos). Fork. Shell. Sistemas Operativos. Gestión de Usuarios. Puertos. Historia

  • Enviado por: El remitente no desea revelar su nombre
  • Idioma: castellano
  • País: República Dominicana República Dominicana
  • 31 páginas
publicidad
cursos destacados
Programacion en Prestashop
Programacion en Prestashop
Vídeo tutoriales para enseñar los apartados básicos en la programación dentro de Prestashop.
Ver más información

Aprende XML sin dolor
Aprende XML sin dolor
El lenguaje XML es un estándar en el intercambio de información en Internet. De esta simple...
Ver más información

publicidad

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 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 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

    El primer UNIX llamado Versión 1 o Primera edición, nace de las cenizas de MULTICS.

    1972-73

    Nace el C

    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.

    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

    Fabricante Creador

    Descripción

    LINUX

    Linux Torvalds

    Es un clon de Unix escrito desde cero por Linux Torvalds, con asistencia de otros muchos hackers en la red que soporta el software de libre distribución de GNU.

    FreeBSD

    Universidad Berkeley

    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

    NetBSD

    Universidad Berkeley

    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.

    AIX

    IBM

    Basado en el sistema operativo Unix System V. Basado en SVR2

    HP-UX

    HP

    Basado en el sistema operativo Unix System V

    SPARC-OS

    Tatung

    Basado en el sistema operativo UNIX BSD

    SunOS

    SUN

    Basado en el sistema operativo UNIX BSD. A partir de la versión 2 pasa a denominarse Solaris

    Solaris

    SUN

    Basado en el sistema operativo UNIX BSD

    XENIX

    Microsoft

    Basado en el sistema operativo Unix System V

    IDRIX

     

    Basado en el sistema operativo Unix System V

    System V

    AT&T

    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.

    ULTRIX

    DEC ahora COMPAQ

    Basado en el sistema operativo Unix System V

    SolOS

    Solobourne Computers

    Basado en el sistema operativo UNIX BSD

    Solinux

    SUN

    Basado en el sistema operativo Unix System V

    UnixWare

    Novell

     

    OSF/1

    DEC, HP, IBM

     

    Minix

    Andrew S. Tanenbaum

    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.

    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 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.

    Es desde estas tablas desde las que se apunta a los bloques físicos de los archivos dentro del disco.

    Unix

    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:

    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.

    Unix

    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.

    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 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:

    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 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 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

    Nombre con el que puede identificarse un usuario cuando el sistema el login a un terminal.

    contraseña

    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.

    user-id

    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.

    group-id

    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.

    comentario      

    Normalmente contiene información sobre el propietario del login, como puede ser su nombre completo, su dirección, etc.

    directorio

    Ruta completa del directorio HOME, en el que sitúa al usuario cuando tanto el identificativo como la contraseña son correctos.

    shell

    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

    Nombre asignado a ese grupo.

    contraseña      

    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.

    group-id

    Número que identifica al grupo internamente para el sistema. Se utiliza para comprobar los permisos al nivel de grupo.

    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.

    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 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

    24

    Figura 2. Arquitectura del Sistema Unix

    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

    Unix

    Unix

    ARCHIVO

    Unix

    Unix

    UTILIDAD

    Unix