Linux is a version of UNIX OS which has gained popularity early days. In this chapter, you will look at the history and growth of Linux and cover up the user based model and concept which Linux offers — interfaces which owe a great deal to the UNIX tradition.
Linux History
Linux looks and feels are similar to that of any other UNIX system; certainly, UNIX compatibility has been a chief design goal for the Linux project. However, Linux is much younger compared to most UNIX systems. Its development began in the year 1991, when a Finnish student named Linus Torvalds, wrote and launched Linux, a small but self-contained kernel for 80386 processor. Early at the time of its development, the Linux source code was made free on the Internet so that everyone can compose their distro/version. From an initial kernel which partially employs a small subset of the UNIX system services, the Linux system gradually developed to include much of the ifFNIX functionality.
The Linux Kernel
The 1st Linux kernel was released to the public with Version 0.01, on May 14 in 1991. It had no networking feature and was able to run only on 80386-compatible Intel processors and hardware and had a tremendously limited device driver support. The virtual memory subsystem was also quite basic and incorporated no support for memory-mapped files.
The next milestone for Linux was Linux 1.0 which was released on March 14 in 1994. With this release terminated three years of fast development of Linux kernel. Possibly the single significant new feature was networking version 1.0 which incorporated support for UNIX's standard TCP/IP protocol suite, as well as a BSD compatible socket interface for providing network programming. A wide range of extra hardware support was also included in this release.
System V UNIX-style inter-process communication (IPC), includes collective memory, semaphores as well as message queues was also implemented. Simple support for dynamically loadable and unloadable kernel modules was supplied as well.
Design Principles of Linux OS
In it's in general design, Linux looks like any other conventional, non-microkernel UNIX implementation. It is a multiuser, multitasking operating system having a full set of UNIX-compatible tools. Linux's file system stick on to traditional UNIX format and the typical UNIX networking model is used to it's fullest.
More on Linux OS
The interior details of Linux's design were influenced a lot by the history of this operating system's development. Even though Linux runs on a wide range of platforms, it was developed entirely for PC architecture. An immense deal of that early development was performed by individuals, rather than by well-funded research facilities, so from the very beginning, Linux shot to squeeze as much functionality as possible from partial resources.
Today, Linux can be executed happily on a multiprocessor machine, with hundreds of megabytes of main memory and several gigabytes of disk space, but it is still capable of operating successfully under 4 MB of RAM. Speed and efficiency are still essential to design goals which Linux has achieved, and much of the recent and present work on Linux has an impact on the third and fourth primary design goal:
- standardization and
- security
which Linux has also achieved at the same time.