Unit-3 Unix&Linux OS Maitree Shah1111
Unit-3 Unix&Linux OS Maitree Shah1111
UNIX and Linux systems also have a graphical user interface (GUI) similar to Microsoft
Windows which provides an easy to use environment.
The history of UNIX dates back to the mid-1960s when the Massachusetts Institute of
Technology, AT&T Bell Labs, and General Electric were jointly developing an experimental
time sharing operating system called Multics for the GE-645 mainframe.
In 1975 Berkeley released its own version of Unix known by its distribution arm
Berkeley Software Distribution (BSD). This BSD version of Unix became a major
contender to the AT&T Bell Labs version.
It went through many revisions and gained in popularity until 1977, when it was first
made commercially available by Interactive Systems Corporation.
Meanwhile the AT&T version was developing in different ways. The 1978 release of
Version 7 included the Bourne Shell for the first time.
By 1983 commercial interest was growing and Sun Microsystems produced a UNIX
workstation. System V appeared directly descended from the original AT&T UNIX
and the prototype of the more widely used variant today.
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 commands are themselves
programs: when they terminate, the shell gives the user another prompt (% on our
systems).
The adept user can customize his/her own shell, and users can use different shells on the
same machine.
The term shell derives its name from the fact that it is an outer layer of an operating
system. A shell is an interface between the user and the internal parts of the operating
system (at the very core of which is the kernel).
a text document;
a program written in a programming language such as C++ or Java;
a jpeg image;
a directory: directories can be thought of as the analogue of Windows’ folders.
Directories are files that contain links to other files.
Processes
A process is an executing or a program that is currently running program. Processes
are also frequently referred to as tasks.
So a process may be associated with a file. The file stores the instructions that are
executed for that process to run. A process is an executing program identified by a
unique PID (process identifier).
Processes are dynamic entities in that they are constantly changing as their machine
code instructions are executed by the CPU.
Each process consists of (1) system resources that are allocated to it, (2) a section of
memory, (3) security attributes (such as its owner and its set of permissions) and (4)
the processor state.
This means that the maximum number of processes in the system is limited by the
size of the task vector; by default it has 512 entries.
As processes are created, a new task_struct is allocated from system memory and
added into the task vector. To make it easy to find, the current, running, process is
pointed to by the current pointer.
Although the task_struct data structure is quite large and complex, but its fields can be
divided into a number of functional areas:
State
As a process executes it changes state according to its circumstances. Linux
processes have the following states:
1) Running:
The process is either running (it is the current process in the system) or it is ready
to run (it is waiting to be assigned to one of the system's CPUs).
What is Linux?
Just like Windows XP, Windows 7, Windows 8, and Mac OS X, Linux is an open source
operating system. An operating system is software that manages all of the hardware
Linux Vs Windows
S.NO Linux Windows
1. Linux is a open source operating While windows are the not the open
system. source operating system.
6. There is forward slash is used for While there is back slash is used for
Separating the directories. Separating the directories.
7. Linux provides more security than While it provides less security than
windows. linux.
8. Linux is widely used in hacking While windows does not provide much
purpose based systems. efficiency in hacking.
9. Linux file naming convention in case In Windows, you cannot have 2 files
sensitive. Thus, sample and SAMPLE with the same name in the same folder.
are 2 different files in Linux/Unix
operating system.
2) Machine-independence:
The System hides the machine architecture from the user, making it easier to write
applications that can run on micros, mins and mainframes.
3) Multi-Tasking:
Unix is a powerful multi-tasking operating system; it means when a active task in process,
there can be a simultaneous background process working too. Unix handles these active
and background threads efficiently and manages the system resources in a fair-share
manner.
4) Multi-User Operations:
6) UNIX shell:
UNIX has a simple user interface called the shell that has the power to provide the
services that the user wants.
8) Utilities:
UNIX has over 200 utility programs for various functions. New utilities can be built
effortlessly by combining existing utilities.
3) Cell Phones:
Is that a Motorola RAZR you are using? Or is it a ROCKR? Maybe it’s a T-Mobile
G1? But you are already using Linux in your cell phone.
While you have to close all your programs to free up memory on your cell phone in
Windows devices, your Linux handset takes care of it automatically, and brings that
famous server reliability to your handset.
4) Mobile Internet Devices:
Yet another area Linux has conquered are the mobile Internet devices or MIDs, such
as the Nokia’s N800 and N810, in which Intel sees a lot of prospects for the future.
They actually run Ubuntu. So instead of getting a MID on which you can only use
what you are given, you can install a program from the Ubuntu repositories and
customize it as you want.
2) Ubuntu
Created and maintained by Canonical, Ubuntu is one of the most popular Linux
distros enjoyed across the globe by beginners, intermediate users, and professionals
3) Fedora
Fedora has for a while now used the DNF package manager ( and still uses it as its
default package manager) and offers the latest and the very best in RPM software
packages.
The latest Fedora is Fedora 32.
4) OpenSUSE
It is a comprehensive package with some good documentation.
The following is helpful and informative and there are lots of packages available for
it.
There is however some controversy over a deal it has with Microsoft, something
about use of patents.
The OpenSUSE project is a modern and comprehensive community project that
provides 2 main SUSE branches: SUSE Leap which is a point release that targets
desktop users as well as enterprise development and for testing purposesIt does have
graphical tools for an administrator.
Current release is 11.1
5) Mandriva
It is one of the distributions that offer both free and commercial versions of the
software.
The first release was named Mandrake Linux and based on Red Hat Linux (version
5.1) and KDE 1 in July 1998.
The commercial version is regarded as one of the best distros for newbies.
Current version is Mandriva 2009.1.
6) Slackware
This is allegedly the oldest Linux distribution still around today.
It is supposed to be the cleanest and most bug free edition available, but seems quite
hard core.
You definitely need skills to get into Slackware.
It lags a little behind other distributions and doesn’t have all the cool bits to make
your desktop smart.
Current version 12.2
7) FreeBSD
8) Mint
It is based on Ubuntu, but is developed mainly ‘on demand’.
The programmers have forums and feedback loops which they subscribe to.
They listen and try to implement the best suggestions into the distribution.
It has many specific tools, and to my mind is the most useable out of the box.
Current version is Mint 6 Felicia.
9) PCLinuxOS
Despite the not so catchy name this distribution is supposed to be very good for the
Linux newcomer.
Another distro that works out of the box, natively supporting lots of hardware.
The documentation and website are pretty good if a little disorganized.
This one also seems to be English only, so if you speak something other, then you had
best look elsewhere.
Current version is PCLinuxOS 2009.1
10) Redhat
Red Hat Enterprise commercializes its Linux distribution intended for Servers and
workstations.
It is the most favored version of Linux OS and relies on open source Fedora version.
This version caters to long releases to ensure stability among its features.
The core software is free and open-source.
11) CentOS
CentOS is a community version of Redhat.
It is a community project that takes the Red Hat Enterprise Linux code, removes all
Red Hat’s trademarks, and makes it available for free use and distribution.
It is available free, and support comes from the community as opposed to Redhat
itself.
12) TinyCore:-
Very small footprint (10Mb once installed) Linux, suitable for old hardware or low
specification machines / embedded devices.
It ships with a minimal desktop but no applications: the user is left to install what they
require. Ideal for ancient hardware or occasional use.
Desktop Environment: (a) X Window Basics (b) KDE Basics (c) GNOME
Basics
Overview:
A desktop environment bundles together a variety of components to provide common
graphical user interface elements such as icons, toolbars, wallpapers, and desktop widgets.
Additionally, most desktop environments include a set of integrated applications and
utilities.
The user is free to configure their GUI environment in any number of ways. Desktop
environments simply provide a complete and convenient means of accomplishing this
task.
X Window Basics
X window was designed with a client-server architecture. The applications themselves are
the clients; they communicate with the server and issue requests, also receiving
information from the server.
The X Window System (sometimes referred to as "X" or as "XWindows") is an open,
cross-platform, client/server system for managing a windowed graphical user interface in
a distributed network.
X Window, the client-server relationship is reversed from the usual.
Remote computers contain applications that make client requests for display management
services in each PC or workstation.
X Window is primarily used in networks of interconnected mainframes, minicomputers,
and workstations.
The X Window System was the result of research efforts in the early 1980s at Stanford
University and MIT, aided by IBM, to develop a platform-independent graphics protocol.
The X Window System is an open standard that is managed by the X.Org consortium.
The X server maintains exclusive control of the display and services requests from the
clients. At this point, the advantages of using this model are pretty clear.
Applications (clients) only need to know how to communicate with the server, and
need not be concerned with the details of talking to the actual graphics display device.
At the most basic level, a client tells the server stuff like "draw a line from here to
here", or "render this string of text, using this font, at this position on-screen".
X model goes a step further. It doesn't constrain the client being in the same computer
as the server.
The protocol used to communicate between clients and server can work over a
network, or actually, any "inter-process communication mechanism that provides a
reliable octet stream".
Of course, the preferred way to do this is by using the TCP/IP protocols.
As we can see, the X model is really powerful; the classical example of this is running
a processor-intensive application on a Cray computer, a database monitor on a Solaris
server, an e-mail application on a small BSD mail server, and a visualization program
on an SGI server, and then displaying all those on my Linux workstation's screen.
X provides a library called Xlib, which handles all low-level client-server
communication tasks.
It sounds obvious that, then, the client has to invoke functions contained within Xlib
to get work done.
The Qt Library
KDE uses as its library of GUI tools the Qt library developed and supported by
Trolltech.
It is considered one of the best GUI libraries available for Unix/Linux systems.
Using it, the advantage of relying on a commercially developed and supported GUI
library.
Trolltech provides the Qt libraries as open source software that is freely distributable.
Koffice Software
Like Microsoft office in windows KDE comes with Kword, kpresenter, Kcalc and
Kcontact.
Moreover, KDE comes with editor like KWrite which is a default text editor of KDE
and better than Notepad of Windows.
KDE was created in 1996 and uses the K Window Manager (kwin) and Qt toolkit
The Qt toolkit was not released as Open Source until 1998
Qt toolkit uses C++
GNOME Basics
As with other common desktop products, the main components of the GNOME desktop
are icons that link to files, folders, or programs, as well as the panel at the bottom of the
screen (similar to the Task Bar in Windows).
Double-click an icon to start its associated program. Right-click an icon to access
additional menus and options. You can also right-click any empty space on the desktop to
access additional menus for configuring or managing the desktop itself.
The GNOME desktop is a free, user-friendly desktop environment for UNIX and Linux
operating systems. It also provides a platform for development of new applications. The
version, GNOME 2.10, is available for Linux, Solaris, HP-UX, BSD, and Darwin
platforms.
• GNOME, started in 1997, used Metacity Window Manager and GTK+ toolkit for C
programming language
• GTK+ toolkit was originally developed for the GIMP, Open Source graphics program
• GTK+ is also Open Source
• GNOME is the default desktop of Fedora Core 6, even though KDE is also available
About GNOME:-
GNOME (GNU Network Object Model Environment) is a graphical user interface
(GUI) and set of computer desktop applications for users of the Linux computer
operating system.
It's intended to make a Linux operating system easy to use for non-programmers and
generally corresponds to the Windows desktop interface and its most common set of
applications.
In fact, it allows the user to select one of several desktop appearances, for example, be
made to look like Windows 98 or like Mac OS.
Stability: Linux has high stability compared with other operating systems. There is
no need to reboot the Linux system to maintain performance levels. Rarely it freeze
up or slow down.
Disadvantages of Linux:
Understanding – Becoming familiar with the Linux operating system requires
patience as well as a strong learning curve. You must have the desire to read and
figure things out on your own, rather than having everything done for you. Check out
the 20 must read howto’s and guides for Linux.
Compatibility – Because of its free nature, Linux is sometimes behind the curve
when it comes to brand new hardware compatibility. Sometimes you can find third
party applications, sometimes you can’t.
Alternative Programs – Though Linux developers have done a great job at creating
alternatives to popular Windows applications, there are still some applications that
exist on Windows that have no equivalent Linux application.
Easy to change options. Ubuntu comes with a control panel but also comes with a
menu next to the Applications menu where you simply select the thing you want to
change, be it the Desktop background or the network settings. Everything on the
windows that appear is simple and there are just the options you need so it is easy to
change the options.
Assignment
1. Define the following terms.
1. Kernel 2. Shell
2. Write a detail note on Linux. Also Explain Linux flavor and feature.
3. What is UNIX os? Explain history of UNIX operating system.
4. Write a short note on KDE and GNOME in detail.