17 Dic
Un sistema operativo (SO) es el software base que permite el funcionamiento de un ordenador y la interacción entre el usuario y el hardware. Se inicia después del proceso de autocomprobación (POST) y sus funciones principales incluyen:
- Controlar y administrar el sistema de archivos.
- Gestionar los procesos del sistema.
- Gestionar la memoria del sistema.
- Gestionar los usuarios del sistema.
- Mantener y controlar la seguridad del sistema.
- Gestionar todo el sistema de entrada y salida.
El usuario puede utilizar el sistema operativo a través de las interfaces de usuario, que pueden ser de tipo gráfico (GUI) o a través de líneas de comandos (CLI).
Historia de los Sistemas Operativos
- Primeros sistemas operativos multiproceso y multitarea: Multics y OS/360.
- UNIX (derivado de Multics) 1969.
- CP/M, MS-Dos.
- Sistema operativo Mac OS (el primero en incorporar una interfaz gráfica).
- Windows.
- Linux (derivado de MINIX).
Sistemas Operativos Actuales Más Utilizados
- Windows: Dominante en PCs y portátiles; sistema propietario de Microsoft. Usa NTFS.
- macOS: Exclusivo para dispositivos Apple, utiliza APFS. Ej.: macOS Ventura.
- GNU/Linux: Software libre y abierto. Distribuciones populares: Ubuntu, Debian, Fedora (usa ext4).
- iOS: Para iPhones y iPads, basado en núcleo híbrido.
- Android: Para smartphones y tablets, basado en el kernel de Linux.
- Chrome OS: De Google, diseñado para Chromebooks con kernel Linux.
- Otros sistemas operativos: Wear OS, watchOS, Raspberry Pi OS, entre otros.
Tipos de Sistemas Operativos
Estructura
- Monolíticos: Tienen un núcleo único que integra todas las funciones del sistema. Son rápidos, pero carecen de flexibilidad y protección de recursos.
- Micronúcleo (microkernel): Más modular, facilita la comunicación entre partes del sistema operativo.
- Núcleo híbrido: Combina micronúcleo con funciones adicionales en el núcleo.
- Jerárquico (por capas): Divide el sistema en niveles, lo que mejora la flexibilidad y la protección de recursos.
- Máquina virtual: Simula una máquina completa para cada proceso, pudiendo ejecutar varios SO simultáneamente.
- Cliente-servidor: Los procesos se dividen en clientes y servidores con un núcleo reducido que gestiona comunicación y seguridad.
Tiempo de Respuesta
- Por lotes: Ejecución secuencial sin interacción del usuario. Obsoletos.
- Tiempo compartido/interactivos: Respuesta rápida mediante time-sharing. Ej: Windows, macOS, Linux.
- Tiempo real (RTOS): Respuesta inmediata para sistemas críticos como automoción o tráfico aéreo. Ej: FreeRTOS.
Número de Usuarios
- Monousuario: Solo un usuario a la vez. Ej: MS-DOS.
- Multiusuario: Varios usuarios simultáneamente, repartiendo recursos. Ej: Windows Server, Linux.
Según Número de Procesos
- Monotarea: Ejecuta una sola tarea a la vez. Ej.: MS-DOS.
- Multitarea: Ejecuta múltiples tareas simultáneamente. Ej.: Windows 95 en adelante.
Según Número de Procesadores
- Monoproceso: Utiliza solo un procesador, aunque haya más disponibles. Ej.: MS-DOS, primeras versiones de Windows y Mac OS.
- Multiproceso: Soporta múltiples procesadores, simétricos o asimétricos. Ej.: SO actuales.
Según Trabajo en Red
- Centralizado: Recursos gestionados por un único equipo; puede funcionar como NOS (Network Operating System).
- Distribuido: Recursos repartidos entre varios equipos, pero se comporta como un único sistema.
Funciones del Sistema Operativo
Gestión de Procesos
El sistema operativo controla y optimiza la ejecución de los procesos a través del planificador, decidiendo qué proceso utiliza el microprocesador en cada momento. Los procesos pueden estar en los siguientes estados:
- Nuevo: Recién creado, pasa a Listo.
- Listo: Cargado en memoria, esperando ejecución.
- En ejecución: Usando la CPU. Puede volver a Listo si termina su tiempo asignado.
- Bloqueado: Esperando un recurso o evento para continuar.
- Terminado: Proceso completado.
Interrupciones de procesos: Un proceso puede ser interrumpido por:
- Exceso de tiempo asignado o espera.
- Falta de memoria o errores en operaciones (acceso no autorizado, errores de entrada/salida, etc.).
- Decisión del sistema operativo, usuario o proceso padre.
Planificación de procesos: El objetivo es asignar procesos al procesador de forma eficiente, considerando:
- Rendimiento: Maximizar procesos completados.
- Tiempo de respuesta: Minimizar el tiempo para atender solicitudes.
- Tiempo de retorno: Reducir el tiempo desde el inicio hasta el fin del proceso.
- Equidad: Tratar todos los procesos de forma justa.
- Eficiencia: Mantener la CPU ocupada constantemente.
Tipos de algoritmos de planificación:
- Apropiativos: Permiten expulsar un proceso en ejecución para dar paso a otro. Usados en sistemas multiusuario por su alta optimización.
- No apropiativos: No expulsan procesos en ejecución; el siguiente espera a que el actual termine. Simples, pero menos eficientes; usados en sistemas monousuario.
Indicadores clave:
- Tiempo de espera: En cola antes de ejecutarse.
- Tiempo de retorno: Desde el inicio hasta su fin.
- Uso de CPU: Porcentaje de tiempo que está ocupada.
- Productividad: Procesos completados por unidad de tiempo.
Gestión de la Memoria
El SO gestiona el uso eficiente de la memoria principal compartida entre procesos. Si el tamaño de los procesos supera la capacidad de la memoria, se utiliza memoria virtual, cargando solo las partes necesarias en cada momento. También administra el intercambio entre memoria principal y secundaria.
Gestión de Entrada/Salida
La entrada/salida (E/S) implica el flujo de información entre el sistema y el exterior. El SO asegura que los dispositivos de E/S (periféricos, memorias auxiliares) tengan interfaces adecuadas para su correcto funcionamiento.
Gestión de Archivos
El SO organiza y gestiona el almacenamiento de datos mediante sistemas de archivos, que controlan operaciones relacionadas con ficheros y directorios. Ejemplos:
- Windows: FAT32, NTFS, exFAT.
- Linux: ext4, swap.
- macOS: APFS.
Gestión de Seguridad
El SO garantiza un entorno seguro mediante:
- Gestión de usuarios, grupos y permisos.
- Protección de contraseñas y datos.
- Prevención de accesos no autorizados y ataques de malware.
Virtualización
La virtualización por hardware permite usar múltiples máquinas virtuales (VMs) en un solo equipo físico, cada una con su propio sistema operativo, funcionando de manera independiente.
- Reducción de costes al necesitar menos hardware.
- Mayor seguridad, ya que las VMs son entornos aislados.
- Flexibilidad para crear y configurar VMs fácilmente.
- Permite probar sistemas operativos antes de instalarlos en hardware físico.
- Posibilidad de ejecutar varios sistemas operativos en un mismo equipo.
La computación en la nube utiliza servidores remotos compartidos en internet, en lugar de servidores locales.
- Ventajas: escalabilidad, pago por uso, acceso desde cualquier lugar.
- Inconveniente: requiere medidas estrictas de seguridad.
Tipos de nube:
- IaaS (Infraestructura como Servicio): provee almacenamiento, redes y virtualización (e.g., AWS, Azure).
- PaaS (Plataforma como Servicio): aplicaciones y datos se gestionan localmente, el resto en la nube (e.g., Heroku, Google App Engine).
- SaaS (Software como Servicio): todo el software y hardware están en la nube (e.g., Google Workspace, Office 365).
La diferencia entre la virtualización y la computación en la nube: La virtualización gestiona recursos localmente, mientras que la computación en la nube ofrece servicios que no están instalados en el ordenador y se utilizan de forma remota.
Tipos de Virtualización del Hardware
- Tipo 1 (bare metal): El hipervisor se instala directamente sobre el hardware físico y gestiona el sistema operativo.
- Tipo 2 (hospedada): El hipervisor se instala sobre un sistema operativo existente (host) y gestiona las máquinas virtuales (guest).
- Híbrida: Combinación de los tipos 1 y 2, donde el hipervisor interactúa tanto con el sistema operativo como con el hardware físico.
Hipervisores
Un hipervisor es un software que permite ejecutar varias máquinas virtuales con diferentes sistemas operativos en un solo equipo físico. Ejemplos:
- Oracle VM VirtualBox (Tipo 2): Soporta múltiples sistemas operativos y ofrece extensiones como el Extension Pack (mejoras de USB, cifrado, etc.) y Guest Additions (mejora la integración con el sistema anfitrión).
- VMware Workstation (Tipo 2): Disponible para Windows y Linux, ofrece productos para virtualización tipo 1 y en la nube.
- Hyper-V (Tipo 1): Desarrollado por Microsoft, se instala en versiones de Windows Enterprise, Pro y Education, y soporta características como contenedores y la plataforma de máquinas virtuales para ejecutar WSL2.
Contenedores
Los contenedores son una forma de virtualización del sistema operativo que permite ejecutar microservicios o aplicaciones de manera independiente del sistema operativo o hardware. A diferencia de las máquinas virtuales, no requieren una imagen completa del sistema operativo, solo la aplicación en ejecución, gestionada por un motor de contenedor. Docker es el software de contenedores más conocido, de código abierto, que se puede instalar en diversas plataformas y entornos en la nube.
Instalación de los Sistemas Operativos
Comprobación de los Requisitos Técnicos
Antes de instalar un sistema operativo en una máquina física, es necesario verificar que cumpla los requisitos técnicos, como la CPU, memoria y almacenamiento. En Windows, esta información se puede consultar desde el Administrador de tareas o desde la opción «Información del sistema».
Virtualización Asistida por Hardware: Para máquinas virtuales, se debe habilitar la virtualización asistida por hardware (HAV) en la BIOS/UEFI, que permite ejecutar múltiples máquinas virtuales de manera eficiente y aislada.
Sistema Operativo Windows
Desarrollado por Microsoft, Windows comenzó con la versión 1.0 en 1985. Inicialmente se instalaba sobre MS-DOS, hasta que Windows 95 se convirtió en un sistema operativo independiente. Versiones posteriores incluyen Windows 98, XP, Vista, 8, 10 y 11. Existen ediciones para servidores como Windows NT y Windows Server. Las versiones de Windows 10 y 11 tienen ediciones como Home, Pro, Enterprise y Pro for Education. Para instalar Windows 11, se requiere un procesador de 64 bits, 4 GB de RAM, 64 GB de almacenamiento, una tarjeta gráfica compatible con DirectX 12, y un chip TPM 2.0. La instalación se puede hacer desde un pendrive o DVD, y las actualizaciones son gestionadas por Windows Update. Los drivers son esenciales para que los dispositivos funcionen correctamente. La gestión de almacenamiento en Windows se maneja con volúmenes y particiones, y se pueden gestionar desde la herramienta Administración de Discos.
Sistema Operativo Linux
Linux fue creado por Linus Torvalds en 1991, basado en UNIX. Se destaca por ser un software libre, mantenido por la comunidad. La estructura de Linux se basa en un núcleo que gestiona los recursos del sistema y una shell que permite la interacción del usuario con el sistema. Existen varias distribuciones, siendo Ubuntu una de las más populares. Requiere un procesador de 64 bits, 4 GB de RAM y 25 GB de almacenamiento. La instalación se puede hacer desde un archivo ISO en un pendrive o DVD. Durante la instalación, se pueden elegir opciones como instalación normal o mínima. Ubuntu también permite gestionar actualizaciones y drivers desde sus herramientas. Es importante documentar la instalación para futuras actualizaciones o mantenimiento.
Deja un comentario