Chapter 13 MS-DOS Operating System Understanding Operating Systems, Fourth Edition

advertisement
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
Download