Senin, 16 Juli 2012

History of MINIX (mini-UNIX)

When UNIX was young (version 6), the source code was widely available, under AT&T license, and frequently studied. John Lions, of the University of New South Wales in Australia, even wrote a little booklet describing its operation, line by line (Lions, 1996). This booklet was used (with permission of AT&T) as a text in many university operating system courses.

When AT&T released version 7, it began ro relaize that UNIX was a valuable commercial product, so it issued version 7 with a license that prohibited the source code from being studied in courses, inorder to avoid endangering its status as a trade secret. Many universities complied by simply dropping the study of UNIX and teaching only theory.

Unfortunately, teaching only theory leaves the student with a lopsided view of what an operating system is really like. The theoretical topics that are usually covered in great detail in courses and books on operating systems, such as scheduling algorthms, are in practice not really that important. Subjects that really are important, such as I/O and file systems, are generally neglected because there is little theory about them.

to remedy this situation, one of the authors of this book (Tanenbaum) decided to write a new operating system from scratch that would be compatible with UNIX from the user's point of view, but completely different on the inside. By not using even one line of AT&T code, this system avoids the licensing restrictions, so it can be used for class or individual study. In this manner, readers can dissect a real operating system to see what is inside, just as biology students dissect frogs. The name MINIX stands for mini-UNIX because it is small enough that even a non guru can understand how it works.

MINIX was originally designed for compatibility with version 7 (V7) UNIX. Version 7 was used as the model because of its simplicity and elegance. It is sometimes said that version 7 was not only an improvement over all its predecessors, but also over all its successors. With the advent of POSIX, MINIX began evolving toward the new standard, while maintaining backward compatibility with existing programs. The kind of evolution is common in the computer industry, as no vendor wants to introduce a new system that none of its existing customers can use without great upheavel. The version of MINIX described in this book is based on the POSIX standard.

Like UNIX , MINIX was written in the C programming language and was intended to be easy to port to various computers. The initial implementation was for the IBM PC, because this computer is in widespread use.  It was subsequently ported to the Atari, Amagi, Macintosh, and SPARC computers. In keeping with the "Small is Beautiful" philosophy, MINIX originally did not even require a hard disk to run, thus bringing it within range of many students' budgets (amazing as it may seem now, in the mid-1980s when MINIX first saw the light of day, hard disks were still an expensive novelty). As MINIX grew in  functionality and size, it eventually got to the point that a hard disk is needed , but in keeping with the MINIX philosophy, a 30-megabyte partition is sufficient. In contrast, smoe commercial UNIX systems now recommend at least a 200-MB disk partition as the bare minimum.

To the average user sitting at an IBM PC, running MINIX is similar to running UNIX. Many of the basic programs, suchas cat, grep, ls, make and the shell are present and perform the same functions as their UNIX counterparts. Like the operating system itself, all these utility programs have been rewritten completely from scratch by the author, his students, and some other dedicated people.

As an aside, a few words about LINUX and its realtionship to MINIX may be of interest to some readers. Shortly after MINIX was released, a USENET newsgroup was formed to discuss it. Within weeks, it had 40,000 subscribers, most of whom wanted to add vast numbers of new features to MINIX to make it bigger and better (well, at least bigger). Every day, several hundred of them offered suggestions, ideas, and snippets of code. The author of MINIX successfully resisted this onslaught for several years, in order to keep MINIX small enough adn clean enough for students to understand. Ever so gradually, it began to become clear that he really meant it. At the point, a Finnish Student, Linus Torvalds, decided to write a MINIX clone intended to be a feature-heavy production system, rather than an educational tool. Thus was LINUX born.


Source : Book - "Operating Systems : Design and Implemetation"
By Andrew S. Tanenbaum and Albert S.Woodhull

0 komentar:

Posting Komentar