You are on page 1of 24

Chapter 12

MS-DOS

ICS-023 PC Operating Systems


Ahmer Zakir
MS-DOS Operating System

• History
• Design Goals
• Memory Management
• Processor Management
• Device Management
• File Management
• User Interface
• Additional Commands

Chapter 12 - MS DOS 2
MS-DOS, PC-DOS or DOS

• Developed to run single-user, stand-alone desktop


computers.
– Exemplifies early Operating Systems because it manages jobs
sequentially from single user.
• Advantages: Simple operation & straight-forward user
commands.
• Disadvantages:
1. Lack of flexibility & limited ability to meet needs of programmers
& experienced users.
2. Written for a single family of microprocessors (Intel family of
chips: 8086, 8088, 80186, and 80286).

Chapter 12 - MS DOS 3
History of DOS

Version Release Features


date
1.0 1981 CP/M compatible; supported only 1 directory
1.1 1982 Allowed double-sided 5¼ inch disks
2.0 1983 Eliminated some defects in version 1
3.0 1984 Increased memory requirement to 36K,
supported PC/AT
3.1 1984 First release to support networking
3.2 1986 Supported token ring and 3½ inch disks
3.3 1987 IBM PS/2 computer
4.0 1988 Supported hard disks larger than 32 megabytes
5.0 1991 Better use of extended memory
6.0 1993 Better use of conventional memory
6.22 1994 Provided users with capabilities previously
available only as third party applications
Chapter 12 - MS DOS 4
Design Goals

• Accommodate single novice user


in single-process environment.
User
• Standard I/O support includes
keyboard, monitor, printer, &
secondary storage unit.
• User commands are based on
English words/phrases indicative of
COMMAND.COM
action to be performed.
DOS Kernel MS-DOS • Commands are interpreted by
command processor.
BIOS • Layering approach “protects” user
from hardware.

Hardware
Chapter 12 - MS DOS 5
First 2 DOS Layers : BIOS &
Kernel

1. BIOS (Basic Input/Output System) -- interfaces directly with various


I/O devices.
– Device drivers (control flow of data to/from each device).
– Receives status info about success/failure of each I/O operation &
passes it on to the processor.
2. DOS kernel -- routines needed to interface with the disk drives.
• Read into memory at initialization time from MSDOS.SYS file on boot
disk.
• Accessed by application programs.
• Provides a collection of hardware-independent services, such as
memory management, & file & record management (system functions).

Chapter 12 - MS DOS 6
Third DOS Layer : Command
Processor

3. Command processor (shell) -- sends prompts to user,


accepts commands, executes commands, & issues
appropriate responses.
– Resides in a file called COMMAND.COM, which consists of 2 parts
stored in 2 different sections of main memory.
– Not interpretive.
– MS-DOS Version 4.0 -- menu-driven DOS shell.
– OS/2 -- designed to replace MS-DOS.

• MS-DOS ran enormous collection of software packages


making it difficult to discontinue.

Chapter 12 - MS DOS 7
DOS Memory Management

• Relatively simple job because it’s managing single job


for single user.
– Uses a first-fit memory allocation scheme since it is most
efficient strategy in a single-user environment.

Chapter 12 - MS DOS 8
Reserved for BIOS 1M
RAM Layout for
Unused 640K 1MB of Memory
Transient part of
Command.COM

Transient program
Area (user memory)

TSR programs
Resident part of
Command.COM

Installable Drivers
Buffer Cache

MS-DOS Kernel

BIOS Interface

Interrupt Vectors (256) 0

Chapter 12 - MS DOS 9
DOS Main Memory Allocation

• First versions had simple contiguous memory allocation scheme


that gave all of the available memory to resident application
program.
– Applications couldn’t dynamically allocate memory blocks.
– MS-DOS Version 2.0 supported dynamic allocation, modification, & release of
main memory blocks by applications.
• Amount of memory each application owns depends on type of file
from which program is loaded & size of TPA.
– Programs.COM -- given all of TPA, whether or not they need it.
– Programs.EXE -- given amount of memory they need.

Chapter 12 - MS DOS 10
Memory Block Allocation

• Allocates memory by using first-fit algorithm & linked list of


memory blocks.
• With Version 3.3, MS-DOS started using best-fit or last-fit
strategy.
• Size of a block can vary from 16 bytes (paragraph) to
maximum available memory.

Chapter 12 - MS DOS 11
First 5 Bytes of Memory Block Define
Block’s Structural Characteristics

Byte Contents
byte 0 ASCII 90h if it’s the last block, or ASCII 77h if it’s not.
bytes 1–2 Includes the number zero to indicate a busy block and the
pointer to the Program Segment Prefix (PSP) that is created by
the EXEC function when the program is loaded.
bytes 3–4 Gives the number of paragraphs contained in the block.

Chapter 12 - MS DOS 12
Free/Busy Block List

• Whenever request for memory comes in, DOS looks through


free/busy block list to find free block that fits.
– If list becomes disconnected, system stops & must be rebooted.
• Well-designed application program releases memory block it no
longer needed.

