# Día 1 : Hardware y Software

## 🖥️🔒 Teoría de Hardware y Sistemas Operativos

### Descripción

La teoría de hardware y sistemas operativos abarca los principios básicos sobre cómo los componentes físicos de una computadora, como el procesador, la memoria y el almacenamiento, interactúan con el software para gestionar los recursos del sistema y mantener su seguridad.

Ideal para: Comprender los principios clave que sustentan el funcionamiento y la seguridad de cualquier sistema informático.

***

### 🧩 Componentes Clave del Hardware

* **CPU (Unidad Central de Procesamiento)**: Ejecuta instrucciones y cálculos.
* **RAM (Memoria de Acceso Aleatorio)**: Memoria volátil usada para almacenar datos temporales.
* **Almacenamiento (SSD/HDD)**: Guarda los datos y el sistema operativo de manera permanente.
* **ROM (Read Only Memory)**: Memoria no volátil que almacena instrucciones esenciales de arranque.
* **BIOS/UEFI**: Sistemas de firmware que inician el hardware y cargan el sistema operativo.

***

### 🔁 Proceso de Arranque de un Sistema Windows

A continuación, se presenta un flujo basado en el siguiente esquema de arranque del sistema:

#### Etapas Clave:

1. **BIOS Initialization / UEFI Initialization**:
   * Ejecuta pruebas POST (Power-On Self-Test).
   * En BIOS, busca el MBR (Master Boot Record); en UEFI, carga los archivos EFI.
2. **Bootmgr.exe**:
   * Cargador principal del sistema. Llama al BCD (Boot Configuration Data).
3. **BCD**:
   * Contiene las configuraciones de arranque.
4. **Winload.exe**:
   * Carga el kernel de Windows y los controladores esenciales (KMCS).
5. **KMCS (Kernel Mode Code Signing)**:
   * Verifica firmas digitales para evitar controladores maliciosos.
6. **Ntoskrnl.exe**:
   * Núcleo de Windows: gestiona procesos, memoria, seguridad.
7. **HAL (Hardware Abstraction Layer)**:
   * Traduce llamadas del sistema operativo al hardware específico.
8. **SMSS (Session Manager Subsystem)**:
   * Inicializa subsistemas y prepara el entorno de usuario.
9. **Logon**:
   * Pantalla de inicio de sesión del usuario.
10. **Modo de hibernación**:
    * Si el sistema estaba hibernado, se utiliza `winresume.exe` y el archivo `hiberfil.sys` para restaurar el estado.

***

### 💻 Laboratorio Virtual

Prueba un entorno Linux desde tu navegador sin instalar nada:

👉 [JSLinux - Linux en tu navegador](https://bellard.org/jslinux/?authuser=0)

***

### 🧪 Comandos esenciales de Linux

Extraído de la guía Comandos.pdf y el repositorio [Ejercicios comandos Linux](https://github.com/gvm92/Ejercicios-comandos-linux?authuser=0):

```bash
cd /etc       # Navegar entre directorios
ls -la        # Listar archivos con detalles
top           # Ver procesos activos
tree          # Mostrar estructura tipo árbol
uname -a      # Info del kernel
df -h         # Ver espacio en disco
history       # Mostrar historial de comandos
chmod 755 file.sh  # Cambiar permisos
id            # Ver ID del usuario y grupos
```

***

### 📚 Recursos recomendados

* **Operating System Concepts** – Silberschatz, Galvin y Gagne.
* **Computer Security Fundamentals** – Chuck Easttom.
* **Kali Linux Revealed** – Enfoque ofensivo para profesionales de seguridad.

***

### 🔍 Comparativa rápida de sistemas operativos

| Función             | Linux                              | Windows                       |
| ------------------- | ---------------------------------- | ----------------------------- |
| Gestión de procesos | `ps`, `top`, `kill`                | `tasklist`, `taskkill`        |
| Red                 | `ifconfig`, `netstat`, `ping`      | `ipconfig`, `netstat`, `ping` |
| Seguridad           | `sudo`, permisos, SELinux/AppArmor | UAC, antivirus, firewall      |
| Sistema de archivos | Ext4, comandos CLI                 | NTFS, interfaz gráfica GUI    |

***

> *Porque para entender la seguridad, primero hay que entender el sistema.*
