84
Operating Systems Abstract This assignment involves the Investigation, Installation and Analysis of the Operating System Ubuntu. This assignment contains the following four stages; a brief Introduction, Research and Investigation, Installation, Analysis on the Operating System chosen. The Research and Investigation stage basically includes the System Software Requirements e.g. Kernels, Shells, Windows GUI and the System Hardware Requirements includes CPU, Memory and Hard disk space etc. The requirement of portioning or Memory management is also investigated in this section. The Installation stage includes the basic step-by-step instructions on how to install the Operation System Ubuntu from inserting the disk to opening the Start Menu. The Analysis stage includes the description of the User Interface, System Administration and Support, Security Strategies, Standard Support and Recovery Strategies. This stage also addresses Process Control Management, Deadlock Management, Memory Management and Virtual Memory Management, Secondary Disk Scheduling and Secondary Storage Management in-depth relation to Ubuntu. DF0861ICT Asia Pacific Institute of Information Technology Page 1 of 84

read.pudn.comread.pudn.com/.../doc/1040823/OperatingSystemUbuntu.doc · Web viewForms a platform for the user programs (applications) like Word, Internet Explorer, and Photoshop etc

Embed Size (px)

Citation preview

Operating Systems

Abstract

This assignment involves the Investigation, Installation and Analysis of the Operating System

Ubuntu.

This assignment contains the following four stages; a brief Introduction, Research and

Investigation, Installation, Analysis on the Operating System chosen.

The Research and Investigation stage basically includes the System Software Requirements e.g.

Kernels, Shells, Windows GUI and the System Hardware Requirements includes CPU, Memory

and Hard disk space etc. The requirement of portioning or Memory management is also

investigated in this section.

The Installation stage includes the basic step-by-step instructions on how to install the Operation

System Ubuntu from inserting the disk to opening the Start Menu.

The Analysis stage includes the description of the User Interface, System Administration and

Support, Security Strategies, Standard Support and Recovery Strategies. This stage also

addresses Process Control Management, Deadlock Management, Memory Management and

Virtual Memory Management, Secondary Disk Scheduling and Secondary Storage Management

in-depth relation to Ubuntu.

DF0861ICT Asia Pacific Institute of Information Technology Page 1 of 69

Operating Systems

Table of Contents

1. Introduction..............................................................................................................................7

1.1 What is an Operating System?..........................................................................................7

1.2 Introduction to Ubuntu......................................................................................................8

1.3 Why Ubuntu?....................................................................................................................9

2. Installation.............................................................................................................................10

2.1 Starting the Installation...................................................................................................10

2.2 Dealing with Partitioning................................................................................................17

2.3 Finishing the Actual Installation.....................................................................................20

3. Research and Investigation....................................................................................................29

3.1 System Software Requirements......................................................................................29

3.1.1 The kernel................................................................................................................29

3.1.2 The shell...................................................................................................................29

3.2 System Hardware Requirements.....................................................................................30

3.2.1 Desktop Installation.................................................................................................30

4. Analysis.................................................................................................................................32

4.1 GUI: Graphical User Interfaces......................................................................................32

4.2 Window manager............................................................................................................33

4.3 Getting the Most out of the Desktop...............................................................................33

4.3.1 Desktop....................................................................................................................33

4.3.2 Panels.......................................................................................................................33

DF0861ICT Asia Pacific Institute of Information Technology Page 2 of 69

Operating Systems

4.3.3 Panel objects............................................................................................................34

4.3.4 Windows..................................................................................................................34

4.3.5 Workspaces..............................................................................................................34

4.3.6 Tooltips....................................................................................................................34

4.4 System Administration and Support...............................................................................35

4.5 Security Strategies...........................................................................................................37

4.5.1 Unsafe Defaults.......................................................................................................37

4.5.2 Proactive Security....................................................................................................37

4.6 Standard Support.............................................................................................................41

4.6.1 How to get support for Ubuntu?..............................................................................41

4.7 Recovery Strategies.........................................................................................................42

4.8 Potential Benefits and Drawbacks..................................................................................43

4.8.1 Potential Benefits.....................................................................................................43

4.8.2 Potential Drawbacks................................................................................................44

4.9 Process Control Management.........................................................................................45

4.9.1 Process.....................................................................................................................45

4.9.2 Threads....................................................................................................................45

4.9.3 Process states...........................................................................................................45

4.9.4 Process Scheduling..................................................................................................46

4.10 Deadlock management................................................................................................47

4.10.1 Deadlock prevention................................................................................................47

DF0861ICT Asia Pacific Institute of Information Technology Page 3 of 69

Operating Systems

4.10.2 Detecting and breaking deadlocks...........................................................................48

4.11 Memory Management including Virtual Memory Management................................49

4.11.1 Memory Management..............................................................................................49

4.11.2 Virtual memory........................................................................................................49

4.11.3 How memory management works in Ubuntu..........................................................50

4.12 Secondary Disk Scheduling Management...................................................................53

4.12.1 Disk structure...........................................................................................................53

4.12.2 Disk scheduling.......................................................................................................53

4.12.3 Anticipatory Scheduling..........................................................................................54

5. References..............................................................................................................................55

6. Appendices............................................................................................................................57

6.1 Mandatory Minutes of Weekly Meetings.......................................................................57

6.2 Work Load Matrix..........................................................................................................58

DF0861ICT Asia Pacific Institute of Information Technology Page 4 of 69

Operating Systems

Table of Figures

Figure 1............................................................................................................................................9

Figure 2..........................................................................................................................................10

Figure 3..........................................................................................................................................11

Figure 4..........................................................................................................................................11

Figure 5.........................................................................................................................................12

Figure 6..........................................................................................................................................13

Figure 7..........................................................................................................................................13

Figure 8..........................................................................................................................................14

Figure 9..........................................................................................................................................14

Figure 10.......................................................................................................................................16

Figure 11........................................................................................................................................16

Figure 12........................................................................................................................................17

Figure 13........................................................................................................................................17

Figure 14........................................................................................................................................18

Figure 15.......................................................................................................................................19

Figure 16........................................................................................................................................19

Figure 17........................................................................................................................................20

Figure 18........................................................................................................................................20

Figure 19........................................................................................................................................21

Figure 20........................................................................................................................................22

DF0861ICT Asia Pacific Institute of Information Technology Page 5 of 69

Operating Systems

Figure 21........................................................................................................................................23

Figure 22.......................................................................................................................................23

Figure 23........................................................................................................................................24

Figure 24........................................................................................................................................24

Figure 25.......................................................................................................................................25

Figure 26........................................................................................................................................25

Figure 27........................................................................................................................................26

Figure 28 A GNOME workspace..................................................................................................30

DF0861ICT Asia Pacific Institute of Information Technology Page 6 of 69

Operating Systems

1. Introduction

1.1 What is an Operating System?

“An Operating System is a software program or set of programs that mediate access between

physical devices and application programs.”

Hitachi ID Systems (2008)

An Operating System is necessary to:

Assist in starting the computer

Control and handling of all hardware, including RAM, input/output devices, adapter

cards and controllers.

Read-in of a graphics user interface with windows, menu bars etc.

Forms a platform for the user programs (applications) like Word, Internet Explorer, and

Photoshop etc.

Handling of user data in files.

The operating system chosen in this assignment is Ubuntu 8.04 LTS (Hardy Heron).

DF0861ICT Asia Pacific Institute of Information Technology Page 7 of 69

Operating Systems

1.2 Introduction to Ubuntu

According to Ubuntu’s official site (2008), “Ubuntu is an operating system that is developed by

a worldwide community of programmers as well as by employees of Ubuntu's commercial

sponsor, Canonical”.

Ubuntu is based on the concept of free or open-source software, which is it is free and does not

require any licensing fees. It can be downloaded, used, and shared free of charge and legally.

Ubuntu is a Linux based operating System. Ubuntu has had a great reputation for its stability and

security.

According to Top500.org “Linux has proven itself to be a workhorse server operating system,

and this is where, up until now, it has been most widely used and best known. As of June, 2007,

78 percent of the world's top 500 supercomputers were running Linux.”

Linux has also become more common among desktop and laptop computers used by business

and individuals.

According to Mark Shuttleworth (2008), the founder and CEO of Canonical, estimates “Ubuntu

has between six and eight million users. Because the software is free to download and share, it is

difficult to track exact usage numbers.”

DF0861ICT Asia Pacific Institute of Information Technology Page 8 of 69

Operating Systems

1.3 Why Ubuntu?

The reasons why Ubuntu was chosen for the assignment were:

It is guaranteed to be cot-free and there are no other editions like Enterprise or

Professional edition, Ubuntu is Ubuntu. Canonical also ships the CDs for free.

It is free in two ways; they are cost-free and non-proprietary. That is there will be no

licensing issues. With adequate programming knowledge, the source code of the

applications can be accessed and modify as the user’s will. This has no limit and can be

done on many computers as possible.

The best feature of Ubuntu is the User friendliness while installing the software. It makes

the installation as easy as possible.

The next best feature of Ubuntu is the support provided for the Operating System. That is

the online forums, helpful users and staff and a lot of tips and tricks. All of this is free of

charge as Ubuntu’s philosophy of being “Linux for human Beings” and this is run

entirely by volunteers and fellow users.

DF0861ICT Asia Pacific Institute of Information Technology Page 9 of 69

Operating Systems

2. Installation

Installing Ubuntu Linux is copying operating system files from a Desktop CD to the hard drive

on a system and setting up configuration files so that Linux runs properly on the hardware. There

are different ways to install Ubuntu. This includes fresh installation, upgrades from older

releases of Ubuntu Linux, and dual-boot installations. The following installation is the Dual-

boot-installation.

2.1 Starting the Installation

Step 1:

After obtaining the Desktop CD, load it into the CD drive and be rebooted to use Ubuntu.

Step 2:

The computer's BIOS must be set to boot from CD first or else, the current Operating System

will just load up again. To access BIOS settings, you usually have to press one of these keys

during boot-up, Escape, F1, F2, F12, or Delete. The computer will show which key to use.

DF0861ICT Asia Pacific Institute of Information Technology Page 10 of 69

Operating Systems

Step 3:

Once your BIOS is configured to boot from CD first, if you have Ubuntu in the drive, you should

see this screen. Select your language.

Figure 1

DF0861ICT Asia Pacific Institute of Information Technology Page 11 of 69

Operating Systems

Step 4:

Then, select Install Ubuntu.

Figure 2

DF0861ICT Asia Pacific Institute of Information Technology Page 12 of 69

Operating Systems

Step 5:

After that, you should see a progress bar as the CD prepares to launch the installer.

Figure 3

DF0861ICT Asia Pacific Institute of Information Technology Page 13 of 69

Operating Systems

Figure 4

DF0861ICT Asia Pacific Institute of Information Technology Page 14 of 69

Operating Systems

Step 6:

Answer the questions as best you can. Most of them should be self-explanatory.

Figure 5

DF0861ICT Asia Pacific Institute of Information Technology Page 15 of 69

Operating Systems

Figure 6

Figure 7

DF0861ICT Asia Pacific Institute of Information Technology Page 16 of 69

Operating Systems

Figure 8

Figure 9

DF0861ICT Asia Pacific Institute of Information Technology Page 17 of 69

Operating Systems

2.2 Dealing with Partitioning

After choosing the questions, a partitioner will come up, and will show four more options.

Step 7:

1) Guided resize and use freed space

This option is for users who want to set up a dual-boot (where you can choose whether

you want to use Windows or Ubuntu each time you boot up your computer) but know

very little about setting one up. You can just drag the division between Windows and

Ubuntu to make the Windows installation as small or large as you want, and Ubuntu will

fill up the rest of the space.

2) Guided - use entire disk

This option will erase Windows and install a fresh copy of Ubuntu over it.

3) Guided - use the largest continuous free space

This option will make Windows as small as possible and install Ubuntu in the remaining

empty space.

4) Manual

This option allows you to manually configure the partitions. This is for intermediate to

advanced users.

The option chosen below is the Guided resize and use freed space, the first option

DF0861ICT Asia Pacific Institute of Information Technology Page 18 of 69

Operating Systems

Step 8:

Read the warning and make sure you understand it. Then, click Continue to confirm the

changes.

Figure 10

Figure 11

DF0861ICT Asia Pacific Institute of Information Technology Page 19 of 69

Operating Systems

Figure 12

