MS-DOS stands for Microsoft Disk Operating System. MS-DOS controls the
computer's hardware and provides an environment for programs to run. This
system ...
COMPUTER HARDWARE (Part 6b)
Disk Operating System (DOS)
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 basics: • • • • • • • • • • • •
What is MS-DOS? MS-DOS stands for Microsoft Disk Operating System. MS-DOS controls the computer’s hardware and provides an environment for programs to run. This system program must always be present when working with your computer. Why You Need MS-DOS There are a variety of reasons why you need MS-DOS. A few of them are listed below to satisfy your curiosity. 0. Windows is built upon MS-DOS and it is easy and fast to learn programming under MS-DOS as compared to Windows. So, it is good for beginners 1. MS-DOS controls the flow of information between you and the computer (translator). 2. MS-DOS allows you to store information on your computer. 3. MS-DOS allows you to retrieve information stored on your computer. 4. MS-DOS interprets and translates the software you have on your computer. 5. MS-DOS gives you access to all its function (i.e. saving, copying, and printing files).
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
4
History of DOS Version 1.0 1.1 2.0 3.0
Release date 1981 1982 1983 1984
3.1 3.2 3.3 4.0 5.0 6.0 6.22
1984 1986 1987 1988 1991 1993 1994
Features CP/M compatible; supported only 1 directory Allowed double-sided 5¼ inch disks Eliminated some defects in version 1 Increased memory requirement to 36K, supported PC/AT First release to support networking Supported token ring and 3½ inch disks IBM PS/2 computer Supported hard disks larger than 32 megabytes Better use of extended memory Better use of conventional memory Provided users with capabilities previously available only as third party applications Chapter 12 - MS DOS
5
Design Goals • User
• •
COMMAND.COM DOS Kernel BIOS
MS-DOS
• •
Accommodate single novice user in single-process environment. Standard I/O support includes keyboard, monitor, printer, & secondary storage unit. User commands are based on English words/phrases indicative of action to be performed. Commands are interpreted by command processor. Layering approach “protects” user from hardware.
Hardware Chapter 12 - MS DOS
6
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
7
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
8
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
9
Reserved for BIOS
1M
Unused
640K
RAM Layout for 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
10
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
11
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
12
First 5 Bytes of Memory Block Define Block’s Structural Characteristics
Byte byte 0 bytes 1–2
bytes 3–4
Contents ASCII 90h if it’s the last block, or ASCII 77h if it’s not. 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. Gives the number of paragraphs contained in the block.
Chapter 12 - MS DOS
13
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
14
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
15
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
16
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
17
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
18
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
19
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
20
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
21
Command DIR CD or CHDIR COPY DEL or ERASE RENAME TYPE PRINT DATE TIME MD or MKDIR FIND FORMAT CHKDSK
Stands for Directory Change Directory Copy Delete Rename Type Print Date Time Make Directory Find Format Disk Check Disk
PROMPT DEFRAG (filename)
System Prompt Defragment Disk
Action to be performed List what’s in this directory. Change working directory. Copy a file. Append one to another. Delete the following file or files. Rename a file. Display text file on screen. Print one or more files on printer. Display and/or change system date. Display and/or change system time. Create a new directory or subdirectory. Find a string. Search files for a string. Logically prepare disk for file storage. Check disk for disk/file/directory status. Change system prompt symbol. Compact fragmented files. Run, execute, file.
Chapter 12 - MS DOS
22
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 nontechnical 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
23
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
24
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
25