In 1969, Ken Thompson and Dennis Ritchie developed a small, general-purpose Operating System called UNIX. Traditionally, all operating systems were written in the assembly language and so was UNIX. In 1973, Thompson and Ritchie rewrote the UNIX OS in C. In 1974, UNIX was licensed to universities for educational purposes and made commercially available later.
Many vendors, such as Sun, IBM, and Hewlett-Packard, purchased the source code of UNIX and developed their own version of UNIX. Most of these versions were proprietary and maintained by their respective hardware vendors. The source code of these versions were not freely available, so the developers had to wait for a long time for the release of bug fixes.
In 1984, Richard Stallman’s Free Software Foundation (FSF) began the GNU (GNU’s Not UNIX) project to create a free version of the UNIX OS. By 1990, the FSF developed a number of tools for an OS like Unix but the kernel was still not created. The software tools developed by FSF were freely available along with the source code for analysis, modification and redistribution.
In 1991, Linus Torvalds developed a kernel and called it Linux. In 1992, the Linux kernel was combined with the incomplete GNU system to form a completely free OS. This OS is called GNU/Linux because it is a combination of GNU and Linux. The GNU/Linux OS is commonly referred to as the Linux OS.
There are several distributors of Linux. All the distributors use the Linux kernel. Some of the distributors of Linux are given below:
- Distributor NameWeb SiteRed HatCalderaMandrakeDebianSuSESlackware
The Structure of Linux OS:
Linux follows the open development model. Therefore, the current development version of Linux is always open to users. Users can suggest modifications to the kernel code. When a new version of Linux is released, users can work on the new version to fix bugs, if any.
To maintain stability, Linus Torvalds ensures strict quality control and then merges all the new code into the kernel. This is in contrast to a closed model in which a project team develops a particular software version and waits before users can work on software and report bugs. The project team then fixes the bugs and releases a new version.
Linux has an official mascot – the Linux penguin – called Tux. Moreover, Linux has its own free software tools - text editors, browsers, and programming tools. The GNU/Linux OS consists of a kernel, a shell, utilities and application programs as shown in the below figure:
Linux Kernel:
The core of the Linux system is the kernel, which controls the resources of a computer, allocating them to different users and tasks. It interacts directly with the hardware, making programs easy to write and portable across different hardware platforms. However, the user doesn’t interact directly with a kernel. Instead, the logon process initiates a separate, interactive program called the shell for each user.
Linux has a simple user interface called shell. The shell provides services to its users. Users interact with the computer by using the shell. They need not know about the intricate details of the hardware. Some of the common shells in Linux are bash, sh, tcsh, csh and ksh.
Linux Utilities and Application Programs:
Features of Linux OS:
Linux is an Operating System for PC computers and workstations that now features a fully functional Graphical User Interface (GUI) just like Windows and the MAC OS. Linux is a PC version of the UNIX OS that has been used for decades on mainframes and minicomputers, and is currently the system of choice for workstations.
Linux brings the speed, efficiently, and flexibility of UNIX to our PC, taking advantage of all the capabilities those personal computers can now provide. Along with its UNIX capabilities, come powerful networking features, including support for Internet, intranets, Windows, and AppleTalk networking. As a standard, Linux is distributed with fast, efficient, and stable Internet servers, such as the Web, FTP and Gopher servers, along with the domain name, proxy, news, mail and indexing servers.
Some of the other features of Linux OS are Multi programming, Time-sharing, Multitasking and Free Licensing. Linux allows several programs to be executed simultaneously by its users. This feature is called Multi programming. Multiprogramming is possible on Linux through time-sharing.
In time-sharing, the OS has to manager various programs simultaneously. Programs are queued, and CPU time is shared among programs. Each program receives the CPU time for a specific period and is then replaced in the queue.
Every program is broken down into tasks, such as reading from or writing to the disk or waiting for input from a user. The ability of any OS to handle the execution of multiple tasks is known as multitasking. When a task is waiting for the completion of another task, the CPU instead of wasting its time in waiting, starts executing the next task. Therefore, while one task is waiting for input from the user, another task could be reading from the hard disk. This process of scheduling multiple tasks to a single CPU is taken care by the kernel.