Fundamentos del Sistema Operativo UNIX: Ficheros, Procesos y Tareas Programadas

Clasificado en Informática

Escrito el en español con un tamaño de 4,17 KB

Gestión de Archivos y Directorios en UNIX

Los directorios no contienen los archivos propiamente dichos, sino los nombres de los archivos que les pertenecen junto con su número de i-nodo. Para acceder a un archivo, basta con consultar la entrada del directorio, encontrar su número de i-nodo, y luego buscar el i-nodo correspondiente en la tabla de i-nodos para obtener toda la información relativa al archivo.

Originalmente, cada entrada de directorio tenía una longitud de 16 bytes: dos bytes para el número de i-nodo y catorce bytes para el nombre. Aunque el formato pudo haberse ampliado para permitir nombres más largos, el principio fundamental sigue siendo el mismo.

Organización del Disco Duro en Sistemas UNIX

La estructura de un disco duro en sistemas UNIX se compone de las siguientes partes:

  • Bloque de Arranque

    Contiene lo necesario para iniciar el sistema, pero no incluye componentes del sistema operativo propiamente dicho.

  • Superbloque

    Contiene el resumen del sistema de archivos.

  • I-nodos

    Serie de bloques donde los i-nodos de todos los ficheros se almacenan de forma contigua en el disco. Cuando se menciona la "lista de i-nodos", se hace referencia a un array en disco donde cada elemento es el i-nodo de un fichero.

  • Bloques de Datos

    Contienen los datos de los ficheros.

Procesos en Sistemas Operativos UNIX

Un proceso es un programa en ejecución con una tarea específica que realizar.

Ejemplos de Procesos del Sistema

Algunos procesos que siempre están presentes en el sistema son:

  • Cuando un terminal está esperando por el inicio de sesión (login), se está ejecutando el proceso /etc/getty.
  • Cuando existe una sesión en un terminal, un proceso sh (shell) está atendiendo las órdenes del usuario.
  • El sistema de impresión es atendido por el proceso /usr/lib/spched.
  • Las peticiones del sistema operativo son atendidas por el proceso /etc/init.

Cada vez que el usuario solicita al shell que ejecute una orden, esta se ejecuta como un proceso separado.

Procesos Foreground y Background

Cuando un proceso interactúa directamente con un terminal (pantalla/teclado), se denomina proceso en foreground (primer plano). Sin embargo, también es posible ejecutar órdenes en background (segundo plano) o con "prioridad subordinada".

Un proceso se ejecuta en background cuando se lanza con el símbolo & al final de la orden. Al hacerlo, el sistema devuelve el número de identificación del proceso (PID).

Información y Gestión de Procesos

Para obtener información detallada sobre los procesos en ejecución, se utiliza la orden ps.

Uso Básico de ps

$ ps

Opciones Comunes de ps

  • -f: Visualiza una lista extendida de campos.
  • -e: Muestra todos los procesos existentes en el sistema.
  • -l: Presenta una lista completa de los campos disponibles.
  • -t ttys: Lista los procesos asociados al terminal especificado.

Campos Comunes de Salida de ps

  • UID: Identificador del usuario que ha solicitado la ejecución del proceso.
  • PID: Identificador único del proceso.
  • PPID: Identificador del proceso padre.

Programación de Tareas con at

La orden at permite programar la ejecución de una tarea en un momento específico.

La salida de la tarea programada se envía al correo electrónico del usuario que la programó.

Formas de Invocar at

Esta orden se puede invocar de dos formas principales:

  • $ at hora [día]
  • $ at hora [día] < fichero_comandos (para redirigir la entrada desde un fichero)

Entradas relacionadas: