operating systems - fedora 12 - hirosh tharaka

83
Operating Systems Project on Fedora 12 By Hirosh Tharaka (CB004149) Promod Madhushan (CB004138) Shohan Dassanayake (CB004060) INTAKE CODE : DF10A1ICT MODEL TITLE & CODE : Operating Systems (AICT004-3-2)

Upload: hirosh-trazor

Post on 26-Oct-2014

77 views

Category:

Documents


0 download

DESCRIPTION

Team : Hirosh Tharaka, Shohan Dassanayake, Promod Madushan,

TRANSCRIPT

Page 1: Operating Systems - Fedora 12 - Hirosh Tharaka

Operating Systems Project on

Fedora 12

By

Hirosh Tharaka (CB004149)

Promod Madhushan (CB004138)

Shohan Dassanayake (CB004060)

INTAKE CODE : DF10A1ICT

MODEL TITLE & CODE : Operating Systems (AICT004-3-2)

Page 2: Operating Systems - Fedora 12 - Hirosh Tharaka

Making Criteria

No

Group Number #

Team Member Names

Res

earc

h &

Inves

tigat

ion (

30)

Inst

alla

tion(2

0)

Docu

men

tati

on

(10)

Ref

eren

ces

(10

)

Gro

up

Mark

(70)

Anal

ysi

s (1

5)

Pre

senta

tion (

15)

Ind

. M

ark

s (3

0)

Tota

l (1

00)

01 D.M.D HiroshTharaka

02 Shohan Clement

Dassanayake

03 Promod Madhushan

Page 3: Operating Systems - Fedora 12 - Hirosh Tharaka

Workload Matrix

Hirosh Shohan Promod

1.0 Project Plan

- Choosing an OS

- Gantt Chart

- Work Load Matrix

- Work Breakdown Structure

2.0 Research and Investigation

- Introduction to Fedora 12

- History

- System Requirement

Software

Hardware

3.0 Installation

- Preparing for installation

- Installing Fedora 12

- Capturing Screen Previews and finding

information about the process

- Preparing Documentation

4.0 Analysis

- User Interface

Page 4: Operating Systems - Fedora 12 - Hirosh Tharaka

- Process Control Management

- Deadlock Management

- Memory Management

- Virtual Memory Management

- Secondary Disk Scheduling Management

- System Administration and Support

- Recovery Strategies

- Security Strategies

- Standard Support

5.0 Finalizing the Project

- Prepare Documentations

- Verifying Documentations

- Finalizing the Documentation

6.0 Presentation

- Preparing Slides for Presentation

- Rehearsing for the Presentation

Page 5: Operating Systems - Fedora 12 - Hirosh Tharaka

Gantt- Chart

Page 6: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

i | P a g e

Acknowledgement

The support given by Mr Kolitha Gunaratne is well appreciated by all three of us as

team and also we would like to show our gratitude to all those who helped us in

different ways to successfully complete this project.

We would also like to thank the APIIT for providing us recourses such as library

facilities and computer laboratory.

Page 7: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

ii | P a g e

Table of Contents

Acknowledgement......................................................................................................... i

List of Tables................................................................................................................ v

List of Figures .............................................................................................................. v

1. Research& Investigation ....................................................................................... 1

1.1 Introduction ................................................................................................... 1

1.2 History of Linux ............................................................................................ 1

1.3 System Requirements .................................................................................... 2

1.3.1 Software Requirements .......................................................................... 2

1.3.2 Hardware Requirements ......................................................................... 4

2. Installation ............................................................................................................ 6

3. Analysis .............................................................................................................. 19

3.1 User Interface .............................................................................................. 19

3.1.1 CLI ....................................................................................................... 19

3.1.2 MDI ...................................................................................................... 30

3.1.3 GUI ....................................................................................................... 31

3.2 Process Control Management ...................................................................... 33

3.2.1 Process Control .................................................................................... 33

3.2.2 Process State ........................................................................................ 33

3.2.3 Thread .................................................................................................. 35

3.2.4 Multithreading ...................................................................................... 35

3.2.5 Process scheduling ............................................................................... 36

3.2.6 Main aims of process scheduling ......................................................... 36

3.2.7 Process scheduling algorithms ............................................................. 36

3.3 Deadlock Management ................................................................................ 37

3.3.1 Deadlock Definition ............................................................................. 37

3.3.2 Conditions for deadlocks...................................................................... 38

Page 8: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

iii | P a g e

3.3.3 Strategies for dealing with deadlocks .................................................. 38

3.3.4 Deadlock Prevention ............................................................................ 38

3.3.5 Deadlock Avoidance ............................................................................ 39

3.4 Memory Management ................................................................................. 39

3.4.1 Reverse Mapping In Fedora 12 ............................................................ 39

3.4.2 Using Huge Pages In Linux Kernel 2.6 ............................................... 40

3.4.3 Storing page-table entries in high memory .......................................... 40

3.5 Virtual Memory Management ..................................................................... 42

3.5.1 Abstract model of Virtual to Physical address mapping ...................... 42

3.5.2 Page Frame Reclamation...................................................................... 42

3.5.3 Swap memory management ................................................................. 42

3.5.4 Shared Memory Virtual File System.................................................... 42

3.5.5 Demand Paging .................................................................................... 43

3.6 Secondary Disk Scheduling Management ................................................... 43

3.7 System Administration and Support ............................................................ 43

3.7.1 Installation ............................................................................................ 43

3.7.2 HOWTOs ............................................................................................. 44

3.7.3 System Administration Tools ............................................................... 45

3.8 Recovery Strategies ..................................................................................... 45

3.9 Security Strategies ....................................................................................... 46

3.9.1 Security tools in Fedora 12 .................................................................. 46

3.9.2 Workstation Security ............................................................................ 47

3.10 Standard Support ......................................................................................... 47

3.10.1 Fedora 12 Forum .................................................................................. 47

3.10.2 Burning ISO image to a disc ................................................................ 47

3.10.3 Installation Guide ................................................................................. 47

3.10.4 Quick Start Guide ................................................................................. 48

Page 9: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

iv | P a g e

3.10.5 User Guide ........................................................................................... 48

3.10.6 Wireless Guide ..................................................................................... 48

3.10.7 Other Fedora 12 Documentations ........................................................ 48

4. Appendix ............................................................................................................. 48

Appendix A: Virtual Memory Management (3.5) .................................................. 48

Page Table Management ..................................................................................... 48

Process Address Space........................................................................................ 49

Boot Memory Allocator ...................................................................................... 49

Physical Page Allocation .................................................................................... 49

Non Contiguous Memory Allocation ................................................................. 50

Slab Allocater ..................................................................................................... 50

Appendix B: System Administration Tools (3.7.3) ................................................ 51

Linuxconf ............................................................................................................ 51

COAS .................................................................................................................. 51

Webmin ............................................................................................................... 51

YaST ................................................................................................................... 51

Appendix C: Secondary Disk Scheduling Management (3.6) ............................... 52

First Come First Serve ........................................................................................ 52

Elevator ............................................................................................................... 52

Cyclic Elevator ................................................................................................... 52

Deadline Scheduling ........................................................................................... 52

Anticipatory Scheduling ..................................................................................... 52

Appendix D: Process Control Management (3.2) .................................................. 52

Improved treading model for 2.6 Linux kernel ................................................... 52

Pthread ................................................................................................................ 53

Appendix E : Using huge Pages in Linux Kernel 2.6 (3.4.2) ................................. 53

Appendix F : Kernels ............................................................................................. 54

Page 10: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

v | P a g e

Appendix G : X Windows ...................................................................................... 54

5. Conclusion .......................................................................................................... 55

6. References/Bibliography .................................................................................... 56

7. Work Breakdown Structure ................................................................................ 64

8. Weekly Meeting Reports .................................................................................... 65

Meeting Number: 1 ................................................................................................ 65

Meeting Number: 2 ................................................................................................ 66

Meeting Number: 3 ................................................................................................ 67

Meeting Number: 4 ................................................................................................ 68

Meeting Number: 5 ................................................................................................ 69

Meeting Number: 6 ................................................................................................ 70

Meeting Number: 7 ................................................................................................ 71

Meeting Number: 8 ................................................................................................ 72

List of Tables

Table 1: Command Lines ........................................................................................... 30

Table 2 : Tread States in Linux .................................................................................. 35

Table 3 : how the process scheduling is done in fedora 12Error! Bookmark not

defined.

Table 4 : Solutions for deadlock problem .................................................................. 38

Table 5 : Components in HOWTOs ........................................................................... 44

Table 6 : C.I.A Defenition Table ............................................................................... 46

List of Figures

Figure 1: Creator of Linux ........................................................................................... 1

Figure 2: Accessing the terminal.................................................................................. 3

Page 11: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

vi | P a g e

Figure 3: Terminal Preview ......................................................................................... 3

Figure 4: Shell .............................................................................................................. 4

Figure 5: Fedora 12 Live CD Boot Screen .................................................................. 6

Figure 6: Media Test .................................................................................................... 7

Figure 7: Media Detection Notification ....................................................................... 8

Figure 8: Welcome Screen of Installation Process ...................................................... 8

Figure 9: Language Configuration ............................................................................... 9

Figure 10: Key Board Configuration ........................................................................... 9

Figure 11: Network Configuration ............................................................................. 10

Figure 12: Time Zone Configuration ......................................................................... 10

Figure 13: Administrative Account Configuration .................................................... 11

Figure 14: Weak Password......................................................................................... 11

Figure 15: Choosing the Hard Disk Partition ............................................................. 12

Figure 16: Additional Set of Software Updates ......................................................... 13

Figure 17: Starting Installation Process ..................................................................... 13

Figure 18: Installation Completing ............................................................................ 14

Figure 19: Loading Fedora 12 .................................................................................... 14

Figure 20: Fedora 12 Welcome Screen ...................................................................... 15

Figure 21: License Information .................................................................................. 15

Figure 22: User Account Configuration ..................................................................... 16

Figure 23: Date and Time Configuration ................................................................... 17

Figure 24: Hardware Profile....................................................................................... 17

Figure 25: Login Screen ............................................................................................. 18

Figure 26: Fedora 12 Desktop .................................................................................... 19

Figure 27: Application Bar, Place Bar and System Bar. ............................................ 31

Figure 28 : GNOME logo .......................................................................................... 32

Figure 29 - Fedora 12 GNOME desktop .................................................................... 32

Figure 30 : Abstract model of Virtual to Physical address mapping ......................... 42

Page 12: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

1 | P a g e

1. Research& Investigation

1.1 Introduction

Fedora is an operating system which is based on Linux Environment and it is built on

year 2003 by a community distribution project called The Fedora Project. It is

developed by a gigantic IT skilled and non-skilled people around the world. It is a

free of cost operating system which everyone one can download from internet and

use in addition for the current operating system or instead of the non-free operating

systems such as Microsoft Windows TM

or Mac OSTM

. Fedora is sponsored by Red

Hat. (fedoraproject.org, 2010)

1.2 History of Linux

Figure 1: Creator of Linux

Linux is created by a young student who studying at university of Helsinki in

Finland. He is Linus Torvalds. Linus had an interest in minix. He created version

First version of Linux and put it on to internet. It‟s a largest software development in

all time. Linux offered many utilities to People Who like to develop software‟s.

When Red hat released its commercial version of Linux packaged with tech support

and documentation, People were more willing to try Linux on their personal pc‟s and

business pc‟s using it for run network as well. Linux has become the latest hit in the

software market.

Linux is great operation system in the open source software movement. Linux is

legally covered by the GNU General public license (GPL). GPL Allows to people get

Page 13: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

2 | P a g e

free software‟s from internet and build own version from it. (livinginternet.com,

2010)

1.3 System Requirements

1.3.1 Software Requirements

1.3.1.1 Kernels

Fedora 12 is finalized with the Linux kernel 2.6.31 (Nestor, 2009). This version can

also update in to kernel 2.6.32.16. (spinics.net, 2010). Even though these two

functions are slightly difference they both have some basic functions in common.

They are:

(1) Process Allocation

(2) Memory Allocation

(3) Input and Output Device

This new kernel 2.6.32.16 fixes the over scheduling bug which is causing for the

performance of the computer. It also supports for the sky2 network adapters with

Optima chips. (spinics.net, 2010)

More information about Kernels can be found in Appendix F

1.3.1.2 Shells

Following are the shells that has used by the kernel 2.6.31 in fedora 12.

(1) Bourne Again Shell (Bash)

(2) KornShell (KSH)

(3) C Shell (CSH)

If the GNOME is not running, or if the GUI is disabled, user can use the shell when

machine starts. If not, user can follow the following steps to run the shell.

Page 14: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

3 | P a g e

Application > System Tools > Terminal

Figure 2: Accessing the terminal

Figure 3: Terminal Preview

Page 15: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

4 | P a g e

Figure 4: Shell

Type “echo $SHELL” on the terminal and press ENTER

1.3.1.3 X Windows

Even though the heart of fedora is kernel, for most of the users who use the GUI, the

face of the operating system is the graphical environment provided by the X

windows System, and it is also known as X. The graphical environment for the

Fedora 12 is supplied by the “X.Org Foundation”. It is the open source organization

created to manage development and strategy for the X Windows System. Fedora 12

includes the X11R7.1 release of the X Windows Systems which include several

video drivers, EXA, and platform support enhancements over the previous release.

(Silas et al., 2009)

More information about X Windows can be found in Appendix G

1.3.2 Hardware Requirements

Fedora 12 contains a graphical and text based installation in both X86 and X86 64bit

Architectures.

Page 16: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

5 | P a g e

1.3.2.1 X86 Architecture

1.3.2.1.1 Graphical Installation

These are the minimum hardware requirements for Fedora 12 graphical installation:

At least 10GB storage space from hard disk

A memory greater than 192MB (RAM)

Recommended memory is 256MB (RAM)

Recommended 400MHz or higher processor (Intel® \ AMD)

These specifications are the minimum requirements to use the fedora 12 in the

graphical mode. Most of the computers manufactured during past 10 years full fills

these specifications which need to run to run Fedora 12. (Team, 2009)

1.3.2.1.2 Text Based Installation

By any case if it detects as you memory is 192MB or lower than 192MB, then it will

automatically switch in to text based installation.

These are the minimum hardware requirements for Fedora 12 text base installation:

At least 10GB storage space from hard disk

Recommended 200MHz or higher processor

A minimum memory of 128MB (RAM) (Team, 2009)

1.3.2.2 X86_64 Architecture

1.3.2.2.1 Graphical Installation

These are the minimum hardware requirements for Fedora 12 graphical installation:

At least 10GB storage space from hard disk

A memory greater than 384MB (RAM)

Recommended memory is 512MB (RAM) (Team, 2009)

1.3.2.2.2 Text Based Installation

These are the minimum hardware requirements for Fedora 12 text based installation:

Page 17: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

6 | P a g e

At least 10GB storage space from hard disk

A memory greater than 256MB (RAM) (Team, 2009)

2. Installation

These are the steps we followed when we installed Fedora 12 Operating system.

Step 01: We are to choose the Function which we need to continue further in the

Fedora 12 Welcome Screen. (Fedora 12 Live CD Boot Screen)

Figure 5: Fedora 12 Live CD Boot Screen

Page 18: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

7 | P a g e

Step 02: Asks to check the media before it starts the installation process or skip.

Figure 6: Media Test

Users have to choose whether to check the media or not. If the user hasn‟t check the

media earlier user can check it from here, or otherwise user can skip that step. If user

prompts to check the media, it will check and will eject the DVD, if only the testing

is successful. And it will ask for more disks. Because of there aren‟t any disks since

it‟s a DVD then user must to load the DVD again and continue the process.

Page 19: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

8 | P a g e

Step 03: Displays the detection of media message.

Figure 7: Media Detection Notification

Step 04: Displays the welcome screen for Fedora 12 installation process.

Figure 8: Welcome Screen of Installation Process

Page 20: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

9 | P a g e

Step 05: Asks for language which the user needs to precede the installation process.

Figure 9: Language Configuration

Step 06: Asks for the standard keyboard format. (Keyboard Configuration)

Figure 10: Key Board Configuration

Page 21: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

10 | P a g e

Step 07: Requires entering the host name. (Network Configuration)

Figure 11: Network Configuration

Step 08: Asks for the nearest city in your time zone. (Time Zone Configuration)

Figure 12: Time Zone Configuration

Page 22: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

11 | P a g e

Step 09: Asks for the password for the Root (Administrative) User.

Figure 13: Administrative Account Configuration

User has to create the password for the administrative account, or in other words the

root account. The password should contain with at least 6 characters.

Figure 14: Weak Password

Page 23: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

12 | P a g e

If the password which user entered is weak, it will prompt an Alert box with a

message to inform the user that he have entered a weak password.

Step 10: Asks to select the hard disk partition.

Figure 15: Choosing the Hard Disk Partition

Page 24: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

13 | P a g e

Step 11: Asks to select some additional tasks to install to the system along with the

fedora 12.

Figure 16: Additional Set of Software Updates

Step 12: Starts the Installation process.

Figure 17: Starting Installation Process

Page 25: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

14 | P a g e

Step 13: Displays the installation completion screen.

Figure 18: Installation Completing

Step 14: Loads the fedora 12.

Figure 19: Loading Fedora 12

Page 26: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

15 | P a g e

Step 15: Welcome screen to fedora 12.

Figure 20: Fedora 12 Welcome Screen

Step 16: Displays license information.

Figure 21: License Information

Page 27: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

16 | P a g e

Step 17: Asks to create a user account with a password.

Figure 22: User Account Configuration

Page 28: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

17 | P a g e

Step 18: Asks to set the date and time.

Figure 23: Date and Time Configuration

Step 19: Displays the Hardware profile

Figure 24: Hardware Profile

Page 29: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

18 | P a g e

Step 20: Displays the login screen to fedora 12.

Figure 25: Login Screen

Page 30: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

19 | P a g e

Step 21: Loads the desktop.

Figure 26: Fedora 12 Desktop

3. Analysis

3.1 User Interface

User interface have implemented to hide the complex part of the hardware to the user

3.1.1 CLI

Command line interface is built to interact with the operating system using a consoler

(or called as Terminal in Fedora 12). Following are few of commands that are used

in Fedora 12. <Command Lines >

Command Description

• apropos whatis Show commands pertinent to string. See

Page 31: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

20 | P a g e

also threadsafe

• man -t ascii | ps2pdf - > ascii.pdf make a pdf of a manual page

which command Show full path name of command

time command See how long a command takes

• time cat Start stopwatch. Ctrl-d to stop. See also sw

dir navigation

• cd - Go to previous directory

• Cd Go to $HOME directory

(cd dir && command) Go to dir, execute command and return to

current dir

• pushd . Put current dir on stack so you

can popd back to it

file searching

• alias l='ls -l --color=auto' quick dir listing

• ls –lrt List files by date. See

also newest and find_mm_yyyy

• ls /usr/bin | pr -T9 -W$COLUMNS Print in 9 columns to width of terminal

find -name '*.[ch]' | xargs grep -E 'expr' Search 'expr' in this dir and below. See

also findrepo

find -type f -print0 | xargs -r0 grep -F

'example'

Search all regular files for 'example' in this

dir and below

find -maxdepth 1 -type f | xargs grep -F

'example'

Search all regular files for 'example' in this

dir

find -maxdepth 1 -type d |

while read dir; do echo $dir; echo

cmd2; done

Process each item with multiple commands

(in while loop)

• find -type f ! -perm -444 Find files not readable by all (useful for

web site)

• find -type d ! -perm -111 Find dirs not accessible by all (useful for

web site)

Page 32: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

21 | P a g e

• locate -r 'file[^/]*\.txt' Search cached index for names. This re is

like glob *file*.txt

• look reference Quickly search (sorted) dictionary for

prefix

• grep --color reference

/usr/share/dict/words

Highlight occurances of regular expression

in dictionary

archives and compression

gpg -c file Encrypt file

gpg file.gpg Decrypt file

tar -c dir/ | bzip2 > dir.tar.bz2 Make compressed archive of dir/

