Funciones principales del sistema operativo
Un sistema operativo es como el director de orquesta de un ordenador: coordina todos los recursos y procesos para que trabajen de forma ordenada y eficiente.
Podemos agrupar sus funciones en seis grandes bloques:
1. Gestión de procesos #
-
Qué hace: administra la ejecución de programas.
-
Controla:
- Creación y finalización de procesos.
- Asignación de CPU a cada proceso.
- Ejecución concurrente (multitarea).
-
Ejemplo: cuando tienes abiertas a la vez Spotify, un navegador y un procesador de texto, el SO reparte tiempo de CPU entre ellos para que parezca que funcionan en paralelo.
2. Gestión de memoria #
-
Qué hace: decide cómo se reparte la memoria RAM entre los programas.
-
Características:
- Asigna memoria a cada proceso.
- Protege la memoria de un programa frente a otro.
- Implementa memoria virtual (simular más RAM usando disco).
-
Ejemplo: abrir un juego de 8 GB en un PC con 4 GB de RAM es posible gracias a la memoria virtual.
3. Gestión de dispositivos de entrada/salida (E/S) #
- Qué hace: controla cómo los programas usan los dispositivos (teclado, ratón, impresora, disco, cámara, etc.).
- Usa drivers (controladores) para comunicarse con el hardware.
- Ejemplo: cuando conectas un USB, el SO instala o usa un controlador para que el sistema lo reconozca.
4. Sistema de archivos #
-
Qué hace: organiza y gestiona la información almacenada en discos.
-
Funciones:
- Crear, leer, modificar y borrar archivos.
- Agruparlos en carpetas o directorios.
- Garantizar seguridad (permisos).
-
Ejemplo: cuando guardas un documento en "Mis Documentos", el SO decide dónde escribirlo físicamente en el disco.
5. Seguridad y protección #
-
Qué hace: protege los recursos frente a accesos indebidos.
-
Características:
- Manejo de usuarios y contraseñas.
- Permisos de lectura, escritura y ejecución.
- Aislamiento entre procesos para evitar daños.
-
Ejemplo: en Linux, no puedes instalar software sin permisos de administrador (root).
6. Interfaz de usuario #
-
Qué hace: ofrece una forma de comunicarse con el sistema.
-
Tipos:
- CLI (Command Line Interface): línea de comandos (ej. Linux con Bash).
- GUI (Graphical User Interface): interfaz gráfica (ej. Windows, macOS).
-
Ejemplo: abrir un programa escribiendo un comando (
code .) o haciendo clic en un icono.
Resumen del tema
Conceptos clave #
- Administración de Procesos: asignación de tiempos de CPU mediante algoritmos de planificación y soporte de multitarea/concurrencia.
- Gestión de Memoria RAM: asignación de espacio de direcciones, protección y aislamiento entre procesos y memoria virtual (paginación/swap).
- Gestión de Entrada/Salida (E/S): mediación mediante controladores (drivers), buffers y colas de atención de periféricos.
- Sistema de Ficheros (File System): estructuración jerárquica de datos en directorios y asignación física en almacenamiento secundario.
- Seguridad y Control de Acceso: autenticación de usuarios, listas de control de acceso (ACL) y aislamiento de privilegios.
- Interfaces de Usuario: terminal de línea de comandos (CLI) e interfaces gráficas (GUI).
Qué debes recordar #
Las 6 funciones nucleares del SO coordinan el uso de CPU, memoria, almacenamiento, periféricos de E/S, seguridad e interacción con el usuario.