- Aspectos Generales
- Carga del Sistema
- Ingreso del usuario
- El intérprete de comandos (Shell)
- Comandos del sistema
- Llamadas al sistema
- Sistema de ficheros
- Bibliografía
Aspectos Generales
El UNIX es un sistema de tiempo compartido para uso interactivo (multiusuarios). Su operatoria se basa en la multiprogramación. La idea fundamental es la existencia de varios usuarios, cada uno en una terminal, teniendo en memoria un proceso en ejecución. No obstante lo anterior, un usuario puede, desde su terminal, utilizar a UNIX como un sistema multiprogramado de propósito general, ejecutando varios programas a la vez como procesos independientes. A este efecto los comandos tecleados en la consola se terminan en &.
Es conocido que el sistema operativo UNIX no tiene una definición e instrumentación única, ya que han existido numerosos grupos que lo han desarrollado históricamente. Básicamente, existen dos tendencias fundamentales: los desarrollos de la Bell (Sistema V) y los realizados en la universidad de Berkeley (4 BSD), siendo estos incompatibles en algunos sentidos.
Un intento de estandarización lo constituyó los documentos emitidos por un respetado comité bajo los auspicios de la IEEE y que condujeron a los documentos conocidos como POSIX (Sistema Operativo Portable UNIX). Una aplicación elaborada bajo estos conceptos debe ser ejecutable en cualquier versión.
El UNIX, como todo sistema operativo brinda facilidades tanto a los usuarios como a los programas de los usuarios y por ello dispone de:
? Programas del usuario (Llamados utilidades, tales como interface de comandos, editores, manejo de ficheros, etc).
? Llamadas al sistema.
El lenguaje oficial es el C y dado que este no incluye los mecanismos para las llamadas al sistema, se dispone de una biblioteca con un procedimiento para cada una de ellas. Estos procedimientos están programados en ensamblador y son los que se utilizan en los programas.
Debido a lo antes indicado se puede afirmar que en UNIX existen tres interfaces. Estas son:
? Las llamadas al sistema.
? La interfaz de biblioteca.
? Los programas del sistema.
Carga del Sistema
Cuando el UNIX es cargado, el núcleo de este moldea un proceso llamado Init que tome el control de ejecución. Este proceso busca el archivo ttys localizado en el archivo (/etc/ttys) que contiene el número de terminales de que dispone el sistema de cómputo y proporciona cierta información que describe a cada una.
A continuación el proceso Init crea por cada terminal un hijo y se bloquea en espera de la terminación de esta. Cada hijo creado por el Init sustituye su imagen por la de un programa llamado login, el que pondrá en la pantalla
login:
a los efectos de que un usuario proceda a identificarse.
Por su puesto, la secuencia antes explicada ocurrirá con cada terminal que se incorpore a la operación.
Ingreso del usuario
Cuando un usuario se sienta en la terminal y teclea un nombre, el programa login solicita a continuación una contraseña. Este programa verifica lo tecleado por el usuario. A estos efectos, cifra primero la contraseña para su búsqueda en el archivo de contraseñas. Si la información es correcta, entonces login sustituye su imagen con el intérprete de comandos o Shell y como consecuencia aparecerá en pantalla el indicador (prompt) correspondiente ($, %, etc). Si no es correcta, login continuará solicitando otro nombre de usuario.
El comportamiento antes referido, en cuanto a la identificación del usuario, es necesario a los efectos de brindar protección en el acceso a los ficheros.
Para conservar la información de los usuarios autorizados a trabajar en el sistema se mantiene en el subdirectorio etc un fichero con nombre password (/etc/password). Este fichero no es oculto, pero la protección se mantiene por medio del cifrado de las palabras claves.
Este fichero contiene un renglón por cada usuario conteniendo: nombre de entrada del usuario, numero de identificación, contraseña cifrada, directorio de trabajo y otras informaciones.
UNIX establece una diferencia entre dos tipos de usuario: ordinarios y superusuarios. El segundo se presupone que constituya el administrador del sistema y es el único autorizado a modificar el fichero de contraseñas.
El superusuario tiene el poder de leer y escribir en todos los ficheros, sin importar quien los posea o la forma en que estén protegidos.
Cada usuario registrado en el sistema tiene, asignado por el superusuario, un numero de identificación que se encuentra almacenado en el fichero de contraseñas. Después del reconocimiento inicial del nombre y la palabra clave, el resto del procesamiento se lleva a cabo con este número (uid). El superusuario tendrá uid=0. De igual forma, existirán las identificaciones de pertenencia de los usuarios a grupos (gid).
Cada proceso adquiere automáticamente el uid y el gid de la persona que lo creó. Los procesos con uid cero tienen la capacidad de realizar llamadas al sistema que le están negadas a los ordinarios. Los mecanismos de protección de acceso a los ficheros se basan en el uid y el gid del proceso que lo intenta.
Los aspectos referentes en cuanto a la carga del sistema y la entrada de los usuarios se reduce en el siguiente esquema:
Página siguiente |