Figure 13

DF0861ICT Asia Pacific Institute of Information Technology Page 20 of 69

Operating Systems

2.3 Finishing the Actual Installation

Step 9:

Next another screen shows up which contains questions on User Administration

Figure 14

DF0861ICT Asia Pacific Institute of Information Technology Page 21 of 69

Operating Systems

Step 10:

The following screen shows options for the user to copy desired settings from Windows. Choose

the Users you want to have the settings migrated from and all the settings will be applied.

Figure 15

Figure 16

DF0861ICT Asia Pacific Institute of Information Technology Page 22 of 69

Operating Systems

Step 11:

Click Install and the installation will finish.

DF0861ICT Asia Pacific Institute of Information Technology Page 23 of 69

Operating Systems

Figure 17

Figure 18

DF0861ICT Asia Pacific Institute of Information Technology Page 24 of 69

Operating Systems

Figure 19

Step 12:

When it's finished, click Restart Now.

DF0861ICT Asia Pacific Institute of Information Technology Page 25 of 69

Operating Systems

Figure 20

DF0861ICT Asia Pacific Institute of Information Technology Page 26 of 69

Operating Systems

Step 13:

The PC will restart and the following screen shot shows up

Figure 21

Step 14:

When the installer shuts down, remove the Ubuntu disc and hit Enter

DF0861ICT Asia Pacific Institute of Information Technology Page 27 of 69

Operating Systems

Figure 22

Step 15:

After the computer reboots, the following options show up to select to boot from Ubuntu or

Windows.

Figure 23

Figure 24

DF0861ICT Asia Pacific Institute of Information Technology Page 28 of 69

Operating Systems

Step 16:

After Ubuntu is selected, the user can log in with the username and password and then start using

Ubuntu.

Figure 25

DF0861ICT Asia Pacific Institute of Information Technology Page 29 of 69

Operating Systems

Figure 26

DF0861ICT Asia Pacific Institute of Information Technology Page 30 of 69

Operating Systems

Step 17:

Finally the Desktop of Ubuntu shows up. Then Ubuntu is up and ready to be used.

Figure 27

DF0861ICT Asia Pacific Institute of Information Technology Page 31 of 69

Operating Systems

3. Research and Investigation

3.1 System Software Requirements

In order to run Ubuntu, the following software requirements must be met.

i. Linux kernel.

ii. The shell.

3.1.1 The kernel

The kernel is basically the operator of the operating system. More information on the Kernel

used in Ubuntu is discussed in detail in the below sections.

3.1.2 The shell

The shell is used to interpret the operating system. Every action done by the user is converted by

the program into 1’s and 0’s which the computer understands hence making it the intermediary

between devices like the keyboard and computer.

DF0861ICT Asia Pacific Institute of Information Technology Page 32 of 69

Operating Systems

3.2 System Hardware Requirements

This following contains details of the hardware required to run Ubuntu 8.04 LTS (Hardy Heron).

The minimum requirements are mostly for a server (non-graphical) installation to run well. The

recommended minimum requirements allow the user to run a graphical installation of Ubuntu

well.

3.2.1 Desktop Installation

A desktop system is an operating System used for personal computing tasks and has a graphical

user interface.

3.2.1.1 Bare Minimum Requirements

According to Ubuntu (2008), the following are the requirements for Ubuntu to run on a system

with minimum hardware specification.

300 MHz x86 processor

64 MB of system memory (RAM)

At least 4 GB of disk space (for full installation and swap space)

VGA graphics card capable of 640x480 resolution

CD-ROM drive or network card

DF0861ICT Asia Pacific Institute of Information Technology Page 33 of 69

Operating Systems

3.2.1.2 Recommended Minimum Requirements

According to Ubuntu (2008), the recommended requirements which allows the user to use the

system reasonably well are the following. But features such as visual effects may not run

smoothly.

700 MHz x86 processor

384 MB of system memory (RAM)

8 GB of disk space

Graphics card capable of 1024x768 resolution

Sound card

A network or Internet connection

Note: All 64-bit (x86-64) PCs should be able to run Ubuntu. Use the 64-bit installation CD for a

64-bit-optimised installation.

3.2.1.3 Recommended for visual effects

“Visual effects provide various special graphical effects for your desktop to make it look and feel

more fun and easier to use.”

(Ubuntu 2008)

If the hardware requirements are not powerful enough to run visual effects, it can be turned off

and will still have a usable Ubuntu desktop. Visual effects are turned on by default if you have a

graphics card which is supported.

1.2 GHz x86 processor

384 MB of system memory (RAM)

Supported graphics card

DF0861ICT Asia Pacific Institute of Information Technology Page 34 of 69

Operating Systems

4. Analysis

4.1 GUI: Graphical User Interfaces

The X Window System was developed by researchers at MIT (Massachusetts Institute of

Technology) and offer the foundation for the GUI’s available with Linux. Given a terminal or

workstation screen that supports X, a user can interact with the computer through multiple

windows on the screen, display graphical information, or use special-purpose applications to

draw pictures, monitor processes, or sample formatted output. X is an across-the-network

protocol that lets a user to open a window on a workstation or computer system that is remote

from the CPU generating the window.

Usually two layers run under X: A desktop manager is an image oriented user interface that

enables you to interact with system programs by controlling icons as an alternative of typing the

corresponding commands to a shell. Ubuntu runs GNOME (Figure 1-3; www.gnome.org) by

default.

Figure 28 A GNOME workspace

DF0861ICT Asia Pacific Institute of Information Technology Page 35 of 69

Operating Systems

4.2 Window manager

A window manager is a program that runs behind the desktop manager and lets you to open and

close windows, run programs, and set up a mouse so it has diverse effects depending on how and

where you click. The window manager also gives the screen its personality. Whereas Microsoft

Windows allows you to change the color of key elements in a window, a window manager under

X allows you to modify the overall look and feel of the screen: You can change the way a

window looks and works (by giving it special borders, buttons, and scrollbars), set up virtual

desktops, create menus, and more.

Many popular window managers run under X and Linux. Ubuntu Linux provides both Metacity

(the default under GNOME) and kwin (the default under KDE).

4.3 Getting the Most out of the Desktop

The GNOME desktop is a powerful tool with many features, which has many aspects of panels,

