Upload
buiduong
View
213
Download
0
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
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
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