Introduction To Linux And Unix-2021

 




Unix

Like DOS, UNIX is also an operating system. It is one of the popular OS developed at Bell Labs in 1969 by Ken Thompson and Dennis Ritchie. It was based on an earlier system called Multics; the name "Unix" was a pun on "Multics” because Unix was a cut down version of the earlier system. Multics (Multiplexed Information and Computing Service) is a mainframe timesharing operating system begun in 1965.


Unix is a powerful, stable, multi-user, multi-tasking operating system that can be used in servers, desktops and laptops or on a variety of platforms. UNIX system is available both in CUI format and GUI format. Unix was one of the first operating systems developed in a high level programming language C, which allowed it to be easily ported between different hardware platforms. This resulted in greater popularity, and installed on virtually any computer for which a C compiler existed. Therefore, it was widely accepted by universities for experiments, and eventually in commercial organizations. Now, Unix runs on everything from small PCs and embedded processors to huge mainframes and supercomputers, and is used for tasks ranging from desktop computing and word processing to scientific and financial number-crunching.

UNIX is not just a single operating system, but it is also a standard upon which organizations and companies develop their own systems. For examples Mac OS X/Darwin (Apple), GNU/Linux, AIX (IBM), Solaris (Sun), IRIX (SGI), and FreeBSD are based on UNIX implementation. They have different graphical interfaces, but they are very similar to each other due to the UNIX shell, and a command line feature common to all versions. There are both commercial variants of Unix. For example; Sun's Solaris, IBM's AIX, and Hewlett-Packard's HP/UX; and non-commercial variants such as Linux and FreeBSD, NetBSD and OpenBSD.


UNIX was first developed as a solution for the software problems, and to address the compatibility issues existed during it's inception due to the existing customized software. UNIX was;

 

Simple and elegant.

Written in the high level programming language C instead of in assembly code. Compatible and able to recycle code.

       Main Features of UNIX

       Unix exhibits the following major features;

Multi-user OS: Unix is a multi-user operating system which allows more than one user to share the same computer system at the same time. Different users share the processor hardware and main memory on a time basis. This switching between user programs is done by part of the kernel. Main system memory is divided into two portions; one for the operating system and other for user programs.

Each user who logs in is presented with a shell, and can have an environment distinct from that of any other user.

Multi-tasking OS: It allows to run more than one program at a time. It does this in the same way as a multi-user system, by rapidly switching the processor between the various programs. OS/2 and Windows XP are examples of multi-tasking single-user operating system. UNIX is an example of a multi-tasking multi-user operating system.

A multi-user system is also a multi-tasking system. This means that a user can run more than one program at once using key selection to switch between them. Multi-tasking systems support foreground and background tasks. A foreground task is one that the user interacts directly with using the keyboard and screen. A background task is one that runs in the background (it does not have access to the keyboard). Background tasks are usually used for printing or backups.

 

        Hierarchical Directory Structure: It supports hierarchical file system to hold user data organized and maintained in the form of directories and files. Similar to DOS, all the files are grouped together in the hierarchical directory structure like an inverted tree. The top of the hierarchy is called root directory.


 Portability: Only the kernel (<10%) is written in assembler, and rest of the Unix supports a large number of tools, libraries and utilities such as debuggers, compilers etc. to aid software development by the programmers who can develop software suitable for varieties of systems.

Multiprogramming: Support more than one program, in memory, at a time. It amounts to multiple user processes on the system at the same time.

Virtual Memory: Unix supports virtual memory. This means, programs larger than the physical RAM of the system, can be executed.

Better System Security: Security refers to preventing users from interfering with each other or data,         

                    programs and operating system. Unix provides security in several ways; using user name

and password for logging in, working according to the permissions such as read or write files, run or stop programs etc. Unix identifies a user with a user id and group id and access permissions to resources to be specified using these ids.

Network Capabilities: Unix is widely used in servers for network services such as electronic mail, World Wide Web, file and printer sharing, and security etc. Unix servers provide these services through an interface called "sockets"

Code Recycling: Before the inception of UNIX, all commercially available systems were written in a code specifically developed for one system. Code recycling features made UNIX compatible with every system having C compiler, and run on many different types of hardware. This feature helped different vendors communicate with each other in the same network, and users work on different systems without the need for extra education to use another computer.

Components of Unix

The UNIX operating system comprises three parts: The kernel, the standard utility programs, and the system configuration files.

The kernel

The kernel is the core of the UNIX operating system. It is a large program that is loaded into memory when the machine is turned on, and it controls the allocation of hardware resources from that point forward. The kernel recognizes all the available hardware resources; like the processor, RAM, disk drives, NICs, etc. and it has the necessary programs to talk to all the devices connected to it. Moreover, kernel schedules tasks, manages file access and storage, enforces security mechanisms, and performs all hardware access and communications in response to system calls.

The standard utility programs

These programs include simple utilities like file management (cp, rm, cat, Is, rmdir, mkdir), user management (passwd, chmod, chgrp), process management (kill, ps), printing (Ipr), and complex utilities, like the shell that allows you to issue commands to the operating system.

The system configuration files

The system configuration files are read by the kernel, and some of the standard utilities. The UNIX kernel and the utilities are flexible programs, and certain aspects of their behavior can be controlled by changing the standard configuration files. One example of a system configuration file is the filesystem table "fstab", which tells the kernel where to find all the files on the disk drives. Another example is the system log configuration file "syslog.conf”, which tells the kernel how to record the various kinds of events and errors it may encounter.

      The Shell                                                  

The shell acts as an interface between the user and the kernel. When a user logs in, the login program checks the username and password, and then starts another program called the shell. The shell is a command line interpreter (CLI). It interprets the commands the user types in and arranges for them to be carried out. The shell keeps a list of the commands user has typed in. By typing part of the name of a command, filename or directory and pressing the [Tab) key, the tcsh shell will complete the rest of the name automatically. If the shell finds more than one name beginning with those letters user has typed, it will beep, prompting to type a few more letters before pressing the tab key again, and this is called history.

 

The UNIX shell

  •       enables users to run application programs
  •             runs when a user logs into a UNIX host
  •             presents each user with a prompt
  •            supports a custom environment for each user and stores this information for re-use
  •           interprets and executes entered commands, handles user input and displays output

Unix Command Syntax

Like DOS, Unix commands also follow certain syntax. A short note of which is provided here;

  •        All commands have a similar format
  •        Commands are generally two to five characters long
  •       Commands are case sensitive
  •      Options always precede filenames, and prefixed using a - symbol

For example; consider a Unix command syntax Is —al /class --- where Is is a command, al is an option, and class is a file or directory.

Advantages of Unix

1.         More flexible and can be used on different types of machines, such as main-frame computers, supercomputers and PCs.

2.         More stable and error rate is less than Windows. Therefore, requires less administration and maintenance.

3.         Greater built-in security and permissions features than Windows.

4.         Much greater processing power than Windows.

5.         Highly preferred for the Web. About 90% of the Internet relies on Unix operating systems running Apache, the world's most widely used Web server.

6.         Software upgrades for windows often require the user to purchase new or more hardware or prerequisite software. That is not the case with Unix.

7.         The mostly free or inexpensive open-source operating systems, such as Linux and BSD are based on Unix. The state-of-the-art software are being developed free of charge for the fast growing "open-source movement".

Linux

Linux is, simply, one of the popular operating system. It is an open source version of the Unix, and is freely distributed. The first version, version 0.02, was first released in 1991 under the GNU General Public License by a young student, Linus Torvalds, at the University of Helsinki in Finland.

Many people around the world worked with it, made modifications to the source code, and provided these modified codes to Linus, who incorporated many of the changes into the baseline version and released Linux version 1.0 in 1994.

