Sunday, January 12, 2020
The Compare and Contrast Microsoft DOS with UNIX
As 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 command. com 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 theP switch to DEL to verify each deletion, and DOS 5â⬠³s COMMAND. COM provided the ability to sort the output of the DIR command. 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, command. com, 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. Command. com 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. 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).
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.