DOS And Unix Essay Research Paper Compare

DOS And Unix Essay, Research Paper Compare and Contrast Microsoft DOS with UNIX is suggestive of its name, an operating system (OS) is a collection of programs

DOS And Unix Essay, Research Paper

Compare and Contrast Microsoft DOS with UNIX


is suggestive of its name, an operating system (OS) is a collection of programs

that operate the personal computer (PC). Its primary purpose is to support

programs that actually do the work one is interested in, and to allow competing

programs to share the resources of the computer. However, the OS also controls

the inner workings of the computer, acting as a traffic manager which controls

the flow of data through the system and initiates the starting and stopping

processes, and as a means through which software can access the hardware and

system software. In addition, it provides routines for device control, provides

for the management, scheduling and interaction of tasks, and maintains system

integrity. It also provides a facility called the user interface which issues

commands to the system software. Utilities are provided for managing files and

documents created by users, development of programs and software, communicating

between users with other computer systems and managing user requirements for

programs, storage space and priority. There are a number of different types of

operating systems with varying degrees of complexity. A system such as DOS can

be relatively simple and minimalistic, while others, like UNIX, can be somewhat

more complicated. Some systems run only a single process at a time (DOS), while

other systems run multiple processes at once (UNIX). In reality, it is not

possible for a single processor to run multiple processes simultaneously. The

processor of the computer runs one process for a short period of time, then is

switched to the next process and so on. As the processor executes millions of

instructions per second, this gives the appearance of many processes running at

once. User programs are usually stored on a hard disk and need to be loaded into

memory before being executed. This presents the need for memory management, as

the memory of the computer would need to be searched for a free area in which to

load a users program. When the user was finished running the program, the memory

consumed by it would need to be freed up and made available for another user

when required (CIT). Process scheduling and management is also necessary, so

that all programs can be executed and run without conflict. Some programs might

need to be executed more frequently than others, for example, printing.

Conversely, some programs may need to be temporarily halted, then restarted

again, so this introduces the need for inter-program communication. In modern

operating systems, we speak more of a process (a portion of a program in some

stage of execution (CIT, 3)) than a program. This is because only a portion of

the program is loaded at any one time. The rest of the program sits waiting on

the disk until it is needed, thereby saving memory space. UNIX users speak of

the operating system as having three main parts: the kernel, the shell and the

file system. While DOS users tend not to use the term kernel and only sometimes

use the term shell, the terms remain relevant. The kernel, also known as the

?Real Time Executive?, is the low-level core of the OS and is loaded into

memory right after the loading of the BIOS whenever the system is started. The

kernel handles the transfer of data among the various parts of the system, such

as from hard disk to RAM to CPU. It also assigns memory to the various

system-level processes that occur whenever the computer does anything. The

kernel is also responsible for scheduling the CPU?s operations and for letting

the shell access the CPU (PC Mag, 1). The shell is the visible user interface to

the OS and is a program that loads on top of the operating system and offers

users commands that lets them access the OS. Strictly speaking, the shell is an

input utility that offers access to the operating system. Technically speaking,

the shell, being a separate program, is not a part of the OS at all. In the UNIX

world a number of shells are available, among them the Korn shell, the C-shell,

the Bourne shell and the Bourne Again shell (yes, really). In DOS, the standard

shell is COMMAND.COM, again nothing more than a program. As different versions

of came with different versions of DOS, each added new commands and

new things that could be done by the user. For example, DOS 4?s COMMAND.COM

added the /P switch to DEL to verify each deletion, and DOS 5?s COMMAND.COM

provided the ability to sort the output of the DIR command. HISTORY An acronym

for disk operating system, the term DOS can refer to any operating system, but

is most often used as shorthand for MS-DOS. Originally developed by Microsoft

for IBM, MS-DOS was the standard operating system for IBM-compatible computers.

The initial version of DOS was somewhat uncomplicated and resembled another

operating system called CP/M. Subsequent versions have become increasingly

sophisticated, however DOS remains a 16-bit operating system without support for

multiple users or multitasking. The earliest forms of DOS were crude and

utilized only a few commands, but as computers became more advanced, so did DOS.

By keeping up with technology, DOS was implemented into more ?user friendly?

operating systems. However, as more sophisticated operating systems were

released, DOS became less important. ?Today, cyberpunks involved with the

latest OS trends joke that DOS stands for ?Dad?s Operating System?? (Comerford,

23). In 1980, IBM asked the Microsoft Corporation to produce the operating

system for its first personal computer, the IBM PC. Prior to this, a company

called Seattle Computer Products had sold an operating system called 86-DOS to

Microsoft. Microsoft hired the author of 86-DOS, Tim Paterson, in April of 1981

to modify the system, and renaming it MS-DOS (Microsoft Disk Operating System),