the Main menu, windows, terminal emulation, and ways to update, install, and uninstall software

4.3.1 Desktop

The desktop comprises all phases of the GNOME GUI. While working with GNOME, you are

working on the desktop. There is always exactly one desktop.

4.3.2 Panels

Panels are bars that appear on the desktop and hold (Panel) objects. Primarily there are two gray

panels: one along the top of the screen (the Top Edge panel, or just Top panel) and one along the

bottom (the Bottom Edge panel, or just Bottom panel). You can add and get rid of panels. You

can place panels at the top, bottom, and both sides of the desktop and you can load more than

one panel at any of these locations. The desktop could have no panels, one panel, or several

panels

DF0861ICT Asia Pacific Institute of Information Technology Page 36 of 69

Operating Systems

4.3.3 Panel objects

Panel objects show up as words or icons on panels. You can click on these objects to display

menus, run applets, or launch programs. The five types of panel objects are:

- Applets

- Launchers

- Buttons

- Menus

- Drawers

4.3.4 Windows

A graphical application normally runs within and displays a window. At the top of most

windows is a title bar that you can use to move, resize, and close the window. The root window

is the vacant area of the workspace and is frequently hidden. The desktop can have no windows,

one window, or many windows. Most windows have decorations but some, such as the Logout

window, do not.

4.3.5 Workspaces

Workspaces divide the desktop into one or more parts, with one such part filling the screen at

any given time. Initially there are two workspaces. Because panels and objects on the desktop are

features of the desktop, all workspaces display the same panels and objects. By default, a

window appears in a single workspace. The Switcher allows you to display any one of several

workspaces.

4.3.6 Tooltips

Tooltips is a mini context help system that you activate by moving the mouse pointer over a

button, icon, window border, or applet (such as those on a panel) and letting it to hover there.

When the mouse pointer hovers over an object, GNOME displays a brief explanation of the

object.

DF0861ICT Asia Pacific Institute of Information Technology Page 37 of 69

Operating Systems

4.4 System Administration and Support

According to freesoftwaremagazine.com (2008),

“On a Linux system the system administrator is frequently the owner and only user of the system. This person has many responsibilities. The first responsibility may be to set up the system and install the software. Once the system is up and running, the system administrator is responsible for downloading and installing software (including upgrading the operating system), backing up and restoring files, and managing such system facilities as printers, terminals, servers, and a local network. The system administrator is also responsible for setting up accounts for new users on a multiuser system, bringing the system up and down as needed, and taking care of any problems that arise.”

When installing Ubuntu, the user required to create a user account at the installation. Ubuntu has

three types of user accounts. They are,

Initial User

Root user /Administrator – This has maximum privileges.

Basic users

1. Accessing the ‘User and Groups’ tool

1. Choose ‘System’ on main menu.

2. Then ‘Administration’

3. Go to ‘Users and Groups’ tool.

4. Then enter the password of the privileged user. In Ubuntu it should be initial user

password.

5. Then can access all the various administration tools.

DF0861ICT Asia Pacific Institute of Information Technology Page 38 of 69

Operating Systems

2. Adding a new user.

1. Choose the ‘Add User’ button. In ‘users and groups’ tool.

2. Then should think who is going to be added and what the user’s purpose of using

Ubuntu is.

3. Choose manually set password.

4. If it is a Basic User, keep the default settings.

5. Then click ‘User privileges’ tab.

6. At their defaults access given to the Basic User. If necessary, change some of the

followings.

‘Monitor system logs’, ‘Connect to Internet’

7. When they are marked as checked, user can access those. But it is important to

make sure ‘execute system administration tasks’ is not marked as checked.

8. Then press Ok button.

9. Then go to the main ‘User and Groups’ tool window and search the account that

added.

10. It is very important click the ‘Ok’ button again to create and save the information

added.

11. Then Ubuntu automatically create new user’s folder under the home directory.

12. After that, user can login using the new account.

13. If login fails, use the troubleshoot tips.

3. Making changes to users

1. Highlight the user account and press the ‘Properties’ button.

2. To delete a user account, highlight the name and press ‘Delete’ button.

3. But this will not delete files and folders of the user automatically. Because of that

that account can be restore without losing files.

4. Need to apply a super-user command to totally remove user with folders.”

freesoftwaremagazine.com (2008)

DF0861ICT Asia Pacific Institute of Information Technology Page 39 of 69

Operating Systems

4.5 Security Strategies

Ubuntu’s security is divided into 2 parts:

4.5.1 Unsafe Defaults

Unsafe defaults are the setting which is default in the computer. It is very risky to run the

computer as it is in the default security settings. We have to make some modifications in order to

prevent unnecessary hacks or data loss.

4.5.2 Proactive Security

Pro active security is an overview of security options and thoughts of how to secure the data in

order to create a hidden encrypted volume with True crypt. The following are the security

Strategies used by Ubuntu

4.5.2.1 Passwords

Most of Ubuntu’s security strategies are by acquiring passwords. This is mostly used to protect

sensitive information, such as the email account or the Ubuntu User account.

Ubuntu’s applications and settings allow the user to create strong passwords. Such a password is

defined as any password which meets the following criteria:

At least eight (8) characters in length

Does not contain your user name, real name, or organization name

Does not contain a complete dictionary word

Is significantly different from your previous password

Should contain three (3) of the following character types

o Lowercase Alphabetical (a, b, c, etc.)

o Uppercase Alphabetical (A, B, C, etc.)

o Numerics (0, 1, 2, etc.)

DF0861ICT Asia Pacific Institute of Information Technology Page 40 of 69

Operating Systems

o Special Characters (@, %, !, etc.)

Ubuntu (2008)

DF0861ICT Asia Pacific Institute of Information Technology Page 41 of 69

Operating Systems

4.5.2.2 General

Installing Security Tools – Contains a fully described guide on installing several security

applications in Ubuntu

4.5.2.3 Firewall

UFW - Uncomplicated Firewall

For more information on UFW visit: https://launchpad.net/ufw

IptablesHowTo – Is a very powerful introduction to Linux IPTables firewall

SinglePacketAuthorization - Advanced "firewall knocking" via cryptographic authentication

Ubuntu (2008)

4.5.2.4 System Hardening

BastilleLinux - The Bastille Linux Security Hardening Tool

Ubuntu (2008)

4.5.2.5 System Integrity

BitDefender - How to install Bit Defender Linux Edition

FileIntegrityAIDE - File integrity monitoring and verification with AIDE

Ubuntu (2008)

4.5.2.6 SSH

AdvancedOpenSSH - Advanced OpenSSH configuration for enhanced security

Ubuntu (2008)

4.5.2.7 Data Deletion

SecureDeletion - How to erase (wipe) data from hard discs in a way that hampers data

recovery

DF0861ICT Asia Pacific Institute of Information Technology Page 42 of 69

Operating Systems

Ubuntu (2008)

4.5.2.8 Encrypted Folders

FolderEncryption - How to encrypt a folder with encfs, and automatically mount it at login

Ubuntu (2008)

4.5.2.9 GPG

GPG Key - How to create/manage a GPG key and use it in your favorite E-Mail client

GPGKeyOnUSBDrive - How to store your GPG key securely on an encrypted USB flash

drive

Ubuntu (2008)

4.5.2.10 SSL

OpenSSL - OpenSSL Secure Sockets Layer implementation information

CommonAccessCard - Department of Defence Common Access Card (CAC) for Public key

infrastructure (PKI) Authentication

Ubuntu (2008)

4.5.2.11 Anti-Virus

Linuxvirus - An overview of viruses on Linux and why you might need an anti-virus

program

Antivirus - How to install an antivirus for Linux

ClamAV - How to install ClamAV on your HD

Ubuntu (2008)

4.5.2.12 Anonymity

The Onion Router - Anonymous web surfing using TOR: The Onion Router and Privoxy.

DF0861ICT Asia Pacific Institute of Information Technology Page 43 of 69

Operating Systems

Ubuntu (2008)

DF0861ICT Asia Pacific Institute of Information Technology Page 44 of 69

Operating Systems

4.6 Standard Support

4.6.1 How to get support for Ubuntu?

4.6.1.1 Access Free Documentation

When an error is encounter by a user it is reported and documented so another user can uses it

for his/her need for the help she benefits.

4.6.1.2 Buy Professional Support Services

Canonical Global Support Services team or any of their preferred partners are recommended for

Ubuntu help or solutions where they provide the most suitable solution

4.6.1.3 Get Free Community Support

The Ubuntu community also provides free support in many ways such IR chats, books, ect. They

are also in different languages for users preference.

4.6.1.4 Technical Answers System

“The new Tech Answer System is a part of the Launchpad System used as a platform for support

questions.”

Ubuntu (2008)

Here all the questions will be displayed until problem solved. Any user can browse through these

questions and use them.

DF0861ICT Asia Pacific Institute of Information Technology Page 45 of 69

Operating Systems

4.7 Recovery Strategies

If the system malfunctions, a recover strategy is very important. In Ubuntu, Recover Data for

Linux is used. It is an advance linux file recovery software tool which recovers damaged data

and files for example linux files, corrupted data and folders, deleted partition structures, file

deletion and unpredicted system shutdowns.

Recover Data for Linux data recovery software performs a complete scan of the damaged drive

and searches for the deleted, lost volumes, files and folders.

Recover Data for Linux software recovers data thus allowing access to data when the drive

cannot be mounted.

Data recovered by Recover Data for Linux software is displayed in a tree like structure. This

allows the user to easily select the appropriate files and save to a working drive.

DF0861ICT Asia Pacific Institute of Information Technology Page 46 of 69

Operating Systems

4.8 Potential Benefits and Drawbacks

4.8.1 Potential Benefits

The benefits of using Ubuntu over Windows and OS X are that is it is a “Free Sofware”. This

means the OS is free, and there are no copyright laws, so it gives freedom to run the program for

any use, from studying how the program works to modify it according to our needs, redistribute

copies, and to improve the program and release your developments to the public.Ubuntu also

consists of many of the programs used for everyday computing for free. Some examples are:

Office Suite: OpenOffice.org, a full office suite

Desktop Email Client: Evolution, an email program with a similar interface to Microsoft

Outlook.

Web Browser: Firefox, the increasingly popular Web browser.

Databases: open-source databases are PostgreSQL and MySQL and Commercial databases

includes Oracle and IBM's DB2.

Updates and bug fixes: Security updates and bug fixes for applications and the operating system

are managed by Ubuntu.

Ubuntu also releases new versions every six months, and users can update over the Internet

without reinstalling the operating system, programs, or settings, thus improving the OS by

overcoming the problems.

The major benefit of Ubuntu is the ability to change the OS according to the user’s needs.

According to Ubuntu (2008), the most applicable modifications are:

Bug fixes, security fixes, or feature enhancements

Customizations to Ubuntu for a given set of circumstances, called a derivatives. Some

examples are highlighted below

o nUbuntu , a security-testing platform.

DF0861ICT Asia Pacific Institute of Information Technology Page 47 of 69

Operating Systems

o Ubuntu Studio, for multi-media editing and creation.

4.8.2 Potential Drawbacks

4.8.2.1 Installation

Most of the computers come with their own or partners OS. But Ubuntu does not have any

situation like that due to the fact of lack retailer spreading Ubuntu there are less people who have

expertise in installing Ubuntu. But an average user would try to use a well known OS. Also due

to the fact to check if it suitable for the computer people use the CD OS to run where as the

functionality of the computer would be slower due to the fact it is running from the CD. Where

as it is not the error with the OS but the slowness of the CD drive would show as a error of the

PC.

4.8.2.2 Hardware Compatibility

Due to the fact Ubuntu is not well spreads the driver from different manufactures are unable to

provide the specific for Ubuntu. The best suitable driver providers are AMD and Intel. But this

problem can be overcome by running the OS from the CD and then deciding to install

accordingly if all the devices are working appropriately.

4.8.2.3 Software Availability

People are afraid to convert from Windows or Mac OS X to Ubuntu because of the availability

of compatible softwares. But with the exception of commercial games, all the other software has

a equivalent replacement software.

DF0861ICT Asia Pacific Institute of Information Technology Page 48 of 69

Operating Systems

4.9 Process Control Management

4.9.1 Process

Process is a continuously executing program owning a memory location. When a process

executes, resources are allocated to it to complete its task. So each and every process consists

with the processer states.

