Bienvenido al Proyecto Final

Este sitio web presenta los conceptos fundamentales de Sistemas Operativos como parte del proyecto final del curso de Plataformas Tecnológicas, desarrollado por estudiantes de Ingeniería de Sistemas de la Universidad de Pamplona.

🏗️

Arquitectura del SO

Estructura fundamental de sistemas operativos modernos y su organización en capas

Kernel Drivers APIs
⚙️

Gestión de Procesos

Control y planificación de procesos, hilos y comunicación interprocesos

PCB Scheduling Threads
💾

Gestión de Memoria

Administración de memoria principal, virtual y técnicas de paginación

RAM Virtual Swap
🗂️

Sistemas de Archivos

Organización, almacenamiento y recuperación de datos en dispositivos

FAT32 NTFS ext4

Introducción a los Sistemas Operativos

¿Qué es un Sistema Operativo (SO)?

Un Sistema Operativo es el software fundamental que actúa como intermediario entre el hardware de un computador y el usuario o las aplicaciones. Su función principal es gestionar los recursos del sistema (CPU, memoria, dispositivos de E/S) de manera eficiente y justa, permitiendo que múltiples programas se ejecuten de forma simultánea.

Funciones Esenciales del SO

  • Gestión de Procesos: Controla la ejecución de programas, asignando tiempo de CPU y asegurando la multitarea.
  • Gestión de Memoria: Administra la memoria principal (RAM), decidiendo qué procesos residen en ella.
  • Gestión de Almacenamiento: Proporciona una interfaz lógica para acceder a los datos almacenados en discos.
  • Gestión de Dispositivos: Controla todos los dispositivos de entrada/salida a través de drivers.
  • Interfaz de Usuario: Provee interfaces tanto gráficas (GUI) como de línea de comandos (CLI).

Evolución de los Sistemas Operativos

Los sistemas operativos han evolucionado desde simples monitores residentes hasta sistemas complejos multiproceso y multiusuario. Esta evolución ha permitido una gestión más eficiente de recursos y una experiencia de usuario más intuitiva.

Para más información visitar: https://concepto.de/sistema-operativo/

Diagrama de la estructura de un Sistema Operativo

Arquitectura en capas de un Sistema Operativo moderno

Gestión de Procesos

Proceso, Hilo y Multitarea

Un Proceso es una instancia de un programa que está en ejecución. Es la unidad de trabajo fundamental en los sistemas operativos modernos. Un proceso incluye el código, los datos y el contexto de hardware. Un Hilo (Thread) es una subunidad del proceso; múltiples hilos pueden compartir el mismo espacio de memoria de un proceso, permitiendo una mayor concurrencia dentro de una misma aplicación.

Estados de un Proceso

  1. Nuevo: El proceso está siendo creado.
  2. Listo: El proceso espera ser asignado a un procesador.
  3. Ejecución: El proceso está activamente utilizando la CPU.
  4. Espera (Bloqueado): El proceso espera que ocurra algún evento.
  5. Terminado: El proceso ha finalizado su ejecución.

Planificación de Procesos

Los algoritmos de planificación determinan qué proceso se ejecuta en un momento dado. Algunos algoritmos comunes incluyen Round Robin, Prioridades, y FCFS (First-Come, First-Served).

Para más información visitar: https://gestion/de/procesos/blog

Ciclo de Procesos

Ciclo de procesos

Gestión de Memoria

Memoria Principal y Virtual

La gestión de memoria es una función crítica del sistema operativo que se encarga de coordinar y controlar el uso de la memoria principal (RAM). Incluye técnicas como paginación, segmentación y memoria virtual para optimizar el uso de los recursos disponibles.

Técnicas de Gestión

  • Paginación: Divide la memoria en páginas de tamaño fijo
  • Segmentación: Divide la memoria en segmentos de tamaño variable
  • Memoria Virtual: Permite ejecutar programas más grandes que la memoria física
  • Algoritmos de Reemplazo: FIFO, LRU, Óptimo

Protección y Compartición

Los sistemas operativos modernos implementam mecanismos de protección para evitar que procesos interfieran entre sí, mientras permiten la compartición controlada de memoria cuando es necesario.

Para más información visitar: https://gestion/de/memoria/geeksforgeeks

Diagrama de Gestión de Memoria

Diagrama explicativo de paginación y segmentación de memoria

Gestión de Almacenamiento

Sistemas de Archivos

La gestión de almacenamiento se encarga de organizar, almacenar y recuperar datos en dispositivos de almacenamiento secundario. Los sistemas de archivos como FAT, NTFS, ext4 proporcionan la estructura lógica para organizar los datos.

Características Clave

  • Estructura Jerárquica: Directorios y subdirectorios
  • Gestión de Espacio: Asignación contigua, enlazada, indexada
  • Recuperación ante Fallos: Journaling y sistemas de respaldo
  • RAID: Arreglos redundantes de discos independientes

Tecnologías Modernas

Las tecnologías actuales incluyen SSD, almacenamiento en la nube, y sistemas de archivos distribuidos que ofrecen mayor velocidad, confiabilidad y escalabilidad.

Para más información visitar: https://gestion/de/almacenamiento/geeksforgeeks

Arquitectura de Almacenamiento en la Nube

Arquitectura de almacenamiento en la nube y sistemas distribuidos