Linux is the kernel for many free and open source operating systems. Windows is a proprietary and commercial operating system, but there are many other differences between the two. When you are choosing an OS to run on your server, it is important to know some of the technical differences as well.
1. Access – Linux servers are almost always headless, meaning there is no graphical interface. Management is performed locally from the console or remotely via SSH. Windows systems are normally not headless, although it is possible. You can typically access Windows via the graphical interface and remotely through the Server Core via MMC, TS RemoteApp Terminal Services, or Remote Shell.
2. Software – On Linux you normally install software via a package management system with local or remote software repositories. You can also install binary files manually or compile source code. On Windows, your would primarily manually install binary software.
3. Web server and applications – The default web server software for Windows is Internet Information Services (IIS). It is generally the only web server designed to run the ASP.NET web application framework. Therefore, if you want to use ASP.NET, you should use a Windows server. Linux may run any number of web servers, and the default one installed may depend on your distribution. Apache HTTP Server and Nginx are among the most popular. Windows can also run other web servers, though not with official support.
These are just some surface differences between Windows and Linux. There are many others that will will explore in part 2 of this introduction.