“In Ubuntu operating systems, each process is given a unique number, referred to as process

identification (PID) when it is created, and this number are used by the system to reference the

process”

(Roberto Espinoza 2009)

4.9.2 Threads

Threads are also known as a group of processed which belong to a memory address created by a

process.

4.9.3 Process states

Process states are the stages that a process goes through until it completes a stage from a

beginning point to an end.

According to the Avinesh Kumar (2007) in his description about Linux process he states the

following seven process states:

TASK_RUNNING: The process is either running on CPU or waiting in a run queue to

get scheduled.

TASK_INTERRUPTIBLE: The process is sleeping, waiting for some events to occur.

TASK_UNINTERRUPTIBLE: Process may be in the middle of completing some

important task.

TASK_STOPPED: Execution is stopped, it’s not running, the process arrives at this

stage.

DF0861ICT Asia Pacific Institute of Information Technology Page 49 of 69

Operating Systems

TASK_TRACED: A process arrives at this state.

EXIT_ZOMBIE: The process has terminated.

EXIT DEAD: The final state.

Avinesh Kumar (2007) also mentions a new process state for processed to put on hold. This new

method is called TASK_KILLABLE. This provides a substitution for the process state

TASK_UNINTERRUPTIBLE.

4.9.4 Process Scheduling

A methodology used by the OS in order to utilize CPU resources for the processes available in a

ready queue.

In Ubuntu Linux, processes are divided into two parts considering their execution in CPU. The

two ways are:

1. Real-time applications - SCHED_RR AND SCHED_FIFO

2. Normal processes - SCHED_Other

The above scheduling methods are assigned according to scheduled priority, static priority value

according each process.

Ubuntu will determine which process to be executed next, using the process list. The process

with the highest priority will be given the first chance. If two processes have the same priority

then it will be determined by first come first serve basis.

The two scheduling methods for real-time applications are:

1. First in First out (SCHED_FIFO) - Highest priority executed first, and is temporarily

stopped if there is another process state to be completed. The processor will be released

with the permission of the existing process

DF0861ICT Asia Pacific Institute of Information Technology Page 50 of 69

Operating Systems

2. Round-Robin (SCHED_RR) - Like FIFO, but processes will leave CPU after the time

quantum is completed. The last process which leaves from the memory will be connected

to the end of running queue.

DF0861ICT Asia Pacific Institute of Information Technology Page 51 of 69

Operating Systems

4.10 Deadlock management

The definition of a dead lock is when 2 or more processors require the same resource at a given

instant and when this occurs the processor would not know which process to provide the

resource. At this point both processors would not get a reply from the processor and both

processors will be on hold.

The following are the requirements for a dead lock to occur:

1. Mutual Exclusion – a resource can be used by only 1 process at a time.

2. Hold-and-wait - a processing with holding its resource until its been provided with a

requested resource.

3. No preemption - it is not possible to remove a resource from a process which is holding it

4. Circular Wait - there is a circular chain of processes where each holds a resource that is

needed by the next in the circle

4.10.1 Deadlock prevention

For a dead lock to occur there are 4 reasons as it has been mentioned above, where as when we

have to stop a dead lock, one of the 4 reasons below should occur.

1. Break mutual exclusion

2. Breaking hold and wait

3. Breaking circular wait

4. A process obtains all resources it needs simultaneously.

DF0861ICT Asia Pacific Institute of Information Technology Page 52 of 69

Operating Systems

4.10.2 Detecting and breaking deadlocks

Before using this algorithm first a deadlock should occur. Then using a Linux special algorithm

which helps to indentify a deadlock when it has occurred, a dead lock is identified. Then the

algorithm kills the appropriate process so the other processor could continue its work.

Few ways of accomplishing this task:

Preempt the blocking resources

Different kinds of resources are treated in different ways.

Remove one or all deadlock processes

DF0861ICT Asia Pacific Institute of Information Technology Page 53 of 69

Operating Systems

4.11 Memory Management including Virtual Memory Management

4.11.1 Memory Management

“Refers to a variety of methods used to store data and programs in memory, keep track of them

and reclaim the memory space when they are no longer needed. It also includes virtual memory,

bank switching and memory protection techniques.”

(Answers.com, 2008)

4.11.2 Virtual memory

“Simulating more memory than actually exists, allowing the computer to run larger programs or

more programs concurrently. It breaks up the program into small segments, called "pages," and

brings as many pages from disk into memory that fit into a reserved area for that program.”

(Answer.com, 2008)

When pages are not enough, it swaps the unused one with the disk and makes room.

“Virtual memory can be implemented in software only, but efficient operation requires

specialized hardware circuits. Most CPUs today have memory management units (MMUs) that

provide full support for virtual memory.”

(Answer.com, 2008)

DF0861ICT Asia Pacific Institute of Information Technology Page 54 of 69

Operating Systems

4.11.3 How memory management works in Ubuntu

As David A Rusling (2008) mentions:

The memory management subsystem is one of the most important parts of the operating system.

Strategies have been developed to overcome this limitation and the most successful of these is

virtual memory. Virtual memory makes the system appear to have more memory than it actually

has by sharing it between competing processes as they need it.

Virtual memory does more than just make your computer's memory go further. The memory

management subsystem provides:

4.11.3.1 Large Address Spaces

The operating system makes the system appear as if it has a larger amount of memory than it

actually has. The virtual memory can be many times larger than the physical memory in the

system.

David A Rusling (2008)

4.11.3.2 Protection

Each process in the system has its own virtual address space. These virtual address spaces are

completely separate from each other and so a process running one application cannot affect

another. Also, the hardware virtual memory mechanisms allow areas of memory to be protected

against writing. This protects code and data from being overwritten by rogue applications.

David A Rusling (2008)

4.11.3.3 Memory Mapping

Memory mapping is used to map image and data files into a processes address space. In memory

mapping, the contents of a file are linked directly into the virtual address space of a process.

David A Rusling (2008)

DF0861ICT Asia Pacific Institute of Information Technology Page 55 of 69

Operating Systems

4.11.3.4 Fair Physical Memory Allocation

The memory management subsystem allows each running process in the system a fair share of

the physical memory of the system.

David A Rusling (2008)

4.11.3.5 Shared Virtual Memory

Although virtual memory allows processes to have separate (virtual) address spaces, there are