Busy Free Busy Free Busy

Block 1 Block 2 Block 3 Block 4 Block 5

Chapter 12 - MS DOS 13
Process Management

• MS-DOS doesn’t support multitasking.


– Programs can’t break out of middle of DOS internal routine & restart routine from
somewhere else.
– There's no interleaving & no need for sophisticated algorithms or policies to
determine which job will run next or for how long.

Chapter 12 - MS DOS 14
Interrupt Handlers Are Responsible
for Synchronizing Processes

• PC has 256 interrupts & interrupt handlers, & they are accessed via
interrupt vector table.
• Three types of interrupts:
1. Internal hardware interrupts -- generated by certain events occurring
during program’s execution (e.g., division by zero).
2. External hardware interrupts -- caused by peripheral device
controllers or by coprocessors & assigned by manufacturers.
3. Software interrupts -- generated by system & application programs to
access DOS & BIOS functions, which, in turn, access system
resources.

Chapter 12 - MS DOS 15
Device Management

• Ability to reorder requests to optimize seek & search time is not a feature of
DOS because it’s designed for a single-user environment.
– All requests are handled on a first-come first-served basis.
– Since version 3.0, BIOS can support spooling so users can schedule several files
to be printed one after the other.
• MS-DOS written for simple systems using keyboard, monitor, printer, mouse,
1-2 serial ports, & maybe second printer.
– Devices do not require special management from OS.
– Device drivers are the only items needed by Device Manager to make system
work.
– A device driver is a software module that controls an I/O device and handles its
interrupts.

Chapter 12 - MS DOS 16
Managing Files

• Earliest versions of MS-DOS kept every file in a single directory.


• Version 2.0 implemented hierarchical directory structure.
• When disk is formatted, its tracks are divided into sectors of 512
bytes.
• 2-8 sectors are grouped into clusters & that's how File Manager
allocates space to files.

Chapter 12 - MS DOS 17
FORMAT Creates Three
Special Areas on Disk
1. Boot record -- first sector of every logical disk & contains disk boot
program & table of disk's characteristics.

2. Root directory -- Lists system’s primary subdirectories & files (name,


extension, size, date & time of modification, starting cluster #, file
attribute codes).

3. FAT (File Allocation Table) -- contains status info about disk’s


sectors: which are allocated, which are free, and which can’t be
allocated because of errors.

Chapter 12 - MS DOS 18
Managing Files in DOS

• Supports noncontiguous file storage & dynamically allocates disk


space to a file, provided there’s enough disk room.
• Compaction (MS-DOS Version 6.0) available via utility used to
defragment disk (DEFRAG.EXE).
• CHKDSK command used to determine need for compaction.
• Restricting user access to computer system & resources isn’t built
into MS-DOS.

Chapter 12 - MS DOS 19
User Interface

• Command-driven operating system.

• When user presses Enter key, shell (COMMAND.COM) interprets


command & calls on next lower level routine to satisfy request.

• User commands include some or all of these elements in this order:


command source-file destination-file switches

Chapter 12 - MS DOS 20
Command Stands for Action to be performed
DIR Directory List what’s in this directory.
CD or CHDIR Change Directory Change working directory.
COPY Copy Copy a file. Append one to another.
DEL or ERASE Delete Delete the following file or files.
RENAME Rename Rename a file.
TYPE Type Display text file on screen.
PRINT Print Print one or more files on printer.
DATE Date Display and/or change system date.
TIME Time Display and/or change system time.
MD or MKDIR Make Directory Create a new directory or subdirectory.
FIND Find Find a string. Search files for a string.
FORMAT Format Disk Logically prepare disk for file storage.
CHKDSK Check Disk Check disk for disk/file/directory
status.
PROMPT System Prompt Change system prompt symbol.
DEFRAG Defragment Disk Compact fragmented files.
(filename) Run, execute, file.

Chapter 12 - MS DOS 21
Batch Files & Redirection

• By creating customized batch files, users can quickly


execute combinations of DOS commands to configure
their system, perform routine tasks, or make it easier for
non-technical users to run software.

• MS-DOS can redirect output from one standard input or


output device to another.
command > destination
E.g., dir > PRN

Chapter 12 - MS DOS 22
Filter Commands (SORT, MORE)

• Filter commands accept input from default device, manipulate data in


some fashion, & send results to default output device.

• SORT accepts input from keyboard, sorts that data, & displays it on
screen.  
– Sort the file by column.

• MORE causes output to be displayed on screen in groups of 24 lines,


one screen at a time, & waits until user presses Enter key before
displaying next 24 lines.

Chapter 12 - MS DOS 23
Pipe

• Cause standard output from one command to be used as standard


input to another command.
– Symbol is a vertical bar, |.
– Alphabetically sort directory & display sorted list on screen:
DIR | SORT
 
• Combine pipes and other filters.
TYPE INVENTRY.DAT | MORE
  MORE < INVENTRY.DAT
DIR | SORT | MORE
DIR | SORT > SORTFILE
MORE < SORTFILE

Chapter 12 - MS DOS 24

You might also like