Introduction to Linux
The Linux operating system was designed to let a number of programmers access the computer at the same time and share its resources. The operating system coordinates the use of the computer's resources, allowing one person, for example, to run a spell check program while another creates a document, lets another edit a document while another creates graphics, and lets another user format a document all at the same time, with each user oblivious to the activities of the others.
The operating system controls all of the commands from all of the keyboards and all of the data being generated, and permits each user to believe he or she is the only person working on the computer.
This real-time sharing of resources makes Linux one of the most powerful operating systems ever.
Although Linux was developed by programmers for programmers, it provides an environment so powerful and flexible that it is found in businesses, sciences, academia, and industry.
Many telecommunications switches and transmission systems also are controlled by administration and maintenance systems based on Linux.
While initially designed for medium-sized minicomputers, the operating system was soon moved to larger, more powerful mainframe computers.
As personal computers grew in popularity, versions of Linux found their way into these boxes, and a number of companies produce Linux-based machines for the scientific and programming communities.
Many computers do just one thing at a time, as anyone who uses a PC or laptop can attest.
Try logging onto our company’s network while opening the browser while opening a word processing program.
Chances are the processor will freeze for a few seconds while it sorts out the multiple instructions.
Linux, on the other hand, lets a computer do several things at once, such as printing out one file while the user edits another file. This is a major feature for users, since users don’t have to wait for one application to end before starting another one.
The personal computer (PC) is a small, general-purpose system that can execute programs to perform a wide variety of tasks. The PC, however, was designed for use by one person at a time, that is, it is Single-User oriented with
MS- DOS as the
de facto standard operating system for this range of machines. Single user systems became very popular due to the low cost hardware and wide range of software available for these machines.
As opposed to single-user systems there are also larger systems, which more than one person can use at any time. Such systems are referred to as multi-user systems. Multi-user systems would be required when a number of applications have to be run simultaneously, or common resources, like printers and disks, are to be shared by a number of users.
Hardware - Multi-user Systems
The CPU of a multi-user system is more powerful and has capabilities to support multi-programming and multi- tasking, two features essential for multi-user systems.
Most multi-user systems use magnetic tape as external storage for backup of software. Single-user systems use floppies as the backup device. This is because multi-user systems have large hard disks, which have to be backed up quickly and conveniently.
Each user communicates with the system through a
VDU- these are together referred to as the user
terminal or node.
A terminal may also be a
PC or PC-XT. The terminal is connected to the system unit by cables through RS232 ports. The number of terminals varies between systems.
In multi-user systems, there is one terminal designated as the console.
The console consists of a Keyboard and VDU connected to the CPU directly through cables. From the console, the operation of the system is controlled. When power is switched on for the system unit, messages regarding the boot procedure appear on the console only.
After the boot procedure is over, all the users can start working at their terminals.
The console is also used to send messages to the users of the system and for other operations such as checking the external storage media or taking backups of data.
A Linux system may have one or more printers. The printers are generally high - speed printers capable of printing over 300 lines per minute.
In multi-user systems, which have only one printer, there may be situations where more than one user has given a print command at the same time. In such cases, the files that have to be printed out are queued up by temporary storage in one disk file, from which each file is printed out in sequence. This operation is called “Spooling”
(Simultaneous Peripheral Operations On-Line).
If a terminal is a PC or a PC-XT, it may have a local printer connected to it.
The system unit may be connected to user terminals located at remote sites or to remote system units through “Communications lines”. Thus, a terminal of one multi-user system can communicate with any other multi-user system for sharing a database or sending important information.
Just as a PC has serial ports to connect to a serial printer, so also multi-user systems will have special communication ports to link one system with another.
Features and Benefits of Linux
The popularity and success of Linux is due to the following reasons.
The system is written in a high level language making it easier to read, understand, change, and move to other machines. Customers can now choose from over a wide variety of hardware vendors without being “locked in” with a particular vendor.
The system hides the machine architecture from the user, making it easier to write applications that can run or micros, minis, and mainframes.
Linux is a multi-user system designed to support a group of users simultaneously. The system allows for the sharing of process power and peripheral resources while at the same time providing excellent security features.
Hierarchical file system
Linux uses a hierarchical structure to store information. This structure has the maximum flexibility in grouping information in a way that reflects its natural state. It allows for easy maintenance and efficient implementation.
Linux has a simple user interface called the shell that has the power to provide the services that the user wants. It protects the user from having to know the intricate hardware details.
Pipes and filters
Linux has facilities called pipes and filters, which permit the user to create complex programs from simpler programs.
Linux has over 200 utility programs for various functions. These utilities form a powerful set of tools to cater to user requirements without the necessity of writing new programs.
Linux has facility which the user can start a task and then proceed to work on other tasks while the system runs the first task in the background and the second task in the foreground. Background processing helps the user in effective utilization of time.
Software Development Tools
Linux offers an excellent variety of tools for software development for all phases, from program editing to maintenance of software.
Linux is a time-tested operating system. It offers a bug free environment and high level of reliability. The Linux SYSTEM supports a wide variety of languages - C, Fortan, Basic, PALCAL, Ada, COBOL, Lisp and Prolog.