Administración de Memoria y Operaciones de E/S en Sistemas Operativos

Administración de la Memoria: Conceptos de Memoria Virtual

Ventajas de la Memoria Virtual

  • Presenta una memoria aparentemente mayor que la memoria física real: Permite tener programas con una capacidad de direccionamiento mayor que la capacidad de direccionamiento física del ordenador.
  • Ejemplo en Pentium: Permite programas de hasta 64TiB con una memoria de 512MiB; permite tener muchos más procesos en la memoria ejecutándose concurrentemente que los que caben físicamente.

Funcionamiento de la Memoria Virtual

  • Se mantiene una copia completa del proceso en disco y en la memoria únicamente se tiene una parte del proceso (la parte activa).
  • Si se intenta acceder a una parte del proceso que no está en memoria, se produce una interrupción de fallo de página, se accede a disco y se copia esa parte a la memoria.

Localidad de las Referencias

  • En la ejecución de un proceso, las direcciones de la memoria a las que se accede durante un corto periodo de tiempo (partes activas) suelen estar localizadas en zonas pequeñas de la memoria.
  • Fallo de página:
    • Localidad temporal: Se copia el contenido de la dirección de disco a la memoria.
    • Localidad espacial: Se copia el contenido de las direcciones contiguas de disco a la memoria.

Gestión de Memoria Paginada

  • En disco, se mantiene un archivo con la imagen completa del proceso troceado en páginas.
  • En memoria, únicamente se carga la página que se está ejecutando.
  • Se intercambian páginas entre disco y memoria cuando sea necesario.

Consideraciones en la Gestión de Memoria Virtual

  • ¿Qué páginas deben cargarse en memoria?: Paginación por demanda; Asignación previa (localidad espacial).
  • ¿Qué página debe sustituirse si hay un fallo de página?: Sustitución con alcance local; Sustitución con alcance global.
  • Algoritmos de sustitución: LRU (Least Recently Used) (localidad temporal); FIFO (First In First Out); NRU (Not Recently Used); Reloj (la más antigua no utilizada recientemente).

Tamaño de Página y Segmentación

  • Tamaño de página grande: Reduce la tasa de fallos; Mejora la eficiencia de los accesos a disco.
    • Desventajas:
    • Aumenta la fragmentación interna.
  • Segmentación:
    • Los procesos se dividen en segmentos de tamaño variable.
    • Un segmento es un grupo lógico de información (código, pila y datos).
    • Cada segmento se carga en una zona.

Gestión de la Entrada/Salida (E/S)

Función y Objetivos

Función: Administrar y controlar las operaciones de E/S y los periféricos de E/S.

Objetivos:

  • Permitir simultanear las operaciones de E/S con la ejecución de procesos, ya que las operaciones de E/S son lentas en comparación con el procesador.
  • Utilizar los periféricos eficientemente, ya sean de uso exclusivo, compartidos o virtuales.
  • Programar las operaciones de E/S con independencia del dispositivo, dada la amplia variación en la función y velocidad de los dispositivos de E/S (ratón vs. disco duro).
    • Ejemplo:
    • numero = read (descrip. archivo, zona, numB)
    • Se abstraen los complejos detalles requeridos por el hardware para hacer la lectura.

Proceso de Usuario o Shell

  • Solicita una operación de E/S mediante una llamada al sistema, lo que genera una interrupción programada.
  • El sistema operativo pasa el proceso a bloqueado o preparado.
  • El sistema operativo inicia la operación de E/S (órdenes al controlador de periférico).
  • El sistema operativo (distribuidor) pasa un proceso preparado a activo.

Sistema de Gestión de E/S (Sistema Operativo)

Estructuras de Datos

  • Zona de E/S (búfer) por dispositivo.
  • Tabla de estado de dispositivos con una entrada por dispositivo:
    • Tipo de dispositivo.
    • Dirección.
    • Estado (apagado, libre, ocupado).
    • Dirección de la zona de E/S.
    • Datos de la solicitud de operación de E/S activa.
    • Cola de solicitudes pendientes.

Servicios Proporcionados

  • Planificación de operaciones de E/S.
  • Uso de zonas de E/S (búfer).
  • Uso de cachés.
  • Uso de spool (impresoras).
  • Configuración e inicialización de los drivers.
  • Gestores de dispositivo o drivers:
    • Presentan al subsistema de E/S del sistema operativo una interfaz de acceso a dispositivos uniforme.
    • Se encargan de inicializar y controlar el periférico (mediante instrucciones concretas para interactuar con el hardware).
    • Atención de interrupciones y detección de estado del periférico.

Controlador de Dispositivo

Registros de propósito especial:

  • Puertos de estado.
  • Puertos de control.
  • Puertos de entrada y salida de datos.

Funciones de los Puertos

  • Puertos de estado: Indican al driver el estado. Por ejemplo:
    • La orden actual ya se ha ejecutado.
    • Hay información disponible en el registro de entrada de datos.
    • Ha habido un error.
  • Puertos de control: Reciben órdenes del driver. Por ejemplo:
    • Transferir datos entre el periférico y el sistema operativo.
    • Iniciar el periférico.
    • Habilitar verificación de paridad.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.