Fundamentos de Sistemas Operativos: Hardware, Software y Virtualización

Plataformas de Ejecución y la Nube

Plataformas de Ejecución

Las plataformas de ejecución son conjuntos de recursos interconectados que permiten la ejecución de operaciones. Deben cumplir requisitos no funcionales como:

  • Prestaciones: Tiempo de respuesta eficiente.
  • Disponibilidad: Acceso continuo a los recursos.
  • Tolerancia a fallos: Capacidad de recuperarse ante errores.
  • Escalabilidad: Adaptación a cargas de trabajo variables.

Existen diferentes arquitecturas de plataforma:

  • Computador + red local.
  • Varios computadores locales + red externa.
  • Varios ordenadores remotos + red externa (la nube).

La Nube

La nube ofrece ventajas económicas significativas:

  • Coste: Modelo de pago por uso.
  • Elasticidad: Ajuste de recursos según la demanda.
  • Infraestructura fiable: Alta disponibilidad y seguridad.
  • Servicios garantizados: Acuerdos de nivel de servicio (SLA).
  • Personal experto: Soporte técnico especializado.

Requisitos No Funcionales de los Sistemas

Los sistemas deben cumplir requisitos no funcionales que imponen restricciones sobre sus servicios:

  • Prestaciones: Tiempo de respuesta adecuado.
  • Disponibilidad: Acceso constante al sistema.
  • Seguridad: Protección de la información y control de acceso.
  • Tratamiento de fallos: Recuperación ante errores.
  • Escalabilidad: Adaptación a la demanda.

Controladores, Memoria y Memoria Virtual

Controladores

Un controlador es un componente de hardware que permite al sistema operativo gestionar la interacción con dispositivos de entrada/salida (E/S). Los controladores utilizan registros para la comunicación con la CPU:

  • Registro de entrada.
  • Registro de salida.
  • Registro de estado.
  • Registro de control.

Existen dos formas de interacción entre la CPU y los controladores:

  • Consulta (Polling): La CPU espera a que el dispositivo E/S termine su operación antes de continuar.
  • Interrupción: La CPU realiza otras tareas mientras el dispositivo E/S trabaja y es interrumpida cuando la operación finaliza.

Memoria Central

La memoria central, basada en la arquitectura de Von Neumann, almacena la información de los programas en ejecución. Se comunica con la CPU y los dispositivos E/S a través de buses:

  • Bus de direcciones.
  • Bus de datos.
  • Bus de control.

Tipos de Memoria

Las memorias se organizan jerárquicamente según su velocidad, capacidad y coste:

  • Registros: Memoria volátil de alta velocidad y baja capacidad.
  • Caché: Memoria intermedia entre la CPU y la memoria principal.
  • RAM: Memoria volátil de gran capacidad gestionada por el sistema operativo.
  • Discos ópticos: Memoria no volátil de gran capacidad.
  • Cintas magnéticas: Memoria no volátil de gran capacidad y bajo coste, utilizada para copias de seguridad.

Memoria Virtual

La memoria virtual permite ejecutar programas que no caben completamente en la memoria central. Utiliza un sistema de paginación para traducir direcciones lógicas a físicas. La MMU (Unidad de Gestión de Memoria) se encarga de esta traducción y gestiona las páginas de memoria.

Sistemas de Archivos, Sockets y Procesos

Montaje de Ficheros

El montaje de ficheros permite al sistema operativo interactuar con un sistema de archivos. Proporciona información para la gestión de archivos, el acceso a directorios y la asociación de la jerarquía del sistema de archivos a un punto del árbol de directorios del sistema.

Sockets

Los sockets son una abstracción que permite la comunicación entre procesos, incluso en sistemas remotos. Se basan en el modelo cliente/servidor y utilizan direcciones IP y puertos para identificar los procesos. Los sockets permiten enviar mensajes de forma fiable y segura.

Procesos y Hilos

Los procesos son unidades de ejecución con su propio espacio de memoria y recursos. Los hilos son unidades de ejecución más ligeras que comparten los recursos de su proceso. Los hilos son más rápidos de crear y cambiar de contexto, lo que mejora la eficiencia del sistema.

Hipervisores y Arranque del Sistema

Hipervisores

Los hipervisores permiten crear y gestionar máquinas virtuales. Existen dos tipos de hipervisores:

  • Hipervisor Tipo 1: Se ejecuta directamente sobre el hardware y ofrece mayor eficiencia.
  • Hipervisor Tipo 2: Se ejecuta sobre un sistema operativo y ofrece mayor flexibilidad.

La virtualización ligera o contenedores proporciona una máquina virtual con la interfaz del sistema operativo anfitrión. En Linux, se basa en tecnologías como KVM, cgroups y namespaces.

Arranque del Computador

El arranque del computador requiere un disco o partición con el código del sistema operativo, los archivos de configuración y el sistema de archivos. La ROM del sistema toma el control al inicio y selecciona el disco de arranque. Luego, carga el núcleo del sistema operativo y le transfiere el control para su ejecución.

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.