it was released with the IBM PC. Thereafter, most manufacturers of personal

computers licensed MS-DOS as their operating system (Brittanica, 1). Limitations

of the early PC?s hardware were a big influence on MS-DOS. Although the 8088

model computer had a 1Mb address space, IBM decided to allocate the first 640K

of this to RAM, and the rest to ROMs, video boards and other things.

Consequently, MS-DOS was set up to support programs whose maximum size was 640K.

Version 1.0 of DOS was released along with the IBM PC in August 1981. It

occupied 12K of the systems 640K of memory, was somewhat compatible with CP/M

and, much like CP/M, supported only a single directory. By contrast, even the

first version of UNIX had a full hierarchical file system. In addition, Version

1.0 supported only a 160K single sided 51/4-inch floppy diskette. Version 1.1

was released by Microsoft in October 1982 and supported double sided 320K

diskettes. Aside from fixing some bugs, this release was similar to Version 1.0.

Releases such as 1.1, in which the number to the left of the decimal point is

the same as the previous version depict relatively minor changes from the

previous release. By contrast, Version 2.0 was largely a new system. In March

1983, IBM introduced the PC/XT, its first personal computer with a hard disk. It

came with a new variant of MS-DOS, Version 2.0. In this version, Microsoft

incorporated many ideas from the UNIX system for which it was also a vendor. For

example, incorporating minor changes, the MS-DOS file system was taken largely

from UNIX. In addition, the shell was improved, and Version 2.0 supported a new

floppy diskette format, the 360K as well as user installable device drivers,

print spooling, system configuration and memory management. At this point,

MS-DOS was established as the dominant operating system in PC market. In August

1984, IBM released its first 286 chip based PC, the PC/AT. The PC/AT supported

memory up to 16 Mb and had the ability to run multiple programs at once.

However, the version of MS-DOS that shipped with the PC/AT was 3.0, which

supported neither of these. Rather, it ran the PC/AT in a mode that simulated

the 8088, only faster. Since the PC/AT came with a 1.2Mb disk drive, battery

backup clock, and configuration information in the CMOS, support for these

devices was added. What’s more, hard disks larger that 10Mb were now supported.

In addition, the command processor (shell) was removed from the operating system

and made into a separate program. In November 1984, 3.0 was replace by 3.1 which

provided the first support for networking. In 1987, IBM came out with the PS/2

line of PC which shipped with MS-DOS 3.3, providing support for both 720K and

1.44Mb 31/3 floppy disk drives. With Version 4.0, Microsoft added the DOS shell,

a menu driven shell rather than the previous keyboard driven ones. In addition,

it now provided support for hard drives larger than 32 Mb. A major new release,

MS-DOS Version 5.0 was shipped in April 1991. Although this was the first

version that made any serious use of the extended memory, it still had the

restrictions that programs could not exceed 640K. However, it had the ability to

locate most of MS-DOS itself in extended memory, so about 600K of the lower 640K

was now available for user programs. Version 5.0 also came with a useful HELP

utility, to aid new users. For the first time, MS-DOS was sold in stores to the

public (previous versions were only sold to computer vendors who delivered them

with their machines) (CIT, 1-3). The MS-DOS 6 family provided more memory

management for applications such as Microsoft Windows. In addition, newer

utilities were provided for disk-defragmentation, file compression, file backups

and anti-virus checking. Other variations of MS-DOS exist, such as PC-DOS by

IBM, DOS-V, Dr. DOS and others. There is even a FREE DOS available on the

Internet as an MS-DOS clone. Although it can still be found on many computers,

MS-DOS is technically an obsolete operating system, being replaced by Microsoft

Windows. For personal computers, MS-DOS is a single user, single tasking

operating system. Single user means only one person uses the computer at a time.

Single tasking means that it essentially runs one application program at a time,

and has no inherent support for running more than one application program

simultaneously (CIT, 2). If we want to look at the basic DOS operating system

itself, there is no need to look further than three system files,,

Io.sys and (in DOS6.x and earlier) Msdos.sys. These files are crucial in DOS

versions up to 6.22. Io.sys represents the lowest level of the interface and

contains the routines necessary for interfacing the OS with the system?s BIOS.

It implements MS-DOS as seen by the hardware and has default drivers for console

display and keyboard, printer, serial communications, clock, and a boot disk

drive. Msdos.sys handles the higher-level routines such as converting commands

from applications into instructions for Io.sys. It implements MS-DOS as seen by

application programs. It supports file and record management, memory management,

character device input and output, execution of other programs, and access to a

real-time clock (CIT, 3). Both of these files are in the root directory, and

both are hidden from view by default. The idea is that you are not suppose to

