Analizando el Kernel : Windows vs Linux

Hola! Existen grandes diferencias cuando se trata de hablar de las bondades que trae Windows y Linux, algunos usuarios prefieren a uno de ellos a todo nivel , mientras que otros optan por darle usos definidos a cada uno. En este articulo explicare cual es la diferencia entre el Kernel de Windows y el Kernel de Linux





En primer lugar, voy a explicar algunos conceptos para diferenciar como ha dio evolucionando el SO de Windows. En la década de los noventa Microsoft estaba basando sus sistemas operativos en los kernel Windows 9x, donde el código básico tenía muchas similitudes con el famoso MS-DOS. De hecho necesitaba recurrir a él para poder operar. Paralelamente, Microsoft también estaba desarrollando otra versión de su sistema dirigido a los servidores llamada Windows NT, que nació el 26 de julio de 1993.

Ambas versiones de Windows fueron desarrollándose por separado. Windows NT era más bien una jugada a largo plazo, una tecnología que ir desarrollando para los Windows del mañana, y en el año 2000 dieron un nuevo paso en esa dirección. A la versión 5.0 de NT la llamaron Windows 2000, y se convirtió en un interesante participante en el sector empresarial.

Tras ver la buena acogida que tuvo, Microsoft decidió llevar NT al resto de usuarios para que ambas ramificaciones convergieran. Lo hicieron en octubre del 2001 con la versión 5.1 de Windows NT, que llegó al mercado con el nombre de Windows XP, para algunos el primer gran sistema operativo de Microsoft. Por lo tanto, esta versión marcó un antes y un después no sólo por su gran impacto en el mercado, sino porque era el principio de la aventura del Kernel Windows NT, este Kernel marco un hito pues desde ese momento y hasta Windows 10 se ha usado como base este mismo Kernel y se ha ido desarrollando manteniendo la esencia de lo que fue la primera vez






El cuadro anterior me va servir para explicar una de las características del Kernel de Windows, si pueden ver hay 2 capas. La primera es el User Mode (Modo Usuario) y es en esta donde se instalan y ejecutan las aplicaciones con las que interactua el usuario, aunque también se le considera algunos drivers. 

Cuando ejecutas una aplicación, esta accede al modo usuario, donde Windows crea un proceso específico para la aplicación. Cada aplicación tiene su dirección virtual privada, ninguna puede alterar los datos que pertenecen a otra y tampoco acceder al espacio virtual del propio sistema operativo. Es por lo tanto el modo que menos privilegios otorga, incluso el acceso al hardware está limitado, y para pedir los servicios del sistema las aplicaciones tienen que recurrir a la API de Windows.




El modo núcleo en cambio es ese en el que el código que se ejecuta en él tiene acceso directo a todo el hardware y toda la memoria del equipo. Aquí todo el código comparte un mismo espacio virtual, y puede incluso acceder a los espacios de dirección de todos los procesos del modo usuario. Esto es peligroso, ya que si un driver en el modo kernel toca lo que no debe podría afectar al funcionamiento de todo el sistema operativo. Es por esta razón que el código que se encuentra en esta capa es cerrado


Por otro lado, Linux tiene una filosofía completamente distinta, aquí cogieron los principios de modularidad de Unix y decidieron abrir el código y las discusiones técnicas. Gracias a ello, Linux ha creado una comunidad meritocrática de desarrolladores, una en la que todos pueden colaborar y en la que cada cambio que se sugiere se debate con dureza para desechar las peores ideas y quedarse con las mejores. También se halaga a quienes consiguen mejorar las funcionalidades más veteranas. Por esta razon Linux es mas monolitico es decir todo esa en una sola capa 


Los dos están escritos principalmente en C, y son capaces de manejar el almacenamiento en caché, los controladores de dispositivos, la memoria virtual, los sistemas de archivos, los protocolos de red y las llamadas de sistema. Vemos que en esencia sus funcionalidades son las mismas, aunque la manera de llevarlas a cabo es diferente, he aquí principalmente donde radica su diferencia. Ahora que SO te animas a usar? 

Saludos!


No comments

Powered by Blogger.