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