see them, so that you don?t do anything destructive to them (such as deleting

them). They are also read-only so that they can?t be deleted accidentally. is the shell program which interprets user commands, presents the

shell prompt, and contains a set of internal commands. The rest of MS-DOS

consists of a number of utility programs. Although DOS had cornered the PC

market, UNIX was still dominant on the larger workstations. The birth of UNIX in

1969 provided the world with its first modern operating system. An interactive

multi-user operating system, UNIX was initially developed by programmers for

their own use. Working for Bell Laboratories, Ken Thompson and Dennis Ritchie

created UNIX as an operating system for the PDP-7 computer. Designed as a

simplification of an operating system named Multics, UNIX was developed in

Assembly language, a primitive computer language specific to one type of machine

(Osiris, 1). However, Thompson developed a new programming language ?B?

which Ritchie enhanced to ?C?, and in 1973 this was used to rewrite UNIX

which lended the OS portability (Linux Intl., 1). The original design philosophy

for UNIX was to distribute functionality into small parts, the programs (Theochem,

1). In this way, functionality could be achieved by combining the small parts

(programs) in new ways. Moreover, if a new program were to appear, it could be

integrated into the system. UNIX was slow to catch on outside of academic

institutions but soon was popular with businesses as well. The first five

versions were part of an internal research effort of Bell Labs, and it was not

until the sixth version, called UNIX Timesharing Sixth Edition V, that UNIX was

widely distributed (Osiris, 1). Relatively recent developments are graphical

interfaces (GUI) such as MOTIF, X Windows and Open View. UNIX has two major

versions. One, jointly developed by UNIX Systems Laboratories (USL) and by

AT&T researchers together with Bell Labs, generically known as System V, is

the commercial version and is the most widely distributed by major

manufacturers. The second, developed by the University of Berkley and Berkley

Software Distribution (BSD), is the educational version and is completely

focused on research. The USL version is now on its fourth release, or SVR4,

while BSD?s latest version is 4.4. However, there are many different versions

of UNIX besides these two. The operating system has been licensed to several

manufacturers who in turn developed their own versions of UNIX, based on System

V or BSD, but adding new characteristics. Most versions of UNIX developed by

software companies are derived from one of the two groupings and, recent

versions of UNIX actually incorporate features from both of them. However, UNIX

has had an unregulated history with over 200 versions (Berson, 16) existing

today. The UNIX system is made up of three primary components, the kernel, the

shell, and the utilities (which includes the file system). The central part of

the OS, the kernel is the first program to start when the system is turned on

and the last program to do anything when the system is halted. In addition to

scheduling tasks, it manages data/file access and storage, enforces security

mechanisms and performs all hardware access. The name ?KERNEL? represents

the fact that it is a program designed as a central nucleus, around which other

functions of the system were added. The heart of the operating system, it not

only interacts directly with the system?s hardware, but presents each user

with a prompt, interprets commands typed by a user, executes user commands and

supports a custom environment for each user. The two most common shells are the

Bourne shell, default for the System V, and the C-shell used mainly with the BSD

version (Osiris, 1). The utilities consist of file management (rm, cat, ls,

rmdir, mkdir), user management (passwd, chmod, chgrp), process management (kill,

ps) and printing (lp, troff, pr). In order to obtain a basic understanding of

the UNIX operating system, it is necessary to touch upon several of the

principal characteristics that have permitted it to remain competitive through

the years. 1. Advanced Administration of Processes UNIX has a process manager

known as Process Scheduler, which handles the allotment of time to each of the

processes according to the priority it was assigned. 2. Multiprocessing Many

UNIX variants allow the use of various processors to execute user tasks. This

means that UNIX has support for symmetric processing, with which it can take

advantage of the fact that there are two or more CPUs in the machine. 3. File

Management The hierarchical files system that UNIX runs, as well as file access

control and directory control have served as models for the majority of modern

operating systems such as MS-DOS, OS/2 and even Windows NT. 4. Utilities Access

For the UNIX operating system, each of the machines devices, whether it be a

hard drive, printer, modem, etc. is seen as a file. Thus, access to any device

is carried out as access to a file. This is possible through the fact that UNIX

differentiates between kinds of files. In fact, the processes themselves are

seen as files, which permits the establishment of another important UNIX

characteristic, interprocess communication. 5. Virtual Memory The fact that UNIX

has virtual memory allows the number of processes being executed to require more

memory than exists in the machine. 6. Graphic Interface Although not exactly a

novel characteristic of UNIX, most versions now have a graphic interface. 7.

Interplatform Support This is another characteristic that was added to UNIX

which lends the capability to execute programs from other platforms (DOS and

Windows), within the UNIX environment. 8. Networks The usual UNIX communications

protocol is TCP/IP. This allows variants of UNIX based operating systems to

