The history of Microsoft Windows

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).


This entry was posted on Wednesday 22 December 2010

Earlier articles

Infrastructure as code

My Book

DevOps for infrastructure

Infrastructure as a Service (IaaS)

(Hyper) Converged Infrastructure

Object storage

Software Defined Networking (SDN) and Network Function Virtualization (NFV)

Software Defined Storage (SDS)

What's the point of using Docker containers?

Identity and Access Management

Using user profiles to determine infrastructure load

Public wireless networks

Supercomputer architecture

Desktop virtualization

Stakeholder management

x86 platform architecture

Midrange systems architecture

Mainframe Architecture

Software Defined Data Center - SDDC

The Virtualization Model

What are concurrent users?

Performance and availability monitoring in levels

UX/UI has no business rules

Technical debt: a time related issue

Solution shaping workshops

Architecture life cycle

Project managers and architects

Using ArchiMate for describing infrastructures

Kruchten’s 4+1 views for solution architecture

The SEI stack of solution architecture frameworks

TOGAF and infrastructure architecture

The Zachman framework

An introduction to architecture frameworks

How to handle a Distributed Denial of Service (DDoS) attack

Architecture Principles

Views and viewpoints explained

Stakeholders and their concerns

Skills of a solution architect architect

Solution architects versus enterprise architects

Definition of IT Architecture

What is Big Data?

How to make your IT "Greener"

What is Cloud computing and IaaS?

Purchasing of IT infrastructure technologies and services

IDS/IPS systems

IP Protocol (IPv4) classes and subnets

Infrastructure Architecture - Course materials

Introduction to Bring Your Own Device (BYOD)

IT Infrastructure Architecture model

Fire prevention in the datacenter

Where to build your datacenter

Availability - Fall-back, hot site, warm site

Reliabilty of infrastructure components

Human factors in availability of systems

Business Continuity Management (BCM) and Disaster Recovery Plan (DRP)

Performance - Design for use

Performance concepts - Load balancing

Performance concepts - Scaling

Performance concept - Caching

Perceived performance

Ethical hacking

Computer crime

Introduction to Cryptography

Introduction to Risk management

The history of UNIX and Linux

The history of Microsoft Windows

The history of Novell NetWare

The history of operating systems - MS-DOS

The history of Storage

The history of Networking

The first computers

History of servers

Tips for getting your ITAC certificate

Studying TOGAF

Is your data safe in the cloud?

Proof of concept

Who needs a consistent backup?

Measuring Enterprise Architecture Maturity

Human factors in security

Master Certified IT Architect

ITAC certification

Open group ITAC /Open CA Certification

Human factors in security

Google outage

SAS 70

TOGAF 9 - What's new?

DYA: Development without architecture

Spam is big business

Why IT projects fail

Power and cooling

Let system administrators participate in projects

The 7 Habits of Highly Effective People

Archimate

A meeting with John Zachman

ITAC - IT Architect certification

Personal Information is Personal Property

The Irresistible Forces Meet the Movable Objects

Hardeningscheck and hack testing for new servers

Knowledge management

Information Lifecycle Management - What is ILM

LEAP: The Redmond trip

LEAP: The last Dutch masterclasses

What do system administrators do?

Is software ever finished?

SCADA systems

LEAP - Halfway through the Dutch masterclasses

Securing data: The Castle versus the Tank

Non-functional requirements

LEAP - Microsoft Lead Enterprise Architect Program

Reasons for making backups

Log analysis - Use your logging information

Archivering data - more than backup

Patterns in IT architecture

Layers in IT security

High performance clusters and grids

Zachman architecture model

High Availability clusters

Monitoring by system administrators

What is VMS?

IT Architecture certifications

Storage Area Networks (SAN)

Documentation for system administrators

Rootkits

Presentations: PowerPoint sheets are not enough

99,999% availability

Linux certification: RHCE and LPI

IT Infrastructure model

Sjaak Laan


Recommended links

Ruth Malan
Gaudi site
Byelex
XR Magazine
Esther Barthel's site on virtualization


Feeds

 
XML: RSS Feed 
XML: Atom Feed 


Disclaimer

The postings on this site are my opinions and do not necessarily represent CGI’s strategies, views or opinions.

 

Copyright Sjaak Laan