Sistemas Operativos Monopuestos

Tema 1: Sistemas Informáticos

La Computación

  • Informática: Ciencia que estudia el tratamiento automático de la información por medio de máquinas electrónicas.
  • Sistema Operativo: Programa o conjunto de programas de control que gestiona los recursos del hardware, controla los dispositivos de entrada/salida y facilita el uso eficiente del ordenador mediante una interfaz (método de interacción usuario-sistema).
  • Arquitectura Von Neumann: Modelo clásico de arquitectura de ordenadores donde los datos y las instrucciones se almacenan en la misma memoria y se acceden a través de un sistema de buses único.
  • Arquitectura Harvard: Modelo que utiliza memorias y buses físicamente independientes para las instrucciones y para los datos, permitiendo mayor velocidad al realizar ambos accesos simultáneamente.
  • El Microprocesador (UCP/CPU)

  • UCP (Unidad Central de Proceso): El "cerebro" del ordenador, encargado de interpretar instrucciones y procesar datos. Se divide en:
  • Unidad de Control (UC): Coordina y dirige todas las operaciones del sistema, interpretando las instrucciones de los programas.
  • Unidad Aritmético-Lógica (ALU): Circuito digital que realiza operaciones matemáticas (suma, resta) y lógicas (comparaciones).
  • Registros: Pequeñas memorias de alta velocidad dentro del procesador para almacenar datos temporales de uso inmediato.
  • Memorias y Almacenamiento

  • Memoria RAM: Memoria volátil de acceso aleatorio donde se almacenan los datos y programas que el procesador está utilizando en ese momento.
  • Memoria Caché: Memoria de muy alta velocidad situada entre la CPU y la RAM. Almacena los datos que se usan con más frecuencia para acelerar el procesamiento.
  • Memoria Virtual (Área de intercambio/Swapping): Parte del disco duro que el sistema operativo utiliza como si fuera RAM cuando esta es insuficiente. Es mucho más lenta que la RAM física.
  • Sistema de Numeración y Datos

  • Sistema Binario: Sistema de numeración de base 2 que utiliza solo los símbolos 0 y 1. Es el lenguaje natural de los ordenadores.
  • Bit (Binary Digit): La unidad mínima de información. Puede tener dos estados: encendido (1) o apagado (0).
  • Byte (Octeto): Conjunto de 8 bits. Es la unidad básica de medida de almacenamiento.
  • Sistema Hexadecimal: Sistema de base 16 (0-9 y A-F). Se utiliza en informática para simplificar la representación de largas cadenas de números binarios.
  • Código ASCII: Estándar de codificación de caracteres que asigna un valor numérico a cada letra, número o símbolo para que el ordenador pueda procesar texto.
  • Transferencia de Información

  • Buses:Canales de comunicación físicos o lógicos que transfieren datos entre los componentes del ordenador.
  • Bus de datos: Transporta la información propiamente dicha.
  • Bus de direcciones: Indica la posición de memoria o el periférico que se va a utilizar.
  • Bus de control: Transporta las órdenes (leer, escribir, interrumpir).
  • Tasa de transferencia (Ancho de banda): Cantidad de información que se puede transmitir por unidad de tiempo, medida generalmente en bits por segundo (bps) o múltiplos como Mbps o Gbps.
  • Unidades de Medida de Velocidad (Transmisión)

    diferencia del almacenamiento, para la velocidad de transmisión se usan múltiplos de 1000 y la unidad base es el bit por segundo (bps):

  • Kb/s (Kilobit por segundo): 1.000 b/s
  • Mb/s (Megabit por segundo): 1.000.000 b/s
  • Gb/s (Gigabit por segundo): 1.000.000.000 b/s
  • Tasa de transferencia: Es la cantidad real de datos que se pueden enviar o recibir por una línea de comunicación en un tiempo determinado.
  • Tema 2: Máquinas Virtuales

    La Virtualización

  • Virtualización: Creación de una versión virtual (en lugar de real) de algo, como un sistema operativo, un servidor, un dispositivo de almacenamiento o recursos de red. Permite simular hardware mediante software.
  • Máquina Virtual (MV /VM): Contenedor de software aislado que puede ejecutar su propio sistema operativo y aplicaciones como si fuera un ordenador físico.
  • Hipervisor (VMM - Virtual Machine Monitor): Capa de software que permite la virtualización. Se encarga de gestionar los recursos del hardware real y repartirlos entre las distintas máquinas virtuales.
  • Anfitrión (Host): Es el ordenador físico real sobre el que se ejecuta el software de virtualización.
  • Invitado (Guest): Es el sistema operativo que se ejecuta dentro de una máquina virtual.
  • Formatos de Disco Virtual

    Los discos de las máquinas virtuales no son físicos, sino archivos dentro del sistema anfitrión. Los formatos principales son:

  • VDI (VirtualBox Disk Image): Formato nativo y predeterminado de VirtualBox.
  • VMDK (Virtual Machine Disk): Formato abierto desarrollado originalmente por VMware.
  • VHD (Virtual Hard Disk): Formato creado por Microsoft.
  • Modos de Red en VirtualBox

  • NAT (Network Adress Translation): Es el modo por defecto. La MV puede navegar por internet usando la conexión del anfitrión, pero el exterior no puede ver a la MV.
  • Red NAT: permite que varias máquinas virtuales se vean entre sí además de tener salida al exterior.
  • Adaptador Puente (Bridged): La MV se conecta directamente a la red física como si fuera un ordenador real más, obteniendo su propia dirección IP de la red local.
  • Red Interna: Crea una red invisible para el exterior y para el anfitrión; solo las máquinas virtuales conectadas a esa red pueden comunicarse entre sí. Ideal para pruebas aisladas.
  • Herramientas y Complementos

  • Snapshot (Instantánea): Captura del estado de una máquina virtual en un momento determinado. Permite volver a ese estado exacto si algo falla tras un cambio o instalación.
  • Guest Additions: Paquete de software que se instala dentro del sistema invitado (Guest) para mejorar el rendimiento, permitir carpetas compartidas, portapapeles común y ajustar la resolución de pantalla automáticamente.
  • ISO: Archivo que contiene una imagen exacta de un CD o DVD (normalmente el instalador de un sistema operativo) y que se "monta" en la unidad óptica virtual de la MV para iniciar la instalación.
  • Ventajas de la Virtualización

  • Aislamiento: Los fallos en una MV no afectan al anfitrión ni a otras MVs.
  • Portabilidad: Una MV es un conjunto de archivos que se puede copiar y llevar a otro ordenador fácilmente.
  • Consolidación: Permite tener varios servidores o sistemas distintos en una sola máquina física, ahorrando costes y energía.
  • Tema 3: Sistemas Operativos

    Los Sistemas Operativos

  • Sistema Operativo (SO): Software principal que gestiona el hardware y permite que el resto de los programas funcionen. Actúa como intermediario entre el usuario y la parte física del ordenador.
  • Kernel (Núcleo): Parte fundamental del SO que se encarga de la gestión de memoria, procesos, archivos y entrada/salida. Siempre reside en la memoria RAM.
  • Shell (Intérprete de comandos): Interfaz que permite al usuario comunicarse con el sistema operativo a través de comandos de texto o gráficos.
  • Gestión de Procesos

  • Proceso: Es un programa en ejecución. Incluye el código del programa, sus datos, su pila y el contador de programa.
  • PCB (Bloque de Control de Proceso): Estructura de datos donde el SO almacena toda la información necesaria para gestionar un proceso (estado, prioridad, registros, etc.).
  • Planificación de la CPU (Algoritmos)

  • FIFO / FCFS (First In, First Out): El primer proceso en llegar es el primero en ser atendido. Es sencillo pero puede causar esperas largas.
  • SJF (Shortest Job First): Selecciona el proceso con el tiempo de ejecución más corto. Minimiza el tiempo medio de espera.
  • SRTF (Shortest Remaining Time First): Variante expulsiva del SJF; si llega un proceso más corto que el que se está ejecutando, este último se detiene.
  • Round Robin (RR): Cada proceso recibe un pequeño intervalo de tiempo fijo (quantum). Si no termina, vuelve al final de la cola.
  • Planificación por Prioridades: Se asigna un valor a cada proceso y la CPU atiende primero a los de mayor prioridad.
  • Gestión de Memoria

  • Memoria Virtual: Técnica que permite ejecutar procesos que no caben enteros en la memoria RAM, utilizando parte del disco duro como extensión.
  • Paginación: Técnica de gestión de memoria que divide la memoria física en trozos fijos llamados "marcos" y la memoria lógica en "páginas".
  • Fragmentación: Espacio de memoria desperdiciado. Puede ser interna (dentro de una página/segmento) o externa (huecos libres entre procesos demasiado pequeños para ser usados).
  • Planificación del disco (E/S)

    Algoritmos para mover el brazo del disco duro de forma eficiente:

  • SCAN (Algoritmo del ascensor): El brazo se mueve de un extremo a otro atendiendo peticiones. Al llegar al final, cambia de sentido.
  • C-SCAN (Búsqueda Circular): Igual que SCAN, pero al llegar al final vuelve al principio sin atender peticiones en el camino de vuelta para dar un tiempo de espera más uniforme.
  • SSTF (Shortest Seek Time First): Atiende primero la petición que esté más cerca de la posición actual del cabezal para minimizar el movimiento.
  • Interrupción: Señal enviada por el hardware o el software que indica que un evento requiere atención inmediata del procesador.
  • Interbloqueo (Deadlock): Situación en la que dos o más procesos se bloquean mutuamente porque cada uno espera un recurso que tiene el otro.
  • Firmware: Software específico grabado en una memoria no volátil que controla el hardware de un dispositivo a muy bajo nivel.
  • Tema 4: Instalación y configuración

    Organización del Disco y Particiones

  • Estructura Física:Se refiere a los componentes tangibles del disco duro, como los platos, cabezales y el actuador en discos mecánicos(HDD),o las memorias Flash NAND en discos de estado sólido(SSD).
  • Partición: División lógica de un disco duro físico. Permite que un sistema operativo gestione el espacio de forma independiente, como si fueran discos distintos.
  • MBR (Master Boot Record): Estándar antiguo de tabla de particiones que permite hasta 4 particiones primarias y discos de máximo 2 TB.
  • GPT (GUID Partition Table): Estándar moderno que sustituye a MBR, permitiendo hasta 128 particiones y discos de mucho mayor tamaño.
  • Sistema de Archivos: Método que utiliza el SO para organizar y almacenar archivos en el disco. Windows usa principalmenteNTFS, mientras que Linux utiliza EXT (actualmente EXT4).
  • El Proceso de Intalación

  • Secuencia de Arranque (Boot Sequence): Orden de prioridad que establece la BIOS/UEFI para buscar un sistema operativo (ej: 1º USB, 2º Disco Duro).
  • ISO: Archivo que contiene una imagen exacta de un sistema de archivos, utilizado normalmente para distribuir instaladores de sistemas operativos.
  • Arranque Dual (Dual Boot): Configuración que permite tener dos o más sistemas operativos instalados en el mismo equipo, eligiendo cuál iniciar al encender el ordenador.
  • Interfaces de Usuario

  • GUI (Graphical User Interface): Interfaz gráfica basada en ventanas, iconos y punteros (ratón). Es la más intuitiva para el usuario común.
  • CLI (Command Line Interface): Interfaz de línea de comandos (modo texto). Permite interactuar con el sistema mediante órdenes escritas. En Windows se usaCMD o PowerShell, y en Linux la Terminal (Bash).
  • Comandos Windows y Linux

    Acción Windows (CMD) Linux (Terminal)
    Cambiar de directorio cd cd
    Ver contenido de carpeta dir ls
    Crear carpeta md o mkdir mkdir
    Borrar archivo del rm
    Borrar carpeta rd rmdir (vacía) / rm -r (con contenido)
    Copiar archivo copy cp
    Mover o renombrar move mv
    Ver ruta actual (se ve en el prompt) pwd
    Crear archivo vacío type nul ; archivo touch archivo

    Linux

  • Root: Es el superusuario o administrador del sistema en Linux, con permisos totales sobre todos los archivos y configuraciones.
  • GRUB (Gran Unified Bootloader): Gestor de arranque por defecto en muchas distribuciones Linux. Permite elegir qué sistema operativo cargar en configuraciones de arranque dual.
  • Punto de Montaje: En Linux, las particiones no se identifican con letras (C:, D:), sino que se "montan" en una carpeta del sistema (ej: /, /home, /mnt/c).
  • Swap: Partición o archivo de intercambio en Linux que se utiliza como extensión de la memoria RAM cuando esta se llena.
  • Tema 5: Explotación

    Organización del Disco y Particiones

  • Compresión de archivos: Método para reducir el "peso" o tamaño de los archivos para ahorrar espacio. Los archivos comprimidos no son accesibles directamente (deben descomprimirse) y se puede realizar de forma nativa o mediante software de terceros (WinRAR, 7zip).
  • Punto de Montaje (Mount point): Directorio en Linux a través del cual se accede al contenido de un dispositivo de almacenamiento (disco, USB).
  • Ficheros de dispositivos de bloque: En Linux, archivos especiales que representan hardware de almacenamiento (como /dev/sda).
  • Árbol de directorios de Linux:Estructura jerárquica que cuelga de la raíz (/). A diferencia de Windows, no usa letras de unidad (C:, D:), sino que todo se integra en esta estructura.
  • Gestión de Software y Paquetes (Linux)

  • Repositorio: Servidor centralizado donde se almacenan paquetes de software, actualizaciones y bibliotecas para su descarga e instalación segura.
  • APT (Advanced Package Tool): Sistema de gestión de paquetes en distribuciones basadas en Debian/Ubuntu. Maneja la instalación, actualización y borrado de software.
  • Dependencia: Programa o librería adicional que un software necesita para funcionar correctamente. Los gestores modernos las instalan automáticamente.
  • Permisos y Atributos de Linux

    En Linux, la seguridad se basa en quién puede hacer qué con un archivo. Existen tres tipos de usuarios y tres tipos de acciones:

  • Usuarios: Propietario (u), Grupo (g) y Otros (o).
  • Acciones: Lectura (read), Escritura (write) y Ejecución (execute).
  • chmod:Comando utilizado para cambiar estos permisos, ya sea de forma simbólica (u+x) o numérica (755).
  • Herramientas de Explotación en Windows

  • Instalación Típica: Instalación genérica que incluye los componentes más habituales para un usuario normal.
  • Instalación Avanzada/Personalizada: Permite al usuario elegir qué componentes específicos desea instalar y en qué ubicación.
  • Microsoft Store: epositorio oficial de aplicaciones seguras diseñadas específicamente para el ecosistema Windows.
  • Comandos de Explotación de Linux

    Esta unidad se centra en comandos más avanzados para procesar información y gestionar el sistema:

    Comando Función
    grep Busca una cadena de texto o patrón dentro de uno o varios archivos.
    find Busca archivos en el árbol de directorios basándose en criterios (nombre, tamaño, fecha).
    head / tail Muestran las primeras o últimas líneas de un archivo de texto, respectivamente.
    wc Cuenta el número de líneas, palabras o caracteres de un archivo.
    chmod / chown Modifican los permisos y el propietario de un archivo o carpeta.
    apt update Actualiza la lista de software disponible en los repositorios.
    apt upgrade Instala las versiones más recientes de todos los paquetes instalados.
    lsblk Lista todos los dispositivos de bloque (discos y particiones) conectados.

    Gestión

  • Shell Script: Archivo de texto que contiene una serie de comandos que el sistema ejecuta de forma secuencial. Se usa para automatizar tareas repetitivas.
  • Actualizaciones del Sistema: Proceso crítico para mantener la seguridad y estabilidad, corrigiendo errores (bugs) y vulnerabilidades del SO.
  • Copia de Seguridad: Duplicado de datos críticos en un soporte distinto para prevenir la pérdida de información ante fallos de hardware o borrados accidentales.
  • Tema 6: Administración

    Administración de Usuarios y Grupos

  • Fichero /etc/passwd: Archivo fundamental que contiene la información de las cuentas de usuario (nombre, UID, GID, directorio home y shell).
  • Fichero /etc/shadow: Almacena de forma segura las contraseñas cifradas de los usuarios y la información de caducidad de las mismas.
  • UID (User ID): Número de identificación único para cada usuario. El root siempre tiene el UID 0.
  • GID (Group ID): Número de identificación único para cada grupo en el sistema.
  • useradd/userdel: Comandos para crear y eliminar usuarios, respectivamente.
  • usermodd: Comando utilizado para modificar las propiedades de un usuario ya existente (como cambiarlo de grupo).
  • Gestión de Procesos

  • Proceso: Un programa en ejecución que consume recursos (CPU, memoria).
  • PID (Process ID): Número único que el sistema asigna a cada proceso para identificarlo.
  • Daemon (Demonio): Proceso que se ejecuta en segundo plano (background) de forma permanente para proporcionar un servicio (ej. servidor web o de impresión).
  • ps (Process Status): Muestra una "foto" de los procesos que se están ejecutando en un momento concreto.
  • Kill: Comando utilizado para enviar señales a un proceso, generalmente para terminarlo o reiniciarlo.
  • Nice/Renice: Valores que determinan la prioridad de un proceso. Un valor "nice" alto significa menor prioridad (el proceso es "amable" y deja paso a otros).
  • Registro y Eventos (Logs)

  • Log: Archivo de texto donde el sistema y las aplicaciones anotan eventos, errores o advertencias que ocurren durante el funcionamiento.
  • Directorio /var/log: Ubicación estándar en Linux donde se guardan la mayoría de los archivos de registro.
  • Shell

  • Variable: Espacio de memoria con un nombre asignado que almacena un dato que puede cambiar durante la ejecución del script.
  • Estructura Condicional (if/else): Permite al script tomar decisiones basadas en si se cumple o no una condición específica.
  • Bucle (for/while): Permite repetir un conjunto de comandos varias veces o mientras se cumpla una condición.
  • Recursos de Administración

  • Recursos Compartidos:Archivos o dispositivos de un equipo que se ponen a disposición de otros usuarios a través de la red (comúnmente mediante protocolos como Sambapara redes Windows/Linux).
  • Tareas Programadas: Automatización de procesos de mantenimiento (como copias de seguridad o limpieza de temporales) para que ocurran sin intervención humana.
  • Uptime: Tiempo que el sistema ha estado encendido y funcionando sin interrupciones.