Protected mode

Protected mode

The 32 bit programs work in protected RAM sectors, with the CPU in protected mode. This allows the PC to multitask - more than one program can run concurrently and independently. That is not possible in 16 bit operating systems, where the CPU works in real mode.

A brief comparison of 16 bit and 32 bit operating systems can look like this:

DOS control of hardware

DOS is quite simple to describe, since it principally consists of only 4 parts:
  • A boot record, which activates the operating system.
  • The file IO.SYS, which is interfaced to ROM-BIOS with installation of device drivers.
  • The file MSDOS.SYS. That is the core of DOS, handling the file system and program execution.
  • The file COMMAND.COM, which provides the command line, the text based user interface.
When we talk about hardware control, it is done through IO.SYS. That is a program which reads the
ROM BIOS code and converts it to DOS's own device drivers. The smart thing about DOS is that the operating system can be expanded with external device drivers. IO.SYS reads them via the start-up file CONFIG.SYS. First device drivers are read from ROM BIOS. Then any possible additional drivers are read from disk. In that way DOS can handle hardware units which did not exist when the PC was originally configured.
A final option to handle hardware from DOS programs is to write special drivers for the individual user program. Many DOS games come with their own graphics drivers (they have to recognize all graphics standards on the market!). Another classic example is the word processing program WordPerfect, which in its prime (version 5.1) came with drivers to more than 500 different printers!

The device drivers can be seen with the program MSD. Here is a picture from my Windows 95, where you can clearly see the names of the device drivers (CON, PRN, LPT1 etc.): All these device drivers are in 16 bit program code.

All these device drivers are in 16 bit program code.