Fundamentos del Sistema Operativo: Conceptos, Funciones y Arquitecturas Esenciales

Clasificado en Informática

Escrito el en español con un tamaño de 5,07 KB

¿Qué es un Sistema Operativo?

Un sistema operativo es un programa fundamental que se instala para administrar el hardware de un equipo y servir como base para agregar otros programas o aplicaciones. Esto permite que nuestro sistema realice tareas más complejas y eficientes.

Sistema Operativo: Es un conjunto de programas diseñados, entre otras cosas, para facilitar la transmisión de órdenes a la máquina de forma sencilla.

El sistema operativo mantiene una íntima relación con los dispositivos del equipo o máquina. Su diseño, arquitectura y estructura dependen directamente del hardware sobre el que se ejecuta.

Sistema Embebido: Es una combinación de hardware de cómputo y software que puede presentar partes mecánicas adicionales. Está diseñado para ejecutar una función específica y usualmente incorpora un sistema operativo de tiempo real.

Hardware: Conjunto de componentes físicos de un ordenador o de otro sistema informático.

Funciones Clave de un Sistema Operativo

El sistema operativo actúa como una máquina virtual que abstrae la capa de hardware. Es más fácil programar el sistema operativo que el hardware directamente, lo que resulta más productivo para un programador.

El sistema operativo asigna los recursos (hardware y software) a los programas que en un momento dado se encuentran en ejecución en la máquina.

Los principales recursos del hardware son el procesador o CPU, la memoria, el almacenamiento en disco y los dispositivos de entrada/salida.

Además, el sistema operativo actúa como programa de control que administra la ejecución de los programas de usuario y previene el mal uso del dispositivo.

Interacción con el Usuario y Gestión de Tareas

Monousuario:
Solo puede ser utilizado por un único usuario a la vez.
Multiusuario:
Puede ser utilizado por más de un usuario de forma concurrente.

El usuario ejecuta programas o aplicaciones y puede interactuar con el sistema operativo a través de la Shell. Esta permite ejecutar programas que forman parte del sistema operativo, invocándolos mediante órdenes de comandos que se escriben en una consola.

Si el sistema operativo permite la ejecución de más de un programa de manera concurrente (simultánea), se dice que es multitarea. Si el hardware es monopolizado por un único programa, se denomina monotarea.

El Núcleo (Kernel) del Sistema Operativo

El sistema operativo posee un núcleo o kernel de programas que se encargan de la administración de los recursos de hardware de la máquina.

Arquitecturas de Sistemas Operativos

Monolítica:
Todo el sistema operativo se ejecuta como un solo programa en modo kernel.
Sistema de Capas:
El sistema operativo se organiza en una jerarquía de capas, donde cada capa ofrece servicios a la capa superior y utiliza los de la inferior.
Microkernels:
El sistema operativo se divide en módulos más pequeños. Solo uno se ejecuta en modo kernel y el resto, como procesos de usuario.
Modelo Cliente-Servidor:
Los procesos se diferencian en servidores que proporcionan ciertos servicios y clientes que disponen de esos servicios.
Máquinas Virtuales:
Se ejecuta un monitor de máquinas virtuales que proporciona copias virtuales del hardware al resto de los procesos. En cada una de las máquinas virtuales se ejecuta un sistema operativo independiente.
Exokernels:
Un programa se ejecuta en modo kernel, asignando los recursos directamente a máquinas virtuales, permitiendo a estas gestionar sus propios recursos de bajo nivel.

Componentes Principales de un Sistema Operativo

  1. Administrador de Procesos
  2. Administrador de Memoria
  3. Administrador de Ficheros
  4. Administrador de la Entrada/Salida (E/S)
  5. Administrador de la Red
  6. Seguridad
  7. Intérprete de Comandos

Administrador de Procesos

El procesador, también llamado CPU (Unidad Central de Procesamiento), ejecuta las instrucciones que componen un programa.

Un proceso es un programa en ejecución.

Para su ejecución, un proceso requiere:

  • Tiempo del procesador para ejecutar las instrucciones del programa.
  • Memoria donde almacenar estas instrucciones y los datos con los que opera.
  • Generalmente, almacenamiento en disco o en una tarjeta flash.
  • Comunicación con los dispositivos de entrada/salida de datos.

Multiplexado: Consiste en asignar a cada proceso un intervalo o cuanto de tiempo de uso de la CPU, permitiendo la ilusión de ejecución simultánea.

Entradas relacionadas: