You are on page 1of 60

Group Assignment Operating System

Acknowledgement...........................................................................................3

Project Overview..........................................................................................4

Introduction to the Operating System.............................................................5

Introduction to Linux.......................................................................................8

Partitioning......................................................................................................9

Installation process.......................................................................................10

Process Control Management........................................................................16

Tools for Working with Processes...............................................................16

Process Scheduling.......................................................................................18

Inter Process Communication – .................................................................18

Memory Management...................................................................................21

Virtual Memory Management........................................................................22

Secondary Disk Scheduling Management.....................................................24

Secondary Storage Management..................................................................26

Second extended file system ....................................................................26

System Administration and Support .............................................................27

Recovery Strategies......................................................................................31

Security strategies........................................................................................32

Internal threats..........................................................................................33

Password Protection...................................................................................34

External Threats.........................................................................................35

User Interface...............................................................................................36

GNOME.......................................................................................................36

Limitations /Extensions.................................................................................39

This is a case study done on the Linux Red Hat operating system and this
does not include a majority of technical information associated with the
operating system..........................................................................................39

DF07A2BIT 1
Group Assignment Operating System

One of the strategies we faced was to gather information on the deadlock


management, Linux standard support, and system administration..............39

It should be noted that this documentation is based only on Red hat 9.0 and
does not provide comparisons with any other Linux based operating
systems.........................................................................................................39

..................................................................................................................... 39

Conclusion ....................................................................................................39

Appendices ..................................................................................................41

Hardware Requirements............................................................................41

Software Requirements..............................................................................42

Work Load Matrix..........................................................................................43

Gantt chart....................................................................................................44

Screen Captures............................................................................................47

Search for Files.............................................................................................55

Minutes of the Meeting.................................................................................56

Meeting 1 ..................................................................................................56

Meeting 2...................................................................................................57

Meeting 3...................................................................................................58

References....................................................................................................59

DF07A2BIT 2
Group Assignment Operating System

Acknowledgement

We would like to take this opportunity to thank the following for the support rendered to
us for the successful completion of this operating system project.

Firstly we would like to thank our Operating Systems lecturer Mr. Lal Bopearachchi for
his support, advice & encouragement given to us during the course of this project. We
further wish to thank him for helping us understand the core aspects of operating
systems through his weekly lectures.

Our thanks also extend to all our batch mates of DF07A2BIT for their guidance &
support in relation to the various aspects of the project content.

Finally we would like to thank Manesha De Silva and the APIIT Laboratory assistants
for helping us and to fully utilize all facilities of the labs to successfully implement this
project.

DF07A2BIT 3
Group Assignment Operating System

Introduction
Project Overview

The main objective of this project was to investigate, install, analyze & document the
features of an operating system of our choice. For our analysis & investigation we have
looked into the specific abilities & system processors and procedures of our selected
operating system under the following measures.

1) User interface

2) Process Control Management

3) Deadlock Management

4) Memory Management

5) Virtual Memory Management

6) Secondary Disk Scheduling Management

7) Secondary Storage Management

8) System Administration & Support

9) Recovery Strategies

10) Security Strategies

11) Standard Support

After some discussion the team decided to choose Red Hat Linux 9 as our operating
system to expand and explain the above mentioned measures. We will be looking at the
generalized factors which are common to any Operating system as well as the factors in
relative to our chosen operating system in order to elaborate on the above mentioned
points.

DF07A2BIT 4
Group Assignment Operating System

Introduction to the Operating System

An

operating system can simply be defined as a set of computer programs that manages
both software and the hardware resources of a computer.

The operating system is the most important software that is installed into a computer. It
is allied with basic but important tasks such as CPU time scheduling, memory allocation.
Network management, I/O devices management, file system management and other
various very important but basic tasks.

DF07A2BIT 5
Group Assignment Operating System

The functionality of the operating system is separated into Controlling and operating
system hardware and also enabling users and their programs access to the hardware and
other facilities of the system.

Operating systems can be classified and distinguished according to the number of users
that can access the system, basically the most ancient operating systems can only handle
a single user, and however nowadays operating systems can handle many users. Also
operating systems can be classified from how many application it could run
simultaneously, in other words whether its multi- Tasking or single tasking. DOS is a
perfect example for a single taking operating system and Linux Red Hat is a very good
example for a Multi-Tasking Operating system. And nowadays operating systems area
also distinguished by the easy reaches or access of the source code. Linux is the most
known operating system for having the source code available for everyone. These types
of operating systems are also known as Open source operating systems.

Operating systems can be classified as follows:

• Multi-user: Allows two or more users to run programs at the same time. Some
operating systems permit hundreds or even thousands of simultaneous users.
• Multiprocessing: Supports running a program on more than one CPU.
• Multitasking: Allows more than one program to run simultaneously.
• Multithreading: Allows different parts of a single program to run at the same
time.
• Real time: Responds to input instantly. General-purpose operating systems,
such as DOS and UNIX, are not real-time.