bzip2 -dc dir.tar.bz2 | tar –x Extract archive (use gzip instead of bzip2

for tar.gz files)

tar -c dir/ | gzip | gpg -c | ssh

user@remote 'dd of=dir.tar.gz.gpg'

Make encrypted archive of dir/ on remote

machine

find dir/ -name '*.txt' | tar -c --files-

from=- | bzip2 > dir_txt.tar.bz2 Make archive of subset of dir/ and below

find dir/ -name '*.txt' | xargs cp -a --

target-directory=dir_txt/ --parents Make copy of subset of dir/ and below

( tar -c /dir/to/copy ) | ( cd /where/to/

&& tar -x -p )

Copy (with permissions) copy/ dir to

/where/to/ dir

( cd /dir/to/copy && tar -c . ) | ( cd

/where/to/ && tar -x -p )

Copy (with permissions) contents of copy/

dir to /where/to/

( tar -c /dir/to/copy ) | ssh -C

user@remote 'cd /where/to/ && tar -x -

p'

Copy (with permissions) copy/ dir to

remote:/where/to/ dir

dd bs=1M if=/dev/sda | gzip | ssh

user@remote 'dd of=sda.gz' Backup harddisk to remote machine

rsync (Network efficient file copier: Use the --dry-run option for testing)

rsync -P

rsync://rsync.server.com/path/to/file

Only get diffs. Do multiple times for

troublesome downloads

Page 33: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

22 | P a g e

file

rsync --bwlimit=1000 fromfile tofile Locally copy with rate limit. It's like nice

for I/O

rsync -az -e ssh --delete ~/public_html/

remote.com:'~/public_html'

Mirror web site (using compression and

encryption)

rsync -auz -e ssh remote:/dir/ . &&

rsync -auz -e ssh . remote:/dir/

Synchronize current directory with remote

one

ssh (Secure SHell)

ssh $USER@$HOST command Run command on $HOST as $USER

(default command=shell)

• ssh -f -Y $USER@$HOSTNAME

xeyes

Run GUI command on $HOSTNAME as

$USER

scp -p -r $USER@$HOST: file dir/ Copy with permissions to $USER's home

directory on $HOST

ssh -g -L 8080:localhost:80

root@$HOST

Forward connections to

$HOSTNAME:8080 out to $HOST:80

ssh -R 1434:imap:143 root@$HOST Forward connections from $HOST:1434 in

to imap:143

ssh-copy-id $USER@$HOST Install $USER's public key on $HOST for

password-less log in

wget (multi purpose download tool)

(cd dir/ && wget -nd -pHEKk

http://www.pixelbeat.org/cmdline.html

)

Store local browsable version of a page to

the current dir

wget -c

http://www.example.com/large.file

Continue downloading a partially

downloaded file

wget -r -nd -np -l1 -A '*.jpg'

http://www.example.com/dir/

Download a set of files to the current

directory

wget ftp://remote/file[1-9].iso/ FTP supports globbing directly

• wget -q -O- Process output directly

Page 34: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

23 | P a g e

http://www.pixelbeat.org/timeline.html

| grep 'a href' | head

echo 'wget url' | at 01:00 Download url at 1AM to current dir

wget --limit-rate=20k url Do a low priority download (limit to

20KB/s in this case)

wget -nv --spider --force-html -i

bookmarks.html Check links in a file

wget --mirror

http://www.example.com/

Efficiently update a local copy of a site

(handy from cron)

networking (Note ifconfig, route, mii-tool, nslookup commands are obsolete)

ethtool eth0 Show status of ethernet interface eth0

ethtool --change eth0 autoneg off speed

100 duplex full Manually set ethernet interface speed

iwconfig eth1 Show status of wireless interface eth1

iwconfig eth1 rate 1Mb/s fixed Manually set wireless interface speed

• iwlist scan List wireless networks in range

• ip link show List network interfaces

ip link set dev eth0 name wan Rename interface eth0 to wan

ip link set dev eth0 up Bring interface eth0 up (or down)

• ip addr show List addresses for interfaces

ip addr add 1.2.3.4/24 brd + dev eth0 Add (or del) ip and mask (255.255.255.0)

• ip route show List routing table

ip route add default via 1.2.3.254 Set default gateway to 1.2.3.254

• host pixelbeat.org Lookup DNS ip address for name or vice

versa

• hostname –i Lookup local ip address (equivalent to host

`hostname`)

• whois pixelbeat.org Lookup whois info for hostname or ip

address

• netstat –tupl List internet services on a system

Page 35: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

24 | P a g e

• netstat –tup List active connections to/from system

windows networking (Note samba is the package that provides all this windows

specific networking support)

• Smbtree Find windows machines. See also findsmb

nmblookup -A 1.2.3.4 Find the windows (netbios) name

associated with ip address

smbclient -L windows_box List shares on windows machine or samba

server

mount -t smbfs -o fmask=666,guest

//windows_box/share /mnt/share Mount a windows share

echo 'message' | smbclient -M

windows_box

Send popup to windows machine (off by

default in XP sp2)

text manipulation (Note sed uses stdin and stdout. Newer versions support inplace

editing with the -i option)

sed 's/string1/string2/g' Replace string1 with string2

sed 's/\(.*\)1/\12/g' Modify anystring1 to anystring2

sed '/ *#/d; /^ *$/d' Remove comments and blank lines

sed ':a; /\\$/N; s/\\\n//; ta' Concatenate lines with trailing \

sed 's/[ \t]*$//' Remove trailing spaces from lines

sed 's/\([`"$\]\)/\\\1/g' Escape shell metacharacters active within

double quotes

• seq 10 | sed "s/^/ /; s/

*\(.\{7,\}\)/\1/" Right align numbers

sed -n '1000{p;q}' Print 1000th line

sed -n '10,20p;20q' Print lines 10 to 20

sed -n

's/.*<title>\(.*\)<\/title>.*/\1/ip;T;q' Extract title from HTML web page

sed -i 42d ~/.ssh/known_hosts Delete a particular line

sort -t. -k1,1n -k2,2n -k3,3n -k4,4n Sort IPV4 ip addresses

• echo 'Test' | tr '[:lower:]' '[:upper:]' Case conversion

Page 36: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

25 | P a g e

• tr -dc '[:print:]' < /dev/urandom Filter non printable characters

• tr -s '[:blank:]' '\t' </proc/diskstats | cut

-f4 cut fields separated by blanks

• history | wc –l Count lines

set operations (Note you can export LANG=C for speed. Also these assume no

duplicate lines within a file)

sort file1 file2 | uniq Union of unsorted files

sort file1 file2 | uniq –d Intersection of unsorted files

sort file1 file1 file2 | uniq –u Difference of unsorted files

sort file1 file2 | uniq –u Symmetric Difference of unsorted files

join -t'\0' -a1 -a2 file1 file2 Union of sorted files

join -t'\0' file1 file2 Intersection of sorted files

join -t'\0' -v2 file1 file2 Difference of sorted files

join -t'\0' -v1 -v2 file1 file2 Symmetric Difference of sorted files

Math

• echo '(1 + sqrt(5))/2' | bc –l Quick math (Calculate φ). See also bc

• echo 'pad=20; min=64;

(100*10^6)/((pad+min)*8)' | bc

More complex (int) e.g. This shows max

FastE packet rate

• echo 'pad=20; min=64; print

(100E6)/((pad+min)*8)' | python Python handles scientific notation

echo 'pad=20; plot [64:1518]

(100*10**6)/((pad+x)*8)' | gnuplot –

persist

Plot FastE packet rate vs packet size

• echo 'obase=16; ibase=10; 64206' | bc Base conversion (decimal to hexadecimal)

• echo $((0x2dec)) Base conversion (hex to dec) ((shell

arithmetic expansion))

• units -t '100m/9.58s' 'miles/hour' Unit conversion (metric to imperial)

• units -t '500GB' 'GiB' Unit conversion (SI to IEC prefixes)

• units -t '1 googol' Definition lookup

• seq 100 | (tr '\n' +; echo 0) | bc Add a column of numbers. See

Page 37: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

26 | P a g e

also add and funcpy

Calendar

• cal -3 Display a calendar

• cal 9 1752 Display a calendar for a particular month

year

• date -d fri What date is it this friday. See also day

• [ $(date -d "tomorrow" +%d) = "01" ] ||

exit

exit a script unless it's the last day of the

month

• date --date='25 Dec' +%A What day does xmas fall on, this year

• date --date='@2147483647' Convert seconds since the epoch (1970-01-

01 UTC) to date

• TZ='America/Los_Angeles' date What time is it on west coast of US (use

tzselect to find TZ)

date --

date='TZ="America/Los_Angeles"

09:00 next Fri'

What's the local time for 9AM next Friday

on west coast US

Locales

• printf "%'d\n" 1234 Print number with thousands grouping

appropriate to locale

• BLOCK_SIZE=\'1 ls –l Use locale thousands grouping in ls. See

also l

• echo "I live in `locale territory`" Extract info from locale database

• LANG=en_IE.utf8 locale int_prefix Lookup locale info for specific country.

See also ccodes

• locale | cut -d= -f1 | xargs locale -kc |

less List fields available in locale database

recode (Obsoletes iconv, dos2unix, unix2dos)

• recode -l | less Show available conversions (aliases on

each line)

recode windows-1252.. Windows "ansi" to local charset (auto does

Page 38: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

27 | P a g e

file_to_change.txt CRLF conversion)

recode utf-8/CRLF.. file_to_change.txt Windows utf8 to local charset

recode iso-8859-15..utf8

file_to_change.txt Latin9 (western europe) to utf8

recode ../b64 < file.txt > file.b64 Base64 encode

recode /qp.. < file.qp > file.txt Quoted printable decode

recode ..HTML < file.txt > file.html Text to HTML

• recode -lf windows-1252 | grep euro Lookup table of characters

• echo -n 0x80 | recode latin-9/x1..dump Show what a code represents in latin-9

charmap

• echo -n 0x20AC | recode ucs-

2/x2..latin-9/x Show latin-9 encoding

• echo -n 0x20AC | recode ucs-2/x2..utf-

8/x Show utf-8 encoding

CDs

