Windows, segunda parte
Ahora que tienes Windows funcionando como un servidor en tu Mac‑mini, es el momento perfecto para aprenderlo bien. Te voy a preparar una guía completa, clara y práctica, pensada para alguien que ya domina macOS y Linux. Así verás Windows con ojos de power‑user, no como un usuario normal.
Voy a dividirlo en secciones para que puedas avanzar a tu ritmo:
🟦 1. Windows vs macOS vs Linux: diferencias reales que importan
🟩 🧠 Filosofía del sistema
| Tema | macOS | Linux | Windows |
|---|---|---|---|
| Base | Unix (BSD) | Unix‑like | NT Kernel |
| Permisos | POSIX | POSIX | ACLs (más complejos) |
| Paquetes | Homebrew | apt/yum/pacman | MSI/EXE + Winget |
| Automatización | zsh, Automator | Bash, systemd | PowerShell, Task Scheduler |
| Sistema de archivos | APFS | ext4, btrfs | NTFS |
Windows no sigue la filosofía Unix, así que muchas cosas funcionan distinto:
- No hay
/etc,/usr,/var - No hay permisos POSIX (aunque WSL los simula)
- No hay systemd
- No hay un gestor de paquetes nativo (aunque Winget ya es casi eso)
🟦 2. Lo esencial del sistema de archivos en Windows
🟩 Rutas importantes
C:\Windows→ el sistemaC:\Program Files→ apps de 64 bitsC:\Program Files (x86)→ apps de 32 bitsC:\Users\TU_USUARIO→ tu homeC:\Users\TU_USUARIO\AppData→ equivalente a~/.config+~/.local
AppData tiene 3 carpetas:
Local→ datos localesLocalLow→ apps con permisos bajosRoaming→ configuraciones sincronizables
🟦 3. El Registro de Windows (Registry)
Es como si /etc, ~/.config y parte del kernel estuvieran en una base de datos gigante.
Se divide en “hives”:
HKEY_LOCAL_MACHINE→ configuración del sistemaHKEY_CURRENT_USER→ configuración del usuarioHKEY_CLASSES_ROOT→ asociaciones de archivosHKEY_USERS→ perfiles de usuarioHKEY_CURRENT_CONFIG→ hardware actual
Puedes verlo con:
Código
regedit
Y desde PowerShell:
powershell
Get-Item "HKLM:\Software"
🟦 4. Servicios en Windows (equivalente a systemd)
Windows usa el Service Control Manager (SCM).
Ver servicios:
powershell
Get-Service
Iniciar uno:
powershell
Start-Service -Name sshd
Detener:
powershell
Stop-Service -Name wuauserv
Configurar inicio automático:
powershell
Set-Service -Name sshd -StartupType Automatic
🟦 5. PowerShell: lo más importante para controlarlo como un pro
PowerShell no es Bash. Es orientado a objetos, no a texto.
Esto cambia todo.
🟩 Ejemplo clave
En Bash:
bash
ps aux | grep ssh
En PowerShell:
powershell
Get-Process ssh
En Bash, la salida es texto. En PowerShell, la salida es objetos, con propiedades.
Puedes hacer:
powershell
(Get-Process ssh).Id
🟦 6. Comandos esenciales de PowerShell
🟩 Navegación
powershell
Get-ChildItem # ls
Set-Location # cd
Copy-Item # cp
Move-Item # mv
Remove-Item # rm
🟩 Información del sistema
powershell
Get-ComputerInfo
Get-WmiObject Win32_OperatingSystem
Get-WmiObject Win32_Processor
🟩 Red
powershell
Test-Connection google.com # ping
Get-NetIPAddress
Get-NetAdapter
🟩 Procesos
powershell
Get-Process
Stop-Process -Name notepad
🟩 Usuarios
powershell
Get-LocalUser
New-LocalUser -Name david -Password (Read-Host -AsSecureString)
Add-LocalGroupMember -Group Administrators -Member david
🟦 7. Winget: el “apt” de Windows
Instalar apps:
powershell
winget install firefox
winget install vscode
winget install 7zip
Actualizar todo:
powershell
winget upgrade --all
Buscar apps:
powershell
winget search python
🟦 8. Tareas programadas (equivalente a cron)
Abrir el programador:
Código
taskschd.msc
Desde PowerShell:
powershell
schtasks /create /tn "MiTarea" /tr "powershell.exe -File C:\script.ps1" /sc daily /st 09:00
🟦 9. Firewall de Windows
Ver reglas:
powershell
Get-NetFirewallRule
Permitir un puerto:
powershell
New-NetFirewallRule -DisplayName "SSH" -Direction Inbound -Protocol TCP -LocalPort 22 -Action Allow
🟦 10. Cosas que Windows hace diferente a Linux/macOS
- No usa systemd → usa SCM
- No usa Bash → usa PowerShell
- No usa permisos POSIX → usa ACLs
- No usa paquetes → usa EXE/MSI (aunque Winget ayuda)
- No usa
/etc→ usa el Registro - No usa logs en
/var/log→ usa el Visor de Eventos - No usa demonios → usa Servicios
- No usa scripts
.sh→ usa.ps1
Si quieres aprender Windows “todo a la vez”, te voy a montar algo que no vas a encontrar en ningún curso: una ruta completa, pensada para alguien que ya domina macOS y Linux, y que quiere controlar Windows como un profesional, desde el escritorio hasta el nivel servidor, pasando por PowerShell, automatización, seguridad y administración.
Voy a darte un plan progresivo, pero cada sección es independiente, así que puedes saltar entre ellas según te apetezca.
🟦 1. Entender Windows desde la perspectiva de un usuario de macOS/Linux
🟩 Lo que Windows hace distinto
- No es Unix → no hay
/etc,/usr,/var - No usa systemd → usa Servicios
- No usa Bash → usa PowerShell
- No usa permisos POSIX → usa ACLs
- No usa paquetes → usa Winget (nuevo)
- No usa archivos de texto para configuración → usa el Registro
- No usa logs en carpetas → usa el Visor de Eventos
🟩 Lo que Windows hace muy bien
- Integración con hardware
- Gestión de drivers
- Active Directory (si algún día te interesa)
- PowerShell (muy potente)
- Automatización empresarial
- Virtualización con Hyper‑V (en Pro/Enterprise)
🟦 2. Sistema de archivos de Windows explicado para usuarios Unix
🟩 Rutas clave
| Ruta | Equivalente |
|---|---|
C:\Users\David | /Users/david o /home/david |
C:\Windows | /usr + /etc + /bin mezclado |
C:\Program Files | /Applications |
C:\ProgramData | /var |
C:\Users\David\AppData | ~/.config + ~/.local |
🟩 AppData explicado
Local→ datos locales (cachés, configuraciones)Roaming→ configuraciones sincronizablesLocalLow→ apps con permisos reducidos
🟦 3. El Registro de Windows (Registry)
Es como si /etc, ~/.config y parte del kernel estuvieran en una base de datos.
Verlo:
Código
regedit
Desde PowerShell:
powershell
Get-Item "HKLM:\Software"
Modificar:
powershell
Set-ItemProperty "HKCU:\Software\MiApp" -Name Config -Value 1
🟦 4. Servicios (equivalente a systemd)
Windows usa el Service Control Manager.
Ver servicios:
powershell
Get-Service
Iniciar:
powershell
Start-Service sshd
Detener:
powershell
Stop-Service wuauserv
Habilitar inicio automático:
powershell
Set-Service sshd -StartupType Automatic
🟦 5. PowerShell: tu nueva arma principal
PowerShell es orientado a objetos, no a texto.
🟩 Ejemplo clave
En Bash:
bash
ps aux | grep ssh
En PowerShell:
powershell
Get-Process ssh
Y puedes hacer:
powershell
(Get-Process ssh).Id
Porque la salida es un objeto, no texto.
🟦 6. Comandos esenciales de PowerShell
🟩 Navegación
powershell
Get-ChildItem # ls
Set-Location # cd
Copy-Item # cp
Move-Item # mv
Remove-Item # rm
🟩 Información del sistema
powershell
Get-ComputerInfo
Get-WmiObject Win32_OperatingSystem
🟩 Red
powershell
Test-Connection google.com
Get-NetIPAddress
Get-NetAdapter
🟩 Procesos
powershell
Get-Process
Stop-Process -Name notepad
🟩 Usuarios
powershell
Get-LocalUser
New-LocalUser -Name david -Password (Read-Host -AsSecureString)
Add-LocalGroupMember -Group Administrators -Member david
🟦 7. Winget: el “apt” de Windows
Instalar apps:
powershell
winget install firefox
winget install vscode
winget install 7zip
Actualizar todo:
powershell
winget upgrade --all
Buscar apps:
powershell
winget search python
🟦 8. Automatización en Windows
🟩 Tareas programadas (equivalente a cron)
Abrir interfaz:
Código
taskschd.msc
Crear tarea desde PowerShell:
powershell
schtasks /create /tn "MiTarea" /tr "powershell.exe -File C:\script.ps1" /sc daily /st 09:00
🟦 9. Firewall de Windows
Ver reglas:
powershell
Get-NetFirewallRule
Permitir un puerto:
powershell
New-NetFirewallRule -DisplayName "SSH" -Direction Inbound -Protocol TCP -LocalPort 22 -Action Allow
🟦 10. Seguridad y permisos
Windows usa ACLs:
powershell
Get-Acl C:\Carpeta
Cambiar permisos:
powershell
$acl = Get-Acl C:\Carpeta
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("David","FullControl","Allow")
$acl.AddAccessRule($rule)
Set-Acl C:\Carpeta $acl
🟦 11. Administración remota
Ya tienes SSH funcionando, así que puedes:
- ejecutar PowerShell remoto
- copiar archivos
- automatizar tareas desde macOS
Ejemplo:
bash
ssh david@IP-de-tu-Windows powershell.exe -Command "Get-Process"
🟦 12. Qué puedes aprender a continuación
Puedo enseñarte:
🟩 PowerShell avanzado
- pipelines de objetos
- módulos
- scripts
.ps1 - funciones
- clases
- manejo de errores
- automatización real
🟩 Administración de Windows como servidor
- servicios
- firewall
- usuarios
- permisos
- tareas programadas
- logs
- políticas de seguridad
🟩 Windows como entorno de desarrollo
- WSL
- Docker
- Visual Studio Code
- Python, Node, etc.
🟩 Windows como servidor SSH
- automatización desde macOS
- scripts remotos
- gestión sin escritorio
🟢 Para seguir: ¿qué quieres dominar primero?
Puedo empezar por:
- PowerShell avanzado
- Administración del sistema
- Seguridad y permisos
- Automatización
- WSL y desarrollo
- Todo mezclado con ejercicios prácticos
Te explico cada concepto de forma clara y conectando cómo encajan dentro de Windows y sistemas operativos. Algunos vienen del mundo Unix/macOS (POSIX) y otros son propios de Windows.
1. Permisos POSIX
Los permisos POSIX vienen del estándar POSIX, usado en sistemas tipo Unix como Linux o macOS.
Definen quién puede hacer qué con un archivo o carpeta.
Tres tipos de usuarios
Cada archivo tiene permisos para:
- Owner (usuario propietario)
- Group (grupo)
- Others (todos los demás)
Tres tipos de permiso
| Permiso | Significado |
|---|---|
| r | read (leer) |
| w | write (escribir) |
| x | execute (ejecutar) |
Ejemplo típico:
-rwxr-xr--
Significa:
| Parte | Significado |
|---|---|
| rwx | propietario puede leer, escribir, ejecutar |
| r-x | grupo puede leer y ejecutar |
| r– | otros solo pueden leer |
Ejemplo en terminal:
chmod 755 archivo.sh
equivale a:
rwx r-x r-x
2. ACLs (Access Control Lists)
Las ACLs son una versión más avanzada de permisos.
En lugar de solo:
- owner
- group
- others
puedes definir permisos para usuarios concretos.
Ejemplo conceptual:
archivo.txtusuario Juan → leer
usuario Ana → leer + escribir
grupo admins → todo
Esto se llama Access Control List.
POSIX vs ACL
| POSIX | ACL |
|---|---|
| simple | más complejo |
| 3 grupos de usuarios | cualquier usuario |
| muy usado en Unix | usado en Windows y Linux |
En Windows las ACL son el sistema principal.
3. Sistema de archivos NTFS
El sistema de archivos de Windows moderno es NTFS.
NTFS significa:
New Technology File System
Es el sistema usado por Microsoft Windows desde Windows NT.
Qué hace un sistema de archivos
Un sistema de archivos se encarga de:
- guardar archivos
- organizar carpetas
- controlar permisos
- registrar cambios en disco
Características de NTFS
| Función | Explicación |
|---|---|
| ACLs | permisos avanzados |
| journaling | registro para evitar corrupción |
| compression | compresión de archivos |
| encryption | cifrado con EFS |
| quotas | límite de espacio por usuario |
| links | enlaces duros |
ACL en NTFS
Cuando ves esto en Windows:
Propiedades → Seguridad
estás viendo ACLs de NTFS.
Ejemplo:
Usuario: David
Permisos:
✔ Leer
✔ Escribir
✔ Modificar
✖ Eliminar
4. Instaladores MSI y EXE
En Windows el software se instala normalmente con:
MSI
Formato estándar de instalación.
Ejemplo:
programa.msi
MSI significa:
Microsoft Installer
Ventajas:
- instalación estructurada
- reversible
- compatible con administración corporativa
- puede instalarse con scripts
Ejemplo:
msiexec /i programa.msi
EXE
Un ejecutable normal.
Ejemplo:
setup.exe
Puede contener:
- instalador propio
- scripts
- MSI dentro
No hay estándar fijo.
5. winget
Windows Package Manager es el gestor de paquetes de Windows.
Es parecido a:
| Sistema | Gestor |
|---|---|
| Linux | apt |
| macOS | brew |
| Windows | winget |
Ejemplo:
Instalar Visual Studio Code:
winget install Microsoft.VisualStudioCode
Actualizar todo:
winget upgrade --all
Internamente winget descarga:
- MSI
- EXE
- MSIX
y los ejecuta automáticamente.
6. Task Scheduler
El planificador de tareas de Windows es Task Scheduler.
Sirve para automatizar programas o scripts.
Es equivalente al cron de Linux.
Comparación:
| Linux | Windows |
|---|---|
| cron | Task Scheduler |
Qué puede hacer
Ejecutar:
- scripts
- programas
- backups
- tareas del sistema
Ejemplos
Ejecutar un script:
backup.ps1
Cada día a las 3:00.
O:
- al arrancar el PC
- al iniciar sesión
- al conectarse a red
- cuando pasa cierto evento
7. Cómo se conectan todos estos conceptos
Dentro de Windows todo encaja así:
Windows
│
├── Sistema de archivos
│ └── NTFS
│ └── ACLs (permisos)
│
├── Instalación de software
│ ├── MSI
│ ├── EXE
│ └── winget
│
└── Automatización
└── Task Scheduler
Mientras que en Linux/macOS sería:
Sistema Unix
│
├── Permisos POSIX
├── ACL opcionales
├── gestores de paquetes
│ └── apt / brew
└── automatización
└── cron
💡 Si quieres, en el siguiente paso puedo explicarte algo muy interesante que casi nadie entiende bien:
- cómo funciona NTFS por dentro (MFT, journaling, etc.)
- por qué Windows es más complejo que Linux en permisos
- y cómo macOS mezcla POSIX + ACL de forma curiosa.
Ese nivel ya es arquitectura real del sistema operativo.
vamos a bajar un nivel más profundo, porque aquí entramos ya en arquitectura real de sistemas operativos. Entender esto te permite comprender por qué Windows, Linux y macOS gestionan archivos y permisos de forma distinta.
1. Cómo funciona NTFS por dentro
El sistema de archivos NTFS no guarda los archivos como la gente imagina (carpetitas con documentos dentro).
En realidad funciona como una gran base de datos.
La pieza central es:
MFT (Master File Table)
La Master File Table es una tabla que contiene un registro por cada archivo del disco.
Ejemplo conceptual:
| ID archivo | nombre | ubicación | tamaño | permisos |
|---|---|---|---|---|
| 1 | Windows | sector 4030 | 2GB | ACL |
| 2 | foto.jpg | sector 84000 | 5MB | ACL |
| 3 | documento.txt | sector 21000 | 4KB | ACL |
Cada archivo tiene una entrada en la MFT.
Dentro de esa entrada se guardan:
- nombre
- tamaño
- ubicación en disco
- timestamps
- permisos
- atributos
Archivos pequeños
Algo curioso de NTFS:
Si el archivo es muy pequeño (≈ <1KB) puede guardarse directamente dentro de la MFT.
Esto acelera muchísimo el acceso.
2. Journaling (registro de cambios)
NTFS es un sistema con journaling.
Esto significa que antes de modificar algo se registra la operación.
Ejemplo:
1️⃣ quieres borrar un archivo
2️⃣ NTFS escribe en el journal:
voy a borrar archivo X
3️⃣ realiza la operación
Si el ordenador se apaga inesperadamente, al arrancar el sistema revisa el journal y repara inconsistencias.
Por eso Windows rara vez corrompe discos NTFS.
3. Cómo funcionan los permisos en Windows
Windows usa Access Control List.
Cada archivo tiene una lista llamada:
Security Descriptor
Dentro está la ACL.
Ejemplo conceptual:
archivo.txtACL:
- David → leer/escribir
- Administradores → control total
- invitados → solo leer
Cuando un programa intenta abrir el archivo:
1️⃣ Windows mira quién es el usuario
2️⃣ compara con la ACL
3️⃣ decide si puede acceder
4. Diferencia profunda con POSIX
Los permisos POSIX (Linux/macOS) son mucho más simples.
Un archivo solo tiene:
owner
group
others
Ejemplo:
-rwxr-xr-x
Esto significa:
| usuario | permisos |
|---|---|
| owner | rwx |
| group | r-x |
| others | r-x |
Limitación
No puedes decir:
Juan → leer
Ana → escribir
Carlos → nada
POSIX no lo permite directamente.
Por eso existen ACL POSIX extendidas, pero no son tan integradas como en Windows.
5. Cómo macOS mezcla los dos sistemas
El sistema de archivos moderno de macOS es APFS.
Apple usa dos capas de permisos:
1️⃣ POSIX tradicional
2️⃣ ACL estilo Windows
Por eso a veces en macOS ves cosas raras como:
-rwxr-xr-x+
El + significa:
hay ACL adicionales
Puedes verlas con:
ls -le
6. Cómo se evalúan los permisos realmente
Cuando un programa intenta abrir un archivo, el sistema hace algo así:
Programa quiere abrir archivo
│
Sistema identifica usuario
│
Lee permisos del archivo
│
Evalúa reglas
│
Permitir / Denegar
En Windows el algoritmo es más complejo porque existen:
- herencia de permisos
- grupos
- reglas explícitas
- reglas de denegación
7. La herencia de permisos (muy importante)
En NTFS los permisos se heredan desde las carpetas.
Ejemplo:
C:\Datos
ACL:
Administradores → control total
Usuarios → leer
Todos los archivos dentro heredarán esos permisos automáticamente.
8. Cómo funcionan realmente los instaladores MSI
El sistema Windows Installer usa paquetes MSI.
Un MSI no es simplemente un instalador.
Es una base de datos estructurada.
Dentro hay tablas como:
| tabla | función |
|---|---|
| File | archivos a copiar |
| Registry | claves de registro |
| Shortcut | accesos directos |
| Component | componentes instalables |
Cuando instalas:
msiexec /i programa.msi
Windows:
1️⃣ lee la base de datos
2️⃣ ejecuta las acciones
3️⃣ registra la instalación
Por eso puede:
- reparar programas
- desinstalar limpiamente
- actualizar
9. Cómo funciona winget por dentro
El gestor Windows Package Manager es básicamente:
base de datos de software
+
scripts de instalación
Cuando haces:
winget install vlc
ocurre:
1️⃣ busca en repositorio
2️⃣ descarga MSI/EXE
3️⃣ ejecuta instalación silenciosa
10. Task Scheduler por dentro
El planificador Task Scheduler guarda las tareas en:
C:\Windows\System32\Tasks
Cada tarea es un archivo XML con:
- triggers (cuando ejecutar)
- acciones
- usuario
- permisos
Ejemplo de trigger:
cada día a las 03:00
Acción:
ejecutar script backup.ps1
11. Cómo encaja todo en Windows
Arquitectura simplificada:
Aplicaciones
│
│ usan
▼
API de Windows
│
▼
Sistema de seguridad
│
├── usuarios
├── tokens
└── ACL
│
▼
Sistema de archivos NTFS
│
├── MFT
├── Journal
└── almacenamiento en disco
💡 Si quieres, puedo enseñarte ahora algo que suele fascinar a los ingenieros de sistemas:
1️⃣ cómo Windows decide realmente si un usuario puede abrir un archivo (access token)
2️⃣ por qué un administrador a veces no puede borrar un archivo
3️⃣ cómo funcionan los enlaces, streams ocultos y metadatos en NTFS
Es una parte bastante sorprendente del diseño de Windows.
Ahora entramos en el nivel interno de seguridad de Windows, que es una de las partes más sofisticadas del sistema. Esto explica cosas que a muchos usuarios les parecen misteriosas, como:
- por qué un administrador no puede borrar ciertos archivos
- por qué Windows dice “acceso denegado” aunque seas admin
- o cómo decide realmente si un programa puede abrir un archivo.
Todo gira alrededor de tres conceptos: tokens, SIDs y ACLs.
1. El Access Token (la identidad real de un proceso)
Cuando inicias sesión en Microsoft Windows, el sistema crea algo llamado Access Token.
Un Access Token es básicamente un objeto que dice:
Quién eres
A qué grupos perteneces
Qué privilegios tienes
Ejemplo conceptual:
Usuario: David
Grupos:
- Usuarios
- AdministradoresPrivilegios:
- apagar el sistema
- instalar software
Ese token se adjunta a todos los programas que ejecutas.
Por ejemplo:
explorer.exe
chrome.exe
powershell.exe
Todos heredan tu token.
2. SID (Security Identifier)
Windows no usa nombres de usuario internamente.
Usa identificadores llamados Security Identifier.
Ejemplo de SID real:
S-1-5-21-3623811015-3361044348-30300820-1013
Cada:
- usuario
- grupo
- sistema
tiene uno.
Por ejemplo:
| identidad | SID |
|---|---|
| usuario | único |
| grupo administradores | fijo |
| sistema | fijo |
Esto permite que el sistema funcione incluso si cambias el nombre del usuario.
3. Cómo Windows decide si puedes abrir un archivo
Cuando intentas abrir un archivo en NTFS, Windows ejecuta algo parecido a este algoritmo.
Paso 1
El programa pide acceso.
Ejemplo:
abrir documento.txt
Paso 2
El sistema mira el Access Token del proceso.
Ejemplo:
Token contiene:SID usuario
SID grupos
privilegios
Paso 3
Windows lee la ACL del archivo.
La Access Control List puede ser algo así:
ACL documento.txtAdministradores → control total
Usuarios → leer
Invitados → denegar
Paso 4
Windows compara:
TOKEN vs ACL
Si encuentra coincidencia:
permiso concedido
Si encuentra regla de denegación:
acceso denegado
4. La regla importante: DENY gana siempre
En Windows existe algo clave:
DENY > ALLOW
Ejemplo:
Administradores → permitir
Usuario David → denegar
Resultado:
David no puede acceder
Aunque sea administrador.
5. Por qué a veces un administrador no puede borrar archivos
Esto pasa mucho con archivos del sistema.
Por ejemplo:
C:\Windows\System32
Muchos archivos pertenecen a:
TrustedInstaller
Este es un servicio especial llamado:
Windows Modules Installer
Eso significa:
owner = TrustedInstaller
Aunque seas administrador, no eres el propietario.
Por eso Windows bloquea cambios.
Para modificarlos hay que:
1️⃣ tomar propiedad
2️⃣ cambiar ACL
6. La propiedad de archivos
Cada archivo en NTFS tiene un owner.
Ejemplo:
Owner: SYSTEM
El propietario puede:
- cambiar permisos
- delegar acceso
Esto es independiente de las ACL.
7. UAC (otro mecanismo de seguridad)
Desde Windows Vista existe el User Account Control.
Cuando eres administrador, Windows no usa tu token completo.
Crea dos tokens:
Token normal
Token administrador
Los programas normales usan el token limitado.
Solo cuando aparece:
¿Desea permitir que esta aplicación haga cambios?
Windows activa el token completo.
Esto evita malware.
8. Los ADS: archivos ocultos dentro de archivos
NTFS tiene algo muy curioso llamado:
Alternate Data Streams
Permite que un archivo tenga varios flujos de datos.
Ejemplo:
archivo.txt
puede contener:
contenido principal
+
stream oculto
Ejemplo real:
archivo.txt:secret.txt
Esto se usó mucho en:
- malware
- ocultar datos
- metadatos
Puedes verlo con:
dir /r
9. Enlaces en NTFS
NTFS también soporta varios tipos de enlaces.
Hard links
Un archivo puede tener varios nombres apuntando al mismo contenido.
Symbolic links
Parecido a Linux.
Ejemplo:
mklink enlace.txt original.txt
Junctions
Enlaces a directorios.
Muy usados por Windows para compatibilidad.
10. Cómo ve Windows realmente el disco
La estructura simplificada es:
Disco
│
├── Boot sector
│
├── MFT
│ │
│ ├── archivo1
│ ├── archivo2
│ └── carpeta
│
├── Journal
│
└── Datos reales
La Master File Table es básicamente el índice de todo.
11. Curiosidad interesante
En NTFS todo es un archivo, incluso:
$MFT
$LogFile
$Bitmap
$Secure
Son archivos internos del sistema de archivos.
💡 Si quieres, puedo enseñarte algo todavía más interesante (nivel ingeniería de sistemas):
- cómo funcionan los procesos y el kernel de Windows
- qué diferencia hay entre kernel mode y user mode
- cómo interactúan drivers, memoria y sistema de archivos
Eso ya explica cómo funciona realmente un sistema operativo moderno.
Ahora vamos a entrar en la arquitectura real de un sistema operativo moderno, usando como ejemplo Microsoft Windows. Esto explica cómo interactúan:
- programas
- memoria
- disco
- drivers
- hardware
Todo gira alrededor de dos niveles fundamentales: User Mode y Kernel Mode.
1. User Mode vs Kernel Mode
Todos los sistemas operativos modernos separan el software en dos mundos:
| Modo | Qué es |
|---|---|
| User Mode | donde se ejecutan los programas normales |
| Kernel Mode | donde vive el núcleo del sistema |
En Windows el núcleo se llama Windows NT kernel.
User Mode
Aquí viven programas como:
- navegadores
- editores
- juegos
- scripts
Ejemplo:
Chrome
Word
Python
Si un programa falla en User Mode, normalmente solo se cierra ese programa.
Kernel Mode
Aquí vive el sistema operativo:
- gestión de memoria
- drivers
- sistema de archivos
- seguridad
Si algo falla aquí → pantalla azul (BSOD).
La famosa:
Blue Screen of Death
2. Cómo un programa accede al sistema
Un programa no puede acceder directamente al hardware.
Debe usar la API del sistema.
En Windows esto se hace mediante Windows API.
Ejemplo:
Un programa quiere abrir un archivo.
Proceso real:
Programa
│
Windows API
│
Kernel
│
Sistema de archivos
│
Disco
3. Las System Calls
Cuando un programa necesita algo del sistema usa system calls.
Ejemplo:
open file
read file
create process
allocate memory
Esto cambia temporalmente de:
User Mode → Kernel Mode
y luego vuelve.
4. Procesos y memoria
Cada programa que ejecutas se convierte en un proceso.
Un proceso tiene:
- memoria propia
- hilos de ejecución
- recursos
La memoria de cada proceso está aislada.
Ejemplo:
Proceso A
memoria: 0x00000000 - 0x1FFFFFFFProceso B
memoria: 0x00000000 - 0x1FFFFFFF
Aunque las direcciones sean iguales, apuntan a memoria física distinta.
Esto lo gestiona la memoria virtual.
5. Memoria virtual
Todos los sistemas modernos usan Virtual memory.
Significa que el sistema crea la ilusión de que cada programa tiene su propio espacio de memoria.
Internamente usa:
- RAM
- disco (archivo de paginación)
En Windows el archivo es:
pagefile.sys
Si falta RAM:
RAM → disco
Esto se llama paginación.
6. Los drivers
Los drivers son programas que permiten al sistema hablar con hardware.
Ejemplo:
- tarjeta gráfica
- disco
- red
- USB
En Windows se llaman Device driver.
Muchos drivers se ejecutan en Kernel Mode.
Por eso:
- un driver mal escrito
- puede causar BSOD.
7. Cómo se crea un proceso
Cuando ejecutas un programa ocurre algo así:
1️⃣ doble clic en archivo
2️⃣ Windows crea un proceso
3️⃣ carga el ejecutable en memoria
4️⃣ crea un hilo principal
5️⃣ asigna un Access Token
Proceso simplificado:
EXE
│
loader de Windows
│
proceso en memoria
│
ejecución
8. El scheduler (planificador)
El CPU no ejecuta un programa entero seguido.
El sistema operativo usa un planificador llamado scheduler.
En Windows es parte del kernel.
Funciona así:
Proceso A → 5 ms
Proceso B → 5 ms
Proceso C → 5 ms
Esto ocurre miles de veces por segundo.
Por eso parece que todo ocurre a la vez.
9. Interrupciones del hardware
Cuando el hardware necesita atención envía una interrupción.
Ejemplo:
- llega un paquete de red
- pulsas una tecla
- termina una operación de disco
Entonces:
Hardware
│
Interrupción
│
Driver
│
Kernel
│
Programa
Esto permite que el sistema sea reactivo.
10. Cómo encajan todos los componentes
Arquitectura simplificada:
Aplicaciones
│
User Mode
│
Windows API
│
---------------------
Kernel Mode
---------------------
│
Kernel NT
│
├ memoria
├ scheduler
├ seguridad
├ sistema de archivos
└ drivers
│
Hardware
11. Curiosidad muy interesante
Muchos expertos consideran que Linux y Microsoft Windows tienen filosofías muy distintas:
| Windows | Linux |
|---|---|
| muchos componentes en kernel | kernel más pequeño |
| más APIs internas | más modular |
| muy orientado a compatibilidad | orientado a simplicidad |
Por otro lado macOS usa un kernel híbrido llamado XNU que mezcla ideas de Unix y microkernel.
💡 Si quieres, en el siguiente nivel puedo enseñarte algo que casi nadie explica bien pero que es fascinante:
- cómo arranca realmente un ordenador (BIOS → bootloader → kernel)
- qué ocurre desde que pulsas el botón hasta que aparece el escritorio
- cómo interactúan UEFI, bootloaders y el sistema operativo.
Vamos a ver qué ocurre realmente desde que pulsas el botón de encendido hasta que aparece el escritorio. Es uno de los procesos más interesantes de la informática.
1. Encendido del ordenador
Cuando pulsas el botón:
- La fuente de alimentación se activa.
- El procesador (CPU) se reinicia.
- El CPU comienza a ejecutar instrucciones desde una dirección fija en memoria.
Esas instrucciones están en el firmware de la placa base.
2. BIOS o UEFI
Ese firmware es el UEFI (en ordenadores modernos).
Antes se usaba BIOS.
Su trabajo inicial es:
- comprobar hardware
- inicializar dispositivos
- encontrar un sistema operativo
POST
Durante el arranque se ejecuta el Power-On Self Test.
Comprueba:
- RAM
- CPU
- teclado
- GPU
- dispositivos básicos
Si algo falla, el sistema ni siquiera intenta arrancar.
3. Búsqueda del disco de arranque
El firmware busca un dispositivo que contenga un bootloader.
Puede ser:
- SSD
- disco duro
- USB
- red
En sistemas modernos usa la partición especial llamada EFI System Partition.
4. El Bootloader
El bootloader es un pequeño programa que carga el sistema operativo.
En Windows el principal es Windows Boot Manager.
Su trabajo es:
- leer configuración de arranque
- elegir sistema operativo
- cargar el kernel en memoria
5. Carga del kernel
El bootloader carga el núcleo del sistema:
Windows NT kernel
En ese momento empieza realmente Windows.
El kernel inicializa:
- memoria
- scheduler
- seguridad
- drivers básicos
6. Carga de drivers
Después el sistema carga los drivers necesarios para el hardware:
- disco
- red
- GPU
- USB
Estos son Device driver.
Sin drivers, el sistema no puede usar el hardware.
7. Inicio de servicios del sistema
Una vez activo el kernel, se inicia un proceso crítico llamado:
Session Manager Subsystem
Este proceso:
- prepara sesiones de usuario
- inicia servicios
- prepara el entorno del sistema
Luego se lanzan procesos importantes como:
- Windows Logon Process
- Service Control Manager
8. Pantalla de inicio de sesión
Aquí aparece la pantalla donde introduces tu usuario.
Cuando te autenticas:
- Windows verifica credenciales
- crea tu Access Token
- abre tu sesión
9. Se inicia el escritorio
Después se lanza el proceso que crea el entorno gráfico:
Windows Explorer
Este proceso crea:
- escritorio
- barra de tareas
- explorador de archivos
Y ya puedes usar el sistema.
10. Resumen completo del arranque
La secuencia completa sería:
Botón de encendido
│
Fuente de alimentación
│
CPU inicia firmware
│
UEFI / BIOS
│
POST (test hardware)
│
Bootloader
│
Kernel del sistema operativo
│
Drivers
│
Servicios del sistema
│
Login
│
Escritorio
Todo esto ocurre normalmente en unos pocos segundos en sistemas modernos.
11. Algo muy curioso
En realidad el sistema operativo no controla el ordenador completamente.
Por debajo aún existen capas como:
- firmware del disco
- firmware de la GPU
- microcódigo del procesador
Por ejemplo, el microcódigo del CPU controla detalles internos del CPU.
💡 Si te interesa seguir profundizando, el siguiente nivel (muy interesante) sería entender:
- cómo funciona realmente un procesador moderno
- qué son núcleos, hilos, cachés L1/L2/L3
- qué ocurre dentro del CPU cuando ejecuta una instrucción.
Es probablemente la parte más fascinante de toda la informática.
Ahora vamos a entrar dentro del procesador, que es donde realmente ocurre la computación. Entender esto ayuda a comprender por qué los ordenadores son tan rápidos y cómo ejecutan los programas.
1. Qué es realmente un procesador
El CPU es el componente que ejecuta instrucciones.
Todo programa (Windows, un navegador, un juego) acaba convirtiéndose en instrucciones muy simples que el CPU ejecuta.
Ejemplo de instrucciones reales:
ADD
MOV
LOAD
STORE
JUMP
Estas pertenecen al conjunto de instrucciones de la arquitectura del procesador, como x86-64, usado por la mayoría de PCs.
2. El ciclo básico del CPU
Todos los procesadores funcionan repitiendo este ciclo miles de millones de veces por segundo.
Fetch → Decode → Execute
1️⃣ Fetch (buscar)
El CPU lee la siguiente instrucción desde memoria.
2️⃣ Decode (decodificar)
El procesador interpreta qué significa la instrucción.
3️⃣ Execute (ejecutar)
Se realiza la operación.
Ejemplo simple:
ADD A, B
Significa:
A = A + B
3. Núcleos (cores)
Los procesadores modernos tienen varios núcleos.
Cada núcleo es prácticamente un CPU completo.
Ejemplo:
| CPU | núcleos |
|---|---|
| básico | 2 |
| medio | 6 |
| alto rendimiento | 16+ |
Cada núcleo puede ejecutar procesos simultáneamente.
4. Hilos (threads)
Muchos procesadores tienen multithreading.
Por ejemplo la tecnología Hyper-Threading.
Esto permite que un núcleo ejecute dos hilos simultáneamente.
Ejemplo:
| núcleos | hilos |
|---|---|
| 4 | 8 |
| 8 | 16 |
No es exactamente el doble de potencia, pero mejora el uso del CPU.
5. Caché del procesador
Acceder a la RAM es relativamente lento.
Por eso los CPU tienen memoria interna llamada caché.
Hay varios niveles:
| nivel | velocidad | tamaño |
|---|---|---|
| L1 | extremadamente rápida | muy pequeña |
| L2 | rápida | pequeña |
| L3 | más grande | compartida |
La caché evita tener que ir constantemente a la RAM.
6. Por qué el CPU puede ser tan rápido
Los procesadores modernos ejecutan muchas instrucciones a la vez.
Usan técnicas como:
- ejecución fuera de orden
- pipeline
- predicción de saltos
Pipeline
En lugar de hacer:
instrucción1
instrucción2
instrucción3
el CPU trabaja como una cadena de montaje:
Fetch
Decode
Execute
Write
Mientras una instrucción se ejecuta, otra se está decodificando y otra se está leyendo.
7. Predicción de saltos
Cuando un programa tiene un condicional:
if (x > 0)
el CPU intenta predecir qué ocurrirá antes de saberlo.
Esto se llama Branch prediction.
Si acierta → el programa sigue rápido.
Si falla → el CPU tiene que retroceder.
8. Ejecución fuera de orden
Los CPU modernos pueden reordenar instrucciones para ejecutarlas antes si los datos están disponibles.
Esto se llama Out-of-order execution.
Ejemplo:
A = B + C
D = E + F
Si B tarda en llegar desde RAM, el CPU puede ejecutar primero la segunda.
9. Qué ocurre cuando ejecutas un programa
Cuando ejecutas un programa ocurre esta cadena:
Programa
│
Sistema operativo
│
Instrucciones máquina
│
CPU
│
Operaciones eléctricas en transistores
Los procesadores modernos contienen miles de millones de transistores.
10. Qué es realmente un transistor
Un transistor es básicamente un interruptor microscópico.
Puede representar:
0
1
Los procesadores modernos usan tecnología de unos pocos nanómetros.
Por ejemplo:
- Intel
- AMD
- TSMC
fabrican chips con miles de millones de estos interruptores.
11. Resumen de todo el sistema
Si juntamos todo lo que hemos visto:
Usuario
│
Aplicaciones
│
Sistema operativo
│
Kernel
│
Drivers
│
CPU
│
Transistores
Todo el software del mundo acaba siendo señales eléctricas en transistores.
Todo lo explicado ocurre igual en os tres tipos de so, Windows, Mac Linux? Diferencias?
Sí y no. La base fundamental es la misma, pero la arquitectura y filosofía cambian bastante entre Microsoft Windows, Linux y macOS.
Voy a separarlo en qué es igual y qué es diferente, porque ahí está la clave.
1. Lo que es igual en los tres sistemas
Todos los sistemas operativos modernos comparten los mismos principios básicos.
1️⃣ Arranque del sistema
Todos siguen esta cadena:
encendido
→ firmware (BIOS/UEFI)
→ bootloader
→ kernel
→ servicios
→ usuario
El firmware suele ser UEFI en hardware moderno.
2️⃣ Separación User Mode / Kernel Mode
Todos separan:
| modo | función |
|---|---|
| User mode | programas |
| Kernel mode | sistema operativo |
Esto protege al sistema de errores de aplicaciones.
3️⃣ Memoria virtual
Todos usan Virtual memory.
Esto significa:
- cada proceso tiene su espacio de memoria
- el sistema usa RAM + disco si hace falta.
4️⃣ Scheduler
Todos tienen un planificador de procesos que reparte el CPU entre programas.
5️⃣ Drivers
Todos necesitan drivers para hablar con hardware.
6️⃣ Sistemas de archivos
Todos usan estructuras tipo:
disco
→ tabla de archivos
→ bloques de datos
Aunque el formato sea diferente.
2. Diferencia más importante: el kernel
Aquí empiezan las diferencias reales.
| Sistema | kernel |
|---|---|
| Windows | kernel NT |
| Linux | kernel Linux |
| macOS | kernel XNU |
Windows
Usa el Windows NT kernel.
Características:
- kernel híbrido
- mucha compatibilidad histórica
- muy integrado con APIs propias de Windows
Ventaja:
✔ enorme compatibilidad de software.
Desventaja:
✖ arquitectura compleja.
Linux
El núcleo es Linux.
Características:
- monolítico pero modular
- open source
- extremadamente configurable.
Ventaja:
✔ muy flexible
✔ usado en servidores y supercomputadores.
Desventaja:
✖ fragmentación (muchas distribuciones).
macOS
Usa XNU.
Es un kernel híbrido que mezcla:
- Mach microkernel
- componentes Unix
- código BSD.
Ventaja:
✔ muy optimizado para hardware Apple.
Desventaja:
✖ cerrado y dependiente de Apple.
3. Diferencias en el sistema de archivos
Cada sistema usa uno principal:
| Sistema | sistema de archivos |
|---|---|
| Windows | NTFS |
| Linux | ext4 |
| macOS | APFS |
NTFS
Muy avanzado en:
- ACL
- journaling
- compresión
- streams alternativos.
ext4
Muy robusto y simple.
Muy usado en servidores Linux.
APFS
Optimizado para:
- SSD
- snapshots
- clonación rápida de archivos.
4. Diferencias en permisos
Windows
Permisos basados en ACL complejas.
Ejemplo:
usuario A → leer
usuario B → escribir
grupo C → ejecutar
Linux / macOS
Permisos POSIX clásicos:
owner
group
others
macOS además añade ACL extendidas.
5. Diferencia en instalación de software
| Sistema | método |
|---|---|
| Windows | EXE / MSI |
| Linux | gestor de paquetes |
| macOS | apps / pkg / brew |
Windows
Instaladores tradicionales:
- MSI
- EXE
Ahora también:
- Windows Package Manager
Linux
Usa gestores de paquetes como:
- APT
- DNF
Instalan desde repositorios.
macOS
Sistema mixto:
- App bundles
- pkg installers
- Homebrew
6. Diferencias en filosofía
Aquí está la diferencia más profunda.
| Windows | Linux | macOS |
|---|---|---|
| compatibilidad | control total | integración |
| software comercial | open source | ecosistema Apple |
| drivers de terceros | kernel abierto | hardware controlado |
7. Diferencias en seguridad
Linux
Modelo Unix clásico.
Muy seguro por diseño.
macOS
Unix + sandboxing + control de Apple.
Windows
Históricamente más vulnerable, pero ahora incluye:
- User Account Control
- sandbox
- virtualización de seguridad.
8. Diferencia importante en hardware
Linux
Funciona en casi todo:
- servidores
- routers
- supercomputadores.
Windows
Optimizado para PCs.
macOS
Solo para hardware Apple.
9. Curiosidad interesante
Aunque parecen muy distintos:
- macOS
- Linux
comparten herencia Unix.
Windows no viene de Unix.
10. Resumen final
| aspecto | Windows | Linux | macOS |
|---|---|---|---|
| kernel | NT | Linux | XNU |
| licencia | propietaria | open source | propietaria |
| filesystems | NTFS | ext4 | APFS |
| filosofía | compatibilidad | control | integración |
💡 Hay algo muy interesante que casi nadie explica pero aclara mucho estas diferencias:
cómo están organizados internamente los sistemas operativos tipo Unix frente a Windows (por ejemplo por qué Linux/macOS tienen estructura /etc, /usr, /bin, etc., mientras Windows usa C:\Windows).
Entender la organización interna de los sistemas tipo Unix explica muchas diferencias entre Linux, macOS y Microsoft Windows.
La diferencia principal es cómo organizan todo el sistema.
1. Filosofía Unix: “todo es un archivo”
En sistemas tipo Unix (Linux y macOS) existe una idea central:
todo es un archivo
Esto significa que muchos recursos del sistema se representan como archivos:
- discos
- dispositivos
- procesos
- configuraciones
Por ejemplo, los dispositivos físicos aparecen como archivos dentro de:
/dev
Esto permite que el sistema interactúe con ellos usando las mismas operaciones básicas:
abrir
leer
escribir
cerrar
2. La estructura de directorios Unix
Linux y macOS comparten una jerarquía estándar llamada Filesystem Hierarchy Standard.
La estructura empieza en la raíz:
/
Desde ahí cuelga todo.
/bin
/bin
Contiene programas básicos del sistema.
Ejemplos:
- shell
- comandos esenciales
/usr
/usr
Aquí vive la mayoría del software instalado.
Por ejemplo:
/usr/bin
/usr/lib
/etc
/etc
Aquí están los archivos de configuración del sistema.
Ejemplo:
/etc/hosts
/etc/passwd
Muchos administradores de sistemas pasan gran parte del tiempo aquí.
/home
/home
Contiene los directorios personales de los usuarios.
Ejemplo:
/home/david
/home/maria
En macOS se usa:
/Users
/var
/var
Archivos que cambian constantemente:
- logs
- colas
- bases de datos temporales.
/tmp
/tmp
Archivos temporales.
Muchos sistemas los borran automáticamente al reiniciar.
3. Cómo se montan los discos en Unix
En Unix no existen letras de disco.
Todo se integra en el árbol de directorios.
Ejemplo:
/
├── home
├── usr
└── media
└── usb
Cuando conectas un USB se “monta” en un punto.
Esto se hace con el comando:
mount
4. Cómo funciona en Windows
En Microsoft Windows la filosofía es distinta.
Los discos tienen letras:
C:
D:
E:
Cada uno es una raíz independiente.
Ejemplo:
C:\Windows
C:\Program Files
C:\Users
Esto viene de sistemas antiguos como MS-DOS.
5. Estructura principal de Windows
Las carpetas clave son:
C:\Windows
C:\Program Files
C:\Users
C:\Windows
Contiene el sistema operativo:
- kernel
- drivers
- librerías
C:\Program Files
Programas instalados.
Cada aplicación suele tener su carpeta.
Ejemplo:
Program Files\Google
Program Files\Microsoft
C:\Users
Directorios personales.
Ejemplo:
C:\Users\David
Aquí están:
- documentos
- escritorio
- descargas.
6. Configuración del sistema
Aquí hay otra gran diferencia.
Linux / macOS
Configuración en archivos de texto.
Ejemplo:
/etc/ssh/sshd_config
Esto es muy potente porque se puede:
- editar con scripts
- versionar
- automatizar.
Windows
Muchísima configuración vive en la base de datos llamada:
Windows Registry
El registry almacena:
- configuración del sistema
- preferencias de programas
- asociaciones de archivos.
7. Instalación de software
En Unix:
repositorio → gestor de paquetes → sistema
En Windows:
instalador → copia archivos → registry
8. Permisos
Linux y macOS usan permisos POSIX simples:
rwx
Ejemplo:
-rwxr-xr-x
Windows usa ACL mucho más complejas.
9. Filosofía de diseño
Aquí está la diferencia más profunda.
Unix
Regla clásica:
haz una cosa y hazla bien
Los programas son pequeños y combinables.
Ejemplo:
cat | grep | sort
Windows
Más orientado a:
- aplicaciones grandes
- interfaces gráficas
- integración profunda.
10. Curiosidad muy interesante
Aunque macOS parece diferente, internamente es muy parecido a Linux porque deriva de BSD.
Por eso macOS tiene:
/bin
/etc
/usr
igual que Linux.
💡 Si quieres, hay algo muy interesante que conecta todo lo que hemos visto:
por qué Linux domina servidores e Internet mientras Windows domina el escritorio.
La explicación mezcla:
- arquitectura del sistema
- historia de Internet
- modelo de desarrollo open source.
Muy bien, esta es una historia muy interesante porque explica por qué el mundo informático se divide así:
- Microsoft Windows domina el escritorio
- Linux domina servidores e Internet
- macOS domina el ecosistema Apple y muchos entornos de desarrollo
Y esto no es casualidad: es una mezcla de historia, arquitectura y economía.
1. El nacimiento de Internet
Internet nació principalmente en universidades y centros de investigación.
Los sistemas que usaban eran Unix.
De Unix derivaron:
- BSD
- Linux
Por eso mucho software de red se escribió primero para Unix.
Ejemplos históricos:
- servidor web Apache HTTP Server
- servidor DNS BIND
- servidor SSH OpenSSH
Todo esto nació en entornos Unix.
2. Linux llegó en el momento perfecto
En 1991 Linus Torvalds creó Linux.
Lo importante es que era:
- libre
- open source
- Unix-like
Esto permitió que empresas y universidades lo adoptaran rápidamente.
3. Por qué Linux es ideal para servidores
Linux tiene varias características clave.
Estabilidad
Puede funcionar meses o años sin reiniciar.
Control total
Los administradores pueden modificar:
- kernel
- drivers
- sistema completo.
Automatización
Linux se controla muy bien con scripts:
bash
python
perl
Esto es esencial en servidores.
Ligereza
Puede funcionar con pocos recursos.
Por eso también se usa en:
- routers
- IoT
- supercomputadores.
4. Linux domina Internet
Hoy la mayoría de servidores usan Linux.
Grandes empresas como:
- Amazon
- Meta
basan gran parte de su infraestructura en Linux.
Además, el sistema más usado para servidores web es:
- NGINX
que se ejecuta principalmente en Linux.
5. Por qué Windows dominó el escritorio
Aquí entra la estrategia de Microsoft.
En los años 90 Microsoft consiguió acuerdos con fabricantes de PCs.
Casi todos los ordenadores venían con Windows preinstalado.
Esto creó un efecto enorme:
usuarios → desarrolladores → más software → más usuarios
6. Software clave para Windows
Muchos programas populares solo existían para Windows.
Por ejemplo:
- Microsoft Office
- videojuegos de PC
- software empresarial.
Esto consolidó el dominio del escritorio.
7. macOS: un camino intermedio
macOS usa tecnología Unix pero con hardware controlado por Apple.
Esto tiene ventajas:
- sistema muy optimizado
- menos problemas de drivers
- buena experiencia de usuario.
Pero también limitaciones:
- hardware cerrado
- menor cuota de mercado.
8. Hoy el panorama real
El mundo actual se parece a esto:
| área | sistema dominante |
|---|---|
| escritorio | Windows |
| servidores | Linux |
| cloud | Linux |
| móviles | Linux (Android) |
| ecosistema Apple | macOS |
Por ejemplo Android está basado en Linux.
9. Curiosidad impresionante
Aunque mucha gente no lo sabe:
casi todo Internet funciona sobre Linux.
Ejemplo típico de un servidor web:
hardware
→ Linux
→ NGINX
→ aplicación
→ base de datos
Este modelo se conoce como LAMP stack:
- Linux
- Apache
- MySQL
- PHP.
10. Una ironía histórica
Aunque Microsoft compitió durante décadas contra Linux, hoy:
- Azure usa Linux masivamente
- Microsoft contribuye al kernel Linux.
✅ Resumen muy simple
| área | ganador |
|---|---|
| PC personales | Windows |
| servidores | Linux |
| ecosistema integrado | macOS |