DF07A2BIT 6
Group Assignment Operating System

When you choose an operating system it’s important to know that operating systems
provide a platform where other software’s and applications can run on. This means that
when software’s are made, it has to be programmed in such a way that it could run in a
certain operating system. Therefore this is one of the most critical factors that affect the
choice of operating systems people choose.

For a normal computer that is used for basic operations and simple tasks, an operating
system is needed to run the user applications or the software’s that are used to execute
the activities of the user. These operating systems do basic tasks such as accepting
keyboard input and providing an output. Keeping track of the files and directories in the
system and managing them. It also controls and manages peripherals such as printer’s
and scanners.

For large systems however, the operating system serves a better role and has superior
responsibilities and powers, It is the controller of the whole system, it makes sure that
the different programs that are executed and run by the users don’t clash or interrupt
with each other. It’s also responsible for the safety of the system. It ensures that any
unauthorized people don’t access the system.

DF07A2BIT 7
Group Assignment Operating System

Introduction to Linux

Linux is an UNIX based free and open source operating system developed by Linus
Benedict Torvalds as a replacement for the Minix operating system in 1991. Presently
Linux based operating systems are commonly Linux used in desktop computer systems
and as well as server systems due to its high security features & reliability.

Red Hat Linux is an operating system developed by Red Hat Corporation with Linux
distribution. The first version of Red Hat Linux (version 1.0) was released on the 3rd of
November 1994. This version consisted of the basic Linux monolithic kernel & the
version was only available for testing and not distributed commercially.

The Red Hat Linux 9 version code named Shrike was released on the 31st of March
2003. It deferred from other versions of Red Hat as it was the first release to include
NPTL (Native POSIX Thread Library) support, using glibc 2.3.2 and kernel 2.4.20 with
NPTL support backported from the 2.5.x development kernels as well as the GNOME
2.2 GUI and used the RPM package manager common to all red hat versions. [Fedora
project. 2007]

Red Hat 9 production was discontinued in 2004 in favor of the Red Hat Enterprise
Edition & this Operating System became the basis for the development of Red Hat
Enterprise Linux 3.

DF07A2BIT 8
Group Assignment Operating System

Partitioning

What is partitioning?? Partitioning is a structure that divides a space. Partitioning a hard drive is
the process of dividing the amount of space into manageable block of memory.

Now in the current market there are hard disks with different capacities, the capacity of the hard
disk keeps increasing at a very rapid rate. Due to the rapid increase in the capacities of the hard
disk there are several problems in the user’s aspect as well as the computers aspects. In the users
aspects it will cause more clutter, and in the systems aspect the file systems cannot support a
capacity of more than a certain value.

When creating a partition in Linux the type is set to “extended” and the partition will be created
as an extended partition. The extended partition will act as a disk drive in its own rights.

The extended partition that was created can be used to resize a partition of the hard drive or
resize the existing partition.

In Linux the partitions are used and accessed in a totally different way, the process is done by
associating a partition with a directory through a process known as mounting. When a partition
is mounted its storage will be available starting at a specific directory the directory is known as
the mount point.

There are two types of partitions that have to be created when installing Linux

• A swap partition (at least 32mb) – swap partition is used to support the virtual
memory. In other words data is written to a swap partition when there is not enough
RAM on your system, swap partition is then used to store the data that your system is
processing. The swap partition should be equal or twice the size of your computers
RAMS or it has to be 32 MB.

• A / Boot partition (100mb) – in this mounted partition contains the operating systems
kernel (this allows your system to boot Red Hat Linux), along with the other files used
during bootstrap process. Due to limitation of BIOS’s creating a small partition to hold
these files is a good idea. 100MB boot partition is sufficient.

DF07A2BIT 9
Group Assignment Operating System

Installation process

The Linux has a very easy and simple installation process. The first time may seem
complicated but as you will observe in the upcoming paragraphs, the process is very user
friendly and is easy to handle. Basically the Linux installation is divided to 15 steps or
parts.

Step 1 – The welcome screen

This is as the topic suggests the welcome screen. From here you are directed to the next
step which is the Anaconda Screen.

Step 2 – The Anaconda screen

The use of the anaconda screen is to configure the hardware requirements for the
operating system. After the system has finalized this you are taken to the 3rd step.

Step 3 – Language selector

This is where you choose which language the operating system should be installed.
Here English is chosen by default. How ever you can change it to another language
which has initially been subscribed in the system.

Step 4 – Keyboard and mouse configuration

This is where the operating system configures your keyboard and mouse. This is done
automatically by the system.

DF07A2BIT 10
Group Assignment Operating System

Step 5 – Installation Type

Next is the installation type, here you choose personal desktop since you are installing it
on one computer.

Step 6 – Disk partitioning setup

This is done automatically to avoid any complication. To be more precise Linux


provides a system which automatically does the disk partitioning for you according to
your needs.

Step 7 - Boot loader configuration

