Allowable Process States - Universitas Pendidikan Indonesia

Report
MS-DOS / PC-DOS
Lindsey Buranych
Alan Crouch
Matthew Letnaunchyn
Sandy Saab
Carl Shapiro
Today we’ll discuss:
• History and Overview of MS-DOS/PCDOS
• Process States and Process Data
Structures
• File Management ~ FAT File System
• Conclude with questions
MS-DOS Overview
• MS-DOS is a text-based PC operating
system created by Seattle Computer
Products in 1980 as QDOS, later renamed
86-DOS, because it’s designed to run on
the Intel 8086 processor.
(http://en.wikipedia.org/wiki/MS-DOS)
• MS-DOS was originally released in 1981
and had eight major versions in its’
development.
PC-DOS Overview
• IBM PC-DOS was one of the three major
operating systems that dominated the personal
computer market from 1985 to 1995.
• The original arrangement between IBM and
Microsoft was that Microsoft would provide the
base product, and that both firms would work on
developing different parts to create a more
powerful and robust, shared system.
• It was nearly identical to MS-DOS.
Environment Requirements
• Processor: Intel 80486, 80386, 80286, 8086,
8088
• Maximum Number of Processors: 1
• Number of Bits: 16
• RAM: 512 KB
• Drive Space: 5 MB
• Drives: Run from hard disk or diskette
• Video: Monochrome, CGA, EGA, VGA or better
• File Systems: FAT, SMB
Technical Success
• Highly successful operating system on the
PC platform.
• “It is still used in various embedded x86
systems due to its simplistic architecture,
minimal memory requirements, and
minimal processor speed requirements.”
(Wikipedia).
• Led to the development of OS/2
Did this Operating System advance
the state-of-the-art?
• “MS-DOS soared in popularity with the
surge in the PC market. This product
continued to be the largest single
contributor to Microsoft's income well after
it had become more famous for Windows.”
(Wikipedia)
• File Management System (FAT) advanced
File Management Techniques
What was done right with it, and
what was done wrong?
• MS-DOS was not designed to be a multi-user or multitasking
operating system.
– Add-on environments attempted to provide multitasking and
achieved some success, when combined with the virtual 8086
mode and virtual memory features of the Intel 80386 .
• Another limitation of DOS was the lack of a graphical user
interface. The desire for an interactive, graphical interface
(influenced by the Apple Macintosh).
– Several programs running under MS-DOS introduced their own
graphical interfaces, however, this did not provide much
consistency. “Non-Microsoft efforts to provide a consistent
interface also failed.” (http://en.wikipedia.org/wiki/MS-DOS)
• The file management system (FAT) was also a very
successful tool that would be modified and updated for years
to come.
Allowable Process States
DOS Allows Three
Basic Process States:
– Running
– Ready
– Blocked
Process State: Running
– DOS is a one process, one thread operating
system.
– In the running state, there is one process
using the CPU at a certain time.
– There is only one running process at any
time.
Process State: Ready
– In the ready state, the process is temporarily
stopped by the operating system. This allows
another process to run. (Dagunduro)
– A ready process is waiting for its turn on the
processor. (Coulson)
Process State: Blocked
– In the blocked state, the process cannot run
until some external events have taken place.
(Dagunduro)
– A blocked process requests a resource that is
not available at the moment, so it remains
blocked until the resource it needs becomes
available. (Nutt, 220).
Allowable Process States
http://pandonia.canberra.edu.au/OS/l8_2.html
Process Data Structures
• The PSP (Program Segment Prefix)
– Contains control blocks that handle various OS
related tasks
•
•
•
•
•
•
Termination Handler
Segment Address referencing the top of the program
Function Dispatcher
Previous contents of the interrupt vector
Segment address of the environment block
Command Line Parameters
– 256 bytes long
– Bottom of transient program’s memory block
The COM process
•
•
•
•
Absolute memory image of a program
No bigger than 64K
No internal identifying information
Code and data mixed together
The EXE process
• Can be as large as available primary
memory
• Code, data, and program stack can reside
in separate places.
• Extensive header information
File Management
For all File Management DOS
Uses the FAT File System
(File Allocation Table)
The FAT file system is composed of four different
sections including:
- Boot Sector
- FAT Region
- Root Directory Region
- Data Region.
FAT: Boot Sector
• The Boot Sector is located in the first
partition of the disk
• Has three major parts:
– some basic file system information
– pointers to the location of the other sections
– the operating system’s boot loader code
FAT: FAT Region
• The FAT Region contains two copies of the
File Allocation Table for the sake of
redundancy.
• These are used as a map of the partition
to indicate how the clusters are allocated.
FAT: Root Directory Region
• Always located directly after the FAT
Region
• Stores information about the files and
directories in the root directory
FAT: Data Region
• Where the actual file and directory data is stored
• Takes up the majority of the partition
• A partition is divided into identically-sized
clusters whose size vary depending on the FAT
version and partition size
– typically cluster sizes lie between 2KB and 32KB and
are not necessarily stored adjacently on the disk's
surface, but are instead fragmented throughout the
Data Region.
FAT: Data Region cont.
• The size of files and subdirectories in the
Data Region can be increased arbitrarily,
as long as there are free clusters
– This is done by simply adding more links to
the file's chain in the FAT.
– Note however, that each cluster can be taken
only by one file, and so if a 1KB file resides in
a 32KB cluster, 31KB are wasted.
File Allocation Table
• The File Allocation Table (FAT) is a list of
entries that map to each cluster on the
partition.
• Each of these entries records one item
– address of the next cluster in a chain
– a special character called end of file that
indicates the end of a chain
– one of three special characters marking:
• a bad cluster, a reserved cluster, or an unused
cluster
File Allocation Table
FAT12
Description
0x000
Free Cluster
0x001
Reserved Cluster
0x002 - 0xFEF
0xFF0 - 0xFF6
Used cluster; value
points to next cluster
Reserved values
0xFF7
Bad cluster
0xFF8 - 0xFFF
Last cluster in file
FAT: Directory Table
• A directory table is a special type of file
that represents a directory.
• Each file or directory stored within it
represents a 32 byte entry in the table that
records the name, extension, attributes,
creation time, address of first cluster and
the size of the directory.
FAT: Directory Table
Sample Parts of the Directory Table:
Byte Offset
Length Description
11
1
File Attributes
The first byte can have the following special values:
Bit
Mask
Description
0
0x01
Read only
1
0x02
Hidden
2
0x04
System
18
2
Last Access Time
20
2
EA-Index (used by OS/2 and NT) in FAT12 and
FAT16, High 2 bytes of first cluster number in
FAT32
26
2
First cluster in FAT12 and FAT16. Low 2 bytes of
first cluster in FAT32.
28
4
File size
Questions?

similar documents