130 likes | 267 Views
Microsoft Disk Operating System. Wellson Fung Mike McLaughlin Brian Singer Steve Tran. Overview. Introduction – History MS-DOS Versions Processor Information Memory Management Processes Conclusion. Introduction to MS-DOS. History 1980 QDOS IBM Bill Gates and Microsoft
E N D
Microsoft Disk Operating System Wellson Fung Mike McLaughlin Brian Singer Steve Tran
Overview • Introduction – History • MS-DOS Versions • Processor Information • Memory Management • Processes • Conclusion
Introduction to MS-DOS • History • 1980 • QDOS • IBM • Bill Gates and Microsoft • Tim Patterson • Gary Kindall
v1.0 1981 First operating system for IBM-PC v2.0 1983 Longer file names allowed v3.0 1984 Support for 1.2MB floppy, and larger hard disk sizes v4.0 1988 Support for TSR added v5.0 1992 Support for upper memory blocks, larger partition sizes v6.0 1993 Added Double Space Disk Compression v7.0 1995 Embedded with Windows DOS Versions
Processor information • Modes • Real (all the time) • Protected (Windows 3.1 and later) • Uni-processor • Single process at a time • Terminate and Stay Resident (TSR) in v4.0 • Vectors • create the illusion of multitasking
Memory Management • Conventional Memory • Expanded Memory • Extended Memory • Upper Memory Block • The High Memory Area
Processes • For example, the user can’t work on a different application while waiting for the printer to process. • Although MS-DOS is single tasking, there can be more than one program at a time in memory. • DOS only has the ability to run one process at a time and in a certain specific manner. • DOS functions by having parent processes that create child process which execute and return to the parent process. • When an application is running in MS-DOS, it can load and execute another program. When this parent application calls the second application program, it takes on child status. • The parent program is then suspended until the child process completes execution and returns control to the parent.
Processes and Process States • MS-DOS has several functions for process state control. The functions for the various process states are listed below:
Creating Processes • Creating child processes is accomplished through the EXEC, LOAD_AND_EXECUTE and LOAD commands. • EXECUTE allows an application to call another program and then switch control. • LOAD_AND_EXECUTE does virtually the same thing but requires two parameters, the location of a program (with the suffix .COM or .EXE) and a pointer to a LOADEXEC data structure. • Another problem with LOAD_AND_EXECUTE is that leaves the parent process with very little control over the child process. Unless a trap or interrupt is used for communication between parent and child, the parent process is suspended until the child process terminates. • LOAD is used to allow the parent process to load the application program and execute additional operations before transferring control to its child process. • LOAD requires two parameters for execution, the location of a program (with the suffix .COM or .EXE) and a pointer to a LOAD data structure.
Terminating Processes • The termination function not only terminates the process but it also lets the parent receives a single byte back from the child process that gives the termination code. • The termination code can mean one of the following things: • The terminate process command does all of the following things upon termination: -Flushes file buffers -Closes files -Restores the termination address to the address of the parent process -Restores the address of the Break handler -Restores the address of the critical error handler -Deallocates all the memory that the process reserved
Conclusion • MS-DOS became the most popular operating system for personal computers • Popularity was not gained through technical superiority, but through intelligent business planning • Though it may not have been the best operating system of its time, it fulfilled the necessary requirements of the time