GRUB (GRand Unified Boot loader) is the default boot loader that is available. The
LILO (Linux LOader) can also be selected. This is a versatile loader used to boot Linux
kernel from a floppy disk. It can also boot other operating systems.

DF07A2BIT 11
Group Assignment Operating System

Step 8 – Firewall configuration

This is where you do the security settings. Here the security is set to medium and default
firewall rules are used for the installation.

Step 9 - Additional Language Support

Additional language support can be used to give the user the option of using the operating
system in more than 1 language.

DF07A2BIT 12
Group Assignment Operating System

Step 10 - Time zone configuration

Here you select the time zone. For example you can choose Colombo Sri Lanka

Step 11 – Setting up root password

This is like setting up the administrator passwords. It is necessary later when installing programs
and etc.

DF07A2BIT 13
Group Assignment Operating System

Step 12 - Package Group selection

This will select the applications that are installed in the operating system. Primarily the default
package is selected by the system. If you wish to customize you can select the packages or what
specify want you to be installed along with the operating system.

Step 13 – Installation of Linux

In this step all of the packages selected previously will be installed. And finally the
operating system is completely installed

DF07A2BIT 14
Group Assignment Operating System

Step 14 - Boot disk creation

After installation a boot disk is created.

Step 15 – Monitor and Video card Configuration

Here as the name implies all aspects of the monitor and the video card are configured
and scanned and then finally optimized in order to run the GUI

Now the installation is finally complete. Reboot your system and then you can use the
Operating System.

DF07A2BIT 15
Group Assignment Operating System

Process Control Management

What is a process? A process is a program in execution. In Linux it uses a multi tasking


environment. In an environment like this the processes play an important role. In multi
tasking any given number of processes or programs may run at the same time. Therefore
the management and control of these processes is done in a successful manner which is
the main thing that affects the reliability and effectiveness of an operating system.
Process control as well as inter process communication is handled by the Linux kernel.
Processes are created by a process known as spawning or forking. This is when a new
process is created from a parent process.

Tools for Working with Processes

accton - Turns process accounting on and off. Uses the file /var/log/pacct. To turn it on
type "accton /var/log/pacct". Use the command with no arguments to turn it off.

• kill - Kill a process by number


• killall - Send a signal to a process by name
• lastcomm (1) - Display information about previous commands in reverse order.
Works only if process accounting is on.
• nice - Set process priority of new processes.
• ps(1) - Used to report the status of one or more processes.
• pstree(1) - Display the tree of running processes.
• renice(8) - Can be used to change the process priority of a currently running
process.
• sa(8) - Generates a summary of information about users' processes that are stored
in the /var/log/pacct file.
• skill - Report process status.
• snice - Report process status.
• top - Displays the processes that are using the most CPU resources.

DF07A2BIT 16
Group Assignment Operating System

Process State – A process in a system can be in the following states.

1) New State – This is the creation of a certain process


2) Ready State – This is when a process waiting in a ready queue to be given
access to the processor.
3) Running State – This is when the process is being processed by the CPU.
4) Terminated – This is when a process that has been completed, in Linux an exit
status is returned.
5) Blocked- This is when a process in blocked by the dispatcher as the process
needs an I/O event to occur for the successful completion of the process.

DF07A2BIT 17
Group Assignment Operating System

Process Scheduling

In Process Scheduling each process is given a CPU time and resources in order for it to
execute.

CPU time on Linux systems is allocated in jiffies. A jiffie is a microprocessor time slice.
On most Linux systems it is 1/100 of a second. On some systems it is 1/1024 of a
second. This controlled by the Linux Cornel [comptechdoc.org, 2007]

Process scheduling in Linux is handled successfully through the following methods.

1) FIFO – the First in First out is a method where a real time scheduling is done. This
means first process produced is the first process to be executed.

2) Round Robin - This is where each process is given a fixed time quantum to execute
it’s task, if it fails to execute during the given time the process will be sent back to the
task queue. This is the real time scheduling priority.

Inter Process Communication –

Inter process communication is done by Linux using the following methods.

1. Signals - These are sent by the kernel to other processes to indicate various
conditions
2. Pipes – These are set up by shells for routing processes.
3. FIFOS - Named pipes operating on the basis of first data in, first data out.
4. Message queues - Message queues are a mechanism set up to allow one or more
processes to write messages that can be read by one or more other processes.

DF07A2BIT 18
Group Assignment Operating System

5. Semaphores - Counters that are used to control access to shared resources. These
counters are used as a locking mechanism to prevent more than one process from
using the resource at a time.
6. Shared memory - The mapping of a memory area to be shared by multiple
processes.

There are various advantages in using these methods and also Process management as a
whole. One of the main advantages is that all processes are given an equal time and
fairness to execute. Because of this it ensures and maximizes resource output. Reduces
turn around time and maximizes throughput.

DF07A2BIT 19
Group Assignment Operating System

Deadlock Management

Deadlock is a common term that we come across when we talk about operating systems.
It is a situation that arises in multitasking environments. When two or more processes
are required from a system resource, they compete with each other and end in a conflict
of a permanent state of block in the resources.

For a Deadlock to occur 4 conditions are to be satisfied.

1) Mutual Exclusion – Mutual exclusion is when at least one resource is non


sharable and a single process is given authorization to this process at any given
time
2) Hold & Wait – Hold and wait occurs when a process 1 requires another resource
which is already been used by another process (process 2). In this situation the
process 1 will be held until the process 2 is completed.
3) No –Preemption – this is when a process lets go of a resource after it has
delivered its tasks
4) Circular Wait – This is where one process or more waits for a resource that is
being held by another process

A deadlock can be prevented and stopped by preventing one of the above mentioned
conditions. Or they can be avoided by deadlock detection and recovery method. The
detection method, detects processes which have a tendency to create deadlock and then
the recovery system will be terminated to break the deadlock. Or we can also use early
avoidance methods.

In Linux, to handle this problem, it uses the deadlock detection and recovery method as
mentioned above to terminate the processes in a dead lock. Or in special cases a single
process which is most influential to the deadlock is terminated to solve the problem.

DF07A2BIT 20
Group Assignment Operating System

Memory Management

The successful operation of an operating system depends on a good memory


management. Memory management, as the name implies is the management of the
memory of a computer system. Current computers are equipped with several types of
memory and they are arranged in a hierarchy manner. Starting from the fastest registers,
CPU cache, and random access memory (RAM) and the hard disk or the disk storage.

In an operating system the memory manager will coordinate the various types of
memory by checking their use and availability. Furthermore it allocates how data should
flow between them, or deallocates the data movement between them. This is usually
referred to as virtual memory management. This process increases the amount of
memory available for each process.

When we look into how Linux works and manages its memory. Linux has a data
swapping algorithm implemented to switch data between primary and secondary
memory, which is also known as paging and swapping. We can also see automatic
storage allocation which allows for the executions of processes that are not fully in the
main memory.

Advantages of using such a method includes the operating systems ability which is to
maintain multiple levels of physical memory space as well as giving higher priority to
disk cache to minimize conflicts between processes for memory.

The disadvantages of the memory management system of Linux OS is the necessity for
a very fast mapper function and the necessity for the maintenance of a page table to
match virtual addresses to physical addresses.

DF07A2BIT 21
Group Assignment Operating System

Virtual Memory Management

Virtual memory is considered to be one of the very important aspects of the operating
system. This aspect or virtual memory allows an operating system to perform tasks such
as file caching, process isolation and swapping. Successful management of a systems
virtual memory results in the optimum performance on an operating system.

The key components of the Linux virtual memory are as follows,

1) The Memory management Unit


2) The Zoned Buddy Allocator
3) The Slab Allocator
4) Kernel Threads

The Memory management Unit

This Unit plays the biggest role in making a virtual system a reality. In other words this
is the unit which makes a virtual memory possible. This allows software’s to reference
more than one physical memory by using pages and page tables. The memory unit uses a
section of memory to convert virtual addresses into physical addresses via a series of
table look ups. [Norm Murry, Niel Horman, Nov 2004]

The Zoned Buddy Allocator

This is the unit which is responsible in handling and managing all of the page allocations
to the entire system. This manages physically contiguous pages and then maps them in
to the Memory management Unit page tables. Also this provides other kernel
subsystems with a valid physical address when there is a request for one. This name is
given because of the algorithm it uses to maintain its free page lists. . [Norm Murry, Niel
Horman, Nov 2004]

DF07A2BIT 22
Group Assignment Operating System

The Slab Allocater

This provides pages larger than the normal 4KB size pages to the kernel which requires
them when the buddy allocater can’t do. This opens up a doorway to the other kernels to
create caches of memory objects of a given size. This allocator is responsible to monitor
which objects are free and which are allocated and at the same time its also responsible
to place as many objects as possible in one page. When a request is made for allocations
and if no more are available this unit requests the buddy allocator for more pages to
satisfy the request. [Norm Murry, Niel Horman, Nov 2004]

The Kernel Threads

The last component in the VM subsystem is the kernel threads: kscand, kswapd,
kupdated, and bdflush. These tasks recover and manage all the memory in use. All pages
of memory have an associated state. . [Norm Murry, Niel Horman, Nov 2004]

[http://www.redhat.com/magazine/001nov04/features/vm/] Nov2004

DF07A2BIT 23
Group Assignment Operating System

Secondary Disk Scheduling Management

The Linux Kernel or the core of the operating system is the main thing which is
responsible for controlling disk access by using the kernel I/O scheduling. In Linux 9,
with a 2.4 kernel, uses a single, robust, general purpose I/O elevator. The 2.4 I/O
scheduler has a variety of tuning options by controlling and managing the time a request
remains in an I/O queue before being served or activated. [D.John Shakshober, Nov
2004]

There are 4 respective ways of I/O scheduling techniques which are used to manage
these operations depending on usage patterns.

Completely Fair Queuing (CFQ) - CFQ works by allocating synchronous requests


submitted by processes into a number of per-process queues and then allocating time
slices for each of the queues to access the disk. The length of the time slice given to
these processes depends on their priority.

Deadline - The objective of the Deadline scheduler is to attempt to guarantee a start


service time for a request. This is done by imposing a deadline an all I/O operations to
prevent resource starvation. This method also maintains two deadline queues, in addition
to the sorted queues (both read and write). Deadline queues are normally sorted by their
deadline or their expiry time. And the sorted queues are sorted and arranged by the
sector number. [Jens Axboe, 2002]

Linus Elevator – This type of scheduler is normally found in the early versions or the
old versions of the Linux Operating systems. These tackle problems or works very
similar to an elevator moving inside a building thus the above name is given.

DF07A2BIT 24
Group Assignment Operating System

Anticipatory – this is an algorithm for scheduling hard disk input/output. Its main
objective or goal is to increase the efficiency of disk utilization by "anticipating"
synchronous read operations.

The main objective of such methods of disk scheduling is that is will maximize the
through put. In addition to this it maximizes fairness in an operating system by
allocating fair time slices for the processes. This also avoids starvation.

DF07A2BIT 25
Group Assignment Operating System

Secondary Storage Management


When looking into Secondary storage management we first have to look into some of
the Secondary storage devices that are available to the Linux System.

The below table lists common Linux devices. [comptechdoc.org, 2007]

/dev/fd0 Floppy disk

/dev/hda0 IDE Hard drive 1, partition 0

/dev/hdb3 IDE Hard drive 2, partition 3

/dev/sda First SCSI hard drive

CD ROM drive This device may be on the secondary controller as a master


(/dev/hdc) or slave (/dev/hdd). In fact, your /dev/cdrom is probably actually a
/dev/cdrom
softlink to one of these two devices, if you have an IDE interface. If you use
SCSI, you will probably use something like /dev/sda1 or 2, etc.

May be a pointer to /dev/psaux which is the ps2 device or /dev/cua which is a


/dev/mouse
serial device or /dev/ttyS0

Some Disk Devices. [comptechdoc.org, 2007]

primary IDE master /dev/hda

primary IDE slave /dev/hdb

secondary IDE master /dev/hdc

secondary IDE slave /dev/hdd

In Linux it uses the following file systems for the secondary storage management.

Second extended file system

DF07A2BIT 26
Group Assignment Operating System

Second extended file system is a file system made for the Linux kernel. This was
developed by Rémy Card as a replacement for the extended file system (ext). For his
amusement it worked fast enough that it was able to be used as the benchmarking
standard. How ever it should be noted that even though ext2 is not a journaling file
system, its next level, ext3, provides journaling and is almost as good as ext2.

The Ext2 file systems are well known to have a comprehensive capacity of 2 tetra byte.
The spaces in Ext2 file system is divided into blocks which are further deviated into
several groups. This file system is restricted by the Linux kernel and data medium.

The Linux Virtual File System -

Virtual file system is a conceptual layer on top of a file system .The purpose of this is to
allow client applications to access different types of concrete file systems in a
standardized way. For example A VFS (virtual file system) can be used to access local
and network storage devices evidently without the client application detecting the
difference.

System Administration and Support

DF07A2BIT 27
Group Assignment Operating System

Linux has the following system administration features available. This includes resource
monitoring tools. And out of these tools the following are the tools available in Linux

1) Free
2) Top ( Including the GNOME system monitor)
3) VMSTAT

Free - The free command in Linux is used to display system memory utilization information.

Mem: this row displays the physical memory consumption.

Swap: this displays the utilization of the system swap space.

-/+ buffer/ cache: this row shows the amount of physical memory currently committed
to the system buffers.

This displays the memory utilization information once an is only useful for very short
time monitoring or quickly determining whether there is a problem currently in progress
which is related to memory. Although this method has the ability to repetitively display
memory consumption figures, it’s very difficult to easily see changes in the memory
consumption due to the output scrolls. [redhat.com, 2007]

DF07A2BIT 28
Group Assignment Operating System

TOP -While free displays only memory-related information. This method does a little
bit of everything. Like CPU utilization, memory utilization, process statistics etc. An
advantage in Top is that unlike the free command, top can be run continuously.
[redhat.com, 2007]

[http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/admin-primer/s1-resource-rhlspec.html,
2007]

DF07A2BIT 29
Group Assignment Operating System

The GNOME System Monitor – The Gnome system monitor is more of a graphical
version of the Top command. It displays information relating to the system status,
process counts, and memory and swap utilization.

[http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/admin-primer/s1-resource-rhlspec.html,
2007]

VMSTAT –

DF07A2BIT 30
Group Assignment Operating System

This command displays the most useful system performance information very
quickly. This contains information about the CPU activity, swap, I/O system and
memory

[http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/admin-primer/s1-resource-
rhlspec.html, 2007]

R - Processes waiting for access to the CPU

B - Processes in an uninterruptible sleep state

W - Processes swapped out, but run able

Recovery Strategies

DF07A2BIT 31
Group Assignment Operating System

Hardware and software are things which can cause many problems and errors in any
operating system. Thus in Reality, this is applicable to Red Hat operating systems as
well. To overcome and recover from these errors or faults there are recovery methods
implemented in Red Hat. These methods are discussed below.

1 – Usage of Boot Disks

This is one of the methods that are used to recover from errors. There are 3 types of
rescue boot disks that can be created and they are as follows:

A – Creating floppy with GRUB boot loader – A GRUB configured on to a floppy can
be used to point to Linux kernel on the hard drive

B – Creating floppy with LILO – This is used to point Linux kernel on an existing
hard drive for boot. This is usually used when the master boot record or the (MBR) is
corrupted.

C- Creating a Floppy which contains Linux kernel – The most important and critical
files that are needed to boot the system in order to perform recovery operations are
added to this floppy. However this is a very complex procedure. And this method does
not need a working version of Linux on the hard disk drive to operate.

Hardware/Software Problems using recovery mode

When we say hardware and software recovery, this includes a variety of problems that
can arise in various different situations. Two very good examples would be failing hard
drives and forgetting to run LILO after building a new kernel (that is if you’re using
LILO as your boot loader). If GRUB is used its not very important to use a command to
reread the GRUB configuration file. But if a specified invalid root or device or kernel is
used in the GRUB configuration file, you might not know it until you reboot your
system. [Redhat.com, 2007]

Security strategies

DF07A2BIT 32
Group Assignment Operating System

One of the most important features that one will look when choosing or deciding on an
operating system would be the security. And Linux is well known for its good security
systems in their operating system and Linux is known to have an improved and a
superior security than of the windows operating systems. Yet Windows is the popular
brand.

This can be proved by the statement below which has been said by one of the world
famous contributors to Linux.

"Risk aversion is what dictates you use Linux and other open products, rather than NT.
The risks with NT are entirely out of your control, and there is nobody you could sue if
anything goes wrong. Why people still believe the myth that Windows in any form offers
any bit of accountability "more" than Linux remains a complete riddle to me."

[David Kastrup, Bochum, Germany, 1999]

In Linux, it uses different strategies to defend it self from internal as well as the external
threats.

Internal threats

Linux Security Modules – Linux security modules (LSM) is the structure that allows the
Linux Kernel to support different ranges of computer security models and at the same
time avoid favoring or choosing any single security performances. The structure is
licensed with GNU General public license and is also the standard part of the Linux
Kernel since Linux 2.6.

DF07A2BIT 33
Group Assignment Operating System

Password Protection

Password is the key in Red Hat Linux to verify the user that logins to the system. This is
a way of protecting the user, the work station and the network. Due to this, password
security plays a vital role in the system.

For the purpose of security, the Red Hat Linux installation programs recommend using
Message-Digest-Algorithm (MD5) and shadow passwords. However if u deselect these
options, especially MD5 password during the installation process, the Data Encryption
Standard (DES) format is used. This is an older format and it limits the password to
eight alphanumeric characters disallowing punctuations and special characters. In
addition this provides a 56-bit level of encryption.

And if u deselect shadow password, all the user passwords will be stored as a one way
hash in the world-readable file/etc/passwd. This is major opening for an offline
password cracker as he can gain access to the machine a regular user then view the file
and run any number of password cracking programs against it on his own machine. And
it’s a matter of time until he discovers a weak password. However enabling this feature
eradicates this type of attack’s in file/etc/shadow which is only readable by the root user.
This results in by forcing a hacker to attempt to crack the password by remotely
accessing into a network service on the machine such as SH or FTP. This type of
hacking is very slow and leaves a load of trails as there would be hundreds of log in
failures recorded in the log files. However if you have a weak password its always easy
for the hacker to crack it what ever mode he is trying. Therefore the most important
thing a user can do to protect his account is to create a strong password which would
make cracking tough.

DF07A2BIT 34
Group Assignment Operating System

External Threats

Firewall Security - Linux provides a wide range of powerful tools to assist


administration and security engineers with network level access control.

Aside from VPN solution such as CIPE and IPSec, Firewalls are on the most important
component of a network security implementation. Several vendors in the market provide
firewall solutions targeted to a mass range of people from home users to enterprises.
Firewalls can be stand alone hardware solution, such as Cisco, Sonicwall and Nokia.
There are also software firewall solutions such as McAfee and Symantec. Apart from
these differences between software and hardware firewalls, there are also differences in
the way these functions which separates one solution from another. [Red hat, 2007]

VPN’s

Red Hat Linux users are provided with various options on deciding a software solution
to secure their WAN. There is however two methods of implementing VPN and VPN-
equivalent connections that currently skip with Red Hat Linux. One of these methods is
to use OpenSSH as a tunnel between two remote nodes. This is a substitute to telnet, rsh
and other remote host communication protocols, but does not completely address the
usability needs of all corporate telecommuters. The second method is more adherent to
the facto definition of a VPN is Crypto IP Encapsulation. (CIPE), this is a way of
connecting LANs to function as a unified network. [Red hat, 2007]

DF07A2BIT 35
Group Assignment Operating System

User Interface

The User interface in Linux can be divided to a Graphical user interface and a command
line user interface. As known the command line interface doesn’t have any graphical
aspects and is specially made for advanced users as it offers more flexibility for a
technical user.

The graphical user interface is also divided in to two types namely KDE and GNOME
which are separate and different components and the users are given an option to install
which ever he wants.

GNOME

GNOME desktop is very attractive and very sensitive desktop for the user. It is also a
development platform that supports extensive framework for custom build applications
which the user can create and integrate in to the desktop. In other words the user can use
this interface to build their own desktop.

This is most commonly used desktop in a UNIX platform that was built by Linux. Many
computer industry leaders like IBM, HP and many more have selected GNOME for their
desktops.

DF07A2BIT 36
Group Assignment Desktop Operating System

Desktop
Icons

Application
Launchers

Gnome Desktop Ver2.0

Also known as the K desktop is a network transparent contemporary desktop


environment for UNIX workstations. The main goal of KDE is to fulfill the need for an

DF07A2BIT 37
Group Assignment Operating System

easy to use desktop for UNIX work stations similar to those found in Macintosh and
Microsoft Windows operating systems. When it comes to internet stability openness and
scalability UNIX has no competition.

Desktop
Icons

Application
Launchers

KDE Desktop

DF07A2BIT 38
Group Assignment Operating System

Limitations /Extensions
This is a case study done on the Linux Red Hat operating system and this does not
include a majority of technical information associated with the operating system.

One of the strategies we faced was to gather information on the deadlock management,
Linux standard support, and system administration.

It should be noted that this documentation is based only on Red hat 9.0 and does not
provide comparisons with any other Linux based operating systems.

Conclusion

DF07A2BIT 39
Group Assignment Operating System

In conclusion we can say that we have gained and obtained valuable knowledge about
the selected Operating system. And by installation, research and documentation, we
have gained a broad horizon of knowledge in this area and this Operating system which
is Linux red Hat 9.

Before we started to research on Linux we personally installed many systems such as


windows XP, Microsoft windows and vista and used each one of them for a period of
time to see the variation of each of these systems. We then came to experience that Red
Hat operating system is one the best operating systems that we have come across. One of
the main improvements we saw in this system was that its very easy to use and it’s the
most secure operating system that is in the market today and furthermore we found out
that rumors that said no viruses can infiltrate this operating system was true. Other than
virus protection and security, this Operating System provided user friendliness and
speed in both processes and internet.

In the process of preparing the documentation for this project we were able to gain
comprehensive knowledge about the technical material that we were being taught and
had the slightest idea. The main objective of this project was to acknowledge a different
operating system and its aspects, which in return gave us a clear understanding of the
functionality of a basic operation system. Thus we can confidently say that this project
has facilitated us to develop our skills on system analyzing and researching furthermore
most importantly to work as a team to achieve a common goal.

DF07A2BIT 40
Group Assignment Operating System

Appendices
Hardware Requirements
The following information represents the minimum hardware requirements necessary to
successfully install Red Hat Linux 9:

CPU:

- Minimum: Pentium-class

- Suggested for text-mode: 200 MHz Pentium-class or better

- Suggested for graphical: 400 MHz Pentium II or better

- Hard Disk Space (NOTE: Additional space will be required for user data):

- Custom Installation (minimum): 475MB

- Server (minimum): 850MB

- Personal Desktop: 1.7GB

- Workstation: 2.1GB

- Custom Installation (everything): 5.0GB

Memory:

- Minimum for text-mode: 64MB

- Minimum for graphical: 128MB

- Recommended for graphical: 192MB

DF07A2BIT 41
Group Assignment Operating System

Software Requirements

The following software must be present for Ingress to run:

Kernel 2.0.34 or higher.

libcrypt.so - this library is not included in every Linux distribution. If this is the case
with your system, check your distribution's Web site: they must have it somewhere.

