Arquitectura de Sistemas Operativos: Estructura, Procesos y Gestión de Archivos

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 565,22 KB

n+7dSAAAAAAIMjfepCLIgkGAGAnfDg4P4yvgfwAAAAASUVORK5CYII=

Organización del Sistema Operativo

Capa de Abstracción del Hardware (HAL)

La HAL aísla el sistema operativo de las diferencias de hardware específicas de cada plataforma. El SO emite órdenes que pasan por la HAL, la cual las “transforma” para que el hardware específico las entienda; recíprocamente, el hardware envía señales al SO a través de la HAL. De este modo, se elimina la dependencia directa entre el SO y el hardware.

Núcleo (Kernel)

Está formado por los componentes más fundamentales y utilizados del sistema operativo, tales como:

  • Planificación de hilos.
  • Cambios de contexto.
  • Gestión de excepciones e interrupciones.
  • Sincronización de microprocesadores.

Controladores de Dispositivos

Incluye los drivers que traducen las llamadas a funciones de Entrada/Salida (E/S) del usuario en peticiones específicas para los dispositivos de hardware.

Sistema Ejecutivo

Contiene los servicios básicos del sistema operativo, incluyendo la gestión de memoria, la gestión de procesos e hilos, seguridad, E/S y comunicación entre procesos.

Procesos de Usuario

Procesos de Soporte de Sistemas Especiales

Incluyen procesos críticos como el inicio de sesión y la gestión de sesión.

Procesos de Servicio

Engloban otros servicios del sistema, como el registro de sucesos (logs).

Subsistemas de Entorno

Ofrecen servicios nativos de Windows a las aplicaciones de usuario, proporcionando un entorno de SO. Cada subsistema incluye DLLs (bibliotecas de enlace dinámico) que convierten las llamadas de las aplicaciones en instrucciones interpretables por Windows.

Aplicaciones de Usuario

Son programas que se ejecutan sobre el SO. Pueden ser de diversos tipos: Win32, POSIX, OS/2, MS-DOS, entre otros.

Conceptos Fundamentales de Operación

  • Archivo: Unidades lógicas de información creadas por los procesos. Representan un espacio de direcciones lógicas contiguas y actúan como un mecanismo de abstracción.
  • Modo de Usuario: Ofrece un conjunto limitado de instrucciones que restringen el acceso a elementos críticos del sistema. El cambio a este modo implica una pérdida de privilegios.
  • Modo Núcleo (Kernel Mode): El software tiene control completo sobre el procesador, sus instrucciones, registros y memoria. El cambio a este modo ocurre cuando un proceso ejecuta una llamada al sistema o una interrupción.

Modelo Cliente/Servidor

Cada subsistema de entorno y del servicio ejecutivo se implementa como uno o más procesos que esperan solicitudes de clientes. Un cliente (aplicación u otro módulo del SO) solicita un servicio enviando un mensaje, el cual es encaminado por el sistema ejecutivo hasta el servidor apropiado. El servidor ejecuta la operación y devuelve el resultado.

Ventajas del Modelo

  • Simplificación: Facilita la estructura del sistema ejecutivo.
  • Extensibilidad: Permite construir diversas API y añadir nuevas interfaces fácilmente.
  • Fiabilidad: Cada módulo se ejecuta como un proceso separado con su propia partición de memoria. Si un cliente falla, no corrompe el resto del sistema.
  • Escalabilidad: Proporciona una base adecuada para la computación distribuida.

Gestión de Archivos: Nodos-i

En sistemas como Linux, se asocia a cada archivo una estructura de datos llamada nodo-i (nodo índice), que contiene los atributos y las direcciones de disco de los bloques del archivo.

Ventajas y Desventajas

  • Ventaja: El nodo-i solo reside en memoria cuando el archivo está abierto.
  • Desventaja: Tienen espacio fijo. Para archivos grandes, se utilizan mecanismos de direccionamiento indirecto (bloques simplemente, doblemente o triplemente indirectos) para localizar todos los datos.

Tipos de Enlaces

  • Enlace Duro (Hard Link): Los directorios apuntan al mismo nodo-i. Si el propietario elimina el archivo, el nodo-i debe mantenerse mientras existan enlaces activos para evitar referencias inválidas.
  • Enlace Simbólico (Soft Link): Es un archivo tipo LINK que contiene la ruta del archivo original.
    • Desventajas: Quedan obsoletos si el original se borra o mueve; requieren procesamiento adicional y un nodo-i extra.
    • Ventaja: Permiten enlazar archivos a través de la red.

Estructura de Almacenamiento y NTFS

  • Sector de Arranque de Partición: Contiene información del volumen y el código básico para iniciar el SO, además de un puntero a la MFT.
  • MFT (Master File Table): El corazón de NTFS. Contiene la ubicación de los archivos y todos sus atributos.
  • Archivos de Sistema: Gestionan el espacio libre y el registro de transacciones.
  • Área de Archivos: Espacio donde se almacenan los datos del usuario.

Gestión de Procesos

Un proceso es un programa en ejecución. Es una unidad de actividad caracterizada por una secuencia de instrucciones, un estado actual y recursos asociados.

Diferencia entre Programa y Proceso

  • Programa: Es pasivo (código y datos en disco).
  • Proceso: Es activo (incluye pila, registros y contador de programa en ejecución).

Modelo de Cinco Estados

  1. Nuevo: Proceso recién creado, aún no admitido en el grupo de ejecutables.
  2. Listo: Preparado para ejecutarse.
  3. Ejecución: Actualmente en uso del procesador.
  4. Bloqueado: Esperando un suceso (como una operación de E/S).
  5. Terminado: Excluido de los ejecutables; el SO mantiene sus datos temporalmente antes de borrarlos.

Modelo de Siete Estados (Intercambio/Swapping)

Añade el estado Suspendido para gestionar procesos expulsados de la memoria principal hacia la secundaria:

  • Listo y Suspendido: En memoria secundaria, listo para cargar y ejecutar.
  • Bloqueado y Suspendido: En memoria secundaria, esperando un suceso.

Estructuras de Control del Sistema Operativo

El SO mantiene tablas para administrar entidades:

  • Tablas de Memoria: Rastrean la memoria real y virtual.
  • Tablas de E/S: Administran dispositivos y canales asignados.
  • Tablas de Archivos: Información sobre existencia, ubicación y estado de archivos.
  • Tablas de Procesos: Identifican y gestionan cada proceso mediante un PID.

Bloque de Control del Proceso (PCB)

El PCB es la estructura de datos más importante. Contiene la identificación del proceso, el estado del procesador y la información de control. Junto con el programa, los datos y la pila, forma la imagen del proceso.

Cambio de Proceso

Ocurre cuando el SO toma el control mediante:

  • Interrupción: Externa al proceso (reloj, E/S, fallo de memoria).
  • Trap: Error o excepción generada dentro del proceso.
  • Llamada al Sistema: Solicitud voluntaria del proceso al SO que lo mueve al estado bloqueado.

8p84l2kayeXjCQAAAABJRU5ErkJggg==

5trhXP2ruc0y5vEoATaWzyBmF0w5UzWfBGoVAoTidKqCvOeuSUN1nYAidqzcvmd37N5nW5tCtr8Rx4N1orlzcAsqlfoVAoxgJKqCsUCoVCcY6gVBCFQqFQKM4RlFBXKBQKheIcQQl1hUKhUCjOEf4bY5Yu9AxRGfQAAAAASUVORK5CYII=

Entradas relacionadas: