Plataformas tecnológicas

Introducción
Es el software principal que gestiona el hardware y permite que otros programas funcionen correctamente.
Procesos
Supervisa los programas en ejecución, asignando recursos como el CPU de forma ordenada.
Memoria
Controla y distribuye la memoria disponible para que los procesos se ejecuten sin interferencias.
Almacenamiento
Administra cómo se guardan, organizan y acceden los datos en discos y otros dispositivos.
Esta página web fue desarrollada como parte del proyecto final de la asignatura Plataformas Tecnológicas. En ella se integran y explican de manera estructurada los temas vistos a lo largo del semestre, incluyendo la introducción a los sistemas operativos, la gestión de procesos, la memoria, el almacenamiento, así como su clasificación y funciones principales. Su objetivo es presentar de forma clara, visual y accesible los conocimientos adquiridos, aplicando también principios básicos de diseño web.
Introducción a los sistemas operativos
El sitema operativo tambien conocido como núcleos o kernels es aquel que coordina y dirige todos los servicios y aplicaciones que utiliza el usuario en una computadora. Se trata de programas que se ejecutan de manera privilegiada y regulan aspectos básicos del sistema. Los sistemas operativos consisten en interfaces gráficas, entornos de escritorio o gestores de ventanas que brindan al usuario una representación gráfica de los procesos en marcha.
Funciones
Gestión de procesos
Supervisa y controla la ejecución de programas, asignando la CPU de forma ordenada.
Gestión de memoria
Administra el uso de la memoria RAM y la memoria virtual, asignando espacio a los procesos y protegiendo sus áreas de memoria.
Gestión de almacenamiento
Organiza y administra archivos y carpetas en discos duros, SSD y otros dispositivos de almacenamiento.
Gestión de dispositivos
Controla la comunicación entre el hardware (teclado, ratón, impresora) y el software, utilizando drivers para interactuar con los periféricos.
Interfaz de usuario
Permite al usuario interactuar con el sistema a través de interfaces gráficas (GUI) o de línea de comandos (CLI).
Clasificación
Sistema de cómputo
Hardware
Parte física del computador, comprende todos los dispositivos periféricos físicos o materiales que componen el computador.
- Periféricos de entrada
- Periféricos de salida
- Dispositivos de almacenamiento
- Tarjeta madre
- Procesador
Software
Parte lógica del computador, compuesta por el conjunto de instrucciones o código programado.
- Software de sistema
- Software de aplicación
- Software de programación

Gestión de procesos
Proceso:
Es un programa en ejecución, que requiere recursos del sistema como CPU, memoria, dispositivos de entrada/salida, entre otros.
Programa:
Conjunto de instrucciones que realizan una tarea específica cuando se ejecutan en un sistema operativo.

Estados de un proceso
Componentes del PCB

Algoritmos de Planificación
FCFS (First-Come, First-Served)
Los procesos se atienden en el orden en que llegan. No se interrumpe hasta que el proceso actual termine.
SJF (Shortest Job First)
El proceso con el menor tiempo de ejecución estimado se atiende primero. Es eficiente pero puede provocar inanición.
Round Robin (RR)
Cada proceso recibe un intervalo de tiempo ("quantum"). Si no termina, regresa al final de la cola.
Planificación por Prioridad
Los procesos con mayor prioridad se ejecutan primero. Puede ser preventiva o no preventiva.
Tipos de procesos
Tipo | Definición | Ejemplo |
---|---|---|
Independientes | No dependen de otros procesos ni comparten recursos. | Un usuario edita un documento en un procesador de texto sin conexión. |
Interdependientes | Comparten información o recursos y pueden comunicarse entre sí. | Un navegador web que interactúa con un gestor de descargas. |
Procesos de Usuario | Son creados por las aplicaciones que inicia el usuario. | Word, Excel, Spotify. |
Procesos del Sistema | Gestionados por el sistema operativo para su funcionamiento. | winlogon.exe en Windows, init en Linux. |
Primer Plano (Foreground) | Requieren interacción directa del usuario. | Una ventana de Word abierta en pantalla. |
Segundo Plano (Background) | Se ejecutan sin necesidad de intervención del usuario. | Un antivirus ejecutando un análisis programado. |
Gestión de memoria
La gestión de memoria es una función del sistema operativo que se encarga de asignar, controlar y liberar el espacio de memoria necesario para que los procesos se ejecuten correctamente. Su objetivo es garantizar un uso eficiente de la memoria principal, evitando conflictos entre procesos, aprovechando al máximo los recursos disponibles y manteniendo el rendimiento general del sistema.
Asignación y Liberación de Memoria
El sistema operativo controla qué proceso accede a qué memoria en cada momento.
Protección de Memoria
Asegura que los procesos no interfieran con los espacios de memoria de otros.
Optimización del Uso de la Memoria
Usa eficientemente la memoria para minimizar la fragmentación y maximizar el rendimiento.
Memoria
La memoria es un recurso esencial del sistema que almacena temporalmente tanto los datos como los programas en ejecución, permitiendo a la CPU acceder de forma rápida y eficiente a la información necesaria para ejecutar instrucciones. Su correcta gestión por parte del sistema operativo es fundamental para asegurar que múltiples procesos puedan coexistir sin interferencias, evitando errores como la sobrescritura de datos o el uso indebido de direcciones de memoria.
Tipos de gestión de memoria
Memoria Contigua:
Cada proceso recibe un bloque continuo de memoria. Es simple y rápida, pero propensa a la fragmentación interna y externa.
Memoria No Contigua:
Los procesos pueden cargarse en bloques de memoria física no consecutivos, lo que ofrece una mejor utilización del espacio pero con una mayor complejidad de gestión.
Memoria Principal (RAM)
La memoria RAM es el componente físico del hardware que almacena temporalmente programas en ejecución y datos utilizados directamente por la CPU. Es una memoria volátil, lo que significa que pierde su contenido al apagar el sistema. Su velocidad permite que la CPU acceda rápidamente a la información necesaria para ejecutar instrucciones de manera eficiente. La capacidad de la RAM determina cuántas aplicaciones pueden funcionar al mismo tiempo sin afectar el rendimiento. Está organizada en celdas de memoria individualmente direccionables, lo que facilita un acceso aleatorio rápido, esencial para el funcionamiento fluido del sistema operativo y los programas.
Concepto | Definición | Ejemplo |
---|---|---|
Jerarquía de Memoria | ||
Jerarquía de memoria | Organización por niveles de velocidad y tamaño: caché, RAM, almacenamiento secundario y terciario. | CPU accede primero a caché, luego RAM, y por último al disco duro. |
Tipos de Asignación de Memoria | ||
Asignación dinámica | La memoria se asigna y libera durante la ejecución del proceso. | Un navegador asigna más memoria al abrir nuevas pestañas. |
Swapping | Intercambio de procesos entre RAM y disco cuando la memoria principal está llena. | Un proceso inactivo es enviado al disco para liberar espacio en RAM. |
Métodos de Asignación de Memoria Principal | ||
Particionamiento fijo | La memoria se divide en bloques de tamaño fijo, lo cual puede generar desperdicio. | Un proceso pequeño usa solo parte de una partición asignada. |
Particionamiento dinámico | Las particiones se crean en tiempo real según lo soliciten los procesos. | Un proceso que necesita 25MB recibe exactamente ese espacio. |
Paginación | La memoria se divide en páginas de tamaño fijo para asignar bloques no contiguos. | Un proceso se almacena en páginas ubicadas en distintos sectores de RAM. |
Algoritmos de reemplazo de página
.jpg)
Problemas comunes de la memoria principal
Contención de Memoria
Ocurre cuando múltiples procesos compiten por los mismos recursos de memoria, lo que puede generar demoras y cuellos de botella.
Fragmentación Interna
Espacio no utilizado dentro de una partición asignada, debido a que el proceso no requiere toda la memoria asignada.
Fragmentación Externa
Aunque hay suficiente memoria libre en total, esta está dividida en pequeños bloques dispersos que no pueden ser usados eficientemente.
Optimización del Uso de la Memoria Principal:
Swapping
Mueve procesos a la memoria secundaria para liberar RAM y mejorar la eficiencia.
Reemplazo de Páginas
Algoritmos como FIFO y LRU deciden qué páginas sacar de RAM cuando está llena.
Memoria Compartida
Permite que múltiples procesos accedan a la misma región de memoria para comunicarse.
Memoria Virtual
Una técnica que permite a un sistema operativo ejecutar programas más grandes que la memoria física disponible. Combina la RAM y el espacio en disco para almacenar y recuperar datos de forma transparente.
Ventajas
Permite ejecutar programas más grandes y múltiples procesos simultáneos, mejorando la utilización de recursos y simplificando la gestión de la memoria.
Desventajas
Introduce una sobrecarga debido a la gestión del almacenamiento físico y del disco, lo que puede degradar el rendimiento si se usa en exceso, ya que el acceso al disco es más lento.

