Vamos a hablar de cómo funciona Windows y por qué un programa de Windows no se puede ejecutar en Linux okay ¿Que es un programa exactamente? Bueno, pues un programa es una serie de líneas de código que ejecuta el procesador. El procesador es una especie de calculadora que puede hacer operaciones matemáticas, lógicas, puede mover datos en memoria y un programa simplemente es una receta, una línea de instrucciones que le dice al procesador cuáles son las tareas que tiene que hacer, pero el procesador a pesar de ser el cerebro de nuestro ordenador realmente hay muy pocas cosas que sabe hacer para lo mucho que hacemos con nuestro ordenador hoy en día, puede cargar instrucciones, mover datos en memoria, hacer operaciones aritméticas y lógicas, sumas, restas, divisiones, alguna cosa más, pero un ordenador es mucho más que una calculadora, tiene pantalla, tiene altavoces, puedes guardar archivos, puedes imprimir, tenemos una memoria donde se guardan datos, no, por ejemplo las variables de un programa y cada programa tiene su propio espacio dentro del ordenador. Un programa no puede ver lo que está haciendo el otro, pero es que además, en un ordenador moderno tenemos varios programas que están corriendo al mismo tiempo, ejecutándose a la vez y todos se están peleando por utilizar la CPU al mismo tiempo. También los ordenadores de hoy en día tienen usuarios, no todos los usuarios tienen los mismos permisos, no todos pueden hacer las mismas cosas, no todos pueden acceder a los mismos recursos ni a los mismos archivos. Archivos otro concepto con el que conviven los programas, tenemos discos duros, tenemos ficheros, tenemos carpetas, tenemos permisos, unidades, formatos, unidades externas, incluso tenemos red, tenemos internet, un teclado, una cámara, una tarjeta gráfica, vamos, un montón de recursos que van más allá de lo que simplemente puede hacer el procesador de forma tradicional y todos estos recursos del ordenador son tan complejos que si tuviéramos que manejarlos de forma directa, cada programa que haríamos sería súper complejo, de hecho así se hacían las cosas al principio, pero en un momento se vio muy claro que necesitábamos un programa que simplificase todo.
Ahí, es donde entra el sistema operativo y en concreto el sistema operativo tiene una pieza central, el kernel. El kernel es el que se encarga de llevar timers, manejar los recursos del procesador, dividir los programas que se estñan ejecutando en procesos, crear una jerarquía de procesos, decidir quién tiene acceso a que, dar acceso al disco duro, permitir crear un archivo, acceder al teclado, o sea todos los recursos del ordenador los maneja el kernel. El kernel es el que le da permiso y acceso a cualquier programa para hacer cualquier cosa. Además, el kernel es el que maneja la complejidad, el que sabe hablar con todos estos recursos y en el núcleo de Windows tenemos un Kernel, en Linux también tenemos un Kernel y cada uno de estos Kernels es totalmente distinto. Cada uno tiene su historia, cada uno maneja las cosas de una manera distinta, aunque al final del día, pues hacen lo mismo, no, los dos cumplen esa función dentro del sistema operativo. Cuando nosotros ejecutamos un programa en un ordenador o un móvil o cualquier dispositivo, las órdenes se ejecutan directamente en el procesador pero ciertos puntos del programa que hace el peticiones especiales a todos estos recursos que van más allá de cálculos sencillos,
pasan por el sistema operativo y tienen que pasar también ese larga de manejar todos los recursos más preciados de tu ordenador tiene alma de funcionario tú no puedes hablar con él de forma directa ni de cualquier manera necesita seguir protocolos muy estrictos tienes que rellenar unos formularios muy complicados nivel Hacienda que si el modelo 111 y cosas por el estilo vale cosas que muy poca gente entiende entonces para poder hablar con el director bueno pues necesitas un gestor una gestoría que te facilite estos trámites y que ellos son los que se encargan luego de comunicar con el director que es al final este organismo público súper complicado el gestor es un tío que habla un idioma pues más sencillo no entiende lo que tú quieres y se encarga de preparar la burocracia para que la reciba el kernel y las cosas salgan adelante bueno pues en esta imagen mental que nos acabamos de de crear tenemos los recursos del ordenador el director por encima que sería nuestro kernel y luego tenemos la gestoría que serían las librerías de sistema las librerías de sistemas son funciones a las que los programas van a llamar y para cada cosa que quieras que haga tu sistema hay una llamada especial que tienes que hacer estas librerías por ejemplo imagínate que eres un programador estás escribiendo un programa en CE y quieres abrir un archivo en modo escritura pues lo que escribirías sería un código como este que estás viendo en pantalla tranquilo no hace falta que lo entiendas vale simplemente que sepas que con este F open nuevo archivo estarías creando un nuevo archivo en modo escritura llamado nuevo punto txt en programación vale bueno pues este es el código fuente es el código de tu programa luego cuando tú quieres ejecutarlo lo compilas lo conviertes en un punto exe en un ejecutable de Windows y cuando ejecutes ese programa y el