times when you need processes to share memory. For example there could be several processes

in the system running the bash command shell. Rather than have several copies of bash, one in

each processes virtual address space, it is better to have only one copy in physical memory and

all of the processes running bash share it. Dynamic libraries are another common example of

executing code shared between several processes.

David A Rusling (2008)

DF0861ICT Asia Pacific Institute of Information Technology Page 56 of 69

Operating Systems

There are 2 types of memory managements used in Ubuntu

1. Demand Paging

According to Shuttleworth Foundation (2008):

“Linux uses demand paging to load executable images into a processes virtual memory. Whenever a command is executed, the file containing it is opened and its contents are mapped into the processes virtual memory. This is done by modifying the data structures describing this processes memory map and is known as memory mapping. However, only the first part of the image is actually brought into physical memory. The rest of the image is left on disk. As the image executes, it generates page faults and Linux uses the processes memory map in order to determine which parts of the image to bring into memory for execution. ”

2. Swapping

According to Shuttleworth Foundation (2008):

“Originally Unix system V was a pure swapping system. To swap a process means to move that entire process out of main memory and to the swap area on hard disk, whereby all pages of that process are moved at the same time. This carried the disadvantage of a performance penalty. When a swapped out process becomes active and moves from the sleep queue to the run queue, the kernel has to load an entire process (perhaps many pages of memory) back into RAM from the swap space. With large processes this is understandably slow. Enter paging.”

This on request of the page is provided to the virtual memory for execution but in the case of

where the page cannot be found then and the memory is full then the memory removes one of the

pages which is not currently being used and load the relevant page for execution.

DF0861ICT Asia Pacific Institute of Information Technology Page 57 of 69

Operating Systems

4.12 Secondary Disk Scheduling Management

4.12.1 Disk structure

The structure of the disk is like a one dimensional array with a logical block with small units for

transfer structured such that they fit into a sector of the disk sequentially.

4.12.2 Disk scheduling

The scheduling of the disk is done by the operating system in order for the hardware to work

efficiently. The following factors should be considered when dealing with disk scheduling.

Access time – is divide into

o Seek time - The time which moves the head to the right cylinder

o Rotational Latency - Extra time waits for the disk to rotate onto a correct sector

The operating system should be responsible for the effective use of the hardware. The

following should be achieved.

o Dick bandwidth - This can be found dividing total time by total bytes transferred

o Minimize seek time

Algorithms – They are available for delegating the service of the disk input and output

requests.

o First Come First Serve (FCFS)

Shortest Seek Time First (SSTF)

SCAN

o Circular SCAN (C-SCAN)

o Circular LOOK (C-LOOK)

DF0861ICT Asia Pacific Institute of Information Technology Page 58 of 69

Operating Systems

4.12.3 Anticipatory Scheduling

A new scheduling algorithm introduced in Ubuntu Linux is anticipatory scheduling. This

technique overcomes deceptive idleness.

Anticipatory Disk scheduling gives a request immediately after the previous request is

completed.

According to Sitaram, L. & Peter, D. (2003), “this type of scheduling asks for multiple

outstanding requests from each process to meet lot of system level performance and quality of

service. Therefore anticipatory scheduling is the best solution.”

According to Sitaram, L. & Peter, D. (2003), the following are 3 ways to overcome deceptive

idleness:

1. Mutiple disk intensive application concurrently giving synchronous disk request

2. Non pre-emptible disk request

3. Work conserving disk scheduler

DF0861ICT Asia Pacific Institute of Information Technology Page 59 of 69

Operating Systems

5. References

Hitachi ID Systems 2008, Definition of Operating System [Online] Available: http://hitachi-id.com/concepts/operating_system.html [Accessed 12 July 2008]

Top500 2007, Home | TOP500 Supercomputing Sites [Online] Available: http://www.top500.org [Accessed 14 July 2008]

The Shuttleworth Foundation 2004, Welcome to learn linux Project [Online] Available: http://learnlinux.tsf.org.za [Accessed 15 August 2008]

Ubuntu 2008, Support Overview | Ubuntu [Online] Available: http://www.ubuntu.com/support [6 August 2008]

Ubuntu 2008, Ubuntu System Requirements - Community Ubuntu Documentation [Online] Available: https://help.ubuntu.com/community/Installation/SystemRequirements [Accessed 30 July 2008]

Ubuntu 2008, Security - Community Ubuntu Documentation [Online] Available: https://help.ubuntu.com/community/Security#General%20Information [Accessed 15 August 2008]

Freesoftwaremagazine 2008, Managing users in Ubuntu [Online] Available:http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd[Accessed 20 August 2008]

CompuMentor 2008, An Introduction to Ubuntu [Online] Available: http://www.techsoup.org/learningcenter/software/page7858.cfm#rate [Accessed 16 July 2008]

Anon. 2003, Application [Online] Available: http://www.arl.wustl.edu/~fredk/Courses/cs422/sp01/Lectures/lecture17.pdf. [Accessed 28 August 2009]

Sitaram, L & Peter, D. 2003, Anticipatory Scheduling [Online] Available: http://www.cs.rice.edu/~ssiyer/r/antsched/antsched.pdf [Accessed 5 August 2009]

Answers Corporation 2008, virtual memory: Definition from Answers.com [Online] Available: http://www.answers.com/virtual%20memory [Accessed 20 August 2008]

The Shuttleworth Foundation 2004, Welcome to learn linux Project [Online] Available: http://learnlinux.tsf.org.za [Accessed 15 August 2008]

Roberto Espinoza 2009, Process Scheduling in Linux [Online] Available: http://www.cpccci.com/blog/2009/01/28/process-scheduling-in-linux/. [Accessed 03 August 2009.

DF0861ICT Asia Pacific Institute of Information Technology Page 60 of 69

Operating Systems

