Wednesday 22 December 2010
This is a part of chapter "A brief history of IT Infrastructures" of my forthcoming book "Infrastructure Architecture". Please feel free to comment using my email address stated in the right column of this website.
The most successful operating system ever is without a doubt Microsoft Windows. The first version of Microsoft Windows was released in 1985 and achieved little popularity. Windows 1.0 was actually not an operating system, but rather an "operating environment" that ran as an application op top of MS-DOS.
Microsoft Windows version 2 was released in 1987, and was hardly more popular than its predecessor. Windows 2.0 could run Microsoft's new graphical applications, Excel and Word for Windows. The applications could be run from MS-DOS, that first started Windows for the duration of running Excel or Word, and then close down Windows again upon exit of the application.
In 1990 Microsoft Windows 3.0 was the first really successful Windows version. Windows 3.0's user interface was seen as a serious competitor to the user interface of Apple’s Macintosh. In the mean time PCs had gotten VGA based graphics and a Protected/Enhanced mode used by Windows provining applications more memory in than MS-DOS could.
In parallel with the development of Windows Microsoft and IBM together started to develop what was to be the follow-up of MS-DOS, called Operating System 2 (OS/2). OS/2 was designed as a real operating system (not running on top of MS-DOS) and would deliver efficient multi-tasking and many other advanced features not found in Windows and MS-DOS. The development of OS/2 proved not an easy road for both IBM and Microsoft. Around the early 1990s, conflicts arose, leading to a split up of the Microsoft/IBM relationship. IBM continued to develop OS/2, while Microsoft changed the name of its OS/2 3.0 version to Windows NT. Both IBM and Microsoft retained the rights to use OS/2 technology developed up to the termination of the agreement. Windows NT, however, was written from scratch, without reusing the previous OS/2 work.
Windows NT arrived in 1992 and turned out to be a huge success. Created from scratch the new operating system provided stability Windows was lacking until then. Windows NT was no layer onto MS-DOS, but was a real operating system with its own kernel, bootstrap, memory management, etc. Version 3.51 was the most successful one. Deployed in many datacenters as an easy to use application, file and print server it directly threatened the position of Novell's NetWare.
In late 1995 Microsoft released Windows 95, positioned as the new operating system for desktops. Windows 95 provided a new Graphical User Interface (GUI) that made the older Windows systems (including Windows NT 3.51) look old fashioned. Windows 95 introduced the "start" button, from where all applications could be started. This feature greatly increased the usability for first time users of Windows.
Windows NT 4 also included the Windows 95 GUI. By this time most companies were switching from Novell servers to Windows NT 4 and even UNIX systems started to be replaced by Windows NT 4 systems.
Windows 2000 was both targeted at workstations and servers and provided improved stability and a common technology base between servers and workstations (Windows 95 was still using MS-DOS as the underlying kernel).
Later versions of Windows targeted at workstations included Windows XP, Windows Vista and Windows 7.
The server operating systems were named after the year of release: Windows server 2003 and 2008.
Today Windows is still the most dominant used operating system in the world.
Weaknesses of Microsoft Windows
In general Windows used to suffer from two great weaknesses: its stability and its security.
The stability of Windows was not as good as competing products like Novell NetWare and UNIX systems. While NetWare and UNIX would run for at least ea year without crashing, it was not uncommon that a Windows server crashed once a day. The infamous “Blue Screen Of Death” (DSOD) was the screen showing that a Windows server had crashed.
The main cause of this instability was the need for backwards compatibility of Windows. While technology allowed for more and more enhanced features to be build in operating systems, Microsoft decided that every version of Windows needed to be able to run all already developed software without recompilation. This meant that all types of tweaks were built into Windows to be able to cope with all kinds of old applications.
Another issue was that Windows had to run on all types of hardware (as opposed to UNIX systems that were bound to specific hardware, or Apple systems for that matter). All sorts of new, old and obscure video cards, modems, printers, CPUs, disk drives, etc. were supposed to work in Windows, mostly interfaced with device drivers created by third parties. Given this technical complexity and the need for more advanced operating system features, it is a miracle Windows did run at all.
Another weakness was the security of Windows. The main reason for this was that Windows was based on MS-DOS - a single user / single tasking operating system. Multi user features and running of multiple applications concurrently were built in later, leading to all types of issues. Because of backward compatibility and because most applications were not designed with multi user usage in mind, these applications had to run with the highest possible user rights (administrator rights). This led to applications being able to bring down other applications or even Windows itself. It also provided hackers the possibility to change or delete files on Windows computers that were no part of a running application (like the Windows kernel files). This led to many viruses and worms attacking Windows. Because Windows was so popular, it ran on most PC based computers. A hacker that could exploit a vulnerability in Windows could use it to attack almost all PC based systems in the world.
In 2002 Microsoft initiated the so-called Trustworthy Computing initiative, to make all of their products more safe and reliable. Microsoft recognized the security and stability issues and took several months full-time of all developers to update the Windows code base to make it more stable. This led to far more stable versions of Windows (and other Microsoft software as well).