Actually, Linux, is only the kernel of the operating system, the part that controls hardware, manages files, separates processes, and so forth. A kernel is a one small portion of Linux, which forms the base around which a Linux operating system is developed. But, common use of Linux refers to an entire operating system built around the kernel. Developers need special tools like the developer environments, editors, compilers and command lines found in GNU to write applications that can talk to the kernel. They also need tools and applications to make it easy for outside applications to access the kernel after the application is written and installed. The collective set of utility tools and applications, combined with a kernel, is known as the operating system.

After kernel, another important component of Linux is its graphical user interface, known as the windows X system. X windows is a unique graphical user interface in two major aspects. First X integrates with a computer network, allowing users access local and remote applications. Second X lets you configure its look and feel as required by using a window manager - on top of X.

Since, the Linux is freely re-distributed, we can obtain it in variety of ways. Various individuals and organizations package Linux, often combining it with free or proprietary applications. Such a package that includes all the software you need to install and run Linux as a complete operating system is called a Linux distribution.

After it's inception hundreds of developers from different countries are contributing to the every kernel release. Therefore, Linux is developed collaboratively, and no one particular person or company is responsible for the development or support of Linux. Now a day, Linux is widely used in computing, mobile phones, OLPC, digital video recorders, servers, PCs and laptops, consumer electronic devices, and wrist watch to supercomputers etc. Moreover, Linux can also be incorporated directly into microchips in home appliances and devices as well by means of embedding.

Therefore, Linux is gaining popularity as a substitute to the proprietary OSS such as Unix, Windows etc. due to it's flexibility, functionality, adaptability and robustness. It is emerging as a multi billion dollar industry, with companies and governments around the world taking advantage of the it's security and flexibility. Different institutions and companies use Linux for day-to-day use, attracted by the lower licensing and support costs.

Advantages of Linux

A lot of the advantages of Linux are a consequence of Linux' origins, deeply rooted in UNIX, except for the first advantage, of course:

1.           Very wide range of compatible hardware. It runs on a wider range of hardware platforms and runs adequately on less costly and powerful systems.

2.           Excellent Multi-processing capabilities.

3.           Very low Average downtime.

4.           Linux source code is readily available.

5.           Linux provides more reliable data storage than competing desktop operating systems.

6.           Linux is free: Linux is available freely along with its source code. We can even download from the internet, without paying any registration fee or cost of use. Since it is an Oss we can modify Linux and redistribute a changed version along with its source code.

7.        Linux Is Portable: Linux is portable to any hardware platform: A vendor developing a new system can use Linux. The vendor can use Linux kernel and modify according to his need.


8.              Linux is diligent: As with UNIX, a Linux system can run, without rebooting, all the time.  Therefore, many tasks can be scheduled automatically for other free moments, resulting in a more balanced and maximum use of the hardware.

9.           9.   Linux is secure and versatile: The security model used in Linux is based on the UNIX idea of security, which is known to be robust and of high standard. Linux provides both the network security against viruses, hacking; and machine level security of documents, files, users and system.

1     10. Linux is scalable: Linux can be modified to use on small devices like palmtop, house appliances, and embedded systems or on huge machines like mainframe computers by adding or removing the appropriate packages.

Disadvantages of Linux


Though the use and popularity of Linux is increasing, there are few disadvantages that may create some restrictions on its use. The major disadvantages are;

1.           Availability of too many different distributions: There are many versions and distributions of Linux, such as basic Linux, special third party packages like TurboLinux (suitable for the small and medium enterprise), RedHat (for servers) and SuSE (for workstation), Debian, Slackware etc. So, it is very difficult to choose the right one from different distributions.

2.           Less user friendly and confusing for beginners: Linux core system is less user-friendly to use than Windows and certainly more difficult than MacOS. But, this gap is being narrowed down day by day adding new improvements on Linux.

       Since Linux is an OSS, the disadvantages of OSS can be discussed as the disadvantages of Linux, as well.


Post a Comment

0 Comments