FUNDAMENTOS DE LOS SISTEMAS OPERATIVOS
Fundamentos de los Sistemas Operativos
Los sistemas operativos son el corazón de cualquier dispositivo computacional, y entender sus bases es clave para dominar cómo funcionan nuestras máquinas. En esta entrada, repasaremos los temas fundamentales que vimos en el primer parcial de la materia.
Además de la gestión de recursos, menciona la abstracción del hardware. El SO proporciona una capa de abstracción que simplifica la forma en que las aplicaciones interactúan con el hardware.
¿Qué es un Sistema Operativo?
Es un software que actúa como intermediario entre el hardware de un equipo y los programas de aplicación. Su función principal es gestionar los recursos del sistema (procesador, memoria, almacenamiento, dispositivos de entrada/salida) y proporcionar una interfaz que permita a los usuarios y aplicaciones interactuar con el hardware de forma eficiente y segura.
Servicios del Sistema Operativo
- Gestión de errores: Detecta y maneja errores del hardware y software.
- Seguridad: Protege el sistema contra accesos no autorizados y malware.
- Contabilidad: Realiza un seguimiento del uso de los recursos para la facturación o la optimización.
Historia de los Sistemas Operativos
Su evolución comenzó en la década de 1950 con sistemas monocapa para mainframes, pasando por los sistemas por lotes en los años 60, los sistemas multitarea y multiusuario en los 70 (como UNIX), hasta llegar a los sistemas modernos de hoy en día (Windows, macOS, Linux, sistemas móviles como Android e iOS). Cada etapa respondió a la necesidad de aprovechar mejor los recursos y adaptarse a nuevos tipos de dispositivos.
- 1950s - Sistemas Monocapa: IBM 701.
- 1960s - Sistemas por Lotes: Uso de tarjetas perforadas, procesamiento secuencial.
- 1970s - Multitarea y Tiempo Compartido: UNIX (desarrollado en Bell Labs).
- 1980s - Sistemas Personales: MS-DOS, macOS.
- 1990s - Sistemas Gráficos y de Red: Windows 95, Linux.
- 2000s - Sistemas Modernos: Windows XP/7/10, macOS X, Linux
- Actualidad - Sistemas Móviles y en la Nube: Android, iOS, sistemas operativos para servidores en la nube.
Taxonomía de los Sistemas Operativos
Se clasifican según diversos criterios:
- Por tipo de dispositivo: de escritorio, móviles, embebidos, de servidores.
- Por número de usuarios: monousuario o multiusuario.
- Por número de tareas: monotarea o multitarea.
- Por arquitectura: monolíticos, microkernel, híbridos, entre otros.
Por Tipo de Dispositivo
Escritorio Windows, macOS, Linux (Ubuntu, Fedora).
Móviles Android, iOS.
Embebidos FreeRTOS, VxWorks (para dispositivos como lavadoras, coches, etc.).
Servidores Linux (Red Hat, CentOS), Windows Server.
Móviles Android, iOS.
Embebidos FreeRTOS, VxWorks (para dispositivos como lavadoras, coches, etc.).
Servidores Linux (Red Hat, CentOS), Windows Server.
Por Número de Usuarios
Monousuario Windows (versiones de escritorio), macOS.
Multiusuario Linux, UNIX, Windows Server.
Por Número de Tareas
Monotarea MS-DOS (versiones antiguas).
Multitarea Windows, macOS, Linux, Android, iOS.
Desventajas Difícil mantenimiento, fallos pueden ser críticos.
Microkernel
QNX, Minix.Ventajas Mayor modularidad, seguridad.
Desventajas Menor rendimiento debido a la comunicación entre componentes.
Híbridos
Windows NT (y versiones posteriores), macOS.Ventajas Combinación de eficiencia y modularidad.
Desventajas Complejidad en el diseño.
Multitarea Windows, macOS, Linux, Android, iOS.
Por Arquitectura
Monolíticos MS-DOS, Linux (enfoque tradicional).Ventajas Eficiencia, acceso directo al hardware.Desventajas Difícil mantenimiento, fallos pueden ser críticos.
Microkernel
QNX, Minix.Ventajas Mayor modularidad, seguridad.
Desventajas Menor rendimiento debido a la comunicación entre componentes.
Híbridos
Windows NT (y versiones posteriores), macOS.Ventajas Combinación de eficiencia y modularidad.
Desventajas Complejidad en el diseño.
Estructura de los Sistemas Operativos
La organización varía según el tipo, pero generalmente incluye:
- Núcleo (kernel): la parte central que gestiona los recursos básicos.
- Gestores de subsistemas: para memoria, procesos, archivos y dispositivos.
- Interfaz de usuario: línea de comandos o interfaz gráfica.
- Librerías y utilidades: que facilitan el desarrollo y uso de aplicaciones.
Núcleo (Kernel):
Funciones Gestión de la CPU, memoria, dispositivos y llamadas al sistema.
Tipos Monolítico, microkernel.
Tipos Monolítico, microkernel.
Gestores de Subsistemas
Gestor de Memoria Asignación y liberación de memoria, memoria virtual.
Gestor de Procesos Creación, eliminación, planificación y sincronización de procesos.
Gestor de Archivos Organización, almacenamiento y recuperación de archivos.
Gestor de Dispositivos Control y gestión de dispositivos de entrada/salida.
Gestor de Procesos Creación, eliminación, planificación y sincronización de procesos.
Gestor de Archivos Organización, almacenamiento y recuperación de archivos.
Gestor de Dispositivos Control y gestión de dispositivos de entrada/salida.
Interfaz de Usuario
CLI (Command Line Interface) Terminal, shell.
GUI (Graphical User Interface) Ventanas, iconos, menús
GUI (Graphical User Interface) Ventanas, iconos, menús
Procesos: Conceptos Clave
Un proceso es una instancia de un programa en ejecución. Entre los aspectos fundamentales destacan:
- Definición: incluye el código del programa, datos, estado del procesador y recursos asignados.
- Estados: pueden encontrarse en estado de listo, ejecución, bloqueado o terminado.
- Transiciones: pasan de un estado a otro según la planificación del sistema o eventos externos (una solicitud de entrada/salida).
- Interrupciones: señales que detienen temporalmente la ejecución de un proceso para que el sistema atienda un evento prioritario (fin de una operación de disco).
Estados de un Proceso:
Nuevo El proceso está siendo creado.
Listo El proceso está esperando para ser asignado a la CPU.
Ejecución El proceso está siendo ejecutado por la CPU.
Bloqueado (o Espera) El proceso está esperando que ocurra un evento (E/S, señal).
Terminado El proceso ha completado su ejecución.
Listo El proceso está esperando para ser asignado a la CPU.
Ejecución El proceso está siendo ejecutado por la CPU.
Bloqueado (o Espera) El proceso está esperando que ocurra un evento (E/S, señal).
Terminado El proceso ha completado su ejecución.
Transiciones
Listo -> Ejecución: El planificador asigna el proceso a la CPU.
Ejecución -> Listo: El proceso es interrumpido o cede la CPU.
Ejecución -> Bloqueado: El proceso solicita una operación de E/S.
Bloqueado -> Listo: La operación de E/S se completa.
Ejecución -> Listo: El proceso es interrumpido o cede la CPU.
Ejecución -> Bloqueado: El proceso solicita una operación de E/S.
Bloqueado -> Listo: La operación de E/S se completa.
Interrupciones
Tipos Hardware Señales de dispositivos (teclado, disco).
Software Llamadas al sistema, errores.
Manejo El SO guarda el estado del proceso actual, ejecuta la rutina de atención a la interrupción (ISR), y luego restaura el estado del proceso interrumpido.
Software Llamadas al sistema, errores.
Manejo El SO guarda el estado del proceso actual, ejecuta la rutina de atención a la interrupción (ISR), y luego restaura el estado del proceso interrumpido.
Les dejo un video para ayudar a entender mejor el tema





Comentarios
Publicar un comentario