communicate between themselves or with other platforms (Osiris, 1-2). CONTRAST

Both DOS and UNIX present a number of similarities, several of which shall be

addressed here. First, both systems are interactive, meaning that the shell

presents a prompt and waits for the user to enter a command. After the return or

enter key is pressed, the shell processes the command and when the command is

finished, the shell re-displays the prompt. Second, DOS batch files and UNIX

script files can be used which can store commonly used commands in a file, which

when executed, runs each command as though it has been typed from the command

line. A sequence of commands can be executed by executing the file which

contains the command(s). Third, the handling of files in both DOS and UNIX is

simplified by using wild-card characters to match files which match particular

patterns. Also, with both operating systems, users can customize and control the

behavior of the shell by using special variables that the shell supports, such

as the prompt (20,1). In addition, both systems make use of ?pipes? whose

symbol is a vertical bar ( | ). With this convention, the output from one

command becomes the input for another command. Several dissimilarities are worth

noting. As was previously mentioned, DOS is a single user, single task operating

system. Its user interface is not case sensitive, which means that commands may

be typed in either upper case, lower case or a combination of the two. UNIX

however, is a multi-user, multi-task OS. Non-interactive tasks which do not

require keyboard input can be run in the background as a separate task while the

user continues working with other interactive programs (20,1). Differing from

DOS, its user interface is case sensitive, meaning that only upper or lower case

commands must be used. APPLICATIONS & COMPUTER TYPES Whereas DOS has been

used primarily on PCs and standalone computers, UNIX can be run on single- or

multi-user computers of all sizes with a wide range of microprocessors (Flynn

& McHoes 319). UNIX is the widely supported operating system in the field of

computer science, used extensively in business as well as educational

institutions. Conversely, DOS is used mainly in businesses with older computer

systems. BENEFITS & DISADVANTAGES The major advantage that DOS has over UNIX

is its basic simplicity. Between this and the uncomplicated commands presented

by the user interface, it is a relatively simple OS to learn. DOS also has the

advantage of allowing the user to create an environment tailored strictly for

the particular task they wish to accomplish. In addition, one can customize DOS

to suit the current hardware. This can be accomplished with commands such as

date, time, prompt, path, set, assign and subst. Unlike DOS, UNIX?s main

feature is that it is a multi-user system, meaning more than one user can use

the machine at a time when supported via terminals provided by a serial or

network connection. Offering true preemptive multi-tasking, UNIX can run more

than one program at a time with a CPU that services all applications equally. In

addition, it has a hierarchical directory structure which supports the

organization and maintenance of files. Other advantages are that it has been in

the market for a number of years, and is therefore considered a stable product.

Also, due to the fact that the kernel is in ?C?, UNIX works in just about

every machine in the market, once again, making it a portable system with a

collection of very powerful utilities. Also, there are many applications

developed for DOS and UNIX which fall into the category of ?shareware?

available via the Internet (8,1). As with advantages, both DOS and UNIX have

their share of disadvantages. It can be said that DOS has two main drawbacks.

Since MS-DOS was originally written for a particular family of microprocessors,

it displays an incredible lack of flexibility and limited ability to meet the

needs of programmers and experienced users (Flynn & McHoes, 265). UNIX also

has several very distinct disadvantages. First, novice users find its commands

are almost cryptic which is interpreted as being non-?user-friendly?.

Second, the fact that there exist so many versions of the operating system means

that software producers must make several versions of their applications to

cover the greatest number of potential users. Third, UNIX is a large operating

system, and depending on the number of services installed and the functions

used, space used on a hard drive may vary from 20 Mb to 300 Mb (Osiris, 1).

Benson, Alex. Client/Server Architecture. Gainesville: U P of Florida, 1992.

Comelford, Richard. ?Operating Systems go Head to Head?, IEEE Spectrum. Dec

1993, pp 23-25. Flynn, Ida M., and Ann M. McHoes. Understanding Operating

Systems. Second ed. Boston: PWS, 1997. Greenfield, Larry. UNIX: The User?s

Guide. University of Deuselldorf. [Accessed 3 September 1998]. *http://www.* Introduction to UNIX. University of

Guadalajara. [Accessed 3 September 1998].

? Microsoft Corporation? Brittanica Online [Accessed 20 September 1998].

** Operating Systems

Introduction, v 3.2. Central Institute of Technology. [Accessed 5 September

1998]. ** Randall, Neil. ?So,

What?s an Operating System, Anyway?? PC Magazine 5 May 1998. **

[Accessed 6 September 1998]. STScI UNIX Users Guide. Space Telescope Science

Institute. 24 September 1998. [Accessed 3 September 1998]. **

UNIX History. Linux International. 14 November 1997. [Accessed 3 September

1998]. **