Uncompress - certain Linux distributions (such as Caldera's Open Linux 2.2) do not
contain the uncompress package. Again, check your distribution's Web site if you do not
have it.

Working glibc versions:

glibc SDK Full Version

glibc 2.07 (eg RedHat 5.2) Yes. No.

glibc 2.1 (eg RedHat 6.0) Yes but the RedHat Yes.
compatibility packages and
an Ingres patch is needed in
order to use the forms-based
development tools. See
Forms-Based Development
Tools for details.

Glibc 2.1.1, 2.1.2 (eg RedHat No. Yes.


6.1)

glibc 2.1.3 (eg RedHat 6.2) See glibc 2.1. Yes.

Reference: http://www.linux.com/base/ldp/howto/IngresII-HOWTO/sysreq.htm

DF07A2BIT 42
Group Assignment Operating System

Work Load Matrix


Task Pradeep Humam Nilanka Adhil

Project Plan

Identify Activities X X X X

Workload Matrix X

Gantt Chart X

Research & Investigation

User Interface X X

Memory Management X X

Deadlock Management X X

Process Control Management X X

Virtual Management X X

System Administration X X

Recovery Strategies X

Security Strategies X

Secondary Storage Management X

Secondary Disk Scheduling X

Installation X X

Installing Red Hat Linux9 X X

Documentation X X X

Developing a Softcopy X X

DF07A2BIT 43
Group Assignment Operating System

Gantt chart

DF07A2BIT 44
Group Assignment Operating System

DF07A2BIT 45
Group Assignment Operating System

DF07A2BIT 46
Group Assignment Operating System

Screen Captures

Login Screen

DF07A2BIT 47
Group Assignment Operating System

Control Centre

Network Configuration

DF07A2BIT 48
Group Assignment Operating System

Desktop with Applications

DF07A2BIT 49
Group Assignment Operating System

Office Applications

DF07A2BIT 50
Group Assignment Operating System

Text Editor

Media Player

DF07A2BIT 51
Group Assignment Operating System

Sound

Browsing Internet

DF07A2BIT 52
Group Assignment Operating System

Settings Menu

DF07A2BIT 53
Group Assignment Operating System

Running Application

Command Prompt

DF07A2BIT 54
Group Assignment Operating System

Open File

Run Program

Search for Files

DF07A2BIT 55
Group Assignment Operating System

Minutes of the Meeting

Meeting 1

Date: 16th November, 2007

Time: 10:30 AM

Facility: L-MR1

Discussion of work load distribution and project planning.

Pradeep was selected to be the project leader for the group.

We spoke about the development of the initial project and responsibilities were
assigned among group members.

To-do list:

• Prepare the Work load matrix


• Prepare the Gantt chart
• Revise the project proposal
• Refer recommended books
• Refer previous related projects in APIIT library

Notes:

Next meeting: 20th November 2007

DF07A2BIT 56
Group Assignment Operating System

Meeting 2

Date: 20th November 2007

Time: 5.00 PM

Facility: 3 CR8

Project scenario and Preliminary investigation on the issues was discussed.

All members agreed on using Red hat as the Operating System.

Done:

• GANTT chart(adjustments)
• Workload Matrix

To-do list:

• Revise the project scenario section


• Refer recommended books
• Refer previous project work (APIIT library)
• Installation of the OS

Notes:

• Next meeting: 24th November 2007

DF07A2BIT 57
Group Assignment Operating System

Meeting 3

Date: 24th November 2007

Time: 10:00 AM

Facility: L4 MR 2

Conversation on installation process was continued.

Did Researches on essential functionality to the operating system.

Done:

• GANTT chart(completed)
• Installation

To-do list:

• Documentation

DF07A2BIT 58
Group Assignment Operating System

References

1) CompTechDoc 2006, How Stuff Works, LINUX POCESS MANAGEMNT website,


[online], available :
http://www.comptechdoc.org/os/linux/howlinuxworks/linux_hlprocess.html

[Accessed 10th November]

2) CompTechDoc 2006, How Stuff Works, LINUX DEVICES website,[online],


available : http://www.comptechdoc.org/os/linux/howlinuxworks/ linux_hldevices.html

[Accessed 12th November]

3) About.Com 2007, Focus On Linux, RedHat 9 Installation Guide,[online], available :


http://linux.about.com/library/bl/dist/redhat/bldist_redhat_inst3.33.htm

[Accessed 12th November]

4) About.Com 2007, Focus On Linux, RedHat 9Disk Partitioning,[online], available

http://linux.about.com/library/bl/dist/redhat/bldist_redhat_e1.htm

[Accessed 12th November]

5) Red Hat Magazine 2004, Understanding Virtual Memory [online],

Available: http://www.redhat.com/magazine/001nov04/features/vm/

DF07A2BIT 59
Group Assignment Operating System

[Accessed 14th November]

6) Red Hat Magazine 2005, choosing an I/O Scheduler [online],

Available: http://www.redhat.com/magazine/008jun05/features/schedulers/ [accessed


24th November]

7) Red Hat USA Pvt.Ltd, Red Hat Linux 9: Red Hat Linux System Administration
[online],

Available : http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/admin-
primer/s1-resource-rhlspec.html

[Accessed 25th November]

8) Red Hat USA Pvt.Ltd , 2005, Rescue Mode [online],

Available : http://www.redaht.com/docs/manuals/linux/RHL-7.3-Manual/custom-
guide/ch-rescuemode.html [accessed 25th November]

9) Red Hat USA Pvt.Ltd , 2005, Linux Security [online],

Available: http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/security-
guide/s1-wstation-pass.html [accessed 25th November]

DF07A2BIT 60

You might also like