Kumar, A.(2007, Multiprocessing with the Completely Fair Schedule [Online], Available From: http://www.ibm.com/developerworks/linux/library/l-cfs/index.html#N101DD, Last accessed 30 may 2009

DF0861ICT Asia Pacific Institute of Information Technology Page 61 of 69

Operating Systems

6. Appendices

6.1 Mandatory Minutes of Weekly Meetings

6.1.1 First Meeting

1st Mandatory Meeting

Minutes

Date : Monday, 13th July, 2009

Time : 1.00pm - 2.30pm Duration : 1h 30mins

Venue : L2 (APIIT, Level 2 Syndicate Room 2)

Group Members :1. Mohamed Manas (CB002848)2. Arwinth De Silva(CB002775)3.

Minutes taken By : Arwinth De Silva

Attendees : Everyone were present

Objectives:1. Initialization of the Project2. Planning of the Tasks3. Divided the work among the members

Initialization of the Project

Read the Student Assessment Information Sheet and chose the Operating System on which the assignment and decided that investigation and research, analysis to be started from the 13th July, 2009.Planning of the Tasks

Brainstormed all the requirements of the project. This includes the Research and Investigation, Installation and Analysis.

Divided the work among the members

Research and Investigation, analysis of Operating System Ubuntu to be carried out by all three members equally according to the WBS.

Conclusion and Next Meeting : Thursday, 27th July, 2009

Merging of the Information collected by all three members

DF0861ICT Asia Pacific Institute of Information Technology Page 62 of 69

Operating Systems

6.1.2 Second Meeting

2nd Mandatory Meeting

Minutes

Date : Thursday, 27th July, 2009

Time : 1.00pm - 2.30pm Duration : 1h 30mins

Venue : L2 (APIIT, Level 2 Syndicate Room 2)

Group Members :1. Mohamed Manas (CB002848)

2. Arwinth De Silva(CB002775)

Minutes taken By : Arwinth De Silva

Attendees : Everyone were present

Objectives:

1. Collecting of the individual work

2. Merging of the work

Collecting of the individual work

All the individual research and Investigation and analysis on Ubuntu were collected by Manas.

Merging of the work

The collected information on Ubuntu were merged and out into a single document

Conclusion and Next Meeting : Friday 4th August, 2009

Installation of the Operating System

DF0861ICT Asia Pacific Institute of Information Technology Page 63 of 69

Operating Systems

6.1.3 Third Meeting

3rd Mandatory Meeting

Minutes

Date : Friday 4th August, 2009

Time : 1.00pm - 5.30pm Duration : 4h 30mins

Venue : Manas’s Home, Wellawatte

Group Members :1. Mohamed Manas (CB002848)

2. Arwinth De Silva(CB002775)

Minutes taken By : Arwinth De Silva

Attendees : Everyone were present

Objectives:

1. Installation of Ubuntu

2. Taking down the Steps

3. Taking Screenshots

Installation of XP

The Operating system was installed on Manas’s PC using VMware 6.0

Taking down the Steps

All the steps necessary to install and the procedures taken were noted down by Manas

Taking Screenshots

Arwinth took the screen shots of all the necessary steps.

Conclusion and Next Meeting : Saturday 12th August, 2009

Putting the procedures and screenshots into a document and merge with the main document.

DF0861ICT Asia Pacific Institute of Information Technology Page 64 of 69

Operating Systems

DF0861ICT Asia Pacific Institute of Information Technology Page 65 of 69

Operating Systems

6.1.4 Fourth Meeting

4th Mandatory Meeting

Minutes

Date : Saturday 12th August, 2009

Time : 1.00pm - 3.30pm Duration : 2h 30mins

Venue : L2 (APIIT, Level 2 Syndicate Room 2)

Group Members :1. Mohamed Manas (CB002848)

2. Arwinth De Silva(CB002775)

Minutes taken By : Arwinth De Silva

Attendees : Everyone were present

Objectives:

1. Merging the procedures and screenshots

2. Merging the installation document

3. Information on Analysis stage

Merging the procedures and screenshots

All the procedures taken down by Manas and screenshots were merged an put into a single document

called installation.

Merging the installation document

The installation document was then merged with the main document.

Information on Analysis stage

Started finding more information on the Analysis Stage by each member

Conclusion and Next Meeting : Thursday 20th August, 2009

Merging of the information on the Analysis Stage

DF0861ICT Asia Pacific Institute of Information Technology Page 66 of 69

Operating Systems

6.1.5 Fifth Meeting

5th Mandatory Meeting

Minutes

Date : Thursday 20th August, 2009

Time : 1.00pm - 2.30pm Duration : 2h 30mins

Venue : L2 (APIIT, Level 2 Syndicate Room 2)

Group Members :1. Mohamed Manas (CB002848)

2. Arwinth De Silva(CB002775)

Minutes taken By : Arwinth De Silva

Attendees : Everyone were present

Objectives:

1. Collection of the Information

2. Merging of the Information

3. Correcting the information

Collection of the Information

All the information provided by the members were collected by Manas

Merging of the Information

All the collected data was then merged

Correcting the information

Then the merged data was corrected and all errors were removed

Conclusion and Next Meeting : Friday 11th September, 2009

Finalization of the whole project.

DF0861ICT Asia Pacific Institute of Information Technology Page 67 of 69

Operating Systems

6.2 Work Load Matrix

Tasks Manas Arwinth

1.0 Initiation    

1.1 Project Review  √ √

1.2 Selection of Group Members √ √

1.3 Choosing of Operating System √   √

2.0 Project Planning and Assessment √  

2.1 Work Breakdown Structure  √  

2.2 Gantt Chart    √

2.3 Workload Matrix √  

3.0 Research and Investigation   √

3.1 Introduction to the Operating System √  

3.2 System Software requirements for chosen

Operating System    √

3.3 System Hardware requirements for chosen

Operating System  √  

3.4 Investigate the requirements of partitioning

the hard disk   √  

4.0 Installation of the Operating System  √ √

4.1 Preinstallation review √ √

4.2 Installation √

DF0861ICT Asia Pacific Institute of Information Technology Page 68 of 69

Operating Systems

4.3 Acquiring Screenshots     √

5.0 Analysis  

5.1 User Interface  √

5.2 System Administration and Support  √

5.3 Security Stages  √

5.4 Standard Support  √

5.5 Recovery Strategies   √

6.0 Topic in relation to the Chosen Operating System  

6.1 Topic Review  √  √

6.2 Memory Management including Virtual

Memory Management  √ √

7.0 Completion  

7.1 Preparation of Slides  √   √

7.2 Formatting of Document  √   √

7.3 Printing of Document √ 

7.4 Binding √

DF0861ICT Asia Pacific Institute of Information Technology Page 69 of 69