gzip < /dev/cdrom > cdrom.iso.gz Save copy of data cdrom

mkisofs -V LABEL -r dir | gzip >

cdrom.iso.gz Create cdrom image from contents of dir

mount -o loop cdrom.iso /mnt/dir Mount the cdrom image at /mnt/dir (read

only)

cdrecord -v dev=/dev/cdrom blank=fast Clear a CDRW

gzip -dc cdrom.iso.gz | cdrecord -v

dev=/dev/cdrom -

Burn cdrom image (use dev=ATAPI -

scanbus to confirm dev)

cdparanoia –B Rip audio tracks from CD to wav files in

current dir

cdrecord -v dev=/dev/cdrom -audio -

pad *.wav

Make audio CD from all wavs in current

dir (see also cdrdao)

oggenc --tracknum='track'

track.cdda.wav -o 'track.ogg' Make ogg file from wav file

disk space (See also FSlint)

Page 39: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

28 | P a g e

• ls –lSr Show files by size, biggest last

• du -s * | sort -k1,1rn | head Show top disk users in current dir. See

also dutop

• du -hs /home/* | sort -k1,1h Sort paths by easy to interpret disk usage

• df –h Show free space on mounted filesystems

• df –i Show free inodes on mounted filesystems

• fdisk –l Show disks partitions sizes and types (run

as root)

rpm -q -a --qf

'%10{SIZE}\t%{NAME}\n' | sort -

k1,1n

List all packages by installed size (Bytes)

on rpm distros

• dpkg-query -W -f='${Installed-

Size;10}\t${Package}\n' | sort -k1,1n

List all packages by installed size (KBytes)

on deb distros

• dd bs=1 seek=2TB if=/dev/null

of=ext3.test

Create a large test file (taking no space).

See also truncate

• > file truncate data of file or create an empty file

monitoring/debugging

• tail -f /var/log/messages Monitor messages in a log file

• strace -c ls >/dev/null Summarise/profile system calls made by

command

• strace -f -e open ls >/dev/null List system calls made by command

• strace -f -e trace=write -e write=1,2 ls

>/dev/null Monitor what's written to stdout and stderr

• ltrace -f -e getenv ls >/dev/null List library calls made by command

• lsof -p $$ List paths that process id has open

• lsof ~ List processes that have specified path open

• tcpdump not port 22 Show network traffic except ssh. See

also tcpdump_not_me

• ps -e -o pid,args –forest List processes in a hierarchy

• ps -e -o List processes by % cpu usage

Page 40: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

29 | P a g e

pcpu,cpu,nice,state,cputime,args --sort

pcpu | sed '/^ 0.0 /d'

• ps -e -orss=,args= | sort -b -k1,1n | pr -

TW$COLUMNS

List processes by mem (KB) usage. See

also ps_mem.py

• ps -C firefox-bin -L -o

pid,tid,pcpu,state List all threads for a particular process

• ps -p 1,$$ -o etime= List elapsed wall time for particular process

IDs

• last reboot Show system reboot history

• free –m Show amount of (remaining) RAM (-m

displays in MB)

• watch -n.1 'cat /proc/interrupts' Watch changeable data continuously

• udevadm monitor Monitor udev events to help configure rules

system information (see also sysinfo) ('#' means root access is required)

• uname –a Show kernel version and system

architecture

• head -n1 /etc/issue Show name and version of distribution

• cat /proc/partitions Show all partitions registered on the system

• grep MemTotal /proc/meminfo Show RAM total seen by the system

• grep "model name" /proc/cpuinfo Show CPU(s) info

• lspci –tv Show PCI info

• lsusb –tv Show USB info

• mount | column –t List mounted filesystems on the system

(and align output)

• grep -F capacity:

/proc/acpi/battery/BAT0/info Show state of cells in laptop battery

# dmidecode -q | less Display SMBIOS/DMI information

# smartctl -A /dev/sda | grep

Power_On_Hours

How long has this disk (system) been

powered on in total

# hdparm -i /dev/sda Show info about disk sda

Page 41: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

30 | P a g e

# hdparm -tT /dev/sda Do a read speed test on disk sda

# badblocks -s /dev/sda Test for unreadable blocks on disk sda

interactive (see also linux keyboard shortcuts)

• readline

Line editor used by bash, python, bc,

gnuplot, ...

• screen Virtual terminals with detach capability, ...

• mc

Powerful file manager that can browse rpm,

tar, ftp, ssh, ...

• gnuplot Interactive/scriptable graphing

• Links Web browser

• xdg-open . open a file or url with the registered

desktop application

Table 1: Command Lines

(pixelbeat.org, 2008)

3.1.2 MDI

Menu Driven Interfaces aren‟t not very popular currently, since those have replaced

by the graphical user interface. But still MDIs are using in some places like pop- up

menus and drop down menus inside the GUI. Besides, best examples for a MDI

inside „fedora 12‟ operating system are the System Menu, Application Menu &

Places Menu.

Page 42: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

31 | P a g e

Figure 27: Application Bar, Place Bar and System Bar.

3.1.3 GUI

Graphical User Interfaces are very popular in most of the operating systems which

got released within past ten years. Fedora 12 is also built up with a graphical user

interface

3.1.3.1 Desktop of a Fedora 12 Operating System

The desktop of the Fedora operating is based on the desktop project called GNOME

(GNU Network Object Model Environment). GNOME is a project that has provided

the desktop for LINUX computers. GNOME provides the user a desktop,

applications, panels, and set of tools which can customize the working environment

and to manage the user‟s system tasks.

GNOME is free software and part of the GNU project, dedicated to giving users and

developers the ultimate level of control over their desktops, their software, and their

data. GNOME desktop environment is an intuitive and attractive desktop for users,

and the GNOME development platform, an extensive framework for building

applications that integrate into the rest of the desktop. GNOME is supported by the

leading companies in GNU/Linux and UNIX, including HP, IBM, Mandriva, Novell,

Red Hat, and Sun. (gnome.org, 2010)

Page 43: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

32 | P a g e

Figure 28 : GNOME logo

(gnome.org, 2010)

Fedora 12 includes GNOME 2.28 desktop environment. (Nestor, 2009)

Figure 29 - Fedora 12 GNOME desktop

(Gite, 2009)

3.1.3.2 Inbuilt Functions of the Fedora 12

(1) Terminal

(2) Workspace

(3) File Browser

Page 44: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

33 | P a g e

(4) Appearance Preferences (Themes, backgrounds.)

(5) Sound Preferences

(6) Internet Applications (Firefox)

(7) Music Player (Rhythmbox)

(8) Video Player (Totem Movie Player)

(9) CD/DVD Burning Application ( Brasero 2.28.2 )

(10) System Monitor

(11) Gedit text Editor

3.2 Process Control Management

3.2.1 Process Control

Fedora 12 is a multitasking operating system where multiple processes can be run at

the same time. Fedora 12 is based on the Linux kernel version 2.6.31 which later on

updated to Linux kernel version 2.6.32.

Linux has several conflicting objectives. Such as,

Fast Process response time

Good throughput for background jobs

Avoidance of process starvation.

(www.inf.fu-berlin.de, 2001)

3.2.2 Process State

The process state describes the current condition of the process. There are five stages

where the process state happens in Linux.

TASK_RUNNING

In this state the process is currently running or on a run queue waiting

to run. This is the only possible state where a process can execute in a

user space.

TASK_INTERRUPTIBLE

Page 45: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

34 | P a g e

In this state the process is blocked, and wait until a condition exist.

When the condition exists the kernel sets the process‟s state to

TASK_RUNNING.

TASK_UNINTERRUPTIBLE

This state is similar to TASK_INTERRUPTIBLE, but it doesn‟t wake

and become run able. This state is used in special situations where the

process expected to occur quickly. TASK_UNINTERRUPTIBLE is

less used compared to TASK INTERRUPTIBLE.

TASK_ZOMBIE

- In this state the task is terminated.

TASK_STOPPED

In this state the Process execution will be stopped

(www.inf.fu-berlin.de, 2001)

Page 46: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

35 | P a g e

3.2.3 Thread

Thread is a lightweight process which execute independently in other parts of the

process. Each tread has a unique Tread ID, set of registers stack pointers, stack for

local variables, return addresses. Signal mask, priority and return value. Threads

function in the same way as processes.

Tread states in Linux

READY To run in the system scheduler

BLOCKED Waiting for a resource

RUNNING To run by the system scheduler

TERMINATED The thread has exited or called ptread_exit to exit

Table 2 : Tread States in Linux

(comptechdoc.org, 2010)

3.2.4 Multithreading

Two types of threading can be found in operating systems which are single treading

and multithreading. Fedora 12 uses multithreading which means the execution of a

Page 47: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

36 | P a g e

single process with a multiple number of treads has enable the process to perform

multiple tasks. (Walton, 1996)

3.2.5 Process scheduling

Since there are two kernel versions in fedora 12 different scheduling algorithms are

used in the process. Following is how the process scheduling is done in fedora

12(Linux).

Linux uses a timesharing technique

In this technique each process is assigned a time slice to execute.

Linux process scheduling happens according to priority ranking.

In this scheduling process Linux uses a special technique known as dynamic

priorities which eliminate the starvation

In dynamic priorities the process which have not received the CPU for a

long time will get increased and the process that have received the CPU

often will get decreased.

Linux recognizes real-time programs and assigns them to high priority.

Linux does not recognize batch or interactive processes, instead it implicitly

favours I/O-bound processes

Linux uses process pre-emption.

The pre-empted process is temporally suspended, which is in the ready

queue.

Consider a text editor and a compiler.

Determining the length of the quantum.

(www.inf.fu-berlin.de, 2001)

3.2.6 Main aims of process scheduling

Fairness - to avoid starvation and check whether the faire time of the CPU

time all the processes get a

Response time - to decrease the response time

Efficiency - to get the maximum out of the CPU

Throughput - to increase the no of tasks at a given time

Turnaround time - to decrease the time between task running and the task

execution.

3.2.7 Process scheduling algorithms

Real time scheduling

First In First Out (FIFO) - First in first out is a real time algorithm. FIFO

means when the process scheduling is happening the first process started will

be the first to served out. These processes exits if it‟s rescheduled or if there

are other processes to be done.

Page 48: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

37 | P a g e

Round Robin (RR) - Round robin is a real time process algorithm. In RR each

process gets a certain amount of time to execute their process and then it exit.

Each task rejoins the queue after it exits until the process is complete.

(Bovet & Cesati, 2000)

More information about Process Control Management can be found in

Appendix D.

3.3 Deadlock Management

3.3.1 Deadlock Definition

A set of processes is deadlocked if each process in the set is waiting for an event that

only another process in the set can cause (including itself).

(www1bpt.bridgeport.edu, 2010)

In this situation all the processes are waiting till responds by the process that they

requested for. In other words the event that each process is waiting for release of

some resource currently possessed by another member of the set. In this process none

of the processes can run. That could be happen including hardware and software.

(ibm.com, 2010)

Resources Categories in deadlock

Preemptable resources - preemptable resource is one that can be taken

away from the process without harming to it. Memory is the best

example for that.

Non-preemtable resource - in that case that cannot be taken away

from its current owner without causing to fail. As an example for that

when you burning a cd if you eject it before completion it‟ll occur

error.

Page 49: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

38 | P a g e

3.3.2 Conditions for deadlocks

Mutual exclusion- resources can‟t share.

Hold and wait - when process request resources increase, its hold on

to what they‟ve got.

No preemption- resource can‟t get from the process forcibly.

Circular wait - circular chain of waiting is waiting for a resource

held by the next process in the chain.

3.3.3 Strategies for dealing with deadlocks

Ignore the problem altogether.

Detection and recovery.

Avoidance by careful resource allocation.

Prevention by structurally negating one of the four necessary conditions.

3.3.4 Deadlock Prevention

The system builds the way itself to solve the deadlock problem.

As a -

Attacking Mutex Condition

Never exclusive access

Attacking preemption

Not something you want to do.

Attacking hold and wait condition

Make a process hold at the most 1 resource at a time & make all the request at the beginning

Attacking circular wait

Order all the resources

Table 3 : Solutions for deadlock problem

Page 50: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

39 | P a g e

Make sure that the requests are issued in the correct order. So in that case there is no

cycle present in the resource graph.

3.3.5 Deadlock Avoidance

Its avoid the action that may help to happen a deadlock. When your system avoid the

action that create deadlocks your system will be safe.

(www1bpt.bridgeport.edu, 2010)

3.4 Memory Management

3.4.1 Reverse Mapping In Fedora 12

In Fedora 12 Memory Manager Page table Tracking to physical pages of memory

that are used by a process, and they map the virtual pages to physical pages. Some of

memory pages might not used in long time. So in that case they swap out that

memory pages. Before they swapped out, every single process mapping that page

and found the page, so that page entry to the page table and process will be updated.

Now memory manager has each physical pages linked by using containing pointers

to page-table entries (PTEs) of every process currently mapping that page this link

list called PTE chain. The PTE chain increase the speed to finding the processors that

mapping a page.

Page 51: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

40 | P a g e

the advantage of this reverse mapping system is that hold some memory overhead, in

that case some memory used to keep on track of all memory which reverse mapping,

each entry in PTE chain uses 4 bytes to store a pointer to the page-table entry and an

additional 4 bytes to store pointer to next entry on the chain. This memory also come

from 32 bit hardware which indicate low memory size. This can be optimized to a

single entry sometime. If there is only single mapping to the page, they used single

pointer called “direct”. It can use instead of a link list. If this page later mapped by

another process, the page will have to be converted to a PTE chain. (Larson, 2004)

3.4.2 Using Huge Pages In Linux Kernel 2.6

Huge pages is a technology that using in Linux kernel to avail the multiple page

memory size according to modern hardware architectures. Linux consider pages as

the basic unit of memory. In this case physical memory is divided and accessed using

the basic page unit. In the 32bit architecture use 4096 Bytes page size. In Linux

system, huge pages helps to reduce overhead memory.

Systems with large memory can be configured to utilize more efficiently using huge

pages. The actual size of the page depends on process and system architecture.

(unixfoo.blogspot.com, 2007)

More information about Using Huge Pages In Linux Kernel 2.6can be found in

Appendix E.

3.4.3 Storing page-table entries in high memory

Normally page-table are use in low memory in 32-bit machines. This memory also

pick it from first 896 MB memory slot of physical memory and using unused part of

the kernel as well. When most of applications using large number of memory and

map a lot of memory, low memory part would be decrease.

In new technology in 2.6 kernel page-table entries placed in high memory, to supply

freeing low memory space to other application can access. When we running lots of

processors and using high memory slots to storing page entry tables will allow to get

memory from low memory area.

Page 52: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

41 | P a g e

Memory using in high memory slot

(ibm.com, 2010)

Page 53: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

42 | P a g e

3.5 Virtual Memory Management

3.5.1 Abstract model of Virtual to Physical address mapping

Figure 30 : Abstract model of Virtual to Physical address mapping

3.5.2 Page Frame Reclamation

In 2.6 kernel system there is a new function kswapd called kswapd. In every

memory node of the system started from kswapd. They all execute same code except

their work confined to their local node. The main changes in this technology are

related to the kaswapd-per-node change.

3.5.3 Swap memory management

Most important part of the new additions in virtual memory is this. In this case they

introduced a new system to map a contiguous range of pages in the swap area into a

contiguous range of disk blocks. They added another addition to swap on time.

3.5.4 Shared Memory Virtual File System

In the new system they added function called alloced. The alloced field stores how

many data pages are allocated to the file which had to be calculated. The major

Page 54: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

43 | P a g e

change of this area is file system is responsible for the allocation and destruction of

its own inodes (inode is based on 2.4 kernel system). (Gorman, 2007)

3.5.5 Demand Paging

If there‟s less physical memory than virtual memory the operation system must take

virtual memory. It doesn‟t choose physical memory. One way to save physical

memory is only load virtual pages that are currently used by the executing program.

(Rusling, 1999)

More information about Virtual Memory Management can be found in Appendix A.

3.6 Secondary Disk Scheduling Management

In fedora 12 Linux kernel 2.6 there are five types of disk scheduling algorithms used.

Which are :

First Come First Serve

Elevator

Cyclic Elevator

Deadline Scheduling

Anticipatory Scheduling

More information about Secondary Disk Scheduling Management can be found in

Appendix C.

3.7 System Administration and Support

Fedora 12 can be divided into two major areas in system administration and support.

Which are:

Installation

HOWTOs

3.7.1 Installation

Installation can be divided into several areas such as:

Pre-Installation Tasks

Installation

Page 55: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

44 | P a g e

Post Installation Changes

Fedora 12 Installation is very easy compared to other operating systems. It provides a

good GUI which is very user friendly even a beginner can install without any issues.

During the installation fedora 12 is mainly concern about the root password where

the user has to enter. The password should be minimum six characters n should

contains numerical and alphabetical characters and also one special character. Where

it ensures that no one can crack it.

3.7.2 HOWTOs

In HOWTOs every component is supported by the system administration and support

of fedora 12. There are few components in HOWTOs.

Table 4 : Components in HOWTOs

(Professor Gregory R. Kriehn,2007)

Components in HOWTOs

Internet Access Security

Programming Applications Network/File system Services &

Applications

E-Mail & Spam Apache/MySQL/PHP Services &

Applications

Hosting a Yum Repository Enlightenment DR17 (E17)

Gnome Applications & Settings Gnome Applications & Settings

Laptop & General Settings Google Applications

Multimedia-Based Applications & Setup Drawing & Image Manipulation

Programs

Setup for Installing Applications General Utilities

Page 56: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

45 | P a g e

3.7.3 System Administration Tools

Since fedora 12 is a Linux base operating system it supports with the same Linux

system administration tools. There are four major players in the Linux system

administration tools.

COAS

Linuxconf

Webmin

YaST

More information about System Administration Tools can be found in Appendix

B.

3.8 Recovery Strategies

There are few ways of recovering data in fedora 12 which is based on Linux.

Rollback Action

Backup files

3.8.1 Rollback Action

Rollback can be done using a tool call RPM. RPM is a useful tool which has several

options. But out of all of them the best is where it can recover a deleted file which

has accidently lost. In fedora 12 a small coding will recover the deleted file. Simply

type the date r time to rollback to that previous system data.

rpm -Uvh -rollback 'date/time‟

(linuxquestions.org/, 2006)

3.8.2 Backup files

We can use typical recovery strategies to take backups

Servers

External hard disks

DVD

Flash drivers

Page 57: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

46 | P a g e

3.9 Security Strategies

Fedora 12 has implemented according to standard security model known as CIA. It is

capable to estimate the sensitiveness of the information and to provide a dependable

security policy. CIA is defined as Confidentiality, Integrity and Availability.

Confidentiality: Sensitive information must be available only to a set of pre-defined

individuals. Unauthorized transmission and usage of information

should be restricted.

Integrity Information should not be altered in ways that render it incomplete or

incorrect. Unauthorized users should be restricted from the ability to

modify or destroy sensitive information

Availability Information should be accessible to authorized users any time that it is

needed. Availability is a warranty that information can be obtained

with an agreed-upon frequency and timeliness.

Table 5 : C.I.A Definition Table

(Fuller et al., 2009)

Computer Security has divided in to three categories commonly referred as controls.

They are as follows:

Physical

Technical

Administrative (Fuller et al., 2009)

3.9.1 Security tools in Fedora 12

Scanning Hosts with Nmap

Nessus

Nikto

VLAD the Scanner

Page 58: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

47 | P a g e

(Fuller et al., 2009)

3.9.2 Workstation Security

BIOS and Boot Loader Security

Password Security

Administrative Controls:

Available Network Services

Personal Firewalls

Security Enhanced Communication Tools

(Fuller et al., 2009)

3.10 Standard Support

Bugs and errors occur in any kind of an operating system, in any environment. And

the user must have a brief idea how to overcome from those when it occurred. Fedora

12 has provided all the necessary guide lines and support which will assist them to

overcome from those errors. Solving error through internet have become more

popular these days, and therefore fedora 12 have provided all the necessary

assistance through the internet.

3.10.1 Fedora 12 Forum

HTML : http://www.fedoraforum.org/

3.10.2 Burning ISO image to a disc

HTML : http://docs.fedoraproject.org/en-

US/Fedora/12/html/Burning_ISO_images_to_disc/index.html

PDF :http://docs.fedoraproject.org/en-

US/Fedora/12/pdf/Burning_ISO_images_to_disc/Fedora-12-

Burning_ISO_images_to_disc-en-US.pdf

3.10.3 Installation Guide

HTML : http://docs.fedoraproject.org/en-

US/Fedora/12/html/Installation_Guide/index.html

Page 59: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

48 | P a g e

PDF :http://docs.fedoraproject.org/en-

US/Fedora/12/pdf/Installation_Guide/Fedora-12-Installation_Guide-en-

US.pdf

3.10.4 Quick Start Guide

HTML : http://docs.fedoraproject.org/en-

US/Fedora/12/html/Installation_Quick_Start_Guide/index.html

PDF : http://docs.fedoraproject.org/en-

US/Fedora/12/pdf/Installation_Quick_Start_Guide/Fedora-12-

Installation_Quick_Start_Guide-en-US.pdf

3.10.5 User Guide

HTML : http://docs.fedoraproject.org/en-

US/Fedora/12/html/User_Guide/index.html

PDF : http://docs.fedoraproject.org/en-

US/Fedora/12/pdf/User_Guide/Fedora-12-User_Guide-en-US.pdf

3.10.6 Wireless Guide

HTML : http://docs.fedoraproject.org/en-

US/Fedora/12/html/Wireless_Guide/index.html

PDF : http://docs.fedoraproject.org/en-

US/Fedora/12/pdf/Wireless_Guide/Fedora-12-Wireless_Guide-en-US.pdf

3.10.7 Other Fedora 12 Documentations

HTML : http://docs.fedoraproject.org/en-US/index.html

4. Appendix

Appendix A: Virtual Memory Management (3.5)

Page Table Management

In 2.6 kernel they introduced new functions.

Page 60: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

49 | P a g e

1. MMU-less Architecture Support

2. Reverse Mapping

3. Object-Based Reverse Mapping

4. PTE in High Memory

5. Huge TLB Filesystem

6. Cache Flush Management

Process Address Space

Changes in 2.6 kernel

1. Linear Address Space

2. Write page

3. Memory Region

4. Page Faulting

5. Kernel Split

Boot Memory Allocator

This is not changed since 2.4 kernel. They mainly think about the optimisation and

NUMA related modification. First changes is the addition of a last_success field to

the bootem_data_tstruct. What it does is keep track location of the last allocation to

reduce the time. If an address is freed before last_success, it‟ll be changed to freed

location

Physical Page Allocation

In 2.6 kernel they made changes to Allocating Pages system. In 2.4 kernel system

there was specific code for selecting the correct node form the running CPU. But 2.6

removes this distinction between NUMA and UMA architecture.

In Per-CPU Page Lists pages are allocated from a structper_cpu_pageset by

buffered_rmqueue(). In the low watermark (per_cpu_pageset→low) has not been

reached. The pages will be allocated from the pageset with no requirement for

spinlock to be held. One the low watermark is reached, a large number of pages will

be allocated in bulk with the interrupt safe spinlock held. Added to the per-cpu list

and then one returned to the caller.

Page 61: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

50 | P a g e

In freeing pages side they introduced code called free_hot_page() and

free_cold_page() to handle the pages.

Non Contiguous Memory Allocation

Non-contiguous memory allocation work same as a 2.4 kernel system. The main

difference in 2.6 kernel is slightly different internal API which affects when the

pages are allocated. In kernel 2.4 vmalloc_area_pages() is responsible for beginning

a page table walk and then allocating pages when the PTE is reached in the function

alloc_area_pte(). In 2.6 kernel all the pages are advance by __vmalloc() and placed

in an array which is passed to map_vm_area() for insertion into the kernel page

tables.

The get_vm_area() API has changed in kernel 2.6 and it behave the same as

previous versions and it searches the entire vmalloc virtual address space for a free

area and caller can search subset of the vmalloc address space by calling

__get_vm_area() directly and specifying the range. This system only used by ARM

architecture.

The new interface of vmap() an array of pages in the vmalloc address space

and is only used by the sound subsystem core.

Slab Allocater

In fedora 12 they changed slab allocater system completely. Because previous

version of /proc/slabinfo format version 1.1 changed to 2.0. but principle and

algorithm and ideas is same as previous. So it has a technology to avoidance of

locking. There‟s a lot of debugging code mixed in so keep searching for #ifdef

DEBUG blocks of code and they can ignored them when reading the code.

Other changes in 2.0 has very similar behaviour. As an example

kmem_cache_estimate() is now called cache_estimate().

In cash static flags side in fedora 12 introduced two new flags for slab allocator

*Slab_store_user

Page 62: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

51 | P a g e

*Slab_Reclaim_account

In cache Reaping This is the best part of changes in slab allocator.

Kmem_cache_reap() no longer exist as it‟s very indiscriminate in how it shrinks

caches when cache user could have made a far superior selection. Users of cache can

now register a “shrink cache” callback with set_shrinker() for the intelligent aging

and shrinking of slabs. This simple function populates a structshrinker with a pointer

to the callback and a “seeks” weight which indicates how difficult it is to recreate an

object before placing it in a link list called shrinker_list.

Appendix B: System Administration Tools (3.7.3)

Linuxconf

It‟s a system administration tool where we can navigate text or point and click menus

to access a wide variety of system settings of fedora 12. Linuxconf mainly deals with

the people who refused to use root password, where Linuxconf will not allow the

user to proceed further.

COAS

COAS is a administration tool which is available in moset linux distributors. This

tools comes in four differen formats. In this tool it loads only the important features

into memory when you work with it.

Webmin

Webmin is a web-based application which is mostly available for modern Linux

distributors. Any user can install Webmin it must be installed by root. After

installation we can access this tool by any user account.

YaST

YaST tool consists of all user administration, security settings and installation of

other software, Updates of the entire system, network settings etc. YaST was not

installed with GUI, where the new tool called YaST 2 which comes with SuSE has a

GUI. Mainly YaST is like the Control panel of the system. (Dee-Ann LeBlanc,2002)

Page 63: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

52 | P a g e

Appendix C: Secondary Disk Scheduling Management (3.6)

First Come First Serve

In this algorithm the request are served accordingly to their arrival order. Where the

first to enter will be the first to leave. (cs.nmu.edu, n.d)

Elevator

This algorithm has the same behavior of an elevator where the elevator continues to

travel up and down until a request has been made. The requests are accepted

according to the priority order and continue until the lowest request reach. This

process repeats until the task complete. (m_turner, 2000) (everything2.com, 2000)

Cyclic Elevator

In this algorithm the elevator moves from top to bottom where it only consider the

requests made along the way to bottom, when it reach the bottom it goes back to the

highest request made and repeat the process. Compared to other algorithms cyclic

algorithm is fair to all requests, has a great performance and real time processing.

(linuxhowtos.org, 2010)

Deadline Scheduling

In this algorithm each request has given a deadline. When the request reaches the

deadline it moves directly to that request and serviced immediately to maintain the

efficiency of the process. Therefore this algorithm maintains the disk latency low

where as the disk efficiency high. (domingo.sourceforge.net, 2008)

Anticipatory Scheduling

In this algorithm the read operations are usually synchronous. This means the first

request has to happen and report back before the second request is scheduled.

Appendix D: Process Control Management (3.2)

Improved treading model for 2.6 Linux kernel

The 2.6 Linux kernel introduces a new, improved threading model that is

implemented through the NPTL. The adoption of a new threading model has

Page 64: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

53 | P a g e

significant implications for developers, system run-time libraries such as the GNU C

library (glibc), shared application libraries, and so on. This white paper provides an

overview of basic threading concepts, discusses new and existing Linux threading

models, and then highlights the sorts of application changes that you might have to

make to existing multi-threaded applications in order to enable them to work

correctly with NPTL under the 2.6 Linux kernel. (linuxinme.blogspot.com, 2007)

Pthread

Pthreds refers to the POSIX standard (IEEE 1003.1c) defining an API for thread

creation and synchronization. This is a specification for thread behavior, not an

implementation. Operating system designers may implement the specification in any

way they wish. (Silberschatz, 2006)

Along with POSIX threads, 2.6 provide POSIX signals and POSIX high-resolution

timers as part of the mainstream kernel. POSIX signals are an improvement over

UNIX-style signals, which were the default in previous Linux releases. Unlike UNIX

signals, POSIX signals cannot be lost and can carry information as an argument.

Also, POSIX signals can be sent from one POSIX thread to another, rather than only

from process to process, like UNIX signals. (Deshpande, 2004)

Appendix E : Using huge Pages in Linux Kernel 2.6 (3.4.2)

Linux uses “Transaction Lookaside Buffers” (TLB) in the CPU architecture. In this

technology restrain mapping of virtual memory to actual memory addresses. So

using huge size of physical memory with the default page size consumes the TLB

and adds processing overhead.

Linux kernel system able to set addressed of physical memory using a large page

files. When the memory page is higher, the pages with the TLB will be less overhead

managing. In kernel 2.6 they have a feature called “CONFIG_HUGETLB_PAGE to

control huge pages.

Page 65: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

54 | P a g e

Appendix F : Kernels

Kernel 2.6.31: This version adds USB 3.0 support, an equivalent of FUSE for

character devices used for proxying OSS sound to ALSA, some memory

management changes that improve interactivity in desktops, read ahead

improvements, ATI Radeon Mode setting support, support for Intel's Wireless

Multicomm 3200 Wi-Fi devices, kernel support and a user space tool for

performance counters, gcov support, a memory checker for uninitialized memory, a

memory leak detector, a reimplementation of inotify and dnotify on top of a new file

system notification infrastructure, btrfs improvements, support for the IEEE 802.15.4

network standard, IPv4 over Firewall, many new drivers, small improvements and

fixes. (kernelnewbies.org, 2009)

Appendix G : X Windows

Further, it includes couple of automatic configuration feature for the X server. The X

Window System is using a CSA (Client Server Architecture). In default graphical

environment of fedora, the X configuration tool is available at following: path.

System > Administration > Display.

Page 66: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

55 | P a g e

5. Conclusion

Fedora 12 is based on Linux 2.6 kernel which is a free open source operating

system where any changes can be made to the operating system by the user

according to his will. It‟s a free distributable operating system where we can

easily download from the fedora website.

Compared to other operating system Fedora 12 has a GUI which is user

friendly and also it has more options than the previous versions. Since it

needs less hard disk space, low processor and low random access memory it

can be installed in and old machines easily.

Since fedora 12 is less vulnerable to viruses it is more secure when compared

to other operating systems. Fedora 12 is a non profitable organization which

depends on users where it gives the full authority to develop software‟s for

fedora 12.

Fedora is a unique operating system with lots of features and improved

graphics where it helps different communities to do their work easily and also

it‟s a free open source environment where anyone can communicate in the

world.

.

Page 67: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

56 | P a g e

6. References/Bibliography

Arkeia, 2010. [Online] Available at: HYPERLINK

"http://www.arkeia.com/products/index.php?_kk=d555ddb4-e529-4fbc-9294-

a942005cdc63&_kt=5103555625&gclid=CNPx_JWkxqMCFd_-2Aod_2XTYg"

http://www.arkeia.com/products/index.php?_kk=d555ddb4-e529-4fbc-9294-

a942005cdc63&_kt=5103555625&gclid=CNPx_JWkxqMCFd_-2Aod_2XTYg

[Accessed 16 Augustus 2010].

Bovet, D.P. & Cesati, M., 2000. Understanding the Linux Kernel Chapter 10.

[Online] Available at: HYPERLINK

"http://oreilly.com/catalog/linuxkernel/chapter/ch10.html"

http://oreilly.com/catalog/linuxkernel/chapter/ch10.html [Accessed 16 December

2010].

Bovet, D.P. & Cesati, M., 2005. Understanding the Linux Kernel. 3rd ed. O'Reilly.

Breuer, P.T. & Valls, M.G., 2004. Static Deadlock Detection in the Linux Kernel. In

A. Llamos & A. Strohmeier, eds. Reliable Software Technologies - Ada-Europe

2004. 30632004th ed. Spain: Springer Berlin / Heidelberg. pp.52-64.

http://www.springerlink.com/content/j5e5fn1w6w43muru/ ;

http://books.google.lk/books?id=j2dYATF2jmQC.

Burleson, 2009. [Online] Available at: HYPERLINK "http://www.rampant-

books.com/t_linux_14_virtual_memory_statistics.htm" http://www.rampant-

books.com/t_linux_14_virtual_memory_statistics.htm [Accessed 16 Augustus

2010].

comptechdoc.org, 2010. Linux Threads. [Online] Available at: HYPERLINK

"http://www.comptechdoc.org/os/linux/programming/c/linux_pgcthreads.html"

http://www.comptechdoc.org/os/linux/programming/c/linux_pgcthreads.html

[Accessed 17 December 2010].

Page 68: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

57 | P a g e

domingo.sourceforge.net, 2008. [Online] Available at: HYPERLINK

"http://domingo.sourceforge.net/" http://domingo.sourceforge.net/ [Accessed 18

December 2010].

everything2.com, 2000. Elevator algorithm. [Online] Available at: HYPERLINK

"http://everything2.com/title/Elevator+algorithm"

http://everything2.com/title/Elevator+algorithm [Accessed 20 December 2010].

fedoraproject.org, 2010. About Fedora. [Online] Available at: HYPERLINK

"http://fedoraproject.org/en/about-fedora" http://fedoraproject.org/en/about-fedora

[Accessed 30 November 2010].

Fourdan, O., 2010. Terminal. [Online] Available at: HYPERLINK

"http://www.xfce.org/projects/terminal/" http://www.xfce.org/projects/terminal/

[Accessed 2 August 2010].

Fuller, J. et al., 2009. Fedora 12 Security Guide. [Online] Red Hat Available at:

HYPERLINK "http://docs.fedoraproject.org/en-

US/Fedora/12/pdf/Security_Guide/Fedora-12-Security_Guide-en-US.pdf"

http://docs.fedoraproject.org/en-US/Fedora/12/pdf/Security_Guide/Fedora-12-

Security_Guide-en-US.pdf [Accessed 21 December 2010].

Fuller, J. et al., 2009. Securing your Network. [Online] Red Hat Available at:

HYPERLINK "http://docs.fedoraproject.org/en-

US/Fedora/12/html/Security_Guide/chap-Security_Guide-

Securing_Your_Network.html" http://docs.fedoraproject.org/en-

US/Fedora/12/html/Security_Guide/chap-Security_Guide-

Securing_Your_Network.html [Accessed 29 December 2010].

Gite, V., 2009. Download Fedora 12 CD / DVD ISO. [Online] Available at:

HYPERLINK "http://www.cyberciti.biz/tips/fedora-12-download-cd-dvd-iso.html"

http://www.cyberciti.biz/tips/fedora-12-download-cd-dvd-iso.html [Accessed 28

December 2010].

Page 69: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

58 | P a g e

GNOME Project, T., 2010. What is GNOME? [Online] Available at: HYPERLINK

"http://www.gnome.org/about/" http://www.gnome.org/about/ [Accessed 01 August

2010].

gnome.org, 2010. What is GNOME? [Online] Available at: HYPERLINK

"http://www.gnome.org/about/" http://www.gnome.org/about/ [Accessed 27

December 2010].

Gorman, M., 2007. understanding the linux virtual memory manager. [Online]

Kernel.org Available at: HYPERLINK

"http://www.kernel.org/doc/gorman/pdf/understand.pdf"

http://www.kernel.org/doc/gorman/pdf/understand.pdf [Accessed 18 December

2010].

ibm.com, 2010. IBM. [Online] Available at: HYPERLINK

"http://www.ibm.com/developerworks/power/library/pa-soc5/deadlock.gif"

http://www.ibm.com/developerworks/power/library/pa-soc5/deadlock.gif [Accessed

17 December 2010].

Johnray Fuller, J.H.D.O.S.R.E.C.A.L., 2009. Securing your Network. [Online] Red

Hat, Inc. Available at: HYPERLINK "http://docs.fedoraproject.org/en-

US/Fedora/12/html/Security_Guide/chap-Security_Guide-

Securing_Your_Network.html" http://docs.fedoraproject.org/en-

US/Fedora/12/html/Security_Guide/chap-Security_Guide-

Securing_Your_Network.html [Accessed 05 Augustus 2010].

Johnray Fuller, J.H.D.O.S.R.E.C.A.L., 2009. Security Overview. [Online] Red Hat,

Inc Available at: HYPERLINK "http://docs.fedoraproject.org/en-

US/Fedora/12/html/Security_Guide/chap-Security_Guide-Security_Overview.html"

http://docs.fedoraproject.org/en-US/Fedora/12/html/Security_Guide/chap-

Security_Guide-Security_Overview.html [Accessed 05 August 2010].

kernelnewbies.org, 2009. Linux 2 6 31. [Online] Available at: HYPERLINK

"http://kernelnewbies.org/Linux_2_6_31" \l "head-

Page 70: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

59 | P a g e

6004ec219c203c60037057dbebaf0a04fe22f19c"

http://kernelnewbies.org/Linux_2_6_31#head-

6004ec219c203c60037057dbebaf0a04fe22f19c [Accessed 29 December 2010].

Larson, P., 2004. [Online] Available at: HYPERLINK

"http://www.ibm.com/developerworks/linux/library/l-mem26/"

http://www.ibm.com/developerworks/linux/library/l-mem26/ [Accessed 2 Augustus

2010].

Li, T., Ellis, C.S., Lebeck, A.R. & Sorin, D.J., 2005. Pulse: A Dynamic Deadlock

Detection Mechanism Using Speculative Execution. In Li, T., Ellis, C.S., Lebeck,

A.R. & Sorin, D.J., eds. USENIX Annual Technical Conference. California, 2005.

linuxhowtos.org, 2010. Switching IO Schedulers on runtime. [Online] Available at:

HYPERLINK "http://www.linuxhowtos.org/System/iosched.htm"

http://www.linuxhowtos.org/System/iosched.htm [Accessed 19 December 2010].

linuxinme.blogspot.com, 2007. Thread Library changes between 2.4 and 2.6 Linux

Kernels. [Online] Available at: HYPERLINK

"http://linuxinme.blogspot.com/2007/05/thread-library-changes-between-24-

and_1763.html" http://linuxinme.blogspot.com/2007/05/thread-library-changes-

between-24-and_1763.html [Accessed 17 December 2010].

linuxquestions.org/, 2006. how to do rollback with the same package name using

RPM. [Online] Available at: HYPERLINK

"http://www.linuxquestions.org/questions/general-10/how-to-do-rollback-with-the-

same-package-name-using-rpm-645297/"

http://www.linuxquestions.org/questions/general-10/how-to-do-rollback-with-the-

same-package-name-using-rpm-645297/ [Accessed 19 December 2010].

livinginternet.com, 2010. Linux History. [Online] Available at: HYPERLINK

"http://www.livinginternet.com/i/iw_unix_gnulinux.htm"

http://www.livinginternet.com/i/iw_unix_gnulinux.htm [Accessed 22 December

2010].

Page 71: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

60 | P a g e

Love, R., 2005. Linux Kernel Development Second Edition. the United States of

America: Sams Publishing.

Meyer, O., 2008. [Online] Available at: HYPERLINK

"http://www.howtoforge.com/creating-backups-with-areca-on-fedora9"

http://www.howtoforge.com/creating-backups-with-areca-on-fedora9 [Accessed 16

Augustus 2010].

Negus, C., 2009. Linux Bible. 2009th ed. Indiana: Wiley Publishing, Inc.

Negus, C. & Foster-Johnson, E., 2010. Fedora Bible. 2010th ed. Canada: Wiley

Publishing, Inc.

Nestor, M., 2009. Fedora 12 Officially Released. [Online] Available at:

HYPERLINK "http://news.softpedia.com/news/Fedora-12-Officially-Released-

127223.shtml" http://news.softpedia.com/news/Fedora-12-Officially-Released-

127223.shtml [Accessed 2010 December 28].

Nestor, M., 2010. Softpedia. [Online] Available at: HYPERLINK

"http://news.softpedia.com/news/Fedora-12-Officially-Released-127223.shtml"

http://news.softpedia.com/news/Fedora-12-Officially-Released-127223.shtml

[Accessed 31 July 2010].

Ozdogan, C., 2010. Methods for Handling Deadlocks. [Online] Available at:

HYPERLINK

"http://siber.cankaya.edu.tr/ozdogan/OperatingSystems/week8/node6.html"

http://siber.cankaya.edu.tr/ozdogan/OperatingSystems/week8/node6.html [Accessed

01 August 2010].

pixelbeat.org, 2008. pixelbeat. [Online] Available at: HYPERLINK

"http://www.pixelbeat.org/cmdline.html" http://www.pixelbeat.org/cmdline.html

[Accessed 10 December 2010].

Page 72: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

61 | P a g e

Project Team, T., 2009. Fedora Docs Release Notes. [Online] Available at:

HYPERLINK "http://docs.fedoraproject.org/en-US/Fedora/12/html/Release_Notes/"

http://docs.fedoraproject.org/en-US/Fedora/12/html/Release_Notes/ [Accessed 2

August 2010].

Rusling, D.A., 1996. [Online] Available at: HYPERLINK

"http://www.science.unitn.it/~fiorella/guidelinux/tlk/node26.html"

http://www.science.unitn.it/~fiorella/guidelinux/tlk/node26.html [Accessed 16

Augustus 2010].

Rusling, D.A., 1999. Chapter 3 Memory Management. [Online] LDP Available at:

HYPERLINK "http://tldp.org/LDP/tlk/mm/memory.html"

http://tldp.org/LDP/tlk/mm/memory.html [Accessed 19 December 2010].

Silas, D. et al., 2009. Fedora 12 Deployment Guide. [Online] Red Hat Available at:

HYPERLINK "https://docs.fedoraproject.org/en-

US/Fedora/12/pdf/Deployment_Guide/Fedora-12-Deployment_Guide-en-US.pdf"

https://docs.fedoraproject.org/en-US/Fedora/12/pdf/Deployment_Guide/Fedora-12-

Deployment_Guide-en-US.pdf [Accessed 21 December 2010].

Silberschatz, A., Galvin, P.B. & Gagne, G., 2005. Operating System Concepts. 7th

ed. Palatino: John Wiley & Sons, Inc.

spinics.net, 2010. [SECURITY] Fedora 12 Update: kernel-2.6.32.16-141.fc12.

[Online] Available at: HYPERLINK "http://www.spinics.net/lists/fedora-package-

announce/msg44060.html" http://www.spinics.net/lists/fedora-package-

announce/msg44060.html [Accessed 29 December 2010].

Sundaram, R., 2010. Gnote. [Online] Available at: HYPERLINK

"http://live.gnome.org/Gnote" http://live.gnome.org/Gnote [Accessed 2 August

2010].

Team, T.F.D., 2009. Fedora 12 Release Notes. [Online] Red Hat Available at:

HYPERLINK "http://docs.fedoraproject.org/en-

Page 73: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

62 | P a g e

US/Fedora/12/pdf/Release_Notes/Fedora-12-Release_Notes-en-US.pdf"

http://docs.fedoraproject.org/en-US/Fedora/12/pdf/Release_Notes/Fedora-12-

Release_Notes-en-US.pdf [Accessed 30 November 2010].

The Fedora Docs Team, R.H.I., 2009. Fedora Documentation. [Online] Available at:

HYPERLINK "http://docs.fedoraproject.org/en-

US/Fedora/12/html/Release_Notes/index.html" \l "sect-Release_Notes-

Hardware_Requirements" http://docs.fedoraproject.org/en-

US/Fedora/12/html/Release_Notes/index.html#sect-Release_Notes-

Hardware_Requirements [Accessed 23 July 2010].

tldp, n.d. [Online] Available at: HYPERLINK "http://tldp.org/LDP/sag/html/buffer-

cache.html" http://tldp.org/LDP/sag/html/buffer-cache.html [Accessed 2 Augustus

2010].

unixfoo.blogspot.com, 2007. linux - storage - virtualization. [Online] Available at:

HYPERLINK "http://unixfoo.blogspot.com/2007/10/hugepages.html"

http://unixfoo.blogspot.com/2007/10/hugepages.html [Accessed 18 December

2010].

Walton, S., 1996. Linux Threads Frequently Asked Questions (FAQ). [Online]

Available at: HYPERLINK "http://linas.org/linux/threads-faq.html"

http://linas.org/linux/threads-faq.html [Accessed 16 December 2010].

www.inf.fu-berlin.de, 2001. Linux processes (3.5.2001). [Online] Institut für

Informatik Available at: HYPERLINK "http://www.inf.fu-

berlin.de/lehre/SS01/OS/Lectures/Lecture05.pdf" http://www.inf.fu-

berlin.de/lehre/SS01/OS/Lectures/Lecture05.pdf [Accessed 16 December 2010].

www1bpt.bridgeport.edu, 2010. Operating Systems (CS/CPE 408) : Deadlocks and

Deadlock Avoidance. [Online] Available at: HYPERLINK

"http://www1bpt.bridgeport.edu/sed/projects/cs503/Spring_2001/kode/os/deadlock.h

tm"

Page 74: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

63 | P a g e

http://www1bpt.bridgeport.edu/sed/projects/cs503/Spring_2001/kode/os/deadlock.ht

m [Accessed 16 December 2010].

zmanda, 2010. [Online] Available at: HYPERLINK

"http://www.zmanda.com/?gclid=CJSo39ukxqMCFRZf4wod-G5UZA"

http://www.zmanda.com/?gclid=CJSo39ukxqMCFRZf4wod-G5UZA [Accessed 16

Augustus 2010].

Page 75: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

64 | P a g e

7. Work Breakdown Structure

Page 76: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

65 | P a g e

8. Weekly Meeting Reports

Meeting Number: 1

Date: 24th

November 2010

Venue: APIIT Sri Lanka, Colombo.

Members attended:

Name of the member CB Number Attendance

Hirosh Tharaka (CB004149) Present

Shohan Dassanayake (CB004060) Present

Prmod Madushan (CB004138) Present

Minutes:

Study Area Description

1. Discussed What we going to choose? We decided operation system for our

assignment

…………………… …………………

(Lecture) (Team Leader)

Page 77: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

66 | P a g e

Meeting Number: 2

Date: 25th

November 2010

Venue: APIIT Sri Lanka, Colombo.

Members attended:

Name of the member CB Number Attendance

Hirosh Tharaka (CB004149) Present

Shohan Dassanayake (CB004060) Present

Promod Madushan (CB004138) Present

Minutes:

Study Area Description

1. Dividing the work load Each of took part of the project to do and

discussed

2. Found details Found details about hardware

requirements, system requirements, history

of fedora 12, introduction to the operating

system.

…………………… …………………

(Lecture) (Team Leader)

Page 78: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

67 | P a g e

Meeting Number: 3

Date: 30th

November 2010

Venue: APIIT Sri Lanka, Colombo.

Members attended:

Name of the member CB Number Attendance

Hirosh Tharaka (CB004149) Present

Shohan Dassanayake (CB004060) Present

Promod Madushan (CB004138) Present

Minutes:

Study Area Description

Installing fedora 12 Each of us installed fedora 12. Got the

basic knowledge of installing fedora 12

…………………… …………………

(Lecture) (Team Leader)

Page 79: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

68 | P a g e

Meeting Number: 4

Date: 3rd

November 2010

Venue: APIIT Sri Lanka, Colombo.

Members attended:

Name of the member CB Number Attendance

Hirosh Tharaka (CB004149) Present

Shohan Dassanayake (CB004060) Present

Promod Madushan (CB004138) Present

Minutes:

Study Area Description

Installing and taking screenshots Took all the screen shorts needed make the

repot.

…………………… …………………

(Lecture) (Team Leader)

Page 80: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

69 | P a g e

Meeting Number: 5

Date: 6th

December 2010

Venue: APIIT Sri Lanka, Colombo.

Members attended:

Name of the member CB Number Attendance

Hirosh Tharaka (CB004149) Present

Shohan Dassanayake (CB004060) Present

Promod Madushan (CB004138) Present

Minutes:

Study Area Description

1. Discuss about the analysis part Discuss where to find the details what is

the structure how are we suppose.

…………………… …………………

(Lecture) (Team Leader)

Page 81: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

70 | P a g e

Meeting Number: 6

Date: 08th

December 2010

Venue: APIIT Sri Lanka, Colombo.

Members attended:

Name of the member CB Number Attendance

Hirosh Tharaka (CB004149) Present

Shohan Dassanayake (CB004060) Present

Promod Madushan (CB004138) Present

Minutes:

Study Area Description

1. Analyzed all the details we found on the

analysis.

Discussed all the details we found on

analysis part and analyzed all the details.

…………………… …………………

(Lecture) (Team Leader)

Page 82: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

71 | P a g e

Meeting Number: 7

Date: 23th

December 2010

Venue: APIIT Sri Lanka, Colombo.

Members attended:

Name of the member CB Number Attendance

Hirosh Tharaka (CB004149) Present

Shohan Dassanayake (CB004060) Present

Promod Madushan (CB004138) Present

Minutes:

Study Area Description

Finalizing project Finalized all the details we found and put

them according to document order.

…………………… …………………

(Lecture) (Team Leader)

Page 83: Operating Systems - Fedora 12 - Hirosh Tharaka

Fedora 12 DF10A1ICT

72 | P a g e

Meeting Number: 8

Date: 24th

December 2010

Venue: APIIT Sri Lanka, Colombo.

Members attended:

Name of the member CB Number Attendance

Hirosh Tharaka (CB004149) Present

Shohan Dassanayake (CB004060) Present

Promod Madushan (CB004138) Present

Minutes:

Study Area Description

Finalizing Document Finalized the document did all the typing,

discuss about the places where we went

wrong made them correct.

…………………… …………………

(Lecture) (Team Leader)