Chapter 13 MS-DOS Operating System Understanding Operating Systems, Fourth Edition Objectives You should be able to describe: • The historical significance of MS-DOS • How MS-DOS provided a foundation for early Microsoft Windows releases • The basics of command-driven systems and how to construct simple batch files • How one processor can be shared among multiple processes • The limitations of MS-DOS for many of today’s computer users Understanding Operating Systems, Fourth Edition 2 MS-DOS Operating System • Developed to run single-user, stand-alone desktop computers • Manages jobs sequentially from a single user • Advantages: – Fundamental operation – Straightforward user commands • Disadvantages: – Lack of flexibility – Limited ability to meet the needs of programmers and experienced users Understanding Operating Systems, Fourth Edition 3 History • MS-DOS was successor of CP/M operating system that ran first PC • Microsoft discovered an innovative operating system, called 86-DOS, designed by Tim Patterson of Seattle Computer Products – Microsoft bought it, renamed it MS-DOS, and made it available to IBM • IBM chose MS-DOS in 1981, called it PC-DOS, and proclaimed it the standard for their line of PCs Understanding Operating Systems, Fourth Edition 4 History (continued) • MS-DOS became standard operating system for most 16-bit personal computers • Each version of MS-DOS is a standard version – Later versions are compatible with earlier versions • Early versions of Windows (versions 1.0 through 3.1) were merely GUIs that ran on top of the MSDOS operating system • Although MS-DOS is no longer widely used, many Windows OSs offer a DOS emulator Understanding Operating Systems, Fourth Edition 5 History (continued) Table 13.1: The evolution of MS-DOS Understanding Operating Systems, Fourth Edition 6 Design Goals • Designed to accommodate single novice user in single-process environment • Standard I/O support includes keyboard, monitor, printer, and secondary storage unit • User commands are based on English words or phrases, interpreted by command processor • Layering approach is fundamental to design of the whole MS-DOS system Understanding Operating Systems, Fourth Edition 7 Design Goals (continued) Figure 13.2: The three layers of MS-DOS Understanding Operating Systems, Fourth Edition 8 Design Goals (continued) BIOS (Basic Input/Output System): • Interfaces directly with various I/O devices • Contains device drivers that control flow of data to and from each device except disk drives • Receives status information of each I/O operation and passes it on to processor • Takes care of small differences among I/O units – Example: Allows user to purchase a printer from any manufacturer without having to write a device driver Understanding Operating Systems, Fourth Edition 9 Design Goals (continued) DOS kernel: • Contains routines that interface with disk drives • Read into memory at initialization time from MSDOS.SYS file residing in boot disk • Accessed by application programs and provides collection of hardware-independent services, such as: – Memory management and file and record management • Compensates for variations from manufacturer to manufacturer Understanding Operating Systems, Fourth Edition 10 Design Goals (continued) DOS kernel: (continued) • Makes disk file management transparent to user • Manages storage and retrieval of files • Dynamically allocates and deallocates secondary storage as it’s needed Understanding Operating Systems, Fourth Edition 11 Design Goals (continued) Command processor (the shell): • Sends prompts to user • Accepts commands that are typed in • Executes commands, and issues appropriate responses • Resides in a file called COMMAND.COM, which consists of two parts, stored in two different sections of main memory – Only part of OS that appears on the public directory • Weakness: It isn’t interpretive Understanding Operating Systems, Fourth Edition 12 Memory Management • Memory Manager manages single job for single user – To run second job, user must close or pause first file before opening second • Uses first-fit memory allocation scheme • Main memory comes in two forms: – ROM: Very small in size and contains a program, a section of BIOS, with the the startup process (bootstrapping) – RAM: Part of the main memory where programs are loaded and executed Understanding Operating Systems, Fourth Edition 13 Memory Management (continued) Figure 13.3: One megabyte of RAM main memory in MS-DOS. The interrupt vectors are located in lowaddressable memory and COMMAND.COM overlay is located in high addressable memory. Understanding Operating Systems, Fourth Edition 14 Main Memory Allocation • MS-DOS Version 1.0 gave all available memory to resident application program • MS-DOS Version 2.0 began supporting dynamic allocation, modification, and release of main memory blocks by application programs • Amount of memory each application program actually owns depends on: – Type of file from which program is loaded – Size of TPA Understanding Operating Systems, Fourth Edition 15 Main Memory Allocation (continued) • Programs with COM extension are given all of the TPA, whether or not they need it • Programs with EXE extension are only given amount of memory they need • Except for COM files, there can be any number of files in TPA at one time • Two programs can’t be run at same time • Shrinking and expanding of memory allocation during execution can be done only from programs written in either assembly language or C Understanding Operating Systems, Fourth Edition 16 Memory Block Allocation • Memory Manager allocates memory by using firstfit algorithm and linked list of memory blocks • Best-fit or last-fit strategy can be selected with Version 3.3 and beyond – When using last-fit, DOS allocates highest addressable memory block big enough to satisfy program’s request • Size of a block can vary from as small as 16 bytes (called a “paragraph”) to as large as maximum available memory Understanding Operating Systems, Fourth Edition 17 Memory Block Allocation (continued) Table 13.2: First five bytes of a memory block define block’s structural characteristics Understanding Operating Systems, Fourth Edition 18 Memory Block Allocation (continued) Table 13.3: A sample memory block with first five bytes containing 7700000004h Understanding Operating Systems, Fourth Edition 19 Memory Block Allocation (continued) • When a memory request comes in: – DOS looks through free/busy block list until it finds a free block that fits request • A well-designed application program releases memory block it no longer needs • If two free memory blocks are contiguous, they are merged immediately into one block and linked to the list Understanding Operating Systems, Fourth Edition 20 Memory Block Allocation (continued) Figure 13.4: The linked list of memory blocks Understanding Operating Systems, Fourth Edition 21 Processor Management • MS-DOS doesn’t support reentrant code (basis for multitasking) – Programs can’t break out of middle of DOS internal routine and then restart routine from somewhere else • Each job runs in complete segments and is not interrupted midstream • Interrupt handlers allows the saving of all information about parent program that allows its proper restart after child program has finished Understanding Operating Systems, Fourth Edition 22 Interrupt Handlers • Responsible for synchronizing processes • A personal computer has 256 interrupts and interrupt handlers, accessed via interrupt vector table • Interrupts can be divided into three groups: – Internal hardware interrupts – External hardware interrupts – Software interrupts Understanding Operating Systems, Fourth Edition 23 Interrupt Handlers (continued) • Internal hardware interrupts: Generated by certain events occurring during program’s execution, e.g., division by zero – Assignment of such events to specific interrupt numbers is electronically wired into processor – Not modifiable by software instructions Understanding Operating Systems, Fourth Edition 24 Interrupt Handlers (continued) • External hardware interrupts: Caused by peripheral device controllers or by coprocessors – Assignment of external devices to specific interrupt levels is done by manufacturer – Can’t be modified by software • Implemented as physical electrical connections • Software interrupts: Generated by system and application programs – Access DOS and BIOS functions Understanding Operating Systems, Fourth Edition 25 Interrupt Handlers (continued) • Software interrupts: (continued) – Some are used to activate specialized application programs that take over control of computer • Example: Borland’s SideKick (type of TSR) – Terminate and Stay Resident (TSR) interrupt handler: • Terminates process without releasing its memory • Usually used by subroutine libraries • When running, it sets up memory tables and prepares for execution by connecting to DOS interrupt Understanding Operating Systems, Fourth Edition 26 Interrupt Handlers (continued) Interrupts synchronization: • When CPU senses interrupt, it does two things: – Puts contents of PSW (program status word), code segment register, and instruction pointer register on a stack – Disables interrupt system so that other interrupts will be put off until current one has been resolved • CPU uses 8-bit number to get address of appropriate interrupt handler • Interrupt handler reenables interrupt system to allow higher-priority interrupts to occur Understanding Operating Systems, Fourth Edition 27 Device Management • Requests are handled first-come, first-served – Does not support reordering requests, though in Version 3.0, BIOS can support spooling • MS-DOS Device Manager can work with magnetic tape, floppy disks, or hard disks • BIOS handles device driver software • Device drivers are only items needed by Device Manager to make system work • Installable device drivers are salient feature of MSDOS design Understanding Operating Systems, Fourth Edition 28 File Management • MS-DOS supports following file organizations: – Sequential • Can have either variable or fixed-length records – Direct • Can only have fixed-length records – Indexed sequential • Can only have fixed-length records Understanding Operating Systems, Fourth Edition 29 Filename Conventions • A filename: – Contains no spaces – Consists of drive designation, directory, any subdirectory, a primary name, and an optional extension • DOS isn’t case-sensitive • Drive name is followed by a colon (:) • Directories or subdirectories can be from one to eight characters long and preceded by a backslash • Primary filename can be from one to eight characters long Understanding Operating Systems, Fourth Edition 30 Filename Conventions (continued) • Extension can be from one to three characters long and can have special meaning • File is assumed in current working directory if no directories or subdirectories are included in name • File is assumed on current drive if no drive is designated • Relative name consists of primary name and extension • Absolute name consists of drive designation and directory location Understanding Operating Systems, Fourth Edition 31 Managing Files • Earliest versions kept every file in single directory – Slow and cumbersome file retrieval • Microsoft implemented hierarchical directory structure in Version 2.0 – An inverted tree directory structure (root at top) • Disk tracks are divided into sectors of 512 bytes each when formatted – Corresponding to buffer size of 512 bytes • Concept of cylinders, applies to hard disks Understanding Operating Systems, Fourth Edition 32 Managing Files (continued) • Sectors (from two to eight) are grouped into clusters – When a file needs additional space, DOS allocates more clusters to it • FORMAT creates three special areas on disk: – Boot record – Root directory – FAT(file allocation table) Understanding Operating Systems, Fourth Edition 33 Managing Files (continued) • Boot records: First sector of every logical disk and contains: – Disk boot program – Table of disk’s characteristics • Root directory: Where system begins its interaction with user and contains: – List of system’s primary subdirectories and files • Any system-generated configuration files • Any user-generated booting instructions Understanding Operating Systems, Fourth Edition 34 Managing Files (continued) • Root Directory (continued): – AUTOEXEC.BAT file: Batch file containing series of commands defined by user • Every time CPU is powered up, the commands in this file are executed automatically by system – The information kept in root directory include: • • • • • Filename, File extension File size in bytes Date and time of the file’s last modification Starting cluster number for the file File attribute codes Understanding Operating Systems, Fourth Edition 35 Managing Files (continued) • Root Directory (continued): – Number of entries in root directory is fixed – Version 2.0 and onward versions allow users to avoid this limitation by creating subdirectories – Each subdirectory can contain its own subdirectories and/or files – MS-DOS supports hidden files • • Files that are executable but not displayed in response to DIR commands COMMAND.COM is the only system file that isn’t hidden Understanding Operating Systems, Fourth Edition 36 Managing Files (continued) Figure 13.5: An example of directory listing of a root directory Understanding Operating Systems, Fourth Edition 37 Managing Files (continued) Figure 13.6: Typical directory system Understanding Operating Systems, Fourth Edition 38 Managing Files (continued) • File Allocation Table (FAT): Contains status information about disk’s sectors – Status includes, which sectors are allocated, free, and can’t be allocated because of formatting errors – All sectors except first are linked in a chain • Each FAT entry gives sector/cluster number of next entry • Last entry contains value FF to indicate end of chain Understanding Operating Systems, Fourth Edition 39 Managing Files (continued) Figure 13.7: A typical FAT Understanding Operating Systems, Fourth Edition 40 Managing Files (continued) • MS-DOS views data in disk file as continuous string of bytes – I/O operations request data by relative byte (relative to beginning of file) rather than by relative sector • MS-DOS supports noncontiguous file storage • Dynamically allocates disk space to file • Compaction became feature of MS-DOS Version 6.0 with inclusion of DEFRAG.EXE – CHKDSK (filename) responds with number of noncontiguous blocks in which file is stored • Security feature is not built into MS-DOS Understanding Operating Systems, Fourth Edition 41 User Interface • • • • MS-DOS uses command-driven interface Users type in commands at system prompt Default prompt is drive indicator and > character Default prompt can be changed using PROMPT command • User commands include some or all of following elements in this order: – Command, source- file, destination-file, switches Understanding Operating Systems, Fourth Edition 42 User Interface (continued) • Switches are optional and give specific details about how command is to be carried out – Begin with slash (i.e., /P /V /F) • COMMAND.COM carries out commands – Resident portion of code: Stored in low section of memory • Contains command interpreter and routines needed to support an active program – Transient code: Stored in highest addresses of memory • Can be overwritten by application programs if they need to use its memory space Understanding Operating Systems, Fourth Edition 43 User Interface (continued) Table 13.4: MS-DOS user commands Understanding Operating Systems, Fourth Edition 44 User Interface (continued) Table 13.4 (continued): MS-DOS user commands Understanding Operating Systems, Fourth Edition 45 Batch Files • Customized batch files allows users to quickly execute combinations of DOS commands to: – Configure systems – Perform routine tasks – Make it easier for nontechnical users to run software • For such programs to run automatically every time system is restarted: – File should be renamed AUTOEXEC.BAT and loaded into system’s root directory Understanding Operating Systems, Fourth Edition 46 Redirection • MS-DOS can redirect output from one standard input or output device to another • Syntax: command > destination – e.g., DIR > PRN sends directory listing to printer instead of monitor screen • Append Symbol (>>) redirect and append new output to an existing file – e.g., DIR >> B:DIRFILE • Redirection works in opposite manner as well – Symbol (<) changes source to a specific device or file. e.g., INVENTRY < B:TEST.DAT Understanding Operating Systems, Fourth Edition 47 Filters • Filter commands: Accept input from default device, manipulate data in some fashion, and send results to default output device – Example: SORT • • • • Can read data from file and sort it to another file Sorted in ascending order SORT /R sorts file in reverse order Files can be sorted by columns – Example: MORE • Causes output to be displayed on screen in groups of 24 lines, one screen at time Understanding Operating Systems, Fourth Edition 48 Pipes • Causes standard output from one command to be used as standard input to another command • Symbol: Vertical bar (|) – e.g., DIR | SORT alphabetically sort directory and display sorted list on screen • Pipes and other filters can be combined • Possible to sort directory and display it one screen at a time by using pipe command: DIR | SORT | MORE Understanding Operating Systems, Fourth Edition 49 Additional Commands • FIND: Searches for specific string in given file or files and displays all lines that contain the string from those files – e.g., FIND "AMNT-PAID" PAYROLL.COB display all lines in the file PAYROLL.COB that contain string AMNT-PAID • PRINT: Allows user to set up series of files for printing while freeing up COMMAND.COM – PRINT /B allows changing of internal buffer size – PRINT /Q specifies the number of files allowed in print queue Understanding Operating Systems, Fourth Edition 50 Additional Commands • TREE: Displays directories and subdirectories in hierarchical and indented list – Options allow user to delete files while tree is being generated – TREE /F displays names of files in each directory – Can also be used to delete file that’s duplicated on several different directories Understanding Operating Systems, Fourth Edition 51 Summary • MS-DOS was written to serve users of several generations of personal computers • First standard operating system to be adopted by manufacturers of personal computing machines • Advantages are its fundamental operation and its straightforward user commands • Weakness is that it was designed for singleuser/single-task systems • Can’t support multitasking, networking, and other sophisticated applications Understanding Operating Systems, Fourth Edition 52