DOS vs Windows

The followings are the points to discuss the difference between DOS and Windows and also why windows is preferable over DOS regarding GUI based interaction.

  1. DOS is text/console based OS. Windows is GUI based OS. DOS shell is command user interface or CLI, Windows provides graphical user interface GUI.
  2. DOS application does not obey any standard user navigation and user interaction protocol. Windows defines a set of standard widgets like menues, dialogs, windows, buttons, textboxes etc. which are common to all GUI based OS.
  3. DOS is single tasking OS. Windows is multitasking OS. User has flexibility to run more than one application at a time and can work simultaneously.
  4. DOS is based on 8086 16bit processor which can access upto 20bit of addess which is 1MB max. Windows is based on 386 32bit processor and can access 32bit which is 4GB or for 64bit this limit is even beyond.

MS DOS vs MS Windows


DOS works in 80x25 text-based console and the user interacts with the operating system by means of some commands. DOS has basic commands like dir, cd, type, move, del, deltree, edit, fdisk, sys, etc to manage files and folders. Basic text files can be managed. Multimedia and formatted documents cannot be used. DOS can switch video mode to VGA (640x480) and can run different DOS games.


Windows works in graphical mode and the user interacts with the operating system via GUI elements. Windows being GUI based operating system has numerous advantages.

Windows desktop

The screen size is 1024x768 and larger so more information can be displayed at any point in time. It is easy to interact with files and folders with a mouse. Very little keyboard interactions are required to manage files and folders. Graphical and multimedia files like pictures, animation, audio, and video files can be seen or edited only in Windows. Formatted rich-edit text documents, presentations, etc can be viewed and edited. Windows can run a wide variety of games with direct rendering and DirectX interface of the graphics.

User interaction

DOS application does have any standard for text-based menu navigations and interactions.

Windows GUI

Graphical interfacing in Windows follows standard GUI design. A set of standard widgets like menus, dialogs, windows, buttons, textboxes, etc. are used in Windows which are common to all GUI-based OS.


DOS can use only the default core 0 of the CPU and the operating system is single-tasking. DOS cannot have multitasking capability.

Multitasking CPUs in Windows

Windows can enable multitasking facility in single-core CPU. It can even access multicore cores for multitasking. The user has the flexibility to run one application in the foreground and numerous tasks in the background. User can switch between different tasks and can interact as needed.

Resource and Memory

DOS is based on x86 16bit processor architecture which can access up to 20bit of address which is 1MB maximum range.

Windows memory usage

Windows is based on 386 32bit processor and can access 32bit which is 4GB or more using a physical address extension(36bits) up to 16GB. Windows 64bit has a maximum memory limit of several TBs.


Command line user interface (CLI)Graphical User Interface
User interaction not standard User interaction is unified for all GUI based OS
Single TaskingMultitasking
Based on 8086, 16bit OS, can access upto 1MBBased on 80386, 32bit OS, can access upto 4GB for 32bit

About our authors: Team EQA

Further readings

Where is WinMain() function in MFC application ?

MFC hides WinMain in its framework and includes source file on WinMain(). This explains how framework calls global CWinApp::Initinstance() from entry WinMain.

What is the utility of CWinApp class?

This is constructed during global C++ objects are constructed and is already available when Windows calls the WinMain function, which is supplied by the ...

Basic steps in Win32 GUI Application with source code.

Define a custom Window class structure, Register the class name, CreateWindow, Show windows and write message get and dispatch loop statements. Define the Window CallBack procedure and write the handlers.

What is a Window CallBack procedure and what is its utility?

DispatchMessage() is a API which indirectly triggers the Window CallBack procedure. Message structure members from this function are passed to the CallBack procedure. CallBack procedure should implement event handlers depending on the need of the application.

What are LPARAM and WPARAM in window proc function?

LPARAM and WPARAM are the two parameters in Window CallBack procedure. They signifies parameters of various events. They are used in handing individual events.

What are the basic steps of a typical MFC based application?

We need to write WinMain and need to follow all these in a Win32 application. However we need not to write much if we are writing an application with MFC ...