Impacto en el Rendimiento
Overhead
El proceso de paginación genera cierta sobrecarga que puede afectar el rendimiento.
Thrashing
Intercambio constante de páginas entre la RAM y el disco debido a la falta de memoria real.
Gestión de almacenamiento
La gestión de almacenamiento se encarga de administrar la memoria principal y los dispositivos de almacenamiento secundarios, como discos duros y unidades de estado sólido. Su objetivo es garantizar el acceso eficiente, seguro y ordenado a los datos, optimizando el uso del espacio disponible y asegurando la integridad de la información almacenada.
Componentes principales
Memoria Principal (RAM)
Volátil, almacena datos e instrucciones para programas en ejecución. El SO se encarga de la asignación y liberación de memoria para los procesos.
Almacenamiento Secundario
Más lento pero no volátil. Usado para almacenamiento a largo plazo. El SO organiza y gestiona el acceso a estos datos.
Almacenamiento Terciario
Aún más lento, se usa para copias de seguridad o grandes volúmenes de datos a largo plazo, como en la nube o cintas.
Arquitectura del almacenamiento
Estructura de Almacenamiento Masivo
Organiza y gestiona grandes volúmenes de datos no volátiles en dispositivos como discos duros, SSDs, CDs, DVDs y cintas. Permite almacenar información de forma permanente, facilitando su acceso, modificación y recuperación cuando sea necesario, incluso después de apagar el sistema.
Factores Clave
- Jerarquía de Almacenamiento: Relación entre memoria primaria, secundaria y terciaria.
- Estructuras Lógicas: Particiones, bloques, índices y directorios para organizar datos.
- Sistemas RAID: Uso de varios discos para mejorar velocidad y tolerancia a fallos.
Interfaz del Sistema de Archivos
La interfaz del sistema de archivos define cómo los usuarios y las aplicaciones interactúan con el almacenamiento para acceder y gestionar archivos. Proporciona abstracciones como directorios, archivos y permisos de usuario, permitiendo que los datos en el almacenamiento físico sean manejados de manera lógica y estructurada. Además, facilita tareas esenciales como la organización jerárquica de la información, la protección de datos mediante permisos, y el acceso eficiente a los recursos del sistema.
Sistemas de Archivos Populares
Incluyen formatos como FAT32, NTFS, ext4 y APFS, que definen cómo se almacenan y organizan los archivos en diferentes sistemas operativos.
Operaciones Básicas
Acciones como crear, leer, escribir, modificar y eliminar archivos y directorios, esenciales para el manejo cotidiano de datos.
Permisos de Acceso
Controlan qué usuarios o procesos pueden leer, escribir o ejecutar archivos, garantizando seguridad y control de acceso.
Sistemas de Entrada/Salida (E/S)
Los sistemas de entrada/salida son responsables de la comunicación entre el procesador y los dispositivos externos, como discos duros, impresoras y teclados. El sistema operativo debe gestionar las solicitudes de entrada/salida para optimizar el rendimiento y la eficiencia del sistema.
Dispositivos de E/S
Se clasifican como dispositivos de bloque (almacenamiento masivo) o de caracteres (como teclado o ratón).
Controladores de Dispositivos
Software que actúa como intermediario entre el sistema operativo y el hardware de entrada/salida.
Buffering
Almacenamiento temporal de datos de E/S para optimizar el flujo entre los dispositivos y el procesador.
DMA (Acceso Directo a Memoria)
Permite a los dispositivos de E/S transferir datos directamente a la memoria sin intervención constante del procesador.
Sistemas RAID (Redundant Array of Independent Disks):
Tecnología que combina múltiples discos duros para mejorar la tolerancia a fallos y/o el rendimiento del sistema de almacenamiento. Importante para la alta disponibilidad de datos y la velocidad de acceso en servidores y estaciones de trabajo.
Tipo RAID | Funcionamiento | Beneficios | Desventajas | Uso recomendado |
---|---|---|---|---|
RAID 0 | Divide los datos en bloques y los distribuye entre dos o más discos (striping). | Alto rendimiento por lectura/escritura paralela. | No tiene redundancia; si un disco falla, se pierde toda la información. | En sistemas donde el rendimiento es más importante que la seguridad. |
RAID 1 | Espeja los datos en dos discos, duplicando la información. | Redundancia total: si un disco falla, el otro tiene una copia exacta. | No mejora rendimiento de escritura; requiere el doble de espacio. | En sistemas críticos que requieren alta disponibilidad de datos. |
RAID 5 | Distribuye datos y paridad entre al menos tres discos. | Buen equilibrio entre rendimiento, redundancia y eficiencia de espacio. | Escritura más lenta por el cálculo de paridad. | En sistemas que necesitan rendimiento con cierta seguridad. |
RAID 6 | Similar a RAID 5 pero con doble paridad para tolerancia a fallos de dos discos. | Alta tolerancia a fallos; puede fallar hasta dos discos sin perder datos. | Escritura más lenta por cálculos de doble paridad. | En sistemas donde la seguridad frente a múltiples fallos es crítica. |
RAID 10 | Combina striping (RAID 0) y mirroring (RAID 1). | Alto rendimiento con alta redundancia. | Costoso por requerir el doble de discos. | En bases de datos o sistemas empresariales de alto rendimiento. |