<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5574591303339540760</id><updated>2012-02-16T01:33:58.295-08:00</updated><category term='OS 8'/><category term='OS 3'/><category term='OS 5'/><category term='OS 6'/><category term='OS 9'/><category term='OS 4'/><category term='OS 2'/><category term='ASSIGN'/><category term='OS'/><title type='text'>B L O G G E R</title><subtitle type='html'>--&amp;gt; This is 
JAN AUSTIN EVANGELISTA hir signing..</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>52</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-3899518344250587572</id><published>2009-09-17T02:42:00.000-07:00</published><updated>2009-09-17T04:21:33.189-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 9'/><title type='text'>Installation Process of 2 Open Source OS</title><content type='html'>&lt;center&gt;&lt;span style="color:orange;"&gt;Linux OS (GENTOO)&lt;/span&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;marquee behavior="alternate" scrollamount="7"&gt;&lt;span style="color:orange;"&gt;&lt;b&gt;Gentoo Linux&lt;/b&gt;&lt;/span&gt;&lt;/marquee&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQw1J9FhsI/AAAAAAAAAPY/8XXToPwHqP8/s1600-h/gentoo_screenshot.jpg"&gt;&lt;img style="MARGIN: 0pt 0pt 10px 10px; WIDTH: 255px; FLOAT: right; HEIGHT: 191px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297412751457879746" border="0" alt="" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQw1J9FhsI/AAAAAAAAAPY/8XXToPwHqP8/s320/gentoo_screenshot.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="chapnum"  style="font-size:130%;"&gt;&lt;span style="color:blue;"&gt;1.&lt;/span&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;span style="font-size:130%;"&gt;Introduction&lt;/span&gt; &lt;/span&gt;&lt;p&gt;&lt;span style="font-family:times new roman;color:violet;"&gt;This guide is based on an example with two IDE hard disks. It means that you will more than likely need to change the drive, partition names and partition sizes to match your own setup and needs.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;table style="COLOR: rgb(102,0,204)" class="ncontent" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor="#ffbbbb"&gt;&lt;p class="note"&gt;&lt;b&gt;Warning: &lt;/b&gt;This document is not intended to be an LVM2 tutorial. It serves as a supplement to the Gentoo installation procedure as described in the &lt;a href="http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1"&gt;Handbook, Part 1&lt;/a&gt;. Make sure you &lt;span class="emphasis"&gt;read&lt;/span&gt; the Gentoo Installation Manual &lt;span class="emphasis"&gt;before&lt;/span&gt; you start your installation process. &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table style="COLOR: rgb(102,0,204)" class="ncontent" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor="#bbffbb"&gt;&lt;p class="note"&gt;&lt;b&gt;Note: &lt;/b&gt;For a complete LVM HOWTO point your browser to &lt;a href="http://tldp.org/HOWTO/LVM-HOWTO"&gt;http://tldp.org/HOWTO/LVM-HOWTO&lt;/a&gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-size:85%;color:violet;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="COLOR: rgb(255,255,51)" class="secthead"&gt;&lt;span style="font-size:85%;"&gt;&lt;a name="doc_chap1_sect2"&gt;Initial requirements&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:85%;color:violet;"&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="color:violet;"&gt;&lt;span style="font-size:85%;"&gt;If you do a fresh install of Gentoo, you will need to use a bootable CD with LVM2 support such as a Gentoo Installation CD. You can find the Installation CDs for an x86 architecture on our &lt;/span&gt;&lt;a href="http://www.gentoo.org/main/en/mirrors.xml"&gt;&lt;span style="font-size:85%;"&gt;mirrors&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; under &lt;span dir="ltr" class="path"&gt;/releases/x86/current/installcd&lt;/span&gt;. Other architectures might be supported as well. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="color:violet;"&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;If you install LVM2 on a currently running system with some spare hard disk space, you will need to enable the LVM2 module (&lt;span dir="ltr" class="path"&gt;dm-mod&lt;/span&gt;). This module is available in &lt;span dir="ltr" class="path"&gt;gentoo-sources&lt;/span&gt;. Compiling your kernel and getting LVM2 to work is covered later in this guide. &lt;/span&gt;&lt;/p&gt;&lt;span style="color:violet;"&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;Not all 2.4 kernels provided by Gentoo support LVM2! &lt;/span&gt;&lt;/p&gt;&lt;span style="color:violet;"&gt;&lt;/span&gt;&lt;p style="COLOR: rgb(255,255,51)" class="secthead"&gt;&lt;span style="font-size:85%;"&gt;&lt;a name="doc_chap1_sect3"&gt;Partitions&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:85%;color:violet;"&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;Our example system has two IDE hard disks and will be partitioned as follows: &lt;/span&gt;&lt;/p&gt;&lt;span style="color:violet;"&gt;&lt;/span&gt;&lt;ul&gt;&lt;span style="font-size:85%;color:violet;"&gt;&lt;li&gt;/dev/hda1 -- /boot&lt;/li&gt;&lt;li&gt;/dev/hda2 -- (swap)&lt;/li&gt;&lt;li&gt;/dev/hda3 -- /&lt;/li&gt;&lt;li&gt;/dev/hda4 -- Will be used by LVM2&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;/dev/hdb1 -- Will be used by LVM2&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;table style="COLOR: rgb(0,102,0)" class="ncontent" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor="#ffffbb"&gt;&lt;p class="note"&gt;&lt;b&gt;Important: &lt;/b&gt;Pay attention to the partition names as it is easy to confuse the a's and b's, and the partition numbers. One false move could wipe out the wrong partition. You have been warned! &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;OK, time to start... &lt;/p&gt;&lt;/li&gt;&lt;/span&gt;&lt;/ul&gt;&lt;span style="font-size:100%;color:violet;"&gt;&lt;/span&gt;&lt;span style="color:violet;"&gt;&lt;/span&gt;&lt;p class="chaphead"&gt;&lt;span style="color:violet;"&gt;&lt;a name="doc_chap2"&gt;&lt;/a&gt;&lt;span class="chapnum"  style="font-size:130%;"&gt;&lt;span style="color:blue;"&gt;2.&lt;/span&gt; &lt;/span&gt;&lt;span style="font-size:130%;color:blue;"&gt;Installation&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="color:violet;"&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;Follow the handbook, but with the following amendments to chapter &lt;span class="emphasis"&gt;4. Preparing the Disks&lt;/span&gt;: &lt;/span&gt;&lt;/p&gt;&lt;span style="color:violet;"&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;Use &lt;span dir="ltr" class="code"&gt;fdisk&lt;/span&gt; as described in the handbook, but use the partition scheme mentioned above as an example. It is only &lt;span class="emphasis"&gt;an example&lt;/span&gt;, adapt it to your own needs. &lt;/span&gt;&lt;/p&gt;&lt;span style="color:violet;"&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;Create a small physical &lt;span dir="ltr" class="path"&gt;/boot&lt;/span&gt; partition (hda1). In this example, &lt;span dir="ltr" class="path"&gt;/boot&lt;/span&gt; will be not managed by LVM2. This partition will contain your bootloader and your kernel(s). A 64MB partition should be well enough for quite a few kernel generations. &lt;/span&gt;&lt;/p&gt;&lt;span style="color:violet;"&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;Create a swap partition (hda2). &lt;/span&gt;&lt;/p&gt;&lt;span style="color:violet;"&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;Create a / (root) partition (hda3). If you are interested in trying to put your root partition under LVM management (which we do not recommend), see the resources section at the end of this guide for a link to a mini-howto on how to do this. The size of the root partition need not be large if you will keep &lt;span dir="ltr" class="path"&gt;/opt /usr /home /var&lt;/span&gt; and &lt;span dir="ltr" class="path"&gt;/tmp&lt;/span&gt; in an LVM2 Volume Group (vg). In this case, 1GB should be sufficient.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;table style="COLOR: rgb(102,0,204)" class="ncontent" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor="#bbffbb"&gt;&lt;p class="note"&gt;&lt;b&gt;Note: &lt;/b&gt;It is &lt;b&gt;not&lt;/b&gt; recommended to put the following directories in an LVM2 partition: &lt;span dir="ltr" class="path"&gt;/etc&lt;/span&gt;, &lt;span dir="ltr" class="path"&gt;/lib&lt;/span&gt;, &lt;span dir="ltr" class="path"&gt;/mnt&lt;/span&gt;, &lt;span dir="ltr" class="path"&gt;/proc&lt;/span&gt;, &lt;span dir="ltr" class="path"&gt;/sbin&lt;/span&gt;, &lt;span dir="ltr" class="path"&gt;/dev&lt;/span&gt;, and &lt;span dir="ltr" class="path"&gt;/root&lt;/span&gt;. This way, you would still be able to log into your system (crippled, but still somewhat usable, as root) if something goes terribly wrong. &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-size:100%;color:violet;"&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;Assuming the &lt;span dir="ltr" class="path"&gt;/boot&lt;/span&gt;, swap and root partitions do not use the whole physical disk, create a fourth partition on this disk and set it to type 8e (Linux LVM). If you have more physical drives you would like to use with LVM, create one partition on each and give them the same type (8e).&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;table style="COLOR: rgb(102,0,204)" class="ncontent" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor="#bbffbb"&gt;&lt;p class="note"&gt;&lt;b&gt;Note: &lt;/b&gt;Considering the huge size of current disks, you might consider splitting your hard disks into smaller partitions instead of creating a big partition that will be added to an LVM2 volume group in one block. LVM2 makes it easy to extend your volumes after all. This leaves you some unallocated partitions you might need to use outside of an LVM2 group. In short, don't use your disk space until you know you need it. As an example, one contributor had split his 160 Gb hard disk into 8 partitions of 20 Gb each. &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-size:100%;color:violet;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;Create the filesystems on &lt;span dir="ltr" class="path"&gt;/dev/hda1&lt;/span&gt; and &lt;span dir="ltr" class="path"&gt;/dev/hda3&lt;/span&gt;, and create and activate the swap on &lt;span dir="ltr" class="path"&gt;/dev/hda2&lt;/span&gt; as described in the handbook. &lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:85%;color:violet;"&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;Load the LVM2 &lt;span dir="ltr" class="path"&gt;dm-mod&lt;/span&gt; module.&lt;/span&gt;&lt;/p&gt;&lt;a name="doc_chap2_pre1"&gt;&lt;/a&gt;&lt;table class="ntable" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td  style="color:#7a5ada;"&gt;&lt;p class="codetitle"&gt;&lt;span style="color:#33ccff;"&gt;Code Listing 2.1: Loading the LVM2 module&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="COLOR: rgb(238,238,255)" dir="ltr" align="left" bg=""&gt;&lt;pre&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;modprobe dm-mod&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;Before scanning and activating LVM, you might want to edit &lt;span dir="ltr" class="path"&gt;/etc/lvm/lvm.conf&lt;/span&gt; to exclude some devices. By default, LVM2 will scan all devices, even your CDROM which can generate error messages. In the following example, the line that allows scanning of all devices is replaced by one that rejects every device but our two IDE disks. &lt;/span&gt;&lt;a name="doc_chap2_pre2"&gt;&lt;/a&gt;&lt;/p&gt;&lt;table class="ntable" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td  style="color:#7a5ada;"&gt;&lt;p class="codetitle"&gt;&lt;span style="color:#33ccff;"&gt;Code Listing 2.2: Activating LVM&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="COLOR: rgb(238,238,255)" dir="ltr" align="left" bg=""&gt;&lt;pre&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;(Avoid scanning all devices but our disks)&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;nano -w /etc/lvm/lvm.conf&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;(Look for the following line)&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;   filter = [ "a/.*/" ]&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;(Replace it with the following one to scan&lt;br /&gt;/dev/hda and /dev/hdb and reject anything else)&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;   filter = [ "a/dev/hd[ab]", "r/.*/" ]&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;(Save the file and quit nano)&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;vgscan&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt; Reading all physical volumes.  This may take a while...&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt; No volume groups found&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;(Make any previously set up volume groups available)&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;vgchange -a y&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#33ccff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-size:85%;color:violet;"&gt;&lt;a name="doc_chap2_pre2"&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;Prepare the partitions.&lt;/span&gt;&lt;/p&gt;&lt;a name="doc_chap2_pre3"&gt;&lt;/a&gt;&lt;table class="ntable" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td  style="color:#7a5ada;"&gt;&lt;p class="codetitle"&gt;&lt;span style="color:#33ccff;"&gt;Code Listing 2.3: Preparing the partitions&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="COLOR: rgb(238,238,255)" dir="ltr" align="left" bg=""&gt;&lt;pre&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;pvcreate /dev/hda4 /dev/hdb1&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt; No physical volume label read from /dev/hda4&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt; Physical volume "/dev/hda4" successfully created&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt; No physical volume label read from /dev/hdb1&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt; Physical volume "/dev/hdb1" successfully created&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-size:85%;color:violet;"&gt;&lt;a name="doc_chap2_pre3"&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;Setup a volume group. A volume group is the result of combining several physical units into a single logical device. &lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:85%;color:violet;"&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;In our example, &lt;span dir="ltr" class="path"&gt;/dev/hda1&lt;/span&gt;, &lt;span dir="ltr" class="path"&gt;/dev/hda2&lt;/span&gt; and &lt;span dir="ltr" class="path"&gt;/dev/hda3&lt;/span&gt; are the &lt;span dir="ltr" class="path"&gt;/boot&lt;/span&gt;, swap and root partitions so we need to combine &lt;span dir="ltr" class="path"&gt;/dev/hda4&lt;/span&gt; and &lt;span dir="ltr" class="path"&gt;/dev/hdb1&lt;/span&gt;. It can be done with a single command, but, as an example, we will create our volume group and extend it.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span dir="ltr" class="path"&gt;&lt;/span&gt;&lt;a name="doc_chap2_pre4"&gt;&lt;/a&gt;&lt;/p&gt;&lt;table class="ntable" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td  style="color:#7a5ada;"&gt;&lt;p class="codetitle"&gt;&lt;span style="color:#33ccff;"&gt;Code Listing 2.4: Creating and extending a volume group&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="COLOR: rgb(0,0,102)"&gt;&lt;td style="COLOR: rgb(238,238,255)" dir="ltr" align="left" bg=""&gt;&lt;pre&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;(Create a volume group named vg)&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;vgcreate vg /dev/hda4&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;/etc/lvm/backup: fsync failed: Invalid argument &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;(Ignore this warning)&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;Volume group "vg" successfully created&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;(Extending an existing volume group)&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;vgextend vg /dev/hdb1&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;/etc/lvm/backup: fsync failed: Invalid argument &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;(Ignore this warning, &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;again &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;and &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;later as well) &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;Volume group "vg" successfully extended&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-size:85%;color:violet;"&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;Create the logical volumes. Logical volumes are the equivalent of partitions you would create using fdisk in a non LVM2 environment. In our example, we create the following partitions: &lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:85%;color:violet;"&gt;&lt;table class="ntable"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="infohead"&gt;&lt;span style="font-size:100%;color:#33ccff;"&gt;&lt;b&gt;Directory&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td class="infohead"&gt;&lt;span style="font-size:100%;color:#33ccff;"&gt;&lt;b&gt;Size&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tableinfo"&gt;&lt;span style="font-size:100%;color:#33ccff;"&gt;/usr&lt;/span&gt;&lt;/td&gt;&lt;td class="tableinfo"&gt;&lt;span style="font-size:100%;color:#33ccff;"&gt;10 GB&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tableinfo"&gt;&lt;span style="font-size:100%;color:#33ccff;"&gt;/home&lt;/span&gt;&lt;/td&gt;&lt;td class="tableinfo"&gt;&lt;span style="font-size:100%;color:#33ccff;"&gt;5 GB&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tableinfo"&gt;&lt;span style="font-size:100%;color:#33ccff;"&gt;/opt&lt;/span&gt;&lt;/td&gt;&lt;td class="tableinfo"&gt;&lt;span style="font-size:100%;color:#33ccff;"&gt;5 GB&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tableinfo"&gt;&lt;span style="font-size:100%;color:#33ccff;"&gt;/var&lt;/span&gt;&lt;/td&gt;&lt;td class="tableinfo"&gt;&lt;span style="font-size:100%;color:#33ccff;"&gt;10 GB&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tableinfo"&gt;&lt;span style="font-size:100%;color:#33ccff;"&gt;/tmp&lt;/span&gt;&lt;/td&gt;&lt;td class="tableinfo"&gt;&lt;span style="font-size:100%;color:#33ccff;"&gt;2 GB&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;Since we are going to use LVM2, we should not worry too much about partition sizes because they can always be expanded as needed.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;table style="COLOR: rgb(102,0,204)" class="ncontent" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor="#bbffbb"&gt;&lt;p class="note"&gt;&lt;b&gt;Note: &lt;/b&gt;As Terje Kvernes commented, it is easier to increase the size of a partition then to shrink it. You might therefore want to start with smaller partitions and increase their size as needed. &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;a name="doc_chap2_pre5"&gt;&lt;/a&gt;&lt;table class="ntable" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td  style="color:#7a5ada;"&gt;&lt;p class="codetitle"&gt;&lt;span style="color:#33ccff;"&gt;Code Listing 2.5: Creating and extending logical volumes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="COLOR: rgb(238,238,255)" dir="ltr" align="left" bg=""&gt;&lt;pre&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;lvcreate -L10G -nusr  vg&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt; Logical volume "usr" created &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;(Further similar messages not displayed)&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;lvcreate -L5G  -nhome vg&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;lvcreate -L5G  -nopt  vg&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;lvcreate -L10G -nvar  vg&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;lvcreate -L2G  -ntmp  vg&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;(As an example, let's extend a logical volume with 5 extra Gbytes)&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;lvextend -L+5G /dev/vg/home&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-size:85%;color:violet;"&gt;&lt;a name="doc_chap2_pre5"&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;Create filesystems on the logical volumes the same way you would on a regular partition. We use ext3 on the logical volumes but any filesystem of your choice will work: &lt;/span&gt;&lt;a name="doc_chap2_pre6"&gt;&lt;/a&gt;&lt;/p&gt;&lt;table class="ntable" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td  style="color:#7a5ada;"&gt;&lt;p class="codetitle"&gt;&lt;span style="color:#33ccff;"&gt;Code Listing 2.6: Creating the filesystems&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="COLOR: rgb(238,238,255)" dir="ltr" align="left" bg=""&gt;&lt;pre&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;mke2fs -j /dev/vg/usr&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;mke2fs -j /dev/vg/home&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;mke2fs -j /dev/vg/opt&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;mke2fs -j /dev/vg/var&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;mke2fs -j /dev/vg/tmp&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-size:85%;color:violet;"&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;Mount your partitions as described in the handbook and mount your LVM2 logical volumes as if they were partitions. Replace the usual &lt;span dir="ltr" class="path"&gt;/dev/hdxx&lt;/span&gt; with &lt;span dir="ltr" class="path"&gt;/dev/vg/logical_volumename&lt;/span&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span dir="ltr" class="path"&gt;&lt;/span&gt;&lt;a name="doc_chap2_pre7"&gt;&lt;/a&gt;&lt;/p&gt;&lt;table class="ntable" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td  style="color:#7a5ada;"&gt;&lt;p class="codetitle"&gt;&lt;span style="color:#33ccff;"&gt;Code Listing 2.7: Mounting your logical volumes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="COLOR: rgb(238,238,255)" dir="ltr" align="left" bg=""&gt;&lt;pre&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;(Make sure you have mounted your root partition as described in the &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;handbook &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;first)&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;mkdir /mnt/gentoo/usr&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;mount /dev/vg/usr /mnt/gentoo/usr&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;mkdir /mnt/gentoo/home&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;mount /dev/vg/home /mnt/gentoo/home&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;mkdir /mnt/gentoo/opt&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;mount /dev/vg/opt /mnt/gentoo/opt&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;mkdir /mnt/gentoo/var&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;mount /dev/vg/var /mnt/gentoo/var&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;mkdir /mnt/gentoo/tmp&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;mount /dev/vg/tmp /mnt/gentoo/tmp&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table style="COLOR: rgb(0,0,102)" class="ncontent" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor="#bbffbb"&gt;&lt;p class="note"&gt;&lt;b&gt;Note: &lt;/b&gt;The rest of the installation handbook is mostly unchanged so we shall not walk you through it again except to point out differences. &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-size:85%;color:violet;"&gt;&lt;a name="doc_chap2_pre7"&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;When configuring your kernel, make sure to configure your kernel to support LVM2 (not all 2.4 kernels do). Select the LVM2 module as follows:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name="doc_chap2_pre8"&gt;&lt;/a&gt;&lt;table class="ntable" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td  style="color:#7a5ada;"&gt;&lt;p class="codetitle"&gt;&lt;span style="color:#33ccff;"&gt;Code Listing 2.8: Selecting the LVM2 module in a 2.4.x kernel&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="COLOR: rgb(238,238,255)" dir="ltr" align="left" bg=""&gt;&lt;pre&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;Multi-device support (RAID and LVM)  ---&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt; [*] Multiple devices driver support (RAID and LVM)&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt; &lt; &gt;  RAID support&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;(Note that LVM is not selected on purpose, this was for LVM1)&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt; &lt; &gt;  Logical volume manager (LVM) support&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt; &lt;/span&gt;&lt;m&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;  Device-mapper support&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt; &lt; &gt;   Mirror (RAID-1) support&lt;/span&gt;&lt;br /&gt;&lt;/m&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;a name="doc_chap2_pre9"&gt;&lt;/a&gt;&lt;table class="ntable" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td  style="color:#7a5ada;"&gt;&lt;p class="codetitle"&gt;&lt;span style="color:#33ccff;"&gt;Code Listing 2.9: Selecting the LVM2 module in a 2.6.x kernel&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="COLOR: rgb(238,238,255)" dir="ltr" align="left" bg=""&gt;&lt;pre&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;Device Drivers  ---&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;Multi-device support (RAID and LVM)  ---&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;  [*] Multiple devices driver support (RAID and LVM)&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;  &lt; &gt;   RAID support&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;  &lt;/span&gt;&lt;m&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;   Device mapper support&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/m&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-size:85%;color:violet;"&gt;&lt;a name="doc_chap2_pre8"&gt;&lt;/a&gt;&lt;a name="doc_chap2_pre9"&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;The compiled module is called &lt;span dir="ltr" class="path"&gt;dm-mod.ko&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:85%;color:violet;"&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;After you have built your kernel and installed its modules, add the following line to your &lt;span dir="ltr" class="path"&gt;/etc/modules.autoload.d/kernel-{KV}&lt;/span&gt; where {KV} represents your kernel version (2.4 or 2.6) so that the LVM2 module gets loaded when your machine is booted: &lt;/span&gt;&lt;a name="doc_chap2_pre10"&gt;&lt;/a&gt;&lt;/p&gt;&lt;table class="ntable" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td  style="color:#7a5ada;"&gt;&lt;p class="codetitle"&gt;&lt;span style="color:#33ccff;"&gt;Code Listing 2.10: Adding the LVM2 module into /etc/modules.autoload.d/kernel-2.6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="COLOR: rgb(238,238,255)" dir="ltr" align="left" bg=""&gt;&lt;pre&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;nano -w /etc/modules.autoload.d/kernel-2.6&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;(Add the following line)&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;dm-mod&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-size:85%;color:violet;"&gt;&lt;a name="doc_chap2_pre10"&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;Now, install the lvm2 package.&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;table style="COLOR: rgb(0,102,0)" class="ncontent" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor="#ffffbb"&gt;&lt;p class="note"&gt;&lt;b&gt;Important: &lt;/b&gt;Make sure your &lt;span dir="ltr" class="path"&gt;/usr/src/linux&lt;/span&gt; link points to the kernel sources you are using because the lvm2 ebuild depends on the device-mapper ebuild which will check the presence of a required source file under &lt;span dir="ltr" class="path"&gt;/usr/src/linux/include/linux&lt;/span&gt;. &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;a name="doc_chap2_pre11"&gt;&lt;/a&gt;&lt;table class="ntable" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td  style="color:#7a5ada;"&gt;&lt;p class="codetitle"&gt;&lt;span style="color:#33ccff;"&gt;Code Listing 2.11: Emerging the LVM2 package&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="COLOR: rgb(238,238,255)" dir="ltr" align="left" bg=""&gt;&lt;pre&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;emerge lvm2&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span dir="ltr" class="path"&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:violet;"&gt;&lt;a name="doc_chap2_pre11"&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;Edit &lt;span dir="ltr" class="path"&gt;/etc/lvm/lvm.conf&lt;/span&gt; as described &lt;a href="http://www.gentoo.org/doc/en/lvm2.xml#doc_chap2_pre2"&gt;earlier&lt;/a&gt;. The file you previously edited is part of your installation environment and will disappear after the next reboot. This time, you edit the real one inside your new Gentoo install. &lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:85%;color:violet;"&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;When editing your &lt;span dir="ltr" class="path"&gt;/etc/fstab&lt;/span&gt; file, follow the handbook and add your LVM2 logical volumes as needed. Again, here are a few lines needed for our example: &lt;/span&gt;&lt;a name="doc_chap2_pre12"&gt;&lt;/a&gt;&lt;/p&gt;&lt;table class="ntable" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td  style="color:#7a5ada;"&gt;&lt;p class="codetitle"&gt;&lt;span style="color:#33ccff;"&gt;Code Listing 2.12: Extract of /etc/fstab&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="COLOR: rgb(238,238,255)" dir="ltr" align="left" bg=""&gt;&lt;pre&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;/dev/hda1     /boot   ext3    noauto,noatime 1 2&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;/dev/hda2     none    swap    sw             0 0&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;/dev/hda3     /       ext3    noatime        0 1&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# Logical volumes&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;/dev/vg/usr   /usr    ext3    noatime        0 2&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;/dev/vg/home  /home   ext3    noatime        0 2&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;/dev/vg/opt   /opt    ext3    noatime        0 2&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;/dev/vg/var   /var    ext3    noatime        0 2&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;/dev/vg/tmp   /tmp    ext3    noatime        0 2&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-size:85%;color:violet;"&gt;&lt;a name="doc_chap2_pre12"&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;When you reach the end of the installation part of the handbook, don't forget to umount all your LVM2 logical volumes as well and for a good measure run the following command before you reboot: &lt;/span&gt;&lt;a name="doc_chap2_pre13"&gt;&lt;/a&gt;&lt;/p&gt;&lt;table class="ntable" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td  style="color:#7a5ada;"&gt;&lt;p class="codetitle"&gt;&lt;span style="color:#33ccff;"&gt;Code Listing 2.13: Shutting down LVM2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="COLOR: rgb(238,238,255)" dir="ltr" align="left" bg=""&gt;&lt;pre&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;vgchange -a n&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-size:85%;color:violet;"&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;Restart your machine and all partitions should be visible and mounted. &lt;/span&gt;&lt;/p&gt;&lt;span style="color:violet;"&gt;&lt;/span&gt;&lt;p class="chaphead"&gt;&lt;span style="color:violet;"&gt;&lt;a name="doc_chap3"&gt;&lt;/a&gt;&lt;span class="chapnum"  style="font-size:130%;"&gt;&lt;span style="color:blue;"&gt;3.&lt;/span&gt; &lt;/span&gt;&lt;span style="font-size:130%;color:blue;"&gt;Continuing After a Reboot&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="color:violet;"&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="color:violet;"&gt;&lt;span style="font-size:85%;"&gt;If you have interrupted the Gentoo installation at one point and want to continue, you need to create the volume device nodes first:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name="doc_chap3_pre1"&gt;&lt;/a&gt;&lt;table class="ntable" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td  style="color:#7a5ada;"&gt;&lt;p class="codetitle"&gt;&lt;span style="color:#33ccff;"&gt;Code Listing 3.1: Reactivating the volumes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="COLOR: rgb(238,238,255)" dir="ltr" align="left" bg=""&gt;&lt;pre&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;vgscan --mknodes&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-size:85%;color:violet;"&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;color:violet;"&gt;Installation CDs with less recent tools might need to reactivate the volumes instead:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name="doc_chap3_pre2"&gt;&lt;/a&gt;&lt;table class="ntable" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td  style="color:#7a5ada;"&gt;&lt;p class="codetitle"&gt;&lt;span style="color:#33ccff;"&gt;Code Listing 3.2: Reactivating the volumes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="COLOR: rgb(238,238,255)" dir="ltr" align="left" bg=""&gt;&lt;pre&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;(Deactivate all volumes first)&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;vgchange -a n&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;(Export all the volumes)&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;vgexport -a vg&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;(Import all volumes)&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;vgimport -a vg&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-comment"&gt;(Reactivate all volumes)&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;# &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,102)" class="code-input"&gt;vgchange -a y&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="color:violet;"&gt;&lt;a name="doc_chap3_pre2"&gt;&lt;/a&gt;&lt;/span&gt;&lt;p class="chaphead"&gt;&lt;span style="color:violet;"&gt;&lt;a name="doc_chap4"&gt;&lt;/a&gt;&lt;span class="chapnum"  style="font-size:130%;"&gt;&lt;span style="color:blue;"&gt;4.&lt;/span&gt; &lt;/span&gt;&lt;span style="font-size:130%;color:blue;"&gt;Resources&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="color:violet;"&gt;&lt;/span&gt;&lt;ul&gt;&lt;span style="color:violet;"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;The official &lt;a href="http://sources.redhat.com/lvm2"&gt;LVM2 home page&lt;/a&gt;&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;The &lt;a href="http://tldp.org/HOWTO/LVM-HOWTO"&gt;LVM Howto&lt;/a&gt;&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Daniel Robbins's articles on LVM for IBM's DeveloperWorks: &lt;a href="http://www.gentoo.org/doc/en/articles/lvm-p1.xml"&gt;Part 1&lt;/a&gt; and &lt;a href="http://www.gentoo.org/doc/en/articles/lvm-p2.xml"&gt;Part 2&lt;/a&gt;&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;How to boot your root FS off of LVM1: &lt;a href="http://www.the-infinite.org/archive/docs/lvm/howto-boot-off-root-lv.txt"&gt;http://www.the-infinite.org/archive/docs/lvm/howto-boot-off-root-lv.txt&lt;/a&gt;&lt;/span&gt; &lt;/li&gt;&lt;/span&gt;&lt;/ul&gt;&lt;span style="color:violet;"&gt;&lt;/span&gt;&lt;p class="chaphead"&gt;&lt;span style="color:violet;"&gt;&lt;a name="doc_chap5"&gt;&lt;/a&gt;&lt;span class="chapnum"  style="font-size:130%;"&gt;&lt;span style="color:blue;"&gt;5.&lt;/span&gt; &lt;/span&gt;&lt;span style="font-size:130%;color:blue;"&gt;Acknowledgements&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="color:violet;"&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="color:violet;"&gt;&lt;span style="font-size:85%;"&gt;Thanks &lt;a href="mailto:bangert@gentoo.org"&gt;Thilo Bangert&lt;/a&gt; and &lt;a href="mailto:terjekv@math.uio.no"&gt;Terje Kvernes&lt;/a&gt; for their help and comments on this document.&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;center&gt;&lt;span style="color:red;"&gt;&lt;&lt;----------------------------&gt;&gt;&lt;/span&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;span style="color:orange;"&gt;Linux OS (UBUNTU)&lt;/span&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;marquee behavior="alternate" scrollamount="7"&gt;&lt;span style="color:orange;"&gt;&lt;b&gt;Ubuntu Linux&lt;/b&gt;&lt;/span&gt;&lt;/marquee&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:violet;"&gt;&lt;br /&gt;&lt;span style="color:yellow;"&gt;&lt;b&gt;GET UBUNTU&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;To get &lt;span style="color:pink;"&gt;&lt;i&gt;Ubuntu&lt;/i&gt;&lt;/span&gt;, click on the following link:&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.ubuntu.com/getubuntu/download" target="_blank"&gt;&lt;span style="font-family:times new roman;"&gt;http://www.ubuntu.com/getubuntu/download&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;For this installation I recommend you simply choose the Desktop Edition of Ubuntu.&lt;br /&gt;&lt;br /&gt;Start now by selecting the closest location to you in the dropdown.&lt;br /&gt;Scroll down and ensure 32bit version is selected.&lt;br /&gt;Select Begin Download.&lt;br /&gt;Once finished, locate the downloaded file; it will be named something similar to&lt;br /&gt;ubuntu-9.04-desktop-i386.iso&lt;br /&gt;&lt;br /&gt;To create a bootable disk from the .iso, you may wish to use the useful tool named Burn. Go to the following link to get this tool, or simply choose a burner of your preference:&lt;br /&gt;&lt;/span&gt;&lt;a href="http://burn-osx.sourceforge.net/Pages/English/home.html" target="_blank"&gt;&lt;span style="font-family:times new roman;"&gt;http://burn-osx.sourceforge.net/Pages/English/home.html&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:times new roman;font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;No, you do NOT have to use this tool, but it has several advantages and I include it in the process simply as an example of the ISO burning process. The nice thing about Burn is that you simply download, install, and open. PLUS, often the biggest issue with an install is an improperly burned ISO, and this tool helped me get quick and correct burns each time.&lt;br /&gt;&lt;br /&gt;In Burn, go to the copy tab as shown below:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SrIH7ex45GI/AAAAAAAAAXE/XUN1mkyDcJo/s1600-h/1.jpg"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;strong&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 312px; DISPLAY: block; HEIGHT: 315px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5382373223117153378" border="0" alt="" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SrIH7ex45GI/AAAAAAAAAXE/XUN1mkyDcJo/s320/1.jpg" /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;Now just Drag the .iso file you downloaded to where it says, "Drop discs and images here."&lt;br /&gt;&lt;br /&gt;Insert a blank cd.&lt;br /&gt;Select Burn.&lt;br /&gt;Ensure Maximum possible is selected.&lt;br /&gt;Select Burn.&lt;br /&gt;Once complete, this is the Ubuntu Linux boot disk you will need for the next steps.&lt;/span&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="color:yellow;"&gt;DOWNLOAD VIRTUALBOX&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-family:times new roman;"&gt;&lt;span style="color:orange;"&gt;Virtual box&lt;/span&gt; is a fantastic and enterprise capable virtualizer for Mac hardware. For those not familiar with virtualizers, this tool allows you to install Ubuntu in a shared manner with another Operating System such as MacOS or Windows.&lt;br /&gt;&lt;br /&gt;You may wish to find out more about this SUN Microsystem's tool, as it is very useful for many virtualizing scenerios. Best of all, it is one of the only virtualization tools that is also Open Source Software.&lt;br /&gt;&lt;br /&gt;To get &lt;span style="color:pink;"&gt;&lt;i&gt;VirtualBox&lt;/i&gt;&lt;/span&gt; simply go to this link:&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.virtualbox.org/wiki/Downloads" target="_blank"&gt;&lt;span style="font-family:times new roman;"&gt;http://www.virtualbox.org/wiki/Downloads&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:times new roman;font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;Under VirtualBox Binaries, where it says VirtualBox 3.0.0 for OS X hosts, select "Intel Macs"&lt;br /&gt;Open the VirtualBox disk image and run the installer&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red;"&gt;&lt;i&gt;ADVANCED TIP:&lt;/i&gt;&lt;/span&gt; If you're a more advanced user, it's important to let you know that rather than burning the ISO to CDROM, then using the CD to install into Virtualbox, the CDROM drive in virtual box can be configured to point at the ISO file, eliminating the need to burn a disk.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:yellow;"&gt;START THE INSTALLATION&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-size:85%;"&gt;When you're ready, open VirtualBox from the Applications folder on your Mac.&lt;br /&gt;&lt;br /&gt;Begin the following series of steps:&lt;br /&gt;&lt;br /&gt;Register (optional)&lt;br /&gt;Select the "New" icon in the toolbar.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SrIJhgS7yxI/AAAAAAAAAXM/UcGlqqURyhA/s1600-h/2.jpg"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 63px; FLOAT: left; HEIGHT: 82px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5382374975870847762" border="0" alt="" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SrIJhgS7yxI/AAAAAAAAAXM/UcGlqqURyhA/s320/2.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;A new window will open.&lt;br /&gt;&lt;br /&gt;Select Next.&lt;br /&gt;Enter a Name for the virtual machine e.g. Ubuntu Linux.&lt;br /&gt;Change Operating System to Linux.&lt;br /&gt;Change Version to Ubuntu.&lt;br /&gt;&lt;br /&gt;Obviously you can apply this method to other Linux flavours if you wish.&lt;br /&gt;&lt;br /&gt;Select Next.&lt;br /&gt;Select amount of RAM to be used on the virtual machine.&lt;br /&gt;(384 recommended, I recommend 512 if you have 1GB RAM on your Mac).&lt;br /&gt;&lt;br /&gt;Select Next.&lt;br /&gt;Ensure Boot Hard Disk (Primary Master) is selected.&lt;br /&gt;Select "Create new hard disk."&lt;br /&gt;&lt;br /&gt;Now you need to again Select Next and once more Select Next.&lt;br /&gt;&lt;br /&gt;Choose "Dynamically expanding storage" ("Fixed-size storage" creates a fixed hard drive for Ubuntu, but "Dynamically expanding storage" only uses as much hard drive space as it needs to install and will thereafter expand as needed).&lt;br /&gt;Select Next.&lt;br /&gt;&lt;br /&gt;The Name you chose for the Virtual Machine earlier should now show under Location; if not then enter the same name as before under Location e.g. Ubuntu Linux, and select the amount of maximum space that the hard drive can use.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red;"&gt;&lt;i&gt;TIP:&lt;/i&gt;&lt;/span&gt; This will automatically be something like 8 GB but you can change it depending on your requirements. Or just leave it as it is and move on.&lt;br /&gt;&lt;br /&gt;Select Next.&lt;br /&gt;Now Select Finish.&lt;br /&gt;Finally Select Finish once more.&lt;br /&gt;&lt;br /&gt;You should now see something similar to this:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SrIKFRdQ0VI/AAAAAAAAAXU/bUZIP19Yv6E/s1600-h/3.jpg"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 268px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5382375590362927442" border="0" alt="" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SrIKFRdQ0VI/AAAAAAAAAXU/bUZIP19Yv6E/s320/3.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;When you're ready, please press the "Start" icon at the top.&lt;br /&gt;&lt;br /&gt;Now start this process:&lt;br /&gt;Select OK.&lt;br /&gt;Select Next.&lt;br /&gt;Ensure CD/DVD-ROM Device and Host Drive are selected (should be the default).&lt;br /&gt;Select Next.&lt;br /&gt;Insert previously created Ubuntu Linux bootable disk.&lt;br /&gt;Select Finish.&lt;br /&gt;&lt;br /&gt;At this point the disk will start booting.&lt;br /&gt;&lt;br /&gt;Select English or your preferred language.&lt;br /&gt;&lt;br /&gt;If a screen appears regarding the mouse or keyboard, take note of the host key; something like the Left Command key (also shown at the bottom right of the VirtualBox window). This is important so please don't forget what it indicates.&lt;br /&gt;Now select the checkbox "Don't show this message again" and select Capture (This will make the mouse change automatically when you select the virtual system.)&lt;br /&gt;&lt;br /&gt;Select Install Ubuntu.&lt;br /&gt;&lt;br /&gt;At this point you should get the following loading screen, which is Ubuntu starting:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SrIKjDAHFVI/AAAAAAAAAXc/zZkHQypq4uc/s1600-h/4.jpg"&gt;&lt;strong&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 251px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5382376101878633810" border="0" alt="" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SrIKjDAHFVI/AAAAAAAAAXc/zZkHQypq4uc/s320/4.jpg" /&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:yellow;"&gt;INITIAL UBUNTU SETUP&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-family:times new roman;"&gt;Once finished loading (this may take a few minutes), ensure your language is selected once again on the left panel and select Forward.&lt;br /&gt;&lt;br /&gt;Select your Time Zone on the map or by your region and city.&lt;br /&gt;Select Forward.&lt;br /&gt;Choose keyboard layout depending on the type of keyboard you have (to test, simply type digits into the typing box, ensuring that it enters the correct digits as on your keyboard).&lt;br /&gt;Select Forward.&lt;br /&gt;Choose "Use the entire disk."&lt;br /&gt;Select Forward.&lt;br /&gt;Fill in your name, account username, password (minimum eight digits recommended), and computer name for network visibility.&lt;br /&gt;Choose whether to log in automatically or require a password to log in.&lt;br /&gt;(I recommend that you do require a password, just take note of what you choose).&lt;br /&gt;Select Forward.&lt;br /&gt;Now, please Select Install.&lt;br /&gt;&lt;br /&gt;It should show the following installing system box with a status on the installation.&lt;br /&gt;&lt;br /&gt;Be patient, as this is nearly the final step, but unfortunately takes time. It can take anywhere from 10 minutes to an hour to install, depending on your system. Look at it this way, now is a perfect time to grab a tasty snack, sit back and enjoy an episode of your favourite TV show.&lt;br /&gt;&lt;br /&gt;You can check on the status of the installation, as shown below:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SrILAEGogYI/AAAAAAAAAXk/NDgu-dmCfHo/s1600-h/5.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 238px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5382376600390631810" border="0" alt="" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SrILAEGogYI/AAAAAAAAAXk/NDgu-dmCfHo/s320/5.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;When completed, please Select Restart Now (you should not restart the Mac itself, the VirtualBox will merely restart Ubuntu for you within the program).&lt;br /&gt;&lt;br /&gt;It will say on the Ubuntu restart "Please remove the disc, close the tray (if any) and press ENTER to continue"; when this happens, the eject button in OS X will not work therefore in the VirtualBox window, select Devices (on the top toolbar in OS X).&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SrILREvLRZI/AAAAAAAAAXs/OH24rB6dzpA/s1600-h/6.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 14px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5382376892618458514" border="0" alt="" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SrILREvLRZI/AAAAAAAAAXs/OH24rB6dzpA/s320/6.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;Select Unmount CD/DVD-ROM and press ENTER.&lt;br /&gt;Now you will be able to eject the disk from the computer.&lt;br /&gt;&lt;br /&gt;Enter your Username and Password (the one you should have noted earlier!).&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red;"&gt;&lt;i&gt;TIP:&lt;/i&gt;&lt;/span&gt; If you need more details with regard to Users and user privileges in Ubuntu, you may wish to review this article: &lt;/span&gt;&lt;a href="http://www.reallylinux.com/docs/usersubuntu.shtml"&gt;&lt;span style="font-family:times new roman;"&gt;http://www.reallylinux.com/docs/usersubuntu.shtml&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;Ubuntu will open and the Update Manager should automatically open (if not, it can be found in System/Administration).&lt;br /&gt;Select Install Updates (this may take a while depending on your internet speed).&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:yellow;"&gt;&lt;strong&gt;OUTSTANDING!&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;You should now have a virtual machine Ubuntu running inside OS X.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;(Optional to increase graphics performance)&lt;/i&gt;&lt;br /&gt;Whilst in Ubuntu,&lt;br /&gt;Select Devices at the top of the screen again&lt;br /&gt;Select Install Guest Additions&lt;br /&gt;This will open on your Ubuntu desktop as something similar to VBOXADDITIONS_3.0.0_49315&lt;br /&gt;Double click it to open&lt;br /&gt;Double click autorun.sh&lt;br /&gt;Select Run&lt;br /&gt;Enter your password&lt;br /&gt;It will open a terminal window and may take a couple of minutes to complete&lt;br /&gt;Once finished, it will say, "Successfully installed the VirtualBox Guest Additions."&lt;br /&gt;Press ENTER&lt;br /&gt;Restart Ubuntu&lt;br /&gt;Go to System/Preferences/Display to customize the screen size.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:yellow;"&gt;CONGRATUALTIONS and I give you a hearty welcome to Linux!&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-family:times new roman;"&gt;For further help with Linux, look over the list of the other articles here on the &lt;/span&gt;&lt;a href="http://www.reallylinux.com/docs/consult.shtml"&gt;&lt;span style="font-family:times new roman;"&gt;reallylinux.com website&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;, as there are plenty more beginner articles to get you started.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="color:yellow;"&gt;TROUBLESHOOTING&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-family:times new roman;"&gt;The process is fairly straightforward, but in case you encounter an issue, I try to provide some tips for the more common anomalies.&lt;br /&gt;&lt;br /&gt;If you get this message,&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SrIMd0hA82I/AAAAAAAAAX0/AMiLC8MLrqg/s1600-h/7.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 266px; DISPLAY: block; HEIGHT: 217px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5382378211114021730" border="0" alt="" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SrIMd0hA82I/AAAAAAAAAX0/AMiLC8MLrqg/s320/7.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;Select "Do not show this message again" and select OK&lt;br /&gt;&lt;br /&gt;To change the mouse back and forth simply click the Linux window to use Linux. To change back to Mac OS X, press the host key once (as indicated at the bottom right of the Linux window)&lt;br /&gt;&lt;br /&gt;If you get a black screen on the Linux window, simply double click to restore session.&lt;br /&gt;&lt;br /&gt;Note: to close VirtualBox, in the open Ubuntu window, select your name on the menubar and select shutdown; when it says Aborted or Powered Off under your Ubuntu Linux boot in the VirtualBox program, it is safe to close VirtualBox. To run in the future, simply open VirtualBox, select your operating system e.g. Ubuntu Linux and select Start&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SrIMvmBOONI/AAAAAAAAAX8/V37Sycg2hoc/s1600-h/8.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 229px; DISPLAY: block; HEIGHT: 136px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5382378516460222674" border="0" alt="" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SrIMvmBOONI/AAAAAAAAAX8/V37Sycg2hoc/s320/8.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;center&gt;&lt;span style="font-family:times new roman;"&gt;or&lt;/span&gt;&lt;/center&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SrIM6Ob9dkI/AAAAAAAAAYE/FIJ8Ivbl4jg/s1600-h/9.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 238px; DISPLAY: block; HEIGHT: 124px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5382378699108480578" border="0" alt="" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SrIM6Ob9dkI/AAAAAAAAAYE/FIJ8Ivbl4jg/s320/9.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;span style="font-family:times new roman;font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;If the installation fails for some reason or another, select the operating system name, while in VirtualBox, and then select Discard. Unfortunately, if a complete fail occurs, you will need to restart the installation process. Make sure your ISO burn is correct.&lt;br /&gt;&lt;br /&gt;You may also wish to review the article&lt;/span&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;a href="http://www.reallylinux.com/docs/basicubuntu.shtml" target="_blank"&gt;&lt;strong&gt;Exploring Linux with Ubuntu&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;.&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-3899518344250587572?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/3899518344250587572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/09/installation-process-of-2-open-source.html#comment-form' title='39 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/3899518344250587572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/3899518344250587572'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/09/installation-process-of-2-open-source.html' title='Installation Process of 2 Open Source OS'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQw1J9FhsI/AAAAAAAAAPY/8XXToPwHqP8/s72-c/gentoo_screenshot.jpg' height='72' width='72'/><thr:total>39</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-5438416533143500521</id><published>2009-09-17T02:32:00.002-07:00</published><updated>2009-09-17T04:15:55.911-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 9'/><title type='text'>Installation Process of 2 Windows OS</title><content type='html'>&lt;center&gt;&lt;span style="font-family:times new roman;font-size:130%;color:orange;"&gt;Windows 2000&lt;/span&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;marquee behavior="alternate" scrollamount="7"&gt;&lt;span style="color:orange;"&gt;&lt;b&gt;Windows 2000&lt;/b&gt;&lt;/span&gt;&lt;/marquee&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;span style="color:violet;"&gt;&lt;span style="font-family:times new roman;"&gt;The text-based portion of the Setup program&lt;br /&gt;The setup process begins loading a blue-looking text screen (not GUI). In that phase you will be asked to accept the EULA and choose a partition on which to install W2K, and if that partition is new, you'll be asked to format it by using either FAT, FAT32 or NTFS.&lt;br /&gt;Start the computer from the CD.&lt;br /&gt;You can press F6 if you need to install additional SCSI adapters or other mass-storage devices. If you do you will be asked to supply a floppy disk with the drivers and you CANNOT browse it (or a CD for that matter). Make sure you have one handy.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQnjMdJBlI/AAAAAAAAAMo/VSsh5Ou77lY/s1600-h/w2k_inst1.png"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 201px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297402547286902354" border="0" alt="" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQnjMdJBlI/AAAAAAAAAMo/VSsh5Ou77lY/s320/w2k_inst1.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;Setup will load all the needed files and drivers.&lt;br /&gt;Select To Setup W2K Now. If you want, and if you have a previous installation of the OS, you can try to fix it by pressing R. If not, just press ENTER.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQnqwEDFGI/AAAAAAAAAMw/k8usGddEmlw/s1600-h/w2k_inst2.png"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 198px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297402677104415842" border="0" alt="" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQnqwEDFGI/AAAAAAAAAMw/k8usGddEmlw/s320/w2k_inst2.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;In case your server is a new one, or it is using a new hard disk that hasn't been partitioned yet, you'll get a warning message. Read it, and if you want to continue, press C.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQoFIzWU7I/AAAAAAAAAM4/j7rl2lbcDrk/s1600-h/w2k_inst3.png"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 199px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297403130421859250" border="0" alt="" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQoFIzWU7I/AAAAAAAAAM4/j7rl2lbcDrk/s320/w2k_inst3.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;Read and accept the licensing agreement and press F8 if you accept it.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQoOkebTaI/AAAAAAAAANA/tXq1dLL9YeE/s1600-h/w2k_inst4.png"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 199px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297403292469120418" border="0" alt="" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQoOkebTaI/AAAAAAAAANA/tXq1dLL9YeE/s320/w2k_inst4.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;Select or create the partition on which you will install W2K. Depending upon your existing disk configuration choose one of the following:&lt;br /&gt;If the hard disk is not yet partitioned, you can create and size the partition on which you will install Windows 2000. Press C.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_R7P1OI3j7BI/SYQob7HppWI/AAAAAAAAANI/NHobsXAi2Ys/s1600-h/w2k_inst5.png"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 199px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297403521885906274" border="0" alt="" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/SYQob7HppWI/AAAAAAAAANI/NHobsXAi2Ys/s320/w2k_inst5.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQolbMBODI/AAAAAAAAANQ/5qDKxQrf9tk/s1600-h/w2k_inst6.png"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 199px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297403685112985650" border="0" alt="" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQolbMBODI/AAAAAAAAANQ/5qDKxQrf9tk/s320/w2k_inst6.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SYQor4aYQVI/AAAAAAAAANY/1xUNNXxPIaM/s1600-h/w2k_inst7.png"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 199px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297403796037058898" border="0" alt="" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SYQor4aYQVI/AAAAAAAAANY/1xUNNXxPIaM/s320/w2k_inst7.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;If the hard disk is new and you want to create a partition that will span the entire hard disk's size - press Enter.&lt;br /&gt;Other optionsL&lt;br /&gt;If the hard disk is already partitioned, but has enough unpartitioned disk space, you can create an additional partition in the unpartitioned space.&lt;br /&gt;If the hard disk already has a partition that is large enough, you can install Windows 2000 on that partition. If the partition has an existing operating system, you will overwrite that operating system if you accept the default installation path. However, files other than the operating system files, such as program files and data files, will not be overwritten.&lt;br /&gt;If the hard disk has an existing partition, you can delete it to create more unpartitioned space for the new partition. Deleting an existing partition erases all data on that partition.&lt;br /&gt;If you select a new partition during Setup, create and size only the partition on which you will install Windows 2000. After installation, use Disk Management to partition the remaining space on the hard disk.&lt;br /&gt;Select a file system for the installation partition. After you create the partition on which you will install W2K, you can use Setup to select the file system with which to format the partition. W2K supports the NTFS file system in addition to the file allocation table (FAT) and FAT32 file systems. Windows Server 2003, Windows XP Professional, Windows 2000, and Windows NT are the only Microsoft operating systems that you can use to gain access to data on a local hard disk that is formatted with NTFS. If you plan to gain access to files that are on a local W2K partition with the Microsoft Windows 95 or Windows 98 operating systems, you should format the partition with a FAT or FAT32 file system. We will use NTFS.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQo3A9JypI/AAAAAAAAANg/FFdUHYXul6w/s1600-h/w2k_inst8.png"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 198px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297403987308956306" border="0" alt="" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQo3A9JypI/AAAAAAAAANg/FFdUHYXul6w/s320/w2k_inst8.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQpD_dnfyI/AAAAAAAAANo/smyEwFhLVJk/s1600-h/w2k_inst9.png"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 198px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297404210246549282" border="0" alt="" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQpD_dnfyI/AAAAAAAAANo/smyEwFhLVJk/s320/w2k_inst9.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;Setup will then begin copying necessary files from the installation point (CD, local I386 or network share).&lt;br /&gt;Note: If you began the installation process from an MS-DOS floppy, make sure you have and run SMARTDRV from the floppy, otherwise the copying process will probably last more than an hour, perhaps even more. With SMARTDRV (or if setup was run by booting from CD) the copying will probably last a few minutes, no more than 5 max.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_R7P1OI3j7BI/SYQpRIII-BI/AAAAAAAAANw/v83B6wOOzJc/s1600-h/w2k_inst10.png"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 199px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297404435910686738" border="0" alt="" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/SYQpRIII-BI/AAAAAAAAANw/v83B6wOOzJc/s320/w2k_inst10.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;The computer will restart in graphical mode, and the installation will continue.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;i&gt;The GUI-based portion of the Setup program&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;The setup process reboots and loads a GUI mode phase.&lt;br /&gt;It will then begin to load device drivers based upon what it finds on your computer. You don't need to do anything at this stage.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_R7P1OI3j7BI/SYQpqKAgz8I/AAAAAAAAAN4/2z72bPKAWOM/s1600-h/w2k_inst11.png"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 240px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297404865912295362" border="0" alt="" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/SYQpqKAgz8I/AAAAAAAAAN4/2z72bPKAWOM/s320/w2k_inst11.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;If your computer stops responding during this phase (the progress bar is stuck almost half-way, and there is no disk activity) - shut down your computer and begin removing hardware such as PCI and ISA cards. If it works for you then later try to figure out how to make that specific piece of hardware work (it's probably not in the HCL).&lt;br /&gt;Click Customize to change regional settings, if necessary.&lt;br /&gt;Current System Locale - Affects how programs display dates, times, currency, and numbers. Choose the locale that matches your location, for example, French (Canada).&lt;br /&gt;Current Keyboard Layout - Accommodates the special characters and symbols used in different languages. Your keyboard layout determines which characters appear when you press keys on the keyboard.&lt;br /&gt;If you don't need to make any changes just press Next.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQp5PTpfWI/AAAAAAAAAOA/Lb0NIZBaVrw/s1600-h/w2k_inst12.png"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 241px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297405125032770914" border="0" alt="" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQp5PTpfWI/AAAAAAAAAOA/Lb0NIZBaVrw/s320/w2k_inst12.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;If you do need to make changes press Customize and add your System Locale etc.&lt;br /&gt;Note for Hebrew users: In W2K it is NOT SAFE to install Hebrew language support at this phase!!! Trust me, do it later. If you don't listen to me, good chances are that you'll get ???? fonts in some Office applications such as Outlook and others.&lt;br /&gt;Type your name and organization.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQqHVJMpnI/AAAAAAAAAOI/2jliBHeDWkc/s1600-h/w2k_inst13.png"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 240px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297405367117719154" border="0" alt="" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQqHVJMpnI/AAAAAAAAAOI/2jliBHeDWkc/s320/w2k_inst13.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;Type the product key&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_R7P1OI3j7BI/SYQqX6C1VNI/AAAAAAAAAOQ/hMowD5E2GDo/s1600-h/w2k_inst14.png"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 241px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297405651901043922" border="0" alt="" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/SYQqX6C1VNI/AAAAAAAAAOQ/hMowD5E2GDo/s320/w2k_inst14.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;If you'd like to skip &lt;span style="color:#ff99ff;"&gt;this&lt;/span&gt; step in the future, please read &lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: rgb(255,0,0)"&gt;&lt;/span&gt;&lt;a href="http://www.petri.co.il/install_windows_2000_without_supplying_the_cd_key.htm"&gt;&lt;span style="COLOR: rgb(255,0,0);font-family:times new roman;" &gt;Install Windows 2000 Without Supplying the CD Key&lt;/span&gt;&lt;/a&gt;&lt;span style="color:pink;"&gt;&lt;span style="font-family:times new roman;"&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:times new roman;color:#cc66cc;"&gt;Enter the appropriate license type and number of purchased licenses.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQqx8nC9wI/AAAAAAAAAOY/q1X_jbHgazo/s1600-h/w2k_inst15.png"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 241px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297406099266402050" border="0" alt="" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQqx8nC9wI/AAAAAAAAAOY/q1X_jbHgazo/s320/w2k_inst15.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#cc66cc;"&gt;Type the computer name and a password for the local Administrator account. The local Administrator account resides in the SAM of the computer, not in Active Directory. If you will be installing in a domain, you need either a pre-assigned computer name for which a domain account has been created, or the right to create a computer account within the domain.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SYQq_K2bT3I/AAAAAAAAAOg/HwP3KeJE0U8/s1600-h/w2k_inst16.png"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 241px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297406326427307890" border="0" alt="" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SYQq_K2bT3I/AAAAAAAAAOg/HwP3KeJE0U8/s320/w2k_inst16.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#cc66cc;"&gt;Choose which components to install or remove from the system.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQrH7Q_u7I/AAAAAAAAAOo/9CYcMA3XdhA/s1600-h/w2k_inst17.png"&gt;&lt;span style="font-family:times new roman;color:#cc66cc;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 240px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297406476862602162" border="0" alt="" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQrH7Q_u7I/AAAAAAAAAOo/9CYcMA3XdhA/s320/w2k_inst17.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;color:#cc66cc;"&gt;&lt;br /&gt;&lt;br /&gt;Select the date, time, and time zone settings.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_R7P1OI3j7BI/SYQrQkb2OQI/AAAAAAAAAOw/nSc1AcnqQoo/s1600-h/w2k_inst18.png"&gt;&lt;span style="font-family:times new roman;color:#cc66cc;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 240px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297406625352923394" border="0" alt="" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/SYQrQkb2OQI/AAAAAAAAAOw/nSc1AcnqQoo/s320/w2k_inst18.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;span style="color:#cc66cc;"&gt;&lt;br /&gt;&lt;br /&gt;Setup will now install the networking components.&lt;br /&gt;After a few seconds you will receive the Networking Settings window. BTW, if you have a NIC that is not in the HCL&lt;span style="color:#cc66cc;"&gt; &lt;/span&gt;&lt;span style="COLOR: rgb(255,0,0)"&gt;&lt;span style="color:#cc66cc;"&gt;(see the&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.petri.co.il/what"&gt;&lt;span style="COLOR: rgb(255,0,0);font-family:times new roman;" &gt;What's the HCL?&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;color:#cc66cc;"&gt; page)&lt;/span&gt;&lt;span style="font-family:times new roman;color:#cc66cc;"&gt; and W2K cannot detect it, or if you don't have a NIC at all, setup will skip this step and you will immediately go to the final phase of the setup process.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQrcqyr2iI/AAAAAAAAAO4/6wk1zmk5PkU/s1600-h/w2k_inst19.png"&gt;&lt;span style="font-family:times new roman;color:#cc66cc;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 240px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297406833217755682" border="0" alt="" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQrcqyr2iI/AAAAAAAAAO4/6wk1zmk5PkU/s320/w2k_inst19.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;color:#cc66cc;"&gt;&lt;br /&gt;&lt;br /&gt;Press Next to accept the Typical settings option if you have one of the following situations:&lt;br /&gt;You have a functional DHCP on your network.&lt;br /&gt;You have a computer running Internet Connection Sharing (ICS).&lt;br /&gt;You're in a workgroup environment and do not plan to have any other servers or Active Directory at all, and all other workgroup members are configured in the same manner.&lt;br /&gt;Otherwise select Custom Settings and press Next to customize your network settings.&lt;br /&gt;Highlight the TCP/IP selection and press Properties.&lt;br /&gt;In the General tab enter the required information. You must specify the IP address of the computer, and if you don't know what the Subnet Mask entry should be - you can simply place your mouse pointer over the empty area in the Subnet Mask box and click it. The OS will automatically select the value it thinks is good for the IP address you provided.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQrrI12T0I/AAAAAAAAAPA/3w7Ib5q2-HA/s1600-h/w2k_inst20.png"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 240px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297407081802256194" border="0" alt="" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQrrI12T0I/AAAAAAAAAPA/3w7Ib5q2-HA/s320/w2k_inst20.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:yellow;"&gt;Lamer note:&lt;/span&gt; &lt;span style="color:#cc66cc;"&gt;In the above screenshot I've configured the computer with a valid IP address for MY network, along with the Default Gateway and the address of MY DNS server. Your settings may differ.&lt;br /&gt;If you don't know what these values mean, or if you don't know what to write in them, press cancel and select the Typical Settings option. You can easily change these values later.&lt;br /&gt;In the Workgroup or Domain window enter the name of your workgroup or domain.&lt;br /&gt;A workgroup is a small group of computers on a network that enables users to work together and does not support centralized administration.&lt;br /&gt;A domain is a logical grouping of computers on a network that has a central security database for storing security information. Centralized security and administration are important for computers in a domain because they enable an administrator to easily manage computers that are geographically distant from each other. A domain is administered as a unit with common rules and procedures. Each domain has a unique name, and each computer within a domain has a unique name.&lt;br /&gt;If you're a stand-alone computer, or if you don't know what to enter, or if you don't have the sufficient rights to join a domain - leave the default entry selected and press Next.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQr9PbVELI/AAAAAAAAAPI/7v5fBpaD_XA/s1600-h/w2k_inst21.png"&gt;&lt;span style="font-family:times new roman;color:#cc66cc;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 240px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297407392807719090" border="0" alt="" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQr9PbVELI/AAAAAAAAAPI/7v5fBpaD_XA/s320/w2k_inst21.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family:times new roman;color:#cc66cc;"&gt;&lt;br /&gt;&lt;br /&gt;If you want to join a domain (NT 4.0 domain of W2K/2003 Active Directory domain) enter the domain's name in the "Yes, make this computer a member of the following domain" box.&lt;/span&gt;&lt;/center&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQsIDROOtI/AAAAAAAAAPQ/0XttB7sDgTA/s1600-h/w2k_inst22.png"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 241px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297407578522663634" border="0" alt="" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQsIDROOtI/AAAAAAAAAPQ/0XttB7sDgTA/s320/w2k_inst22.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;center&gt;&lt;span style="font-family:times new roman;color:red;"&gt;&lt;&lt;---------------------&gt;&gt;&lt;/span&gt;&lt;/center&gt;&lt;br /&gt;&lt;center&gt;&lt;span style="font-family:times new roman;font-size:130%;color:orange;"&gt;Windows XP&lt;/span&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;marquee behavior="alternate" scrollamount="7"&gt;&lt;span style="color:orange;"&gt;&lt;b&gt;Windows XP&lt;/b&gt;&lt;/span&gt;&lt;/marquee&gt;&lt;br /&gt;&lt;span style="color:violet;"&gt;&lt;center&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;This procedure demonstrates how to install Windows XP Professional. The procedure to install Windows XP home edition is very similar to the professional edition. Since Windows XP Pro is more advanced operating system, it will be used to demonstrate the installation procedure.&lt;br /&gt;The best way to install Windows XP is to do a clean install. It is not difficult to perform a clean installation. Before you perform the installation I recommend that you check&lt;strong&gt; &lt;span style="COLOR: rgb(51,51,255)"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;a href="ftp://ftp.microsoft.com/services/whql/hcl/WinXPHCLx86.txt" target="_blank"&gt;&lt;span style="COLOR: rgb(51,51,255);font-family:times new roman;" &gt;&lt;strong&gt;Windows XP Compatibility List&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="COLOR: rgb(51,51,255)"&gt;&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt; to ensure that your hardware is supported by XP. If your hardware is not on the compatibility list you can check your hardware manufactures website to download the drivers for Windows XP. Save all the necessary drivers onto floppy disks or CD before you start the installation.&lt;br /&gt;All versions of Windows XP CD are bootable. In order to boot from CD/DVD-ROM you need to set the boot sequence. Look for the boot sequence under your BIOS setup and make sure that the first boot device is set to CD/DVD-ROM. You can then perform the following steps to install Windows XP:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 1&lt;/strong&gt;&lt;/span&gt; - Start your PC and place your Windows XP CD in your CD/DVD-ROM drive. Your PC should automatically detect the CD and you will get a message saying "Press any key to boot from CD". Soon as computer starts booting from the CD your will get the following screen:&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SYQOAJM_WyI/AAAAAAAAAFw/64g1y2K3sRw/s1600-h/1.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 300px; DISPLAY: block; HEIGHT: 167px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297374457327737634" border="0" alt="" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SYQOAJM_WyI/AAAAAAAAAFw/64g1y2K3sRw/s320/1.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 2&lt;/strong&gt;&lt;/span&gt; - At this stage it will ask you to press F6 if you want to install a third party Raid or SCSI driver. If you are using a an IDE Hard Drive then you do not need to press F6. If you are using a SCSI or SATA Hard drive then you must press F6 otherwise Windows will not detect your Hard Drive during the installation. Please make sure you have the Raid drivers on a floppy disk. Normally the drivers are supplied on a CD which you can copy to a floppy disk ready to be installed. If you are not sure how to do this then please read your motherboard manuals for more information.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQO_3FntNI/AAAAAAAAAF4/CsZQxxddXWk/s1600-h/2.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 300px; DISPLAY: block; HEIGHT: 167px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297375551976617170" border="0" alt="" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQO_3FntNI/AAAAAAAAAF4/CsZQxxddXWk/s320/2.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 3&lt;/strong&gt;&lt;/span&gt; - Press S to Specify that you want to install additional device.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQPZ3wamXI/AAAAAAAAAGA/r9u4W04qdGs/s1600-h/3.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 300px; DISPLAY: block; HEIGHT: 167px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297375998832712050" border="0" alt="" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQPZ3wamXI/AAAAAAAAAGA/r9u4W04qdGs/s320/3.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 4&lt;/strong&gt;&lt;/span&gt; - You will be asked to insert the floppy disk with the Raid or SCSI drivers. Press enter after you have inserted the disk.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQPlUP54MI/AAAAAAAAAGI/uzOTJRUX22Q/s1600-h/4.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 300px; DISPLAY: block; HEIGHT: 167px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297376195459539138" border="0" alt="" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQPlUP54MI/AAAAAAAAAGI/uzOTJRUX22Q/s320/4.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 5&lt;/strong&gt;&lt;/span&gt; - You will see a list of Raid drivers for your HDD. Select the correct driver for your device and press enter.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQPxE-e3QI/AAAAAAAAAGQ/fZ57-jjpCWI/s1600-h/winxp5.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 300px; DISPLAY: block; HEIGHT: 167px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297376397518363906" border="0" alt="" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQPxE-e3QI/AAAAAAAAAGQ/fZ57-jjpCWI/s320/winxp5.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 6&lt;/strong&gt;&lt;/span&gt; - You will then get a Windows XP Professional Setup screen. You have the option to do a new Windows install, Repair previous install or quit. Since we are doing a new install we just press Enter to continue.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQQJPxtTCI/AAAAAAAAAGY/WjCKhTR3bdg/s1600-h/winxp6.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 300px; DISPLAY: block; HEIGHT: 165px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297376812734434338" border="0" alt="" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQQJPxtTCI/AAAAAAAAAGY/WjCKhTR3bdg/s320/winxp6.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 7&lt;/strong&gt;&lt;/span&gt; - You will be presented with the End User Licensing Agreement. Press F8 to accept and continue&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_R7P1OI3j7BI/SYQRtwslFUI/AAAAAAAAAGg/B52Z_DoRmu4/s1600-h/winxp7.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 300px; DISPLAY: block; HEIGHT: 165px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297378539558212930" border="0" alt="" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/SYQRtwslFUI/AAAAAAAAAGg/B52Z_DoRmu4/s320/winxp7.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 8&lt;/strong&gt;&lt;/span&gt; - This step is very important. Here we will create the partition where Windows will be installed. If you have a brand new unformatted drive you will get a screen similar to below. In our case the drive size is 8190MB. We can choose to install Windows in this drive without creating a partition, hence use the entire size of the drive. If you wish to do this you can just press enter and Windows will automatically partition and format the drive as one large drive.&lt;br /&gt;However for this demonstration I will create two partition. The first partition will be 6000MB (C: drive) and second partition would be 2180MB (E: drive). By creating two partition we can have one which stores Windows and Applications and the other which stores our data. So in the future if anything goes wrong with our Windows install such as virus or spyware we can re-install Windows on C: drive and our data on E: drive will not be touched. Please note you can choose whatever size partition your like. For example if you have 500GB hard drive you can have two partition of 250GB each.&lt;br /&gt;Press C to create a partition.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SYQR96zEQfI/AAAAAAAAAGo/EcU7qXZ4JkM/s1600-h/winxp8.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 300px; DISPLAY: block; HEIGHT: 165px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297378817147683314" border="0" alt="" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SYQR96zEQfI/AAAAAAAAAGo/EcU7qXZ4JkM/s320/winxp8.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:blue;"&gt;Step 8&lt;/span&gt; &lt;/strong&gt;- Windows will show the total size of the hard drive and ask you how much you want to allocate for the partition you are about to create. I will choose 6000MB. You will then get the screen below. Notice it shows C: Partition 1 followed by the size 6000 MB. This indicates the partition has been created. We still have an unpartitioned space of 2189MB. Next heighlight the unpartitioned space by pressing down the arrow key. Then press C to create another partition. You will see the total space available for the new partition. Just choose all the space left over, in our case 2180MB.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SYQSL0N8sjI/AAAAAAAAAGw/W0lk-9Coy54/s1600-h/winxp9.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 300px; DISPLAY: block; HEIGHT: 165px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297379055899554354" border="0" alt="" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SYQSL0N8sjI/AAAAAAAAAGw/W0lk-9Coy54/s320/winxp9.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 9&lt;/strong&gt;&lt;/span&gt; - Now you will see both partition listed. Partition 1 (C: Drive) 6000MB and Partition 2 (E: Drive) 2180MB. You will also have 8MB of unpartitioned space. Don't worry about that. Just leave it how its is. Windows normally has some unpartitioned space. You might wonder what happened to D: drive. Windows has automatically allocated D: drive to CD/DVD-ROM.&lt;br /&gt;Select Partition 1 (C: Drive) and press Enter.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQT8B02Y1I/AAAAAAAAAG4/ttle7dBcfXo/s1600-h/winxp10.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 300px; DISPLAY: block; HEIGHT: 165px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297380983697728338" border="0" alt="" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQT8B02Y1I/AAAAAAAAAG4/ttle7dBcfXo/s320/winxp10.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 10&lt;/strong&gt;&lt;/span&gt; - Choose format the partition using NTFS file system.This is the recommended file system. If the hard drive has been formatted before then you can choose quick NTFS format. We chose NTFS because it offers many security features, supports larger drive size, and bigger size files.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQUI_ACKqI/AAAAAAAAAHA/PtPNnQWTYD0/s1600-h/winxp11.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 300px; DISPLAY: block; HEIGHT: 165px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297381206277630626" border="0" alt="" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQUI_ACKqI/AAAAAAAAAHA/PtPNnQWTYD0/s320/winxp11.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;Windows will now start formatting drive C: and start copying setup files as shown on the two images below :&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_R7P1OI3j7BI/SYQVqyAtAII/AAAAAAAAAHI/EJUV3C0ISeo/s1600-h/winxp12.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 300px; DISPLAY: block; HEIGHT: 165px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297382886417956994" border="0" alt="" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/SYQVqyAtAII/AAAAAAAAAHI/EJUV3C0ISeo/s320/winxp12.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 11&lt;/strong&gt;&lt;/span&gt; - After the setup has completed copying the files the computer will restart. Leave the XP CD in the drive but this time DO NOT press any key when the message "Press any key to boot from CD" is displayed. In few seconds setup will continue. Windows XP Setup wizard will guide you through the setup process of gathering information about your computer.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SYQV4K7fRyI/AAAAAAAAAHQ/6cwEh1fyqjE/s1600-h/winxp14.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 200px; DISPLAY: block; HEIGHT: 150px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297383116445271842" border="0" alt="" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SYQV4K7fRyI/AAAAAAAAAHQ/6cwEh1fyqjE/s320/winxp14.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 12&lt;/strong&gt;&lt;/span&gt; - Choose your region and language.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQWDA79TEI/AAAAAAAAAHY/T8zIRP-buJA/s1600-h/winxp15.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 200px; DISPLAY: block; HEIGHT: 150px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297383302741445698" border="0" alt="" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQWDA79TEI/AAAAAAAAAHY/T8zIRP-buJA/s320/winxp15.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 13&lt;/strong&gt;&lt;/span&gt; - Type in your name and organization.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_R7P1OI3j7BI/SYQWMgb-FBI/AAAAAAAAAHg/vdePOBgZtzA/s1600-h/winxp16.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 200px; DISPLAY: block; HEIGHT: 150px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297383465816036370" border="0" alt="" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/SYQWMgb-FBI/AAAAAAAAAHg/vdePOBgZtzA/s320/winxp16.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 14&lt;/strong&gt;&lt;/span&gt; - Enter your product key.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQWgemMS2I/AAAAAAAAAHo/A8rqDL4vDDE/s1600-h/winxp17.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 200px; DISPLAY: block; HEIGHT: 150px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297383808919423842" border="0" alt="" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQWgemMS2I/AAAAAAAAAHo/A8rqDL4vDDE/s320/winxp17.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 15&lt;/strong&gt;&lt;/span&gt; - Name the computer, and enter an Administrator password. Don't forget to write down your Administrator password.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQWnAayNkI/AAAAAAAAAHw/alWuGvTO1jQ/s1600-h/winxp18.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 200px; DISPLAY: block; HEIGHT: 150px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297383921077597762" border="0" alt="" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQWnAayNkI/AAAAAAAAAHw/alWuGvTO1jQ/s320/winxp18.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 16&lt;/strong&gt;&lt;/span&gt; - Enter the correct date, time and choose your time zone.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SYQWvDSrjGI/AAAAAAAAAH4/fFoz-f4FCWY/s1600-h/winxp19.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 200px; DISPLAY: block; HEIGHT: 150px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297384059287866466" border="0" alt="" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SYQWvDSrjGI/AAAAAAAAAH4/fFoz-f4FCWY/s320/winxp19.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 17&lt;/strong&gt;&lt;/span&gt; - For the network setting choose typical and press next.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQW4PWxNzI/AAAAAAAAAIA/fIp_PjLxH-o/s1600-h/winxp20.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 200px; DISPLAY: block; HEIGHT: 150px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297384217145063218" border="0" alt="" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQW4PWxNzI/AAAAAAAAAIA/fIp_PjLxH-o/s320/winxp20.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 18&lt;/strong&gt;&lt;/span&gt; - Choose workgroup or domain name. If you are not a member of a domain then leave the default settings and press next. Windows will restart again and adjust the display.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQXAd_ArOI/AAAAAAAAAII/y56bqq4k-cg/s1600-h/winxp21.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 200px; DISPLAY: block; HEIGHT: 150px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297384358510898402" border="0" alt="" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQXAd_ArOI/AAAAAAAAAII/y56bqq4k-cg/s320/winxp21.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 19&lt;/strong&gt;&lt;/span&gt; - Finally Windows will start and present you with a Welcome screen. Click next to continue.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQXJxpntnI/AAAAAAAAAIQ/YTAkivh2nog/s1600-h/winxp22.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 200px; DISPLAY: block; HEIGHT: 150px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297384518408713842" border="0" alt="" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQXJxpntnI/AAAAAAAAAIQ/YTAkivh2nog/s320/winxp22.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 20&lt;/strong&gt;&lt;/span&gt; - Choose 'help protect my PC by turning on automatic updates now' and press next.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQXRK-6nhI/AAAAAAAAAIY/XJC_cgjYPRw/s1600-h/winxp23.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 200px; DISPLAY: block; HEIGHT: 150px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297384645468003858" border="0" alt="" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQXRK-6nhI/AAAAAAAAAIY/XJC_cgjYPRw/s320/winxp23.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 21&lt;/strong&gt;&lt;/span&gt; - Will this computer connect to the internet directly, or through a network? If you are connected to a router or LAN then choose: 'Yes, this computer will connect through a local area network or home network'. If you have dial up modem choose: 'No, this computer will connect directly to the internet'. Then click Next.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SYQXbfFOxSI/AAAAAAAAAIg/6qcXdcX5wRU/s1600-h/winxp24.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 200px; DISPLAY: block; HEIGHT: 150px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297384822661891362" border="0" alt="" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SYQXbfFOxSI/AAAAAAAAAIg/6qcXdcX5wRU/s320/winxp24.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 22&lt;/strong&gt;&lt;/span&gt; - Ready to activate Windows? Choose yes if you wish to active Windows over the internet now. Choose no if you want to activate Windows at a later stage.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SYQXrKr_WTI/AAAAAAAAAIo/zP86QNAi2YE/s1600-h/winxp25.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 200px; DISPLAY: block; HEIGHT: 150px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297385092065220914" border="0" alt="" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SYQXrKr_WTI/AAAAAAAAAIo/zP86QNAi2YE/s320/winxp25.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 23&lt;/strong&gt;&lt;/span&gt; - Add users that will sign on to this computer and click next.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQX0YnZBqI/AAAAAAAAAIw/4JZKOwYB6po/s1600-h/winxp26.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 200px; DISPLAY: block; HEIGHT: 150px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297385250422851234" border="0" alt="" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQX0YnZBqI/AAAAAAAAAIw/4JZKOwYB6po/s320/winxp26.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 24&lt;/strong&gt;&lt;/span&gt; - You will get a Thank you screen to confirm setup is complete. Click finish&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SYQX7tXZ2MI/AAAAAAAAAI4/4bSuEWYwMv8/s1600-h/winxp27.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 200px; DISPLAY: block; HEIGHT: 150px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297385376252025026" border="0" alt="" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SYQX7tXZ2MI/AAAAAAAAAI4/4bSuEWYwMv8/s320/winxp27.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 25&lt;/strong&gt;&lt;/span&gt; - Log in, to your PC for the first time.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SYQYEUr2beI/AAAAAAAAAJA/y8HRS7IZqLM/s1600-h/winxp28.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 200px; DISPLAY: block; HEIGHT: 150px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297385524245720546" border="0" alt="" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SYQYEUr2beI/AAAAAAAAAJA/y8HRS7IZqLM/s320/winxp28.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;Step 26&lt;/strong&gt;&lt;/span&gt; - You now need to check the device manager to confirm that all the drivers has been loaded or if there are any conflicts. From the start menu select Start -&gt; Settings -&gt; Control Panel. Click on the System icon and then from the System Properties window select the Hardware tab, then click on Device Manager.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQYerYwa9I/AAAAAAAAAJI/--tm58GK3Xg/s1600-h/winxp29.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 200px; DISPLAY: block; HEIGHT: 150px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297385977016249298" border="0" alt="" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SYQYerYwa9I/AAAAAAAAAJI/--tm58GK3Xg/s320/winxp29.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;If there are any yellow exclamation mark "!" next to any of the listed device, it means that no drivers or incorrect drivers has been loaded for that device. In our case we have a Video Controller (VGA card) which has no drivers installed.&lt;br /&gt;Your hardware should come with manufacturer supplied drivers. You need to install these drivers using the automatic setup program provided by the manufacturer or you need to manually install these drivers. If you do not have the drivers, check the manufacturers website to download them.&lt;br /&gt;To install a driver manually use the following procedure:&lt;br /&gt;(a) From the device manager double click on the device containing the exclamation mark.&lt;br /&gt;(b) This would open a device properties window.&lt;br /&gt;(c) Click on the Driver tab.&lt;br /&gt;(d) Click Update Driver button. The Wizard for updating device driver pops up as shown below:&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_R7P1OI3j7BI/SYQYk2L158I/AAAAAAAAAJQ/OAByBazY8hs/s1600-h/driver_update.jpg"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 200px; DISPLAY: block; HEIGHT: 156px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5297386082994087874" border="0" alt="" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/SYQYk2L158I/AAAAAAAAAJQ/OAByBazY8hs/s320/driver_update.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;You now get two options. The first option provides an automatic search for the required driver. The second option allows you to specify the location of the driver. If you don't know the location of the driver choose the automatic search which would find the required driver from the manufacturer supplied CD or Floppy disk. Windows would install the required driver and may ask you to restart the system for the changes to take affect. Use this procedure to install drivers for all the devices that contain an exclamation mark. Windows is completely setup when there are no more exclamation marks in the device manager.&lt;/span&gt;&lt;/center&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;&lt;hr color="red" width="100%"&gt;&lt;/span&gt;&lt;span style="COLOR: rgb(102,255,255);font-family:times new roman;" &gt;Check this one out:&lt;br /&gt;&lt;/span&gt;&lt;marquee scrollamount="4"&gt;&lt;marquee scrollamount="3"&gt;&lt;a href="http://en.wikipedia.org/wiki/Windows_XP"&gt;What is WINDOWS XP?&lt;/a&gt;&lt;/marquee&gt;&lt;/marquee&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-5438416533143500521?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/5438416533143500521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/09/installation-process-of-2-windows-os.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/5438416533143500521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/5438416533143500521'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/09/installation-process-of-2-windows-os.html' title='Installation Process of 2 Windows OS'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_R7P1OI3j7BI/SYQnjMdJBlI/AAAAAAAAAMo/VSsh5Ou77lY/s72-c/w2k_inst1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-7292525216503015853</id><published>2009-08-27T02:37:00.000-07:00</published><updated>2009-08-27T04:25:00.296-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 8'/><title type='text'>2.) All Graphs in Chapter 8 (Deadlock) with their explanation</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;Resource-Allocation Graph Algorithm&lt;br /&gt;● &lt;i&gt;Claim edge&lt;/i&gt; Pi → Rj indicated that process Pj may request resource Rj; represented by a dashed line.&lt;br /&gt;● Claim edge converts to request edge when a process requests a resource.&lt;br /&gt;● When a resource is released by a process, assignment edge reconverts to a claim edge.&lt;br /&gt;● Resources must be claimed a &lt;i&gt;priori&lt;/i&gt; in the system.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;Resource-Allocation Graph&lt;/center&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_R7P1OI3j7BI/SpZWBfVhvJI/AAAAAAAAAVs/nC14E_-xp-U/s1600-h/Picture1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 222px; height: 320px;" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/SpZWBfVhvJI/AAAAAAAAAVs/nC14E_-xp-U/s320/Picture1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5374577788904914066" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;font color="yellow"&gt;EXPLANATION:&lt;/font&gt;&lt;br /&gt;A set of vertices V and a set of edges E.&lt;br /&gt;● V is partitioned into two types:&lt;br /&gt;- P = {P1, P2, …, Pn}, the set consisting of all the processes in the system.&lt;br /&gt;- R = {R1, R2, …, Rm}, the set consisting of all resource types in the system.&lt;br /&gt;● &lt;font color="orange"&gt;request edge&lt;/font&gt; – directed edge P1  Rj&lt;br /&gt;● &lt;font color="orange"&gt;assignment edge&lt;/font&gt; – directed edge Rj  Pi&lt;br /&gt;----&lt;br /&gt;● Process&lt;br /&gt;● Resource Type with 4 instances&lt;br /&gt;● Pi requests instance of Rj&lt;br /&gt;● Pi is holding an instance of Rj&lt;br /&gt;&lt;br /&gt;● The Resource Allocation Graph (RAG) above is composed of 3 processes and four resources.&lt;br /&gt;● R1 or resource 1 is composed of only one instance&lt;br /&gt;● R2 has 2 instances&lt;br /&gt;● R3 has one instance&lt;br /&gt;● R4 has 3 instances&lt;br /&gt;● P1 requests instance of R1&lt;br /&gt;● P2 is holding an instance of R1&lt;br /&gt;● P2 requests instance of R3&lt;br /&gt;● P3 holds an instance of R3&lt;br /&gt;● There is no deadlock found&lt;br /&gt;&lt;br /&gt;&lt;font color="red"&gt;&lt;center&gt;------------------------&lt;/font&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;Resource Allocation Graph With A Deadlock&lt;/center&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SpZXN7uMNrI/AAAAAAAAAV0/MvyXK9pc06M/s1600-h/Picture2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 221px; height: 320px;" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SpZXN7uMNrI/AAAAAAAAAV0/MvyXK9pc06M/s320/Picture2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5374579102194611890" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;font color="yellow"&gt;EXPLANATION:&lt;/font&gt;&lt;br /&gt;If graph contains a cycle &lt;br /&gt;&lt;font color="red"&gt;=&gt;&lt;/font&gt; if only one instance per resource type, then &lt;u&gt;deadlock&lt;/u&gt;.&lt;br /&gt;&lt;font color="red"&gt;=&gt;&lt;/font&gt; if several instances per resource type, &lt;u&gt;possibility of deadlock&lt;/u&gt;.&lt;br /&gt;&lt;br /&gt;● The Resource Allocation Graph (RAG) above is composed of 3 processes and four resources.&lt;br /&gt;● R1 or resource 1 is composed of only one instance&lt;br /&gt;● R2 has 2 instances&lt;br /&gt;● R3 has one instance&lt;br /&gt;● R4 has 3 instances&lt;br /&gt;● P1 requests instance of R1&lt;br /&gt;● P2 is holding an instance of R1&lt;br /&gt;● P2 requests instance of R3&lt;br /&gt;● P3 holds an instance of R3&lt;br /&gt;● P3 requests an instance of R1&lt;br /&gt;● There is deadlock based of the RAG no. 2 because all of the instances of R2 are held by the P1 and P2, then P3 is requesting for instances of R2. R2 cannot give any instances to P3 that is why a deadlock occurred.&lt;br /&gt;&lt;br /&gt;&lt;font color="red"&gt;&lt;center&gt;------------------------&lt;/font&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;Resource Allocation Graph With A Cycle But No Deadlock&lt;/center&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_R7P1OI3j7BI/SpZYPcZN7hI/AAAAAAAAAV8/ninT2bO5AVk/s1600-h/Picture3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 252px; height: 320px;" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/SpZYPcZN7hI/AAAAAAAAAV8/ninT2bO5AVk/s320/Picture3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5374580227656510994" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;font color="yellow"&gt;EXPLANATION:&lt;/font&gt;&lt;br /&gt;If graph contains no cycles &lt;font color="red"&gt;=&gt;&lt;/font&gt; &lt;u&gt;no deadlock&lt;/u&gt;.&lt;br /&gt;&lt;br /&gt;● The Resource Allocation Graph (RAG) above is composed of4 processes and 2 resources.&lt;br /&gt;● R1 and R2 has composed of 2 instances&lt;br /&gt;● P1 requests instance of R1&lt;br /&gt;● P2 is holding an instance of R1&lt;br /&gt;● P3 also holds an instance of R1&lt;br /&gt;● P3 requests an instance of R2&lt;br /&gt;● P4 holds an instance of R2&lt;br /&gt;● P1 also holds an instance of R2&lt;br /&gt;● There is no deadlock.&lt;br /&gt;&lt;br /&gt;&lt;font color="red"&gt;&lt;center&gt;------------------------&lt;/font&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;Safe, Unsafe , Deadlock State&lt;/center&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SpZY7jX6SuI/AAAAAAAAAWE/EcImdXUIZzY/s1600-h/Picture12.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 317px;" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SpZY7jX6SuI/AAAAAAAAAWE/EcImdXUIZzY/s320/Picture12.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5374580985444322018" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;font color="yellow"&gt;EXPLANATION:&lt;/font&gt;&lt;br /&gt;If a system is in safe state &lt;font color="red"&gt;=&gt;&lt;/font&gt; &lt;u&gt;no deadlocks&lt;/u&gt;.&lt;br /&gt;If a system is in unsafe state &lt;font color="red"&gt;=&gt;&lt;/font&gt; &lt;u&gt;possibility of deadlock&lt;/u&gt;.&lt;br /&gt;&lt;font color="orange"&gt;Avoidance&lt;/font&gt; &lt;font color="red"&gt;=&gt;&lt;/font&gt; ensure that a system will never enter an unsafe state. &lt;br /&gt;&lt;br /&gt;&lt;font color="red"&gt;&lt;center&gt;------------------------&lt;/font&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;Resource-Allocation Graph For Deadlock Avoidance&lt;/center&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SpZaTYT_XSI/AAAAAAAAAWM/lwhHHLeKBXA/s1600-h/Picture4.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 318px;" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SpZaTYT_XSI/AAAAAAAAAWM/lwhHHLeKBXA/s320/Picture4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5374582494303575330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;font color="yellow"&gt;EXPLANATION:&lt;/font&gt;&lt;br /&gt;Requires that the system has some additional a &lt;i&gt;priori&lt;/i&gt; information available.&lt;br /&gt;● Simplest and most useful model requires that each process declare the &lt;i&gt;maximum number&lt;/i&gt; of resources of each type that it may need.&lt;br /&gt;● The deadlock-avoidance algorithm dynamically examines the resource-allocation state to ensure that there can never be a circular-wait condition.&lt;br /&gt;● Resource-allocation state is defined by the number of available and allocated resources, and the maximum demands of the processes.&lt;br /&gt;&lt;br /&gt;● The Resource Allocation Graph (RAG) above is composed of 2 processes and 2 resources.&lt;br /&gt;● P1 holds an instance of R1&lt;br /&gt;● P2 requests an instance of R1&lt;br /&gt;● P1 and P2 may request an instance of R2&lt;br /&gt;&lt;br /&gt;&lt;font color="red"&gt;&lt;center&gt;------------------------&lt;/font&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;Unsafe State In Resource-Allocation Graph&lt;/center&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SpZcK-JFipI/AAAAAAAAAWU/MdFt9dFYGto/s1600-h/Picture5.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 319px;" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SpZcK-JFipI/AAAAAAAAAWU/MdFt9dFYGto/s320/Picture5.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5374584548862823058" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;font color="yellow"&gt;EXPLANATION:&lt;/font&gt;&lt;br /&gt;● Basic fact:&lt;br /&gt;If a system is in unsafe state &lt;font color="red"&gt;=&gt;&lt;/font&gt; &lt;u&gt;possibility of deadlock&lt;/u&gt;.&lt;br /&gt;● The RAG above is compose of 2 resources and 2 processes&lt;br /&gt;● P1 holds an instance of R1&lt;br /&gt;● P2 is requesting an instance of R1&lt;br /&gt;● P2 holds an instance of R2&lt;br /&gt;● P1 may request an instance of R2&lt;br /&gt;&lt;br /&gt;&lt;font color="red"&gt;&lt;center&gt;------------------------&lt;/font&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;Resource-Allocation Graph and Wait-for Graph&lt;/center&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SpZcvEBXLII/AAAAAAAAAWc/seyYIMv4F6s/s1600-h/Picture6.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 210px;" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SpZcvEBXLII/AAAAAAAAAWc/seyYIMv4F6s/s320/Picture6.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5374585168916327554" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;font color="yellow"&gt;EXPLANATION:&lt;/font&gt;&lt;br /&gt;&lt;font color="orange"&gt;Single Instance of Each Resource Type&lt;/font&gt;&lt;br /&gt;● Maintain &lt;i&gt;wait-for&lt;/i&gt; graph&lt;br /&gt;- Nodes are processes.&lt;br /&gt;- Pi → Pj if Pi is waiting for Pj.&lt;br /&gt;● Periodically invoke an algorithm that searches for a cycle in the graph.&lt;br /&gt;● An algorithm to detect a cycle in a graph requires an order of &lt;i&gt;n^2&lt;/i&gt; operations, where &lt;i&gt;n&lt;/i&gt; is the number of vertices in the graph.&lt;br /&gt;&lt;font color="orange"&gt;Several Instances of a Resource Type&lt;/font&gt;&lt;br /&gt;● &lt;i&gt;Available:&lt;/i&gt; A vector of length &lt;i&gt;m&lt;/i&gt; indicates the number of available resources of each type.&lt;br /&gt;● &lt;i&gt;Allocation:&lt;/i&gt; An &lt;i&gt;n&lt;/i&gt; x &lt;i&gt;m&lt;/i&gt; matrix defines the number of resources of each type currently allocated to each process.&lt;br /&gt;● &lt;i&gt;Request:&lt;/i&gt; An &lt;i&gt;n&lt;/i&gt; x &lt;i&gt;m&lt;/i&gt; matrix indicates the current request  of each process.  If Request [ij] = &lt;i&gt;k&lt;/i&gt;, then process &lt;i&gt;Pi&lt;/i&gt; is requesting &lt;i&gt;k&lt;/i&gt; more instances of resource type. &lt;i&gt;Rj&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;additional...&lt;br /&gt;A &lt;font color="orange"&gt;&lt;u&gt;Wait-For Graph&lt;/u&gt;&lt;/font&gt; in computer science is a directed graph used for deadlock detection in operating systems and relational database systems.&lt;br /&gt;In Computer Science, a system that allows concurrent operation of multiple processes and locking of resources and which does not provide mechanisms to avoid or prevent deadlock must support a mechanism to detect deadlocks and an algorithm for recovering from them.&lt;br /&gt;One such deadlock detection algorithm makes use of a Wait-For Graph to track which other processes a process is currently blocking on. In a Wait-for Graph, processes are represented as nodes, and an edge from process Pi to Pj implies Pj is holding a resource that Pi needs and thus Pi is waiting for Pj to release its lock on that resource.&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-7292525216503015853?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/7292525216503015853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/08/2-all-graphs-in-chapter-8-deadlock-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/7292525216503015853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/7292525216503015853'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/08/2-all-graphs-in-chapter-8-deadlock-with.html' title='2.) All Graphs in Chapter 8 (Deadlock) with their explanation'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_R7P1OI3j7BI/SpZWBfVhvJI/AAAAAAAAAVs/nC14E_-xp-U/s72-c/Picture1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-17706990109746930</id><published>2009-08-27T01:49:00.000-07:00</published><updated>2009-08-27T03:45:18.888-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 8'/><title type='text'>1.) Resource Allocation Graph</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;&lt;center&gt;Example of a Resource Allocation Graph&lt;/center&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SpZNNkl6bWI/AAAAAAAAAU0/gfB8-I3T9-s/s1600-h/Picture1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 222px; height: 320px;" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SpZNNkl6bWI/AAAAAAAAAU0/gfB8-I3T9-s/s320/Picture1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5374568100869598562" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;Resource Allocation Graph With A Deadlock&lt;/center&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SpZNpJLVYAI/AAAAAAAAAU8/ce60_cyEFVc/s1600-h/Picture2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 221px; height: 320px;" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SpZNpJLVYAI/AAAAAAAAAU8/ce60_cyEFVc/s320/Picture2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5374568574546698242" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;Resource Allocation Graph With A Cycle But No Deadlock&lt;/center&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SpZOBKM1BYI/AAAAAAAAAVE/PlomzdTAEoU/s1600-h/Picture3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 252px; height: 320px;" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SpZOBKM1BYI/AAAAAAAAAVE/PlomzdTAEoU/s320/Picture3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5374568987138262402" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;Resource-Allocation Graph For Deadlock Avoidance&lt;/center&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_R7P1OI3j7BI/SpZOalKA6bI/AAAAAAAAAVM/u2fSkAXhcCI/s1600-h/Picture4.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 318px;" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/SpZOalKA6bI/AAAAAAAAAVM/u2fSkAXhcCI/s320/Picture4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5374569423870945714" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;Unsafe State In Resource-Allocation Graph&lt;/center&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SpZO596OfdI/AAAAAAAAAVU/tZmmGsRf1ao/s1600-h/Picture5.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 319px;" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SpZO596OfdI/AAAAAAAAAVU/tZmmGsRf1ao/s320/Picture5.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5374569963091557842" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;Resource-Allocation Graph and Wait-for Graph&lt;/center&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SpZP8_UNCHI/AAAAAAAAAVc/JjepDOxvLko/s1600-h/Picture6.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 210px;" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SpZP8_UNCHI/AAAAAAAAAVc/JjepDOxvLko/s320/Picture6.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5374571114520184946" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;Resource-Allocation Graph&lt;/center&gt;&lt;br /&gt;● Process&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SpZikK4tgEI/AAAAAAAAAWk/CjvLZkN8fbU/s1600-h/1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 55px; height: 55px;" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SpZikK4tgEI/AAAAAAAAAWk/CjvLZkN8fbU/s320/1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5374591578850295874" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;● Resource Type with 4 instances&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_R7P1OI3j7BI/SpZi_m60xiI/AAAAAAAAAWs/UrWT89pVXRs/s1600-h/2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 55px; height: 55px;" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/SpZi_m60xiI/AAAAAAAAAWs/UrWT89pVXRs/s320/2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5374592050231821858" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;● Pi requests instance of Rj&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SpZjOd1_AMI/AAAAAAAAAW0/xPhhNAGmwIc/s1600-h/3.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 136px; height: 55px;" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SpZjOd1_AMI/AAAAAAAAAW0/xPhhNAGmwIc/s320/3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5374592305493639362" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;● Pi is holding an instance of Rj&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SpZjmfsnYtI/AAAAAAAAAW8/dcDlQM0mVT8/s1600-h/4.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 132px; height: 55px;" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SpZjmfsnYtI/AAAAAAAAAW8/dcDlQM0mVT8/s320/4.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5374592718308074194" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;font color="pink"&gt;&lt;b&gt;---------------------------------&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="yellow"&gt;QUESTION:&lt;/font&gt;&lt;br /&gt;&lt;font color="red"&gt;=&gt;&lt;/font&gt;How would you know if there's a DEADLOCK based on the resource allocation graph?&lt;br /&gt;&lt;br /&gt;&lt;font color="yellow"&gt;ANSWER:&lt;/font&gt;&lt;br /&gt;If graph contains no cycles &lt;font color="red"&gt;=&gt;&lt;/font&gt; &lt;font color="orange"&gt;no deadlock&lt;/font&gt;.&lt;br /&gt;If graph contains a cycle &lt;br /&gt;&lt;font color="red"&gt;=&gt;&lt;/font&gt; if only one instance per resource type, &lt;font color="orange"&gt;then deadlock&lt;/font&gt; (meaning if the cycle goes on a single path, it will result to a &lt;font color="yellow"&gt;DEALOCK&lt;/font&gt;).&lt;br /&gt;&lt;font color="red"&gt;=&gt;&lt;/font&gt; if several instances per resource type, &lt;font color="orange"&gt;possibility of deadlock&lt;/font&gt; (meaning if the resource allocation graph has several cycles it has a &lt;font color="yellow"&gt;POSSIBILITY for DEADLOCK&lt;/font&gt;).&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-17706990109746930?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/17706990109746930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/08/1-resource-allocation-graph.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/17706990109746930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/17706990109746930'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/08/1-resource-allocation-graph.html' title='1.) Resource Allocation Graph'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_R7P1OI3j7BI/SpZNNkl6bWI/AAAAAAAAAU0/gfB8-I3T9-s/s72-c/Picture1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-8130687213929905085</id><published>2009-08-20T04:21:00.000-07:00</published><updated>2009-08-20T04:24:28.060-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 8'/><title type='text'>Recovery from Deadlock</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;&lt;font color="orange"&gt;Recovery from Deadlock:  Process Termination&lt;/font&gt;&lt;br /&gt;• Abort all deadlocked processes.&lt;br /&gt;• Abort one process at a time until the deadlock cycle is eliminated.&lt;br /&gt;• In which order should we choose to abort?&lt;br /&gt; – Priority of the process.&lt;br /&gt; – How long process has computed, and how much longer to completion.&lt;br /&gt; – Resources the process has used.&lt;br /&gt; – Resources process needs to complete.&lt;br /&gt; – How many processes will need to be terminated. &lt;br /&gt; – Is process interactive or batch?&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;Recovery from Deadlock:  Resource Preemption&lt;/font&gt;&lt;br /&gt;• &lt;font color="green"&gt;Selecting a victim&lt;/font&gt; – minimize cost&lt;br /&gt;• &lt;font color="green"&gt;Rollback&lt;/font&gt; – return to some safe state, restart process from that state&lt;br /&gt; – Require the system to keep more information about the state of all the running processes&lt;br /&gt;• &lt;font color="green"&gt;Starvation&lt;/font&gt; –  same process may always be picked as victim, include number of rollback in cost factor&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-8130687213929905085?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/8130687213929905085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/08/recovery-from-deadlock.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/8130687213929905085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/8130687213929905085'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/08/recovery-from-deadlock.html' title='Recovery from Deadlock'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-322934783504970030</id><published>2009-08-20T04:12:00.000-07:00</published><updated>2009-08-20T04:21:18.063-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 8'/><title type='text'>Deadlock Detection</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;&lt;font color="orange"&gt;Overview&lt;/font&gt;&lt;br /&gt;• Allow system to enter a deadlock state &lt;br /&gt;• Detection algorithm: examine the system state to determine whether a deadlock has occurred&lt;br /&gt;• Recovery scheme: recover from the deadlock&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;Single Instance of Each Resource Type&lt;/font&gt;&lt;br /&gt;• Maintain wait-for graph&lt;br /&gt; – Nodes are processes.&lt;br /&gt; – This graph is obtained from the resource-allocation graph by removing the nodes of type resource and collapsing the appropriate edges&lt;br /&gt; – Pi  Pj if Pi is waiting for Pj.&lt;br /&gt;• Periodically invoke an algorithm that searches for a cycle in the graph.&lt;br /&gt;• An algorithm to detect a cycle in a graph requires an order of n2 operations, where n is the number of vertices in the graph.&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;Resource-Allocation Graph And Wait-for Graph&lt;/font&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_R7P1OI3j7BI/So0wa39XjgI/AAAAAAAAAUs/9dfLQA5ZIc4/s1600-h/Picture3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 163px;" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/So0wa39XjgI/AAAAAAAAAUs/9dfLQA5ZIc4/s320/Picture3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5372003168778948098" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;Several Instances of a Resource Type&lt;/font&gt;&lt;br /&gt;• &lt;font color="green"&gt;Available:&lt;/font&gt;  A vector of length m indicates the number of available resources of each type&lt;br /&gt;• &lt;font color="green"&gt;Allocation:&lt;/font&gt;  An n x m matrix defines the number of resources of each type currently allocated to each process&lt;br /&gt;• &lt;font color="green"&gt;Request:&lt;/font&gt;  An n x m matrix indicates the current request  of each process.  If Request [i,j] = k, then process Pi is requesting k more instances of resource type Rj&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;Combined Approach to Deadlock Handling&lt;/font&gt;&lt;br /&gt;• Combine the three basic approaches&lt;br /&gt; – &lt;font color="pink"&gt;Prevention&lt;/font&gt;&lt;br /&gt; – &lt;font color="pink"&gt;Avoidance&lt;/font&gt;&lt;br /&gt; – &lt;font color="pink"&gt;Detection&lt;/font&gt;&lt;br /&gt;• Allowing the use of the optimal approach for each of resources in the system&lt;br /&gt;• Partition resources into hierarchically ordered classes.&lt;br /&gt;• Use most appropriate technique for handling deadlocks within each class&lt;br /&gt;• Group resources into a number of different resource classes&lt;br /&gt;• Use the linear ordering strategy defined previously for the prevention of circular wait to prevent deadlocks between resource classes&lt;br /&gt;• Within a resource class, use the algorithm that is most appropriate for that class&lt;br /&gt;• Swappable space&lt;br /&gt;Hold-and-Wait prevention strategy + avoidance&lt;br /&gt;• Process resources: Assignable devices such as tape drives, files…&lt;br /&gt;Avoidance + Resource ordering&lt;br /&gt;• Main memory: assignable in pages or segments&lt;br /&gt;Preemption&lt;br /&gt;• Internal resources: PCB, I/O channels…&lt;br /&gt;Resource ordering&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-322934783504970030?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/322934783504970030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/08/deadlock-detection.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/322934783504970030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/322934783504970030'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/08/deadlock-detection.html' title='Deadlock Detection'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_R7P1OI3j7BI/So0wa39XjgI/AAAAAAAAAUs/9dfLQA5ZIc4/s72-c/Picture3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-4005887587519301859</id><published>2009-08-20T04:06:00.000-07:00</published><updated>2009-08-20T04:12:42.523-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 8'/><title type='text'>Deadlock Prevention</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;&lt;font color="pink"&gt;Ensure that at least one of the necessary conditions cannot hold&lt;br /&gt;Prevent deadlocks by constraining how requests for resources can be made&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;• &lt;font color="green"&gt;Mutual Exclusion&lt;/font&gt; – not required for sharable resources; must hold for non-sharable resources&lt;br /&gt;• &lt;font color="green"&gt;Hold and Wait&lt;/font&gt; – must guarantee that whenever a process requests a resource, it does not hold any other resources.&lt;br /&gt; – Method 1: require each process to request and be allocated all its resources before it begins execution&lt;br /&gt; – Method 2: allow a process to request resources only when the process has none&lt;br /&gt; – Example: copy data from tape drive to disk file, sort disk file, print&lt;br /&gt;Disadvantage&lt;br /&gt;  • Low resource utilization&lt;br /&gt;  • Starvation possible&lt;br /&gt;• &lt;font color="green"&gt;No Preemption&lt;/font&gt; – if process A holding resources requests another resource that cannot be immediately allocated to it&lt;br /&gt; – Method 1: All resources currently being held by A are preempted&lt;br /&gt;  • Preempted resources are added to A’s waiting resource list &lt;br /&gt;  • A will be restarted only when it can regain its old resources, as well as the new ones that it is requesting.&lt;br /&gt; – Method 2: Check the requested resources for following conditions&lt;br /&gt;  • If it is allocated to a process waiting for additional resources, preempt it from the waiting process and allocate it to A&lt;br /&gt;  • If it is held by a process not waiting, A must wait&lt;br /&gt;   – A’s resources may be preempted, but only if another process requests them&lt;br /&gt;&lt;br /&gt;&lt;font color="pink"&gt;Often applied to resources whose state can be easily saved and restored later, such as CPU registers and memory space&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;• &lt;font color="green"&gt;Circular Wait&lt;/font&gt; – impose a total ordering of all resource types&lt;br /&gt; – Example: F(tape drive) = 1, F(disk drive) = 5, F(Printer) = 12&lt;br /&gt;  • F is defined according to the normal order of resource usage&lt;br /&gt; – Method 1: require that each process requests resources in an increasing order of enumeration&lt;br /&gt;  • OK if tape drive  disk drive  Printer&lt;br /&gt;  • Not OK if disk drive  tape drive  Printer&lt;br /&gt; – Method 2: Whenever a process requests an instance of Rj, it has released any resources Ri such that F(Ri) &gt; F(Rj)&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-4005887587519301859?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/4005887587519301859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/08/deadlock-prevention.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/4005887587519301859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/4005887587519301859'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/08/deadlock-prevention.html' title='Deadlock Prevention'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-3079836326312876269</id><published>2009-08-20T04:04:00.000-07:00</published><updated>2009-08-20T04:06:19.157-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 8'/><title type='text'>Methods for Handling Deadlock</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;&lt;font color="orange"&gt;Methods for Handling Deadlocks&lt;/font&gt;&lt;br /&gt;• Use a protocol to prevent or avoid deadlocks, ensuring that the system will never enter a deadlock state&lt;br /&gt; – Deadlock prevention&lt;br /&gt; – Deadlock avoidance&lt;br /&gt;• Allow the system to enter a deadlock state, detect it and then recover&lt;br /&gt;• Ignore the problem and pretend that deadlocks never occur in the system&lt;br /&gt; – Used by most operating systems, including UNIX&lt;br /&gt; – The undetected deadlock will result in the deterioration of the system performance. Eventually, the system will stop functioning and will need to be restarted manually&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-3079836326312876269?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/3079836326312876269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/08/methods-for-handling-deadlock.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/3079836326312876269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/3079836326312876269'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/08/methods-for-handling-deadlock.html' title='Methods for Handling Deadlock'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-3138676049127143168</id><published>2009-08-20T03:36:00.000-07:00</published><updated>2009-08-20T04:04:07.686-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 8'/><title type='text'>Deadlock Characterization</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;&lt;font color="ORANGE"&gt;Necessary Conditions&lt;/font&gt;&lt;br /&gt;• &lt;font color="green"&gt;Mutual exclusion:&lt;/font&gt;  At least one resource must be held in a non-sharable mode&lt;br /&gt;• &lt;font color="green"&gt;Hold and wait:&lt;/font&gt;  a process holding at least one resource is waiting to acquire additional resources held by others&lt;br /&gt;• &lt;font color="green"&gt;No preemption:&lt;/font&gt;  a resource can be released only voluntarily by the process holding it, after it has completed its task&lt;br /&gt;• &lt;font color="green"&gt;Circular wait:&lt;/font&gt;  there exists a set {P0, P1, …, P0} of waiting processes such that P0 is waiting for a resource that is held by P1, P1 is waiting for a resource that is held by P2, …, Pn–1 is waiting for a resource that is held by Pn, and Pn is waiting for a resource that is held by P0.&lt;br /&gt;&lt;br /&gt;&lt;font color="pink"&gt;Deadlock can arise if four conditions hold simultaneously.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;Resource-Allocation Graph&lt;/font&gt;&lt;br /&gt;• A set of vertices V and a set of edges E. &lt;br /&gt; • V is partitioned into two types:&lt;br /&gt;  – P = {P1, P2, …, Pn} (All processes in the system)&lt;br /&gt;  – R = {R1, R2, …, Rm} (All resources in the system)&lt;br /&gt; • Two kinds of edges&lt;br /&gt;  – &lt;font color="pink"&gt;Request edge&lt;/font&gt; – directed edge P1  Rj&lt;br /&gt;  – &lt;font color="pink"&gt;Assignment edge&lt;/font&gt; – directed edge Rj  Pi&lt;br /&gt;&lt;br /&gt;&lt;font color="pink"&gt;continuation..&lt;/font&gt;&lt;br /&gt;• Process&lt;br /&gt;&lt;br /&gt;• Resource Type with 4 instances&lt;br /&gt;&lt;br /&gt;• Pi requests instance of Rj&lt;br /&gt;&lt;br /&gt;• Pi is holding an instance of Rj&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;Example of a Resource Allocation Graph&lt;/font&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_R7P1OI3j7BI/So0s53m4GRI/AAAAAAAAAUc/PVf21srHWrs/s1600-h/Picture1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 230px;" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/So0s53m4GRI/AAAAAAAAAUc/PVf21srHWrs/s320/Picture1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5371999303214045458" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;Resource Allocation Graph With A Cycle But No Deadlock&lt;/font&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_R7P1OI3j7BI/So0tNogGLpI/AAAAAAAAAUk/R3JQBy0F3IA/s1600-h/Picture2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 211px;" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/So0tNogGLpI/AAAAAAAAAUk/R3JQBy0F3IA/s320/Picture2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5371999642756460178" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;RAG And Deadlock&lt;/font&gt;&lt;br /&gt;• If graph contains no cycles  no deadlock.&lt;br /&gt;• If graph contains a cycle &lt;br /&gt; – If only one instance per resource type, then deadlock.&lt;br /&gt; – If several instances per resource type, possibility of deadlock.&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-3138676049127143168?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/3138676049127143168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/08/deadlock-characterization.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/3138676049127143168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/3138676049127143168'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/08/deadlock-characterization.html' title='Deadlock Characterization'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_R7P1OI3j7BI/So0s53m4GRI/AAAAAAAAAUc/PVf21srHWrs/s72-c/Picture1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-4619162919349871606</id><published>2009-08-16T01:23:00.000-07:00</published><updated>2009-08-16T01:24:58.032-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 6'/><title type='text'>Thread Scheduling</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;&lt;font color="orange"&gt;Thread scheduler&lt;/font&gt;, part of the OS (usually) that is responsible for sharing the available CPUs out between the various threads. How exactly the scheduler works depends on the individual platform, but various modern operating systems (notably Windows and Linux) use largely similar techniques that we'll describe here. We'll also mention some key varitions between the platforms. &lt;br /&gt;&lt;br /&gt;Note that we'll continue to talk about a single thread scheduler. On multiprocessor systems, there is generally some kind of scheduler per processor, which then need to be coordinated in some way. (On some systems, switching on different processors is staggered to avoid contention on shared scheduling tables.) Unless otherwise specified, we'll use the term thread scheduler to refer to this overall system of coordinated per-CPU schedulers.&lt;br /&gt;&lt;br /&gt;Across platforms, thread scheduling1 tends to be based on at least the following criteria: &lt;br /&gt;&lt;br /&gt;****a priority, or in fact usually multiple "priority" settings that we'll discuss below; &lt;br /&gt;&lt;br /&gt;****a quantum, or number of allocated timeslices of CPU, which essentially determines the amount of CPU time a thread is allotted before it is forced to yield the CPU to another thread of the same or lower priority (the system will keep track of the remaining quantum at any given time, plus its default quantum, which could depend on thread type and/or system configuration);&lt;br /&gt;&lt;br /&gt;****a state, notably "runnable" vs "waiting";&lt;br /&gt;&lt;br /&gt;****metrics about the behaviour of threads, such as recent CPU usage or the time since it last ran (i.e. had a share of CPU), or the fact that it has "just received an event it was waiting for". &lt;br /&gt;&lt;br /&gt;Most systems use what we might dub priority-based round-robin scheduling to some extent. The general principles are: &lt;br /&gt;&lt;br /&gt;****a thread of higher priority (which is a function of base and local priorities) will preempt a thread of lower priority; &lt;br /&gt;&lt;br /&gt;****otherwise, threads of equal priority will essentially take turns at getting an allocated slice or quantum of CPU; &lt;br /&gt;&lt;br /&gt;****there are a few extra "tweaks" to make things work&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-4619162919349871606?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/4619162919349871606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/08/thread-scheduling.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/4619162919349871606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/4619162919349871606'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/08/thread-scheduling.html' title='Thread Scheduling'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-2559940033033225421</id><published>2009-08-16T01:22:00.000-07:00</published><updated>2009-08-16T01:23:44.043-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 6'/><title type='text'>Multi-processor Scheduling</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;*Will consider only shared memory multiprocessor&lt;br /&gt;&lt;br /&gt;*Salient features:&lt;br /&gt;-One or more caches: cache affinity is important&lt;br /&gt;-Semaphores/locks typically implemented as spin-locks: preemption during critical sections&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-2559940033033225421?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/2559940033033225421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/08/multi-processor-scheduling.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/2559940033033225421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/2559940033033225421'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/08/multi-processor-scheduling.html' title='Multi-processor Scheduling'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-1518836337623744499</id><published>2009-08-13T04:04:00.000-07:00</published><updated>2009-08-16T01:22:32.630-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 6'/><title type='text'>Real-Time Scheduling</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;&lt;font color="orange"&gt;Distinctive Embedded System Attributes&lt;/font&gt;&lt;br /&gt;● Reactive: computations occur in response to external events&lt;br /&gt;Periodic events (e.g. rotating machinery and control loops).&lt;br /&gt;Aperiodic events (e.g. button click).&lt;br /&gt;● Real Time: correctness is partially a function of time&lt;br /&gt;Hard real time.&lt;br /&gt;– Absolute deadline, beyond which answer is useless&lt;br /&gt;– May include minimum time as well as maximum time&lt;br /&gt;Soft real time.&lt;br /&gt;– Approximate deadline&lt;br /&gt;– Utility of answer degrades with time difference from deadline&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;Real-Time Review&lt;/font&gt;&lt;br /&gt;● &lt;b&gt;Real time is &lt;i&gt;not&lt;/i&gt; just “real fast”&lt;/b&gt;&lt;br /&gt;Real time means that correctness of result depends on both functional correctness and time that the result is delivered.&lt;br /&gt;● &lt;b&gt;Soft real time&lt;/b&gt;&lt;br /&gt;Utility degrades with distance from deadline.&lt;br /&gt;● &lt;b&gt;Hard real time&lt;/b&gt;&lt;br /&gt;System fails if deadline window is missed.&lt;br /&gt;● &lt;b&gt;Firm real time&lt;/b&gt;&lt;br /&gt;Result has no utility outside deadline window, but system can withstand a few missed results.&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;Type of Real-Time Scheduling&lt;/font&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SoP0v4-jJ8I/AAAAAAAAAUE/SvUQrVw7kRs/s1600-h/Picture1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 118px;" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SoP0v4-jJ8I/AAAAAAAAAUE/SvUQrVw7kRs/s320/Picture1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5369404284341528514" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;center&gt;Taxonomy of Real-Time Scheduling&lt;/center&gt;&lt;br /&gt;● &lt;b&gt;Dynamic vs. Static&lt;/b&gt;&lt;br /&gt;&lt;u&gt;Dynamic schedule&lt;/u&gt; computed at run-time based on tasks really executing.&lt;br /&gt;&lt;u&gt;Static schedule&lt;/u&gt; done at compile time for all &lt;i&gt;possible&lt;/i&gt; tasks.&lt;br /&gt;● &lt;b&gt;Preemptive permits one task to preempt another one of lower priority&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;Schedulability&lt;/font&gt;&lt;br /&gt;● NP-hard if there are any resources dependencies &lt;br /&gt;Prove it definitely cannot be scheduled.&lt;br /&gt;Find a schedule if it is easy to do.&lt;br /&gt;Stuck in the middle somewhere.&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SoP1vApw-0I/AAAAAAAAAUM/OPZWGJWaI5c/s1600-h/Picture2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 106px;" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SoP1vApw-0I/AAAAAAAAAUM/OPZWGJWaI5c/s320/Picture2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5369405368733596482" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;center&gt;Necessary and sufficient schedulability test&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;Scheduling Parameters&lt;/font&gt;&lt;br /&gt;● &lt;b&gt;Assume N CPUs available for execution of a single task set&lt;/b&gt;&lt;br /&gt;● &lt;b&gt;Set of tasks {Ti}&lt;/b&gt;&lt;br /&gt;Periods pi.&lt;br /&gt;Deadline di (completion deadline after task is queued).&lt;br /&gt;Execution time ci (amount of CPU time to complete).&lt;br /&gt;● &lt;b&gt;Handy values:&lt;/b&gt;&lt;br /&gt;Laxity li = di – ci (amount of slack time before Ti &lt;i&gt;must&lt;/i&gt; begin execution).&lt;br /&gt;Utilization factor ui = ci/pi(portion of CPU used).&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;Static Schedule&lt;/font&gt;&lt;br /&gt;● &lt;b&gt;Assume non-preemptive system with 5 Restrictions:&lt;/b&gt;&lt;br /&gt;1. Tasks {Ti} are periodic, with hard deadlines and no jitter&lt;br /&gt;2. Tasks are completely independent&lt;br /&gt;3. Deadline = period pi = di&lt;br /&gt;4. Computation time ci is known and constant&lt;br /&gt;5. Context switching is free (zero cost) INCLUDING network messages to send context to another CPU(!)&lt;br /&gt;● &lt;b&gt;Consider least common multiple of periods pi&lt;/b&gt;&lt;br /&gt;This considers all possible cases of period phase differences.&lt;br /&gt;Worst case is time that is product of all periods; usually not that bad.&lt;br /&gt;If you can figure out (somehow) how to schedule this, you win.&lt;br /&gt;● &lt;b&gt;Performance&lt;/b&gt;&lt;br /&gt;Optimal if all tasks always run; can get up to 100% utilization.&lt;br /&gt;If it runs once, it will always work.&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;EDF: Earliest Deadline First&lt;/font&gt;&lt;br /&gt;● &lt;b&gt;Assume a &lt;i&gt;preemptive&lt;/i&gt; system with &lt;i&gt;dynamic&lt;/i&gt; priorities, and (same 5 restrictions)&lt;/b&gt;&lt;br /&gt;● &lt;b&gt;Scheduling policy:&lt;/b&gt;&lt;br /&gt;Always execute the task with the nearest deadline&lt;br /&gt;● &lt;b&gt;Performance&lt;/b&gt;&lt;br /&gt;Optimal for uniprocessor (supports up to 100% of CPU usage in all situations)&lt;br /&gt;If you’re overloaded, ensures that a lot of tasks don’t complete&lt;br /&gt;– Gives everyone a chance to fail at the expense of the later tasks&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;Least Laxity&lt;/font&gt;&lt;br /&gt;● &lt;b&gt;Assume a preemptive system with dynamic priorities, and (same 5 restrictions)&lt;/b&gt;&lt;br /&gt;● &lt;b&gt;Scheduling policy:&lt;/b&gt;&lt;br /&gt;Always execute the task with the smallest laxity.&lt;br /&gt;● &lt;b&gt;Performance:&lt;/b&gt;&lt;br /&gt;Optimal for uniprocessor (supports up to 100% of CPU usage in all situations).&lt;br /&gt;– Similar in properties to EDF&lt;br /&gt;A little more general than EDF for multiprocessors.&lt;br /&gt;– Takes into account that slack time is more meaningful than deadline for tasks of mixed computing sizes&lt;br /&gt;Probably more graceful degradations.&lt;br /&gt;– Laxity measure permits dumping tasks that are hopeless causes&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;EDF/Least Laxity Tradeoffs&lt;/font&gt;&lt;br /&gt;● &lt;b&gt;Pro:&lt;/b&gt;&lt;br /&gt;If it works, it can get 100% efficiency (on a uniprocessor)&lt;br /&gt;● &lt;b&gt;Con:&lt;/b&gt;&lt;br /&gt;It is not always feasible to prove that it will work in all cases.&lt;br /&gt;– And having it work for a while doesn’t mean it will always work&lt;br /&gt;Requires dynamic prioritization.&lt;br /&gt;The laxity time hack for global priority has limits.&lt;br /&gt;– May take too many bits to achieve fine-grain temporal ordering&lt;br /&gt;– May take too many bits to achieve a long enough time horizon&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;Rate Monotonic&lt;/font&gt;&lt;br /&gt;● &lt;b&gt;Assume a &lt;i&gt;preemptive&lt;/i&gt; system with &lt;i&gt;static&lt;/i&gt; priorities, and (same 5 restrictions) plus&lt;/b&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SoP4gT5pYcI/AAAAAAAAAUU/sX1tLNDi6Us/s1600-h/Picture3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 41px;" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SoP4gT5pYcI/AAAAAAAAAUU/sX1tLNDi6Us/s320/Picture3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5369408414737326530" /&gt;&lt;/a&gt;&lt;br /&gt;● &lt;b&gt;Scheduling policy:&lt;/b&gt;&lt;br /&gt;Highest static priority goes to shortest period; always execute highest priority.&lt;br /&gt;● &lt;b&gt;Performance:&lt;/b&gt;&lt;br /&gt;Provides a &lt;i&gt;guarantee&lt;/i&gt; for schedulability with CPU load of ~70%.&lt;br /&gt;– Even with arbitrarily selected task periods&lt;br /&gt;– Can do better if you know about periods &amp; offsets&lt;br /&gt;If all periods are multiple of shortest period, works for CPU load of 100%.&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-1518836337623744499?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/1518836337623744499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/08/real-time-scheduling.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/1518836337623744499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/1518836337623744499'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/08/real-time-scheduling.html' title='Real-Time Scheduling'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_R7P1OI3j7BI/SoP0v4-jJ8I/AAAAAAAAAUE/SvUQrVw7kRs/s72-c/Picture1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-2290590049079637916</id><published>2009-08-09T03:23:00.000-07:00</published><updated>2009-08-13T04:00:29.111-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASSIGN'/><title type='text'>SUBSTANTIAL INFORMATION ABOUT THREAD OF ATLEAST THREE OS</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;&lt;center&gt;&lt;font color="pink"&gt;LINUX THREADS&lt;/font&gt;&lt;/center&gt;&lt;br /&gt;- Linux refers to them as tasks rather than threads&lt;br /&gt;- Thread creation is done through clone() system call&lt;br /&gt;- clone() allows a child task to share the address space of the parent task (process)&lt;br /&gt;&lt;br /&gt;----------&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;font color="pink"&gt;WINDOWS NT’s Threads&lt;/center&gt;&lt;/font&gt;&lt;br /&gt;Processes in NT can consist of one or more threads.&lt;br /&gt;&lt;br /&gt;- &lt;font color="orange"&gt;Primary thread&lt;/font&gt; - When a process is created, one thread is generated along with it.&lt;br /&gt;&lt;br /&gt;This object is then scheduled on a system wide basis by the kernel to execute on a processor.&lt;br /&gt;After the primary thread has started, it can create other threads that share its address space and system resources but have independent contexts, which include execution stacks and thread specific data. A thread can execute any part of a process' code, including a part currently being executed by another thread.&lt;br /&gt;&lt;br /&gt;It is through threads, provided in the Win32 application programmer interface (API), that Windows NT allows programmers to exploit the benefits of concurrency and parallelism.&lt;br /&gt;&lt;br /&gt;- &lt;font color="orange"&gt;Fiber&lt;/font&gt; - is NT’s smallest user-level object of execution. It executes in the context of a thread and is unknown to the operating system kernel. A thread can consist of one or more fibers as determined by the application programmer. ˝Some literature ˝[1,11] assume that there is a one-to-one mapping of userlevel objects to kernel-level objects, this is inaccurate. Windows NT does ˝provide the means for many-to-many ˝scheduling. However, NT's design is poorly documented and the application programmer is responsible for the control of fibers such as allocating memory, scheduling them on threads and preemption.&lt;br /&gt;&lt;br /&gt;----------&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;font color="pink"&gt;WINDOWS XP THREAD&lt;/font&gt;&lt;/center&gt;&lt;br /&gt;Implements the one-to-one mapping&lt;br /&gt;Each thread contains&lt;br /&gt;- A thread id &lt;br /&gt;- Register set&lt;br /&gt;- Separate user and kernel stacks&lt;br /&gt;- Private data storage area&lt;br /&gt;The register set, stacks, and private storage area are known as the context of the threads&lt;br /&gt;The primary data structures of a thread include:&lt;br /&gt;- &lt;b&gt;ETHREAD&lt;/b&gt; (executive thread block)&lt;br /&gt;- &lt;b&gt;KTHREAD&lt;/b&gt; (kernel thread block)&lt;br /&gt;- &lt;b&gt;TEB&lt;/b&gt; (thread environment block)&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-2290590049079637916?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/2290590049079637916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/08/substantial-information-about-thread-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/2290590049079637916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/2290590049079637916'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/08/substantial-information-about-thread-of.html' title='SUBSTANTIAL INFORMATION ABOUT THREAD OF ATLEAST THREE OS'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-3269857391630339686</id><published>2009-08-09T03:10:00.000-07:00</published><updated>2009-08-13T04:04:05.277-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASSIGN'/><title type='text'>CPU SCHEDULING ALGORITMS</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;&lt;center&gt;Scheduling Algorithms&lt;/center&gt;&lt;br /&gt;1.First-come, first-served (FCFS) scheduling&lt;br /&gt;2.Shortest-job first (SJF) scheduling &lt;br /&gt;3.Priority scheduling &lt;br /&gt;4.Round-robin scheduling &lt;br /&gt;5.Multilevel queue scheduling &lt;br /&gt;6.Multilevel feedback queue scheduling&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;First-come, First-served&lt;/font&gt;(FCFS) &lt;font color="orange"&gt;scheduling&lt;/font&gt;&lt;br /&gt;-is the simplest scheduling algorithm, but it can cause short processes to wait for very long processes.&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;Shortest-job-first&lt;/font&gt; (SJF) &lt;font color="orange"&gt;scheduling&lt;/font&gt;&lt;br /&gt;-is provably optimal, providing the shortest average waiting time. Implementing SJF scheduling is difficult because predicting the length of the next CPU burst is difficult. The SJF algorithm is a special case of the general&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;Priority-scheduling algorithm,&lt;/font&gt;&lt;br /&gt;- which simply allocates the CPU to the highest-priority process. Both priority and SJF scheduling may suffer from starvation. Aging is a technique to prevent starvation.&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;Round-robin&lt;/font&gt; (RR) &lt;font color="orange"&gt;scheduling&lt;/font&gt;&lt;br /&gt;- is more appropriate for a time-shared (interactive) system. RR scheduling allocates the CPU to the first process in the ready queue for q time units, where q is the time quantum. After q time units, if the process has not relinquished the CPU, it is preempted and the process is put at the tail of the ready queue. The major problem is the selection of the time quantum. If the quantum is too large, RR scheduling degenerates to FCFS scheduling; if the quantum is too small, scheduling overhead in the form of context-switch time becomes excessive.&lt;br /&gt;&lt;br /&gt;The FCFS algorithm is nonpreemptive, the RR algorithm is preemptive. The SJF and priority algorithms may be either preemptive or nonpreemptive.&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;Multilevel queue algorithms&lt;/font&gt;&lt;br /&gt;-allow different algorithms to be used for various classes of processes. The most common is a foreground interactive queue which uses RR scheduling, and a background batch queue, which uses FCFS scheduling.&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;Multilevel feedback queues&lt;/font&gt;&lt;br /&gt;-allow processes to move from one queue to another.&lt;br /&gt;&lt;br /&gt;Because such a wide variety of scheduling algorithms are available, we need methods to select among them. Analytic methods use mathematical analysis to determine the performance of an algorithm. Simulation methods determine performance by imitating the scheduling algorithm on a “representative” sample of processes, and computing the resulting performance.&lt;br /&gt;&lt;br /&gt;Operating Systems supporting threads at the kernel level must schedule threads - not processes - for execution. This is the case with Solaris 2 and Windows 2000 where both systems schedule threads using preemptive priority based on scheduling algorithm including support for real-time threads. The Linux process scheduler also uses a priority-based algorithm with real-time supports as well. The scheduling algorithms for these three operating systems typically favor interactive over batch and CPU-bound processes.systems typically favor interactive over batch and CPU-bound processes.&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-3269857391630339686?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/3269857391630339686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/08/cpu-scheduling-algoritms.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/3269857391630339686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/3269857391630339686'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/08/cpu-scheduling-algoritms.html' title='CPU SCHEDULING ALGORITMS'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-4338639719329066885</id><published>2009-07-30T04:14:00.000-07:00</published><updated>2009-07-30T04:15:39.736-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 5'/><title type='text'>Thread Library</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;• &lt;font color="orange"&gt;Thread library&lt;/font&gt; provides programmer with API for creating and managing threads&lt;br /&gt;&lt;br /&gt;• Two primary ways of implementing&lt;br /&gt;- Library entirely in user space&lt;br /&gt;- Kernel-level library supported by the OS&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-4338639719329066885?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/4338639719329066885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/07/thread-library.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/4338639719329066885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/4338639719329066885'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/07/thread-library.html' title='Thread Library'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-1200620625898225313</id><published>2009-07-30T04:05:00.000-07:00</published><updated>2009-07-30T04:13:48.979-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 5'/><title type='text'>Multithreading Methods</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;&lt;font color="yellow"&gt;Multithreading Methods&lt;/font&gt;&lt;br /&gt;• Many-to-One&lt;br /&gt;• One-to-One&lt;br /&gt;• Many-to-Many&lt;br /&gt;&lt;br /&gt;&lt;font color="violet"&gt;MANY-TO-ONE&lt;/font&gt;&lt;br /&gt;• Many user-level threads mapped to single kernel thread&lt;br /&gt;• Examples:&lt;br /&gt;- Solaris Green Threads&lt;br /&gt;- GNU Portable Threads&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_R7P1OI3j7BI/SnF_NhHyomI/AAAAAAAAATs/0kpIYJlvcEs/s1600-h/Picture2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 314px;" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/SnF_NhHyomI/AAAAAAAAATs/0kpIYJlvcEs/s320/Picture2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5364208501381046882" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;----------&lt;br /&gt;&lt;br /&gt;&lt;font color="violet"&gt;ONE-TO-ONE&lt;/font&gt;&lt;br /&gt;• Each user-level thread maps to kernel thread&lt;br /&gt;• Examples&lt;br /&gt;- Windows NT/XP/2000&lt;br /&gt;- Linux&lt;br /&gt;- Solaris 9 and later&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_R7P1OI3j7BI/SnF_yLvTTVI/AAAAAAAAAT0/O3Vv_RZWzoQ/s1600-h/Picture3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 126px;" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/SnF_yLvTTVI/AAAAAAAAAT0/O3Vv_RZWzoQ/s320/Picture3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5364209131296345426" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;----------&lt;br /&gt;&lt;br /&gt;&lt;font color="violet"&gt;MANY-TO-MANY&lt;/font&gt;&lt;br /&gt;• Allows many user level threads to be mapped to many kernel threads&lt;br /&gt;• Allows the  operating system to create a sufficient number of kernel threads&lt;br /&gt;• Solaris prior to version 9&lt;br /&gt;• Windows NT/2000 with the &lt;i&gt;ThreadFiber&lt;/i&gt; package&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_R7P1OI3j7BI/SnGARXmaygI/AAAAAAAAAT8/CBEaBStw2F8/s1600-h/Picture4.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 274px;" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/SnGARXmaygI/AAAAAAAAAT8/CBEaBStw2F8/s320/Picture4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5364209667056257538" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-1200620625898225313?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/1200620625898225313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/07/multithreading-methods.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/1200620625898225313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/1200620625898225313'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/07/multithreading-methods.html' title='Multithreading Methods'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_R7P1OI3j7BI/SnF_NhHyomI/AAAAAAAAATs/0kpIYJlvcEs/s72-c/Picture2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-1466518104585484197</id><published>2009-07-30T04:03:00.000-07:00</published><updated>2009-07-30T04:16:16.834-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 5'/><title type='text'>Kernel Thread</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;• &lt;font color="yellow"&gt;Supported by the Kernel&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;• &lt;font color="yellow"&gt;OS manages threads&lt;/font&gt;&lt;br /&gt;- Slower to create and manage because of system calls&lt;br /&gt;- A blocking system call will not cause the entire process to block.&lt;br /&gt;- The kernel can schedule threads on different CPUs.&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-1466518104585484197?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/1466518104585484197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/07/kernel-thread.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/1466518104585484197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/1466518104585484197'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/07/kernel-thread.html' title='Kernel Thread'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-977322461988160354</id><published>2009-07-30T03:59:00.000-07:00</published><updated>2009-07-30T04:17:30.923-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 5'/><title type='text'>User Thread</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;• &lt;font color="yellow"&gt;Thread management done by user-level threads library&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;• &lt;font color="yellow"&gt;A blocking system call will cause the entire process to block&lt;br /&gt;- OS is unaware of threads&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;• &lt;font color="yellow"&gt;The kernel cannot schedule threads on different CPUs.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;• &lt;font color="yellow"&gt;Example: Pthread, a POSIX standard (IEEE 1003.1c) API for thread creation and synchronization.&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-977322461988160354?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/977322461988160354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/07/user-thread.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/977322461988160354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/977322461988160354'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/07/user-thread.html' title='User Thread'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-1744199371429188054</id><published>2009-07-30T03:52:00.000-07:00</published><updated>2009-07-30T03:59:01.332-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 5'/><title type='text'>Benefits of Multi-Threaded Programming</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;• &lt;font color="yellow"&gt;Responsiveness&lt;/font&gt;&lt;br /&gt;- User interaction in parallel with data retrieval&lt;br /&gt;&lt;br /&gt;• &lt;font color="yellow"&gt;Utilization of MP Architectures&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;• &lt;font color="yellow"&gt;Resource Sharing between Threads (vs. Process)&lt;/font&gt;&lt;br /&gt; E.g. Synchronization by accessing shared data&lt;br /&gt;&lt;br /&gt;• &lt;font color="yellow"&gt;Economy (vs. Process)&lt;/font&gt;&lt;br /&gt;- If the task is the same, why not share the code?&lt;br /&gt;- In Solaris 2, creating a process is about 30 times slower than threads. Context switch threads is about 5 times slower.&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-1744199371429188054?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/1744199371429188054/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/07/benefits-of-multi-threaded-programming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/1744199371429188054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/1744199371429188054'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/07/benefits-of-multi-threaded-programming.html' title='Benefits of Multi-Threaded Programming'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-3071763015928287254</id><published>2009-07-30T03:09:00.000-07:00</published><updated>2009-07-30T03:52:17.641-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 5'/><title type='text'>Thread</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;• A piece of code that run in concurrent with other threads.&lt;br /&gt;&lt;br /&gt;• Each thread is a statically ordered sequence of instructions.&lt;br /&gt;&lt;br /&gt;• Threads are being extensively used express concurrency on both single and multiprocessors machines.&lt;br /&gt;&lt;br /&gt;• Programming a task having multiple threads of control – &lt;b&gt;Multithreading&lt;/b&gt; or &lt;b&gt;Multithreaded Programming&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;• &lt;i&gt;&lt;center&gt;SINGLE and MULTI-THREADED PROCESSES&lt;/center&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SnF7QglsrUI/AAAAAAAAATk/ExcjHyttw9E/s1600-h/Picture1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 212px;" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SnF7QglsrUI/AAAAAAAAATk/ExcjHyttw9E/s320/Picture1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5364204154731146562" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-3071763015928287254?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/3071763015928287254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/07/thread.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/3071763015928287254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/3071763015928287254'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/07/thread.html' title='Thread'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_R7P1OI3j7BI/SnF7QglsrUI/AAAAAAAAATk/ExcjHyttw9E/s72-c/Picture1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-8788693242202985607</id><published>2009-07-30T02:10:00.000-07:00</published><updated>2009-07-30T03:36:30.847-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 4'/><title type='text'>Interprocess Communication</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;&lt;font color="green"&gt;DIRECT COMMUNICATION&lt;/font&gt;&lt;br /&gt;• &lt;i&gt;Processes must name each other explicitly:&lt;/i&gt;&lt;br /&gt;– &lt;font color="red"&gt;send&lt;/font&gt; (P, message) – send a message to process P&lt;br /&gt;– &lt;font color="red"&gt;receive&lt;/font&gt; (Q, message) – receive a message from &lt;br /&gt;process Q&lt;br /&gt;• &lt;i&gt;Properties of communication link&lt;/i&gt;&lt;br /&gt;– Links are established automatically. &lt;br /&gt;– A link is associated with exactly one pair of &lt;br /&gt;communicating processes. &lt;br /&gt;– The link may be unidirectional (e.g. signaling), but is &lt;br /&gt;usually bi-directional (e.g. sockets). &lt;br /&gt;&lt;br /&gt;----------&lt;br /&gt;&lt;br /&gt;&lt;font color="green"&gt;INDIRECT COMMUNICATION&lt;/font&gt;&lt;br /&gt;• &lt;i&gt;Messages are directed and received from&lt;/i&gt; &lt;br /&gt;mailboxes (also referred to as ports).&lt;br /&gt;– Each mailbox has a unique id. (e.g. shared memory, &lt;br /&gt;shared file, message Q)&lt;br /&gt;– Processes can communicate only if they share a &lt;br /&gt;mailbox.&lt;br /&gt;• &lt;i&gt;Properties of communication link&lt;/i&gt;&lt;br /&gt;– A link may be associated with many processes.&lt;br /&gt;– Each pair of processes may share several &lt;br /&gt;communication links.&lt;br /&gt;– Link may be unidirectional or bi-directional.&lt;br /&gt;• &lt;i&gt;Operations&lt;/i&gt;&lt;br /&gt;– create a new mailbox&lt;br /&gt;– send and receive messages through mailbox&lt;br /&gt;– destroy a mailbox&lt;br /&gt;• &lt;i&gt;Primitives are defined as:&lt;/i&gt;&lt;br /&gt;&lt;font color="red"&gt;send&lt;/font&gt;(A, message) – send a message to &lt;br /&gt;mailbox A&lt;br /&gt;&lt;font color="red"&gt;receive&lt;/font&gt;(A, message) – receive a message &lt;br /&gt;from mailbox A&lt;br /&gt;&lt;br /&gt;----------&lt;br /&gt;&lt;br /&gt;&lt;font color="green"&gt;SYNCHRONIZATION&lt;/font&gt;&lt;br /&gt;• &lt;i&gt;Blocking send&lt;/i&gt;&lt;br /&gt;- suspend sending process until message received&lt;br /&gt;• &lt;i&gt;Nonblocking send&lt;/i&gt;&lt;br /&gt;- resume process immediately after sending message&lt;br /&gt;• &lt;i&gt;Blocking receive&lt;/i&gt;&lt;br /&gt;- suspend receiving process until data is received&lt;br /&gt;• &lt;i&gt;Nonblocking receive&lt;/i&gt;&lt;br /&gt;- return either a message or&lt;br /&gt;- null if no message is immediately available&lt;br /&gt;&lt;br /&gt;&lt;font color="yellow"&gt;Synchronization Trade-Offs&lt;/font&gt;&lt;br /&gt;• &lt;i&gt;Blocking&lt;/i&gt;&lt;br /&gt;- guarantees message has been delivered&lt;br /&gt;- drastically reduces performance&lt;br /&gt;• &lt;i&gt;Non-Blocking&lt;/i&gt;&lt;br /&gt;- much better performance (hides latency of message sending)&lt;br /&gt;- could cause errors if messages are lost&lt;br /&gt;&lt;br /&gt;----------&lt;br /&gt;&lt;br /&gt;&lt;font color="green"&gt;BUFFERING&lt;/font&gt;&lt;br /&gt;• Buffering allows messages to be saved and read or transmitted later&lt;br /&gt;• Requires sufficient memory to store messages&lt;br /&gt;• Can drastically improve performance of applications&lt;br /&gt;&lt;br /&gt;&lt;font color="yellow"&gt;Types of Buffering&lt;/font&gt;&lt;br /&gt;• &lt;i&gt;Zero Capacity&lt;/i&gt;&lt;br /&gt;- no buffering at all&lt;br /&gt;- must be "listening" when a message comes in&lt;br /&gt;• &lt;i&gt;Bounded Capacity&lt;/i&gt;&lt;br /&gt;- some max, n, of messages will be buffered&lt;br /&gt;- be careful when queue gets full&lt;br /&gt;• &lt;i&gt;Unbounded Capacity&lt;/i&gt;&lt;br /&gt;- no limit to the number of message&lt;br /&gt;- not usually very realistic assumption&lt;br /&gt;- this is not very realistic, buffers usually have finite capacity&lt;br /&gt;&lt;br /&gt;&lt;font color="yellow"&gt;&lt;center&gt;Buffering Example&lt;/center&gt;&lt;/font&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SnFvDD35pLI/AAAAAAAAAS8/HFMKZinhWRk/s1600-h/untitled1.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SnFvDD35pLI/AAAAAAAAAS8/HFMKZinhWRk/s320/untitled1.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5364190729545032882" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;----------&lt;br /&gt;&lt;br /&gt;&lt;font color="green"&gt;Producer-Consumer Example&lt;/font&gt;&lt;br /&gt;• One process generates data – the producer&lt;br /&gt;&lt;br /&gt;• The other process uses it – the consumer&lt;br /&gt;&lt;br /&gt;• If directly connected – time coordination&lt;br /&gt;&lt;br /&gt;- How would they coordinate the time ??&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SnF2_9_GI3I/AAAAAAAAATE/QRnzwcKgWn0/s1600-h/jay.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 104px;" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SnF2_9_GI3I/AAAAAAAAATE/QRnzwcKgWn0/s320/jay.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5364199472518013810" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;• One process generates data – the producer&lt;br /&gt;&lt;br /&gt;• The other process uses it – the consumer&lt;br /&gt;&lt;br /&gt;• If not directly connected – have a buffer &lt;br /&gt;&lt;br /&gt;- Buffer must be accessible to both&lt;br /&gt;&lt;br /&gt;- Finite Capacity N – Number in use - K&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SnF3NqNsPeI/AAAAAAAAATM/csSE9tA7f5Y/s1600-h/jay1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 86px;" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SnF3NqNsPeI/AAAAAAAAATM/csSE9tA7f5Y/s320/jay1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5364199707728690658" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_R7P1OI3j7BI/SnF3bf1i4-I/AAAAAAAAATU/UwNk_2REsVw/s1600-h/jay2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 219px;" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/SnF3bf1i4-I/AAAAAAAAATU/UwNk_2REsVw/s320/jay2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5364199945461228514" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-8788693242202985607?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/8788693242202985607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/07/interprocess-communication.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/8788693242202985607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/8788693242202985607'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/07/interprocess-communication.html' title='Interprocess Communication'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_R7P1OI3j7BI/SnFvDD35pLI/AAAAAAAAAS8/HFMKZinhWRk/s72-c/untitled1.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-3932114764655083532</id><published>2009-07-16T03:23:00.000-07:00</published><updated>2009-07-16T03:32:48.981-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 4'/><title type='text'>5) Inter-Process Communication (IPC)</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Mechanism for processes to communicate and to synchronize their actions&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Message system – processes communicate with each other without resorting to shared variables&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; IPC facility provides two operations:&lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt; &lt;b&gt;send&lt;/b&gt;(&lt;i&gt;message&lt;/i&gt;) – message size fixed or variable &lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt; &lt;b&gt;receive&lt;/b&gt;(&lt;i&gt;message&lt;/i&gt;)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; If &lt;i&gt;P&lt;/i&gt; and &lt;i&gt;Q&lt;/i&gt; wish to communicate, they need to:&lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt; establish a &lt;i&gt;communication link&lt;/i&gt; between them&lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt; exchange messages via send/receive&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Implementation of communication link&lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt; physical (e.g., shared memory, hardware bus)&lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt; logical (e.g., logical properties)&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-3932114764655083532?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/3932114764655083532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/07/inter-process-communication-ipc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/3932114764655083532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/3932114764655083532'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/07/inter-process-communication-ipc.html' title='5) Inter-Process Communication (IPC)'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-7289345617600919700</id><published>2009-07-16T03:20:00.000-07:00</published><updated>2009-07-16T03:32:19.531-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 4'/><title type='text'>4) Cooperating Process</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; &lt;font color="yellow"&gt;Independent&lt;/font&gt; process cannot affect or be affected by the execution of another process&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; &lt;font color="yellow"&gt;Cooperating&lt;/font&gt; process can affect or be affected by the execution of another process&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Advantages of process cooperation&lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt;Information sharing &lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt;Computation speed-up&lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt;Modularity&lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt;Convenience&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-7289345617600919700?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/7289345617600919700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/07/cooperation-process.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/7289345617600919700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/7289345617600919700'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/07/cooperation-process.html' title='4) Cooperating Process'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-6146421882535921358</id><published>2009-07-16T02:56:00.000-07:00</published><updated>2009-07-16T03:31:13.591-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 4'/><title type='text'>3) Operations on Process (Process Operations)</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;&lt;center&gt;&lt;font color="pink"&gt;PROCESS CREATION&lt;/font&gt;&lt;/center&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Parent process create children processes, which, in turn create other processes, forming a tree of processes&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Resource sharing&lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt;Parent and children share all resources&lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt;Children share subset of parent’s resources&lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt;Parent and child share no resources&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Execution&lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt;Parent and children execute concurrently&lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt;Parent waits until children terminate&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_R7P1OI3j7BI/Sl76VLYWWbI/AAAAAAAAASs/pZ4ugFo_Pxc/s1600-h/Picture6.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 84px;" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/Sl76VLYWWbI/AAAAAAAAASs/pZ4ugFo_Pxc/s320/Picture6.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5358995848356583858" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Address space&lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt;Child duplicate of parent&lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt;Child has a program loaded into it&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; UNIX examples&lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt;&lt;b&gt;fork&lt;/b&gt; system call creates new process&lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt;&lt;b&gt;exec&lt;/b&gt; system call used after a &lt;b&gt;fork&lt;/b&gt; to replace the process’ memory space with a new program&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;font color="pink"&gt;PROCESS TERMINATION&lt;/font&gt;&lt;/center&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Process executes last statement and asks the OS to delete it (&lt;b&gt;exit&lt;/b&gt;)&lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt;Output data from child to parent (via &lt;b&gt;wait&lt;/b&gt;)&lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt;Process’ resources are deallocated by OS&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Parent may terminate execution of children processes (&lt;b&gt;abort&lt;/b&gt;)&lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt;Child has exceeded allocated resources&lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt;Task assigned to child is no longer required&lt;br /&gt;&lt;font color="red"&gt;&gt;&gt;&lt;/font&gt;If parent is exiting&lt;br /&gt;&lt;font color="green"&gt;--&gt;&lt;/font&gt;Some OS do not allow child to continue if its parent terminates&lt;br /&gt;&lt;font color="blue"&gt;--&lt;/font&gt;All children terminated - &lt;i&gt;cascading termination&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-6146421882535921358?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/6146421882535921358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/07/operations-on-process-process.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/6146421882535921358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/6146421882535921358'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/07/operations-on-process-process.html' title='3) Operations on Process (Process Operations)'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_R7P1OI3j7BI/Sl76VLYWWbI/AAAAAAAAASs/pZ4ugFo_Pxc/s72-c/Picture6.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-3531817411528263800</id><published>2009-07-16T02:41:00.000-07:00</published><updated>2009-07-16T03:35:24.488-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 4'/><title type='text'>2) Process Scheduling</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;Representation of Process Scheduling&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_R7P1OI3j7BI/Sl72JkhmlCI/AAAAAAAAASU/SV8i2mDdLGY/s1600-h/Picture3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 187px;" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/Sl72JkhmlCI/AAAAAAAAASU/SV8i2mDdLGY/s320/Picture3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5358991250901341218" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;-----------------&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;font color="pink"&gt;SCHEDULING QUEUES&lt;/font&gt;&lt;/center&gt;&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; &lt;font color="green"&gt;Job queue&lt;/font&gt; – set of all processes in the system&lt;br /&gt; &lt;br /&gt; &lt;b&gt;~&lt;/b&gt; &lt;font color="green"&gt;Ready queue&lt;/font&gt; – set of all processes residing in main memory, ready and waiting to execute&lt;br /&gt;&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; &lt;font color="green"&gt;Device queues&lt;/font&gt; – set of processes waiting for an I/O device&lt;br /&gt;&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; Processes migrate among the various queues&lt;br /&gt;&lt;br /&gt;Ready Queue and Various I/O Device Queues&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_R7P1OI3j7BI/Sl73NxwAjQI/AAAAAAAAASc/rN9Tsc1xM3I/s1600-h/Picture4.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 276px;" src="http://4.bp.blogspot.com/_R7P1OI3j7BI/Sl73NxwAjQI/AAAAAAAAASc/rN9Tsc1xM3I/s320/Picture4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5358992422682529026" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;font color="pink"&gt;SCHEDULERS&lt;/font&gt;&lt;/center&gt;&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; &lt;font color="green"&gt;Long-term scheduler&lt;/font&gt;  (or job scheduler) – selects which processes should be brought into the ready queue&lt;br /&gt;&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; &lt;font color="green"&gt;Short-term scheduler&lt;/font&gt;  (or CPU scheduler) – selects which process should be executed next and allocates CPU&lt;br /&gt;&lt;br /&gt;Addition of Medium Term Scheduling&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_R7P1OI3j7BI/Sl737wvdYjI/AAAAAAAAASk/o-4Np87l_B0/s1600-h/Picture5.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 116px;" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/Sl737wvdYjI/AAAAAAAAASk/o-4Np87l_B0/s320/Picture5.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5358993212685771314" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; Short-term scheduler is invoked very frequently (milliseconds)  must be fast&lt;br /&gt;&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; Long-term scheduler is invoked very infrequently (seconds, minutes)  may be slow&lt;br /&gt;&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; The long-term scheduler controls the &lt;i&gt;degree of multiprogramming&lt;/i&gt;&lt;br /&gt;&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; Processes can be described as either:&lt;br /&gt;   &lt;b&gt;&gt;&gt;&lt;/b&gt; &lt;font color="yellow"&gt;I/O-bound process&lt;/font&gt; – spends more time doing I/O than computations, many short CPU bursts&lt;br /&gt;   &lt;b&gt;&gt;&gt;&lt;/b&gt; &lt;font color="yellow"&gt;CPU-bound process&lt;/font&gt; – spends more time doing computations; few very long CPU bursts&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;font color="pink"&gt;CONTEXT SWITCH&lt;/font&gt;&lt;/center&gt;&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; When CPU switches to another process, the system must save the state of the old process and load the saved state for the new process&lt;br /&gt;&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; Context-switch time is overhead; the system does no useful work while switching&lt;br /&gt;&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; Time dependent on hardware support&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-3531817411528263800?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/3531817411528263800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/07/process-scheduling.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/3531817411528263800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/3531817411528263800'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/07/process-scheduling.html' title='2) Process Scheduling'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_R7P1OI3j7BI/Sl72JkhmlCI/AAAAAAAAASU/SV8i2mDdLGY/s72-c/Picture3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-5851225981784657064</id><published>2009-07-16T01:46:00.000-07:00</published><updated>2009-07-16T03:29:49.333-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 4'/><title type='text'>1) The Concept of Process (OS)</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;An operating system executes a variety of programs:&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Batch system – jobs&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Time-shared systems – user programs or tasks&lt;br /&gt;&lt;br /&gt;Textbook uses the terms  job and process almost &lt;br /&gt;interchangeably.&lt;br /&gt;&lt;br /&gt;&lt;font color="green"&gt;Process&lt;/font&gt; – a program in execution; process execution &lt;br /&gt;must progress in sequential fashion.&lt;br /&gt;&lt;br /&gt;A process includes:&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; program counter &lt;br /&gt;&lt;b&gt;~&lt;/b&gt; stack&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; data section&lt;br /&gt;&lt;br /&gt;-----------------&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;font color="pink"&gt;PROCESS STATE&lt;/font&gt;&lt;/center&gt;&lt;br /&gt;As a process executes, it changes state&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; &lt;font color="yellow"&gt;new:&lt;/font&gt; The process is being created.&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; &lt;font color="yellow"&gt;running:&lt;/font&gt; Instructions are being executed.&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; &lt;font color="yellow"&gt;waiting:&lt;/font&gt; The process is waiting for some event to occur.&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; &lt;font color="yellow"&gt;ready:&lt;/font&gt; The process is waiting to be assigned to a processor&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; &lt;font color="yellow"&gt;terminated:&lt;/font&gt; The process has finished execution.&lt;br /&gt;&lt;br /&gt;Diagram of Process State&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_R7P1OI3j7BI/Sl70rlaPVKI/AAAAAAAAASE/Zb6B_eBS-Xo/s1600-h/Picture1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 127px;" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/Sl70rlaPVKI/AAAAAAAAASE/Zb6B_eBS-Xo/s320/Picture1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5358989636231189666" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;font color="pink"&gt;PROCESS CONTROL BLOCK(PCB)&lt;/font&gt;&lt;/center&gt;&lt;br /&gt;Information associated with each process&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; Process state&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; Program counter&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; CPU registers&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; CPU scheduling information&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; Memory-management information&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; Accounting information&lt;br /&gt; &lt;b&gt;~&lt;/b&gt; I/O status information&lt;br /&gt;&lt;br /&gt;Process Control Block (PCB)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_R7P1OI3j7BI/Sl71eEysOlI/AAAAAAAAASM/bC0AIpe0vvU/s1600-h/Picture2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 199px; height: 320px;" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/Sl71eEysOlI/AAAAAAAAASM/bC0AIpe0vvU/s320/Picture2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5358990503648705106" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;font color="pink"&gt;THREADS&lt;/font&gt;&lt;/center&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_R7P1OI3j7BI/Sl792NkdnmI/AAAAAAAAAS0/gJEkSmRlwyU/s1600-h/picture7.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 180px; height: 170px;" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/Sl792NkdnmI/AAAAAAAAAS0/gJEkSmRlwyU/s320/picture7.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5358999714414829154" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In computer science, a &lt;font color="yellow"&gt;thread of execution&lt;/font&gt; results from a fork of a computer program into two or more concurrently running tasks. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process. Multiple threads can exist within the same process and share resources such as memory, while different processes do not share these resources.&lt;br /&gt;&lt;br /&gt;On a single processor, &lt;font color="yellow"&gt;multithreading&lt;/font&gt; generally occurs by time-division multiplexing (as in multitasking): the processor switches between different threads. This context switching generally happens frequently enough that the user perceives the threads or tasks as running at the same time. On a multiprocessor or multi-core system, the threads or tasks will generally run at the same time, with each processor or core running a particular thread or task. Support for threads in programming languages varies: a number of languages simply do not support having more than one execution context inside the same program executing at the same time. Examples of such languages include Python, and OCaml, because the parallel support of their runtime support is limited by the use of a central lock, called "Global Interpreter Lock" in Python, "master lock" in Ocaml. Other languages may be limited because they use threads that are &lt;i&gt;user threads&lt;/i&gt;, which are not visible to the kernel, and thus cannot be scheduled to run concurrently. On the other hand, &lt;i&gt;kernel threads&lt;/i&gt;, which are visible to the kernel, can run concurrently.&lt;br /&gt;&lt;br /&gt;Many modern operating systems directly support both time-sliced and multiprocessor threading with a process scheduler. The kernel of an operating system allows programmers to manipulate threads via the system call interface. Some implementations are called a &lt;i&gt;kernel thread&lt;/i&gt;, whereas a &lt;u&gt;&lt;i&gt;lightweight process&lt;/i&gt;&lt;/u&gt; (LWP) is a specific type of kernel thread that shares the same state and information.&lt;br /&gt;&lt;br /&gt;Programs can have user-space threads when threading with timers, signals, or other methods to interrupt their own execution, performing a sort of ad-hoc time-slicing.&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;Threads compared with processes&lt;/font&gt;&lt;br /&gt;Threads differ from traditional multitasking operating system processes in that:&lt;br /&gt;&lt;br /&gt;&lt;font color="red"&gt;~&lt;/font&gt; processes are typically independent, while threads exist as subsets of a process &lt;br /&gt;&lt;font color="red"&gt;~&lt;/font&gt; processes carry considerable state information, where multiple threads within a process share state as well as memory and other resources &lt;br /&gt;&lt;font color="red"&gt;~&lt;/font&gt; processes have separate address spaces, where threads share their address space &lt;br /&gt;&lt;font color="red"&gt;~&lt;/font&gt; processes interact only through system-provided inter-process communication mechanisms. &lt;br /&gt;&lt;font color="red"&gt;~&lt;/font&gt; Context switching between threads in the same process is typically faster than context switching between processes. &lt;br /&gt;&lt;br /&gt;Systems like Windows NT and OS/2 are said to have "cheap" threads and "expensive" processes; in other operating systems there is not so great a difference except the cost of address space switch which implies a TLB flush.&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-5851225981784657064?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/5851225981784657064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/07/concept-of-process.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/5851225981784657064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/5851225981784657064'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/07/concept-of-process.html' title='1) The Concept of Process (OS)'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_R7P1OI3j7BI/Sl70rlaPVKI/AAAAAAAAASE/Zb6B_eBS-Xo/s72-c/Picture1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-141050838651630773</id><published>2009-07-16T00:36:00.000-07:00</published><updated>2009-07-16T03:29:22.110-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 3'/><title type='text'>Question and Answer</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;&lt;font color="red"&gt;1. What are the major activities of an Operating System with regards to Process Management?&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;The operating system is responsible for the following activities in connection with process management. &lt;br /&gt;Process creation and deletion. &lt;br /&gt;&lt;br /&gt;Process suspension (process is in I/O wait queue, or “swapped” out to disk, …) and resumption (move to ready queue or execution) – manage the state of the process. &lt;br /&gt;Provision of mechanisms for:&lt;br /&gt;Process synchronization - concurrent processing is supported thus the need for synchronization of processes or threads. &lt;br /&gt;&lt;br /&gt;Process communication &lt;br /&gt;&lt;br /&gt;Deadlock handling &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="red"&gt;2. What are the major activities of an Operating System with regards to Memory Management?&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;Keep track of which parts of memory are currently being used and by whom. &lt;br /&gt;Decide which processes to load when memory space becomes available - long term or medium term scheduler. &lt;br /&gt;Mapping addresses in a process to absolute memory addresses - at load time or run time. &lt;br /&gt;Allocate and deallocate memory space as needed. &lt;br /&gt;Memory partitioning, allocation, paging (VM), address translation, defrag, … &lt;br /&gt;Memory protection &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="red"&gt;3. What are the major activities of an Operating System with regards to Secondary-Storage Management?&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;- Free space management &lt;br /&gt;- Storage allocation &lt;br /&gt;- Disk scheduling – minimize seeks (arm movement … very slow operation) &lt;br /&gt;- Disk as the media for mapping virtual memory space &lt;br /&gt;- Disk caching for performance &lt;br /&gt;- Disk utilities: defrag, recovery of lost clusters, etc. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="red"&gt;4. What are the major activities of an Operating System with regards to File Management?&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;- File creation and deletion - system calls or commands. &lt;br /&gt;- Directory creation and deletion - system calls or commands. &lt;br /&gt;- Support of primitives for manipulating files and directories in an efficient manner - system calls or commands. &lt;br /&gt;- Mapping files onto secondary storage. &lt;br /&gt;- File backup on stable (nonvolatile) storage media. &lt;br /&gt;EX: File Allocation Table (FAT) for Windows/PC systems &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="red"&gt;5. What is the purpose of the command-interpreter?&lt;/font&gt; &lt;br /&gt;&lt;br /&gt;- The program that reads and interprets control statements is called variously: &lt;br /&gt;·command-line interpreter (Control card interpreter in the “old batch days”) &lt;br /&gt;·shell (in UNIX) &lt;br /&gt;- Command.com for external commands in DOS &lt;br /&gt;- Its function is to get and execute the next command statement.&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-141050838651630773?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/141050838651630773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/07/question-and-answer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/141050838651630773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/141050838651630773'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/07/question-and-answer.html' title='Question and Answer'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-6954502814236734461</id><published>2009-07-07T04:01:00.000-07:00</published><updated>2009-07-07T04:22:22.398-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 3'/><title type='text'>System Boot</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Operating system must be made available to hardware so hardware can start it &lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Small piece of code – bootstrap loader, locates the kernel, loads it into memory, and starts it&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt;Sometimes two-step process where boot block at fixed location loads bootstrap loader&lt;br /&gt;When power initialized on system, execution starts at a fixed memory location &lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt;Firmware used to hold initial boot code &lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-6954502814236734461?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/6954502814236734461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/07/system-boot.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/6954502814236734461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/6954502814236734461'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/07/system-boot.html' title='System Boot'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-1208292649065972627</id><published>2009-07-07T03:38:00.000-07:00</published><updated>2009-07-07T04:16:48.116-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 3'/><title type='text'>Virtual Machine</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;=&gt; A virtual machine is a tightly isolated software container that can run its own operating systems and applications as if it were a physical computer. A virtual machine behaves exactly like a physical computer and contains it own virtual (ie, software-based) CPU, RAM hard disk and network interface card (NIC).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SlMufEHHWoI/AAAAAAAAARM/PP4vAiTJJms/s1600-h/Picture2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 203px;" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SlMufEHHWoI/AAAAAAAAARM/PP4vAiTJJms/s320/Picture2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5355675493088057986" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;An operating system can’t tell the difference between a virtual machine and a physical machine, nor can applications or other computers on a network. Even the virtual machine thinks it is a “real” computer. Nevertheless, a virtual machine is composed entirely of software and contains no hardware components whatsoever. As a result, virtual machines offer a number of distinct advantages over physical hardware.&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;IMPLEMENTATION&lt;/font&gt;&lt;br /&gt;&lt;font color="yellow"&gt;Modes:&lt;/font&gt;&lt;br /&gt;- virtual user mode and virtual monitor mode, &lt;br /&gt;- Actual user mode and actual monitor mode&lt;br /&gt;&lt;br /&gt;&lt;font color="yellow"&gt;Time&lt;/font&gt;&lt;br /&gt;- Whereas the real I/O might have taken 100 milliseconds, the virtual I/O might take less time (because it is spooled) or more time (because it is interpreted.)&lt;br /&gt;- The CPU is being multi-programmed among many virtual machines, further slowing down the virtual machines in unpredictable ways.&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;BENEFITS&lt;/font&gt;&lt;br /&gt;In general, VMware virtual machines possess four key characteristics that benefit the user:&lt;br /&gt;&lt;br /&gt;&lt;font color="pink"&gt;Compatibility:&lt;/font&gt; Virtual machines are compatible with all standard x86 computers&lt;br /&gt;&lt;font color="pink"&gt;Isolation:&lt;/font&gt; Virtual machines are isolated from each other as if physically separated&lt;br /&gt;&lt;font color="pink"&gt;Encapsulation:&lt;/font&gt; Virtual machines encapsulate a complete computing environment&lt;br /&gt;&lt;font color="pink"&gt;Hardware independence:&lt;/font&gt; Virtual machines run independently of underlying hardware&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Two advantages&lt;/b&gt;&lt;br /&gt;&lt;font color="pink"&gt;To provide a robust level of security&lt;/font&gt;&lt;br /&gt;- no direct sharing of resources. &lt;br /&gt;- Two solutions&lt;br /&gt;&lt;font color="pink"&gt;To allow system development to be done easily&lt;/font&gt;&lt;br /&gt;- A perfect vehicle for OS research and development. &lt;br /&gt;- difficult to implement due to the effort required to provide an exact duplicate to the underlying machine.&lt;br /&gt;- Wine for Linux.&lt;br /&gt;&lt;br /&gt;&lt;font color="orange"&gt;EXAMPLES&lt;/font&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Compiled Java programs are platform-neutral bytecodes executed by a Java Virtual Machine (JVM).&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; JVM consists of&lt;br /&gt; - class loader&lt;br /&gt; - class verifier&lt;br /&gt; - runtime interpreter&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Just-In-Time (JIT) compilers increase performance&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_R7P1OI3j7BI/SlMttzS-y2I/AAAAAAAAAQ8/ZrPDzkEGAcQ/s1600-h/Picture1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 186px; height: 320px;" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/SlMttzS-y2I/AAAAAAAAAQ8/ZrPDzkEGAcQ/s320/Picture1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5355674646760835938" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-1208292649065972627?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/1208292649065972627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/07/virtual-machine.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/1208292649065972627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/1208292649065972627'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/07/virtual-machine.html' title='Virtual Machine'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_R7P1OI3j7BI/SlMufEHHWoI/AAAAAAAAARM/PP4vAiTJJms/s72-c/Picture2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-5876774304042806247</id><published>2009-07-07T03:08:00.000-07:00</published><updated>2009-07-07T04:01:29.333-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 3'/><title type='text'>System Generation (SYSGEN)</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; &lt;font color="yellow"&gt;Operating systems&lt;/font&gt; are designed to run on any of a class &lt;br /&gt;of machines; the system must be configured for each &lt;br /&gt;specific computer site.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; &lt;font color="yellow"&gt;SYSGEN program&lt;/font&gt; obtains information concerning the &lt;br /&gt;specific configuration of the hardware system.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; &lt;font color="yellow"&gt;&lt;i&gt;Booting&lt;/i&gt;&lt;/font&gt; – starting a computer by loading the kernel.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; &lt;font color="yellow"&gt;&lt;i&gt;Bootstrap program&lt;/i&gt;&lt;/font&gt; – code stored in ROM that is able to &lt;br /&gt;locate the kernel, load it into memory, and start its &lt;br /&gt;execution.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; How to generate a system?&lt;br /&gt;- Recompile&lt;br /&gt;- Cause the creation of tables and selection of modules from a precompiled library&lt;br /&gt;&lt;font color="pink"&gt;Link modules together to form the generated OS&lt;/font&gt;&lt;br /&gt;&lt;font color="pink"&gt;SYSGEN is faster, but the generated OS may be overly general&lt;/font&gt;&lt;br /&gt;- Completed table driven&lt;br /&gt;&lt;font color="pink"&gt;All the code is always part of the system, and selection occurs at execution time&lt;/font&gt;&lt;br /&gt;&lt;font color="pink"&gt;Most modern OS are constructed in this manner&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Size and generality of the generated system and the ease of modification as the hardware configuration changes&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-5876774304042806247?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/5876774304042806247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/07/system-generation-sysgen.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/5876774304042806247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/5876774304042806247'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/07/system-generation-sysgen.html' title='System Generation (SYSGEN)'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-2872754125914418966</id><published>2009-07-05T05:20:00.000-07:00</published><updated>2009-07-05T05:23:27.010-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 3'/><title type='text'>System Structure</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;• &lt;font color="pink"&gt;Simple Structure&lt;/font&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_R7P1OI3j7BI/SlCaykaGE6I/AAAAAAAAAQ0/g37M9lxpjEU/s1600-h/Simple.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 222px;" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/SlCaykaGE6I/AAAAAAAAAQ0/g37M9lxpjEU/s320/Simple.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5354950150500783010" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;• &lt;font color="pink"&gt;Layered Approach&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;The operating system is divided into a number of layers (levels), each built on top of lower layers. The bottom layer (layer 0), is the hardware; the highest (layer N) is the user interface. &lt;br /&gt;&lt;br /&gt;With modularity, layers are selected such that each uses functions (operations) and services of only lower-level layers&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Properties&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  &lt;font color="violet"&gt;Simplicity of construction&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  &lt;font color="violet"&gt;Simplicity of Debugging&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  &lt;font color="violet"&gt;Problems&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  &lt;font color="violet"&gt;Precise definition of layers&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  Example: Memory manager requires device driver of backing store (due to virtual memory)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  The device driver requires CPU scheduler (since if the driver waits for IO, another task should be scheduled)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  CPU scheduler may require virtual memory for large amount of information of some processes&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  Less efficiency: due to the number of layers a request should pass&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-2872754125914418966?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/2872754125914418966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/07/system-structure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/2872754125914418966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/2872754125914418966'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/07/system-structure.html' title='System Structure'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_R7P1OI3j7BI/SlCaykaGE6I/AAAAAAAAAQ0/g37M9lxpjEU/s72-c/Simple.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-5248348376701157697</id><published>2009-07-05T05:13:00.000-07:00</published><updated>2009-07-07T00:31:29.973-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 3'/><title type='text'>System Calls</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;System calls provide the interface between a running program and the operating system &lt;br /&gt;Generally available as assembly-language instructions&lt;br /&gt;Languages defined to replace assembly language for systems programming allow system calls to be made directly (e.g., C, C++)&lt;br /&gt;&lt;br /&gt;&lt;font color="green"&gt;Types of System Calls&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;• &lt;font color="yellow"&gt;Process control&lt;/font&gt;&lt;br /&gt;create/terminate a process (including self)&lt;br /&gt;&lt;br /&gt;• &lt;font color="yellow"&gt;File management&lt;/font&gt; &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_R7P1OI3j7BI/SlCaG1Hxd8I/AAAAAAAAAQs/xIhffjCeSYg/s1600-h/root.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 309px;" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/SlCaG1Hxd8I/AAAAAAAAAQs/xIhffjCeSYg/s320/root.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5354949399073093570" /&gt;&lt;/a&gt;&lt;br /&gt;Also referred to as simply a file system or filesystem. The system that an operating system or program uses to organize and keep track of files. For example, a hierarchical file system is one that uses directories to organize files into a tree structure.Although the operating system provides its own file management system, you can buy separate file management systems. These systems interact smoothly with the operating system but provide more features, such as improved backup procedures and stricter file protection.&lt;br /&gt;&lt;br /&gt;• &lt;font color="yellow"&gt;Device management&lt;/font&gt;&lt;br /&gt;Device Management is a set of technologies, protocols and standards used to allow the remote management of mobile devices, often involving updates of firmware over the air (FOTA). The network operator, handset OEM or in some cases even the end-user (usually via a web portal) can use Device Management, also known as Mobile Device Management, or MDM, to update the handset firmware/OS, install applications and fix bugs, all over the air. Thus, large numbers of devices can be managed with single commands and the end-user is freed from the requirement to take the phone to a shop or service center to refresh or update.&lt;br /&gt;&lt;br /&gt;• &lt;font color="yellow"&gt;Information maintenance&lt;/font&gt;&lt;br /&gt;– get time&lt;br /&gt;– set system data (OS parameters)&lt;br /&gt;– get process information (id, time used)&lt;br /&gt;&lt;br /&gt;• &lt;font color="yellow"&gt;Communications&lt;/font&gt;&lt;br /&gt;– establish a connection&lt;br /&gt;– send, receive messages&lt;br /&gt;– terminate a connectionlProcess control&lt;br /&gt;– create/terminate a process (including self)&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-5248348376701157697?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/5248348376701157697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/07/system-calls.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/5248348376701157697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/5248348376701157697'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/07/system-calls.html' title='System Calls'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_R7P1OI3j7BI/SlCaG1Hxd8I/AAAAAAAAAQs/xIhffjCeSYg/s72-c/root.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-7593687175660277143</id><published>2009-07-02T04:01:00.000-07:00</published><updated>2009-07-05T05:09:48.542-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 3'/><title type='text'>Sytem Components</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;&lt;font color="blue"&gt;OPERATING SYSTEMS PROCESS MANAGEMENT&lt;/font&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; A &lt;i&gt;&lt;u&gt;process&lt;/u&gt;&lt;/i&gt; is a program in execution.  A process needs &lt;br /&gt;certain resources, including CPU time, memory, files, and&lt;br /&gt;I/O devices, to accomplish its task.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; The operating system is responsible for the following &lt;br /&gt;activities in connection with process management.&lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; Process creation and deletion.&lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; process suspension and resumption.&lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; Provision of mechanisms for:&lt;br /&gt;  &lt;font color="yellow"&gt;-&gt;&lt;/font&gt; process synchronization&lt;br /&gt;  &lt;font color="yellow"&gt;-&gt;&lt;/font&gt; process communication&lt;br /&gt;&lt;br /&gt;&lt;font color="blue"&gt;MAIN MEMORY MANAGEMENT&lt;/font&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Memory is a large array of words or bytes, each with its &lt;br /&gt;own address.  It is a repository of quickly accessible data&lt;br /&gt;shared by the CPU and I/O devices.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Main memory is a volatile storage device.  It loses its &lt;br /&gt;contents in the case of system failure.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; The operating system is responsible for the following &lt;br /&gt;activities in connections with memory management:&lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; Keep track of which parts of memory are currently being &lt;br /&gt;used and by whom.&lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; Decide which processes to load when memory space &lt;br /&gt;becomes available.&lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; Allocate and deallocate memory space as needed.&lt;br /&gt;&lt;br /&gt;&lt;font color="blue"&gt;FILE MANAGEMENT&lt;/font&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; A file is a collection of related information defined by its &lt;br /&gt;creator.  Commonly, files represent programs (both &lt;br /&gt;source and object forms) and data.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; The operating system is responsible for the following &lt;br /&gt;activities in connections with file management:&lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; File creation and deletion.&lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; Directory creation and deletion.&lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; Support of primitives for manipulating files and directories.&lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; Mapping files onto secondary storage.&lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; File backup on stable (nonvolatile) storage media.&lt;br /&gt;&lt;br /&gt;&lt;font color="blue"&gt;I/O SYSTEM MANAGEMENT&lt;/font&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; The I/O system consists of:&lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; A buffer-caching system &lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; A general device-driver interface&lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; Drivers for specific hardware devices&lt;br /&gt;&lt;br /&gt;&lt;font color="blue"&gt;SECONDARY STORAGE MANAGEMENT&lt;/font&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Since main memory &lt;i&gt;(primary storage)&lt;/i&gt; is volatile and too &lt;br /&gt;small to accommodate all data and programs &lt;br /&gt;permanently, the computer system must provide &lt;br /&gt;&lt;i&gt;&lt;u&gt;secondary storage&lt;/u&gt;&lt;/i&gt; to back up main memory.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Most modern computer systems use disks as the &lt;br /&gt;principle on-line storage medium, for both programs and &lt;br /&gt;data.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; The operating system is responsible for the following &lt;br /&gt;activities in connection with disk management: &lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; Free space management&lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; Storage allocation&lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; Disk scheduling&lt;br /&gt;&lt;br /&gt;&lt;font color="blue"&gt;PROTECTION SYSTEM&lt;/font&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Protection refers to a mechanism for controlling access &lt;br /&gt;by programs, processes, or users to both system and &lt;br /&gt;user resources.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; The protection mechanism must: &lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; distinguish between authorized and unauthorized usage.&lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; specify the controls to be imposed.&lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; provide a means of enforcement.&lt;br /&gt;&lt;br /&gt;&lt;font color="blue"&gt;COMMAND INTERPRETER SYSTEM&lt;/font&gt;&lt;br /&gt;&lt;b&gt;~&lt;/b&gt; Many commands are given to the operating system by &lt;br /&gt;control statements which deal with:&lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; process creation and management&lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; I/O handling&lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; secondary-storage management&lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; main-memory management&lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; file-system access &lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; protection &lt;br /&gt;&lt;font color="red"&gt;&gt;&lt;/font&gt; networking&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-7593687175660277143?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/7593687175660277143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/07/sytem-components.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/7593687175660277143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/7593687175660277143'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/07/sytem-components.html' title='Sytem Components'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-2044761300112465251</id><published>2009-07-02T03:42:00.000-07:00</published><updated>2009-07-05T05:13:03.807-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 3'/><title type='text'>Operating System Services</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;1. &lt;font color="pink"&gt;Program execution&lt;/font&gt; – system capability to load a program into memory and to run it &lt;br /&gt;2. &lt;font color="pink"&gt;I/O operations&lt;/font&gt; – since user programs cannot execute I/O operations directly, the operating system must provide some means to perform I/On&lt;br /&gt;3. &lt;font color="pink"&gt;File-system manipulation&lt;/font&gt; – program capability to read, write, create, and delete files&lt;br /&gt;4. &lt;font color="pink"&gt;Communications&lt;/font&gt; – exchange of information between processes executing either on the same computer or on different systems tied together by a network. Implemented via shared memory or message passing&lt;br /&gt;5. &lt;font color="pink"&gt;Error detection&lt;/font&gt; – ensure correct computing by detecting errors in the CPU and memory hardware, in I/O devices, or in user program&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-2044761300112465251?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/2044761300112465251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/07/operating-system-services.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/2044761300112465251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/2044761300112465251'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/07/operating-system-services.html' title='Operating System Services'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-2997858240116358914</id><published>2009-06-25T03:22:00.000-07:00</published><updated>2009-06-25T03:49:33.780-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 2'/><title type='text'>9. Hardware Protection</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;-&gt; &lt;span style="color:yellow;"&gt;DUAL-MODE PROTECTION&lt;/span&gt;&lt;br /&gt;• Sharing system resources requires operating system to ensure&lt;br /&gt;that an incorrect program cannot cause other programs to&lt;br /&gt;execute incorrectly.&lt;br /&gt;&lt;br /&gt;• Provide hardware support to differentiate between at least two&lt;br /&gt;modes of operations.&lt;br /&gt;1. User mode – execution done on behalf of a user.&lt;br /&gt;2. Monitor mode (also supervisor mode or system mode) –&lt;br /&gt;execution done on behalf of operating system.&lt;br /&gt;&lt;br /&gt;• Mode bit added to computer hardware to indicate the current&lt;br /&gt;mode: monitor (0) or user (1).&lt;br /&gt;&lt;br /&gt;• When an interrupt or fault occurs hardware switches to monitor&lt;br /&gt;mode&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SkNVZCZ0vqI/AAAAAAAAAQc/e3YdDn5s0XI/s1600-h/12.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 137px;" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SkNVZCZ0vqI/AAAAAAAAAQc/e3YdDn5s0XI/s320/12.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5351214670876556962" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;• Privileged instructions can be issued only in monitor mode.&lt;br /&gt;&lt;br /&gt;-&gt; &lt;font color="yellow"&gt;I/O PROTECTION&lt;/font&gt;&lt;br /&gt;• All I/O instructions are privileged instructions.&lt;br /&gt;• Must ensure that a user program could never gain control of the computer in monitor mode (i.e., a user program that, aspart of its execution, stores a new address in the interrupt vector).&lt;br /&gt;&lt;br /&gt;Use of a System Call to Perform an I/O&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_R7P1OI3j7BI/SkNVMPnZXlI/AAAAAAAAAQU/UPhzV8JZhow/s1600-h/12.1"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 270px; height: 320px;" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/SkNVMPnZXlI/AAAAAAAAAQU/UPhzV8JZhow/s320/12.1" border="0" alt=""id="BLOGGER_PHOTO_ID_5351214451084844626" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;-&gt; &lt;font color="yellow"&gt;MEMORY PROTECTION&lt;/font&gt;&lt;br /&gt;• Must provide memory protection at least for the interrupt vectorand the interrupt service routines.&lt;br /&gt;• In order to have memory protection, add two registers thatdetermine the range of legal addresses a program may access:&lt;br /&gt;&lt;br /&gt;– base register &lt;br /&gt;– holds the smallest legal physical memoryaddress.&lt;br /&gt;– limit register&lt;br /&gt;– contains the size of the range.&lt;br /&gt;&lt;br /&gt;• Memory outside the deﬁned range is protected.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_R7P1OI3j7BI/SkNUKxH2E9I/AAAAAAAAAQM/M2WBrTk079w/s1600-h/aaaa.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 260px;" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/SkNUKxH2E9I/AAAAAAAAAQM/M2WBrTk079w/s320/aaaa.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5351213326207947730" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;-&gt; &lt;font color="yellow"&gt;CPU PROTECTION&lt;/font&gt;&lt;br /&gt;• Timer &lt;br /&gt;– interrupts computer after specified period to ensure operating system maintains control.&lt;br /&gt;– Timer is decremented every clock tick.&lt;br /&gt;– When timer reaches the value 0, an interrupt occurs.&lt;br /&gt;• Timer commonly used to implement time sharing.&lt;br /&gt;• Time also used to compute the current time.&lt;br /&gt;• Load-timer is a privileged instruction.&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-2997858240116358914?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/2997858240116358914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/06/9-hardware-protection.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/2997858240116358914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/2997858240116358914'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/06/9-hardware-protection.html' title='9. Hardware Protection'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_R7P1OI3j7BI/SkNVZCZ0vqI/AAAAAAAAAQc/e3YdDn5s0XI/s72-c/12.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-4627527323797956136</id><published>2009-06-25T02:26:00.000-07:00</published><updated>2009-06-25T03:10:18.664-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 2'/><title type='text'>8. Storage Structure</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;-&gt; &lt;font color="yellow"&gt;MAIN MEMORY&lt;/font&gt;&lt;br /&gt;&lt;i&gt;main memory&lt;/i&gt; (main store, main storage, RAM, primary memory). The storage that is closely associated with the processor of a computer system and from which the program instruction and data can be directly retrieved and to which the resulting data is written prior to transfer to backing store or output device. In modern machines this is semiconductor memory but in earlier machines core stores and delay lines were used.&lt;br /&gt;&lt;br /&gt;The majority of storage activity generated by a processor in the execution of a program is directed at the main memory. In a modern processor, however, there is usually a further small high-speed memory interposed between the processor and main memory that holds recently accessed main-memory data for rapid re-access. This small high-speed memory is known as a cache. The main memory is normally used in conjunction with a backing store with a much larger capacity.&lt;br /&gt;&lt;br /&gt;-&gt; &lt;font color="yellow"&gt;MAGNETIC DISK&lt;/font&gt;&lt;br /&gt;&lt;i&gt;magnetic disk&lt;/i&gt;. Plastic disk coated with magnetic material and used for storing computer programs and data (information) as a series of magnetic spots. Most computers contain a hard disk unit for general storage. Hard magnetic disks can store larger amounts of data and come in cartridges that slot into a special drive unit. Computers also often have a disk drive for inserting portable, lower-capacity compact discs or floppy disks. Data is stored magnetically on both sides of a floppy disk, and is read by magnetic heads in the computer as the disk rotates.&lt;br /&gt;&lt;br /&gt;It provide the bulk of secondary storage for modern computer systems. Conceptually, disks are relatively simple. Each disk &lt;b&gt;platter&lt;/b&gt; has a flat circular shape, like a CD. Common platter diameters range from 1.8 to 5.25 inches. the two surfaces of a platter are covered with a magnetic material. We store information be recording it magnetically on the platters.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;Moving-head disk mechanism&lt;/center&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SkNIt3K1AMI/AAAAAAAAAQE/vQZ9cSu3AhM/s1600-h/12_01_DiskMechanism.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 264px;" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SkNIt3K1AMI/AAAAAAAAAQE/vQZ9cSu3AhM/s320/12_01_DiskMechanism.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5351200734986961090" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;-&gt; &lt;font color="yellow"&gt;MAGNETIC TAPES&lt;/font&gt;&lt;br /&gt;&lt;b&gt;magnetic tape&lt;/b&gt;. It was used as an early secondary-storage medium. Although it is relatively permanent and can hold large quantities of data, its access time is slow in comparison to that of main memory. In addition, random access to magnetic tape is about a thousand times slower than random access to magnetic disk, so tapes are not very useful for secondary storage. Tapes are used mainly for backup, for storage of infrequently used information, and as a medium for transfering information from one system to another.&lt;br /&gt;&lt;br /&gt;A tape is kept in a spool, and is wound or rewound past a read-write head. Moving to the correct spot on a tape can take minutes, but once positioned, tape drives can write data at speeds comparable to disk drives. Tape capacities vary greatly, depending on the particular kind of tape drive. Some tapes hold 2 to 3 times more data than does a large disk drive. Tapes and their drivers are usually categorized by width, including 4, 8, and 19 millimeters, 1/4 and 1/2 inch.&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-4627527323797956136?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/4627527323797956136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/06/8-storage-structure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/4627527323797956136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/4627527323797956136'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/06/8-storage-structure.html' title='8. Storage Structure'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_R7P1OI3j7BI/SkNIt3K1AMI/AAAAAAAAAQE/vQZ9cSu3AhM/s72-c/12_01_DiskMechanism.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-7002380355637616271</id><published>2009-06-24T20:54:00.000-07:00</published><updated>2009-06-25T04:04:42.563-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 2'/><title type='text'>5. Device Status Table</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;-&gt; &lt;font color="yellow"&gt;Device-Status Table&lt;/font&gt; contains entry for each I/O device indicating its type, address, and state.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;-&gt;&gt;A diagram of a Device-Status Table&lt;&lt;-&lt;/center&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SkL1nidPgKI/AAAAAAAAAP8/a7IaI0KTm5c/s1600-h/ttable.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SkL1nidPgKI/AAAAAAAAAP8/a7IaI0KTm5c/s320/ttable.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5351109366882730146" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-7002380355637616271?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/7002380355637616271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/06/5-device-status-table.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/7002380355637616271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/7002380355637616271'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/06/5-device-status-table.html' title='5. Device Status Table'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_R7P1OI3j7BI/SkL1nidPgKI/AAAAAAAAAP8/a7IaI0KTm5c/s72-c/ttable.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-4039108736206190969</id><published>2009-06-24T20:48:00.000-07:00</published><updated>2009-06-25T04:03:00.341-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 2'/><title type='text'>10. Storage Hierarchy</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;• Storage systems organized in hierarchy.&lt;br /&gt;– &lt;b&gt;Speed&lt;/b&gt;&lt;br /&gt;– &lt;b&gt;Cost&lt;/b&gt;&lt;br /&gt;– &lt;b&gt;Size&lt;/b&gt;&lt;br /&gt;– &lt;b&gt;Volatility&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;STORAGE HEIRARCHY(MEMORY HEIRARCHY)&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_R7P1OI3j7BI/SkNYA91lIrI/AAAAAAAAAQk/I3z_V6IR4jo/s1600-h/12.2"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 239px;" src="http://2.bp.blogspot.com/_R7P1OI3j7BI/SkNYA91lIrI/AAAAAAAAAQk/I3z_V6IR4jo/s320/12.2" border="0" alt=""id="BLOGGER_PHOTO_ID_5351217555868820146" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;-&gt; &lt;font color="yellow"&gt;CACHING&lt;/font&gt; &lt;br /&gt;copying information into faster storage system; main memory can be viewed as a cache for secondary storage. &lt;br /&gt;&lt;br /&gt;• improve performance where a large access-time or transfer-rate disparity exists between two components) Memory caching: add cache (faster and smaller memory) between CPU and main memory&lt;br /&gt;--&gt; When need some data, check if it’s in cache&lt;br /&gt;--&gt;If yes, use the data from cache&lt;br /&gt;--&gt; If not, use data from main memory and put a copy in cache&lt;br /&gt;– Disk caching: main memory can be viewed as a cache for disks&lt;br /&gt;&lt;br /&gt;-&gt; &lt;font color="yellow"&gt;Cache COHERENCY and CONSISTENCY&lt;/font&gt;&lt;br /&gt;• &lt;u&gt;&lt;b&gt;Cache coherency in multiprocessor systems&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;- Each CPU has a local cache&lt;br /&gt;- A copy of X may exist in several caches --&gt; must make sure that an update of X in one cache is immediately reflected in all other caches where X resides&lt;br /&gt;- Hardware problem&lt;br /&gt;&lt;br /&gt;• &lt;u&gt;&lt;b&gt;Cache consistency in distributed systems&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;- A master copy of the file resides at the server machine&lt;br /&gt;- Copies of the same file scattered in caches of different client machines&lt;br /&gt;- Must keep the cached copies consistent with the master file&lt;br /&gt;- OS problem&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-4039108736206190969?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/4039108736206190969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/06/10-storage-hierarchy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/4039108736206190969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/4039108736206190969'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/06/10-storage-hierarchy.html' title='10. Storage Hierarchy'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_R7P1OI3j7BI/SkNYA91lIrI/AAAAAAAAAQk/I3z_V6IR4jo/s72-c/12.2' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-6938535168054550855</id><published>2009-06-24T20:35:00.001-07:00</published><updated>2009-06-24T20:59:01.368-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 2'/><title type='text'>7. Difference of RAM and DRAM</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;-&gt; The difference of RAM and DRAM is:&lt;br /&gt;&lt;br /&gt;&lt;font color="yellow"&gt;RAM&lt;/font&gt; - &lt;b&gt;&lt;u&gt;Random Access Memory&lt;/u&gt;&lt;/b&gt; - is a form of computer data storage. Takes the form of integrated circuits that allow stored data to be accessed in any order (i.e., at random).&lt;br /&gt;&lt;br /&gt;&lt;font color="yellow"&gt;DRAM&lt;/font&gt; - &lt;b&gt;&lt;u&gt;Dynamic Random Access Memory&lt;/u&gt;&lt;/b&gt; - is a type of random access memory that stores each bit of data in a separate capacitor within an integrated circuit. Since real capacitors leak charge, the information eventually fades unless the capacitor charge is refreshed periodically. Because of this refresh requirement, it is a dynamic memory as opposed to SRAM and other static memory.&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-6938535168054550855?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/6938535168054550855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/06/7-difference-of-ram-and-dram_24.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/6938535168054550855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/6938535168054550855'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/06/7-difference-of-ram-and-dram_24.html' title='7. Difference of RAM and DRAM'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-5701933625330512402</id><published>2009-06-24T20:33:00.001-07:00</published><updated>2009-06-24T20:58:47.540-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 2'/><title type='text'>6. Direct Memory Access</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;-&gt; &lt;font color="yellow"&gt;Direct memory access&lt;/font&gt; (DMA) is a feature of modern computers and microprocessors that allows certain hardware subsystems within the computer to access system memory for reading and/or writing independently of the central processing unit.&lt;br /&gt;DMA including disk drive controllers, graphics cards, network cards and sound cards. DMA is also used for intra-chip data transfer in multi-core processors, especially in multiprocessor system-on-chips, where its processing element is equipped with a local memory (often called scratchpad memory) and DMA is used for transferring data between the local memory and the main memory.&lt;br /&gt;Computers that have DMA channels can transfer data to and from devices with much less CPU overhead than computers without a DMA channel. Similarly a processing element inside a multi-core processor can transfer data to and from its local memory without occupying its processor time and allowing computation and data transfer concurrency.&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-5701933625330512402?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/5701933625330512402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/06/6-direct-memory-access.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/5701933625330512402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/5701933625330512402'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/06/6-direct-memory-access.html' title='6. Direct Memory Access'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-1437918013434177136</id><published>2009-06-24T20:31:00.001-07:00</published><updated>2009-06-24T20:32:50.323-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 2'/><title type='text'>4. User Mode</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;-&gt; Enables multiple virtual systems (known as guests) to run as an application within a normal system (known as the host). As each guest is just a normal application running as a process in user space, this approach provides the user with a way of running multiple virtual machines on a single piece of hardware, offering excellent security and safety without affecting the host environment's configuration or stability.&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-1437918013434177136?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/1437918013434177136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/06/4-user-mode.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/1437918013434177136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/1437918013434177136'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/06/4-user-mode.html' title='4. User Mode'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-4659410756165809890</id><published>2009-06-23T04:24:00.001-07:00</published><updated>2009-06-24T20:43:53.418-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 2'/><title type='text'>3. Monitor Mode</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;-&gt; &lt;font color="yellow"&gt;Monitor mode&lt;/font&gt;, or RFMON (Radio Frequency Monitor) mode, allows a computer with a wireless network interface card (NIC) to monitor all traffic received from the wireless network. Unlike promiscuous mode, which is also used for packet sniffing, monitor mode allows packets to be captured without having to associate with an access point or ad-hoc network first. Monitor mode only applies to wireless networks, while promiscuous mode can be used on both wired and wireless networks. Monitor mode is one of the six modes that 802.11 wireless cards can operate in: Master (acting as an access point), Managed (client, also known as station), Ad-hoc, Mesh, Repeater, and Monitor mode.&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-4659410756165809890?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/4659410756165809890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/06/3-monitor-mode.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/4659410756165809890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/4659410756165809890'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/06/3-monitor-mode.html' title='3. Monitor Mode'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-419292812298109213</id><published>2009-06-23T04:19:00.000-07:00</published><updated>2009-06-24T20:29:15.843-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 2'/><title type='text'>2. Difference of interrupt and trap and their use.</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;-&gt; An &lt;font color="yellow"&gt;interrupt&lt;/font&gt; is a hardware-generated change-of-ﬂow within the system. An interrupt handler is summoned to deal with the cause of the interrupt; control is then returned to the interrupted context and instruction. A &lt;font color="yellow"&gt;trap&lt;/font&gt; is a software-generated interrupt. An &lt;font color="yellow"&gt;interrupt&lt;/font&gt; can be used to signal the completion of an I/O to obviate the need for device polling. A &lt;font color="yellow"&gt;trap&lt;/font&gt; can be used to call operating system routines or to catch arithmetic errors.&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-419292812298109213?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/419292812298109213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/06/2-difference-of-interrupt-and-trap-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/419292812298109213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/419292812298109213'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/06/2-difference-of-interrupt-and-trap-and.html' title='2. Difference of interrupt and trap and their use.'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-9088494183831909377</id><published>2009-06-23T03:52:00.000-07:00</published><updated>2009-06-24T20:30:56.988-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS 2'/><title type='text'>1. Bootstrap Program</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;-&gt; &lt;font color="yellow"&gt;Bootstrapping&lt;/font&gt; process that starts operating systems when the user turns on a computer system.&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-9088494183831909377?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/9088494183831909377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/06/1-bootstrap-program.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/9088494183831909377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/9088494183831909377'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/06/1-bootstrap-program.html' title='1. Bootstrap Program'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-193863074792140190</id><published>2009-06-20T21:13:00.001-07:00</published><updated>2009-06-20T21:16:41.529-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS'/><title type='text'>3. What's the diference between Batch System, Multiprogrammed system and Time-sharing system?</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;* A &lt;font color="blue"&gt;batch system&lt;/font&gt; is one in which jobs are bundled together with the instructions necessary to allow them to be processed without intervention&lt;br /&gt;&lt;br /&gt;* As machines with more and more memory became available, it was possible to extend the idea of &lt;font color="blue"&gt;multiprogramming&lt;/font&gt; (or multiprocessing) as used in spooling batch systems to create systems that would load several jobs into memory at once and cycle through them in some order, working on each one for a specified period of time&lt;br /&gt;    &lt;br /&gt;* The first involved &lt;font color="blue"&gt;timesharing&lt;/font&gt; or &lt;font color="blue"&gt;timeslicing&lt;/font&gt;. The idea of multiprogramming was extended to allow for multiple terminals to be connected to the computer, with each in-use terminal being associated with one or more jobs on the computer. The operating system is responsible for switching between the jobs, now often called processes, in such a way that favored user interaction. If the context-switches occurred quickly enough, the user had the impression that he or she had direct access to the computer.&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-193863074792140190?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/193863074792140190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/06/3-whats-diference-between-batch-system.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/193863074792140190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/193863074792140190'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/06/3-whats-diference-between-batch-system.html' title='3. What&apos;s the diference between Batch System, Multiprogrammed system and Time-sharing system?'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-2477699778981659231</id><published>2009-06-18T03:47:00.000-07:00</published><updated>2009-06-18T04:03:21.933-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS'/><title type='text'>4. Explain the advantages of Parallel System.</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;&gt; Multiprocessor system with more than one CPU in close communication.&lt;br /&gt;&gt; &lt;i&gt;Tightly coupled system&lt;/i&gt; - processor share memory and a clock; communication usually takes place through the share memory.&lt;br /&gt;&lt;br /&gt;Advantage of Parallel system:&lt;br /&gt; -- Increased &lt;i&gt;throughput&lt;/i&gt;&lt;br /&gt; -- Economical&lt;br /&gt; -- Increased reliability&lt;br /&gt;     &gt; graceful degradation&lt;br /&gt;     &gt; fail-soft systems&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-2477699778981659231?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/2477699778981659231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/06/4-explain-advantages-of-parallel-system.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/2477699778981659231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/2477699778981659231'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/06/4-explain-advantages-of-parallel-system.html' title='4. Explain the advantages of Parallel System.'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-1745320014910463100</id><published>2009-06-18T03:45:00.000-07:00</published><updated>2009-06-18T04:03:41.347-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS'/><title type='text'>1. What is the difference of an OS in terms of user's view and system's view?</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;-Differences:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;User view&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The user view of the computer varies by the interface being used. Most computer users sit in front of a PC, consisting of a monitor, keyboard, mouse and system unit. Such a system is designed for one user to monopolize its resources, to maximize the work that the user is performing. In this case,the operating system is designed mostly for ease of use, with some attention paid to performance, and none paid to resource utilization.&lt;br /&gt;&lt;br /&gt;Some users sit at a terminal connected to a mainframe or minicomputer. Other users are accessing the same computer through other terminals. These users share resources and may exchange information. The operating system is designed to maximize resource utilization.&lt;br /&gt;&lt;br /&gt;Other users sit at workstations, connected to networks of other workstations and servers. These users have dedicated resources at their disposal, but they also share resources such as networking and servers.&lt;br /&gt;&lt;br /&gt;Recently, many varieties of handheld computers have come into fashion. These devices are mostly standalone, used singly by individual users. Some are connected to networks, either directly by wire or through wireless modems. Due to power and interface limitations they perform relatively few remote operations. These operating systems are designed mostly for individual usability, but performance per amount of battery life is important as well.&lt;br /&gt;&lt;br /&gt;Some computers have little or no user view. For example, embedded computers in home devices and automobiles may have numeric keypad, and may turn indicator lights on or off to show status, but mostly they and their operating systems are designed to run without user intervention.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;System View&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;We can view an operating system as a resource allocator. A computer system has many resources - hardware and software - that may be required to solve a problem. The operating system acts as the manager of these resources.&lt;br /&gt;&lt;br /&gt;An operating system can also be viewed as a control program that manages the execution of user programs to prevent errors and improper use of the computer. It is especially concerned with the operation and control of I/O devices.&lt;br /&gt;&lt;br /&gt;We have no universally accepted definition of what is part of the operating system. A simple viewpoint is that it includes everything a vendor ships when you order “the operating system”.&lt;br /&gt;&lt;br /&gt;A more common definition is that the operating system is the one program running at all times on the computer (usually called the kernel), with all else being application programs. This is the one that we generally follow.&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-1745320014910463100?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/1745320014910463100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/06/1-what-is-difference-of-os-in-terms-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/1745320014910463100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/1745320014910463100'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/06/1-what-is-difference-of-os-in-terms-of.html' title='1. What is the difference of an OS in terms of user&apos;s view and system&apos;s view?'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-5879428709303268793</id><published>2009-06-18T03:44:00.000-07:00</published><updated>2009-06-18T04:04:02.899-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS'/><title type='text'>2. Explain the goals of OS.</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;- It is easier to define an operating system by what it does than what it is, but even this can be tricky. The primary goal of some operating system is convenience for the user. The primary goal of other operating system is efficient operation of the computer system. Operating systems and computer architecture have influenced each other a great deal. To facilitate the use of the hardware, researchers developed operating systems. Users of the operating systems then proposed changes in hardware design to simplify them. In this short historical review, notice how identification of operating-system problems led to the introduction of new hardware features.&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-5879428709303268793?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/5879428709303268793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/06/2-explain-goals-of-os.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/5879428709303268793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/5879428709303268793'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/06/2-explain-goals-of-os.html' title='2. Explain the goals of OS.'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-5438985397259078943</id><published>2009-06-18T03:18:00.001-07:00</published><updated>2009-06-20T21:26:51.895-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS'/><title type='text'>6. Difference between Client Server System and Peer-to-Peer System.</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;The difference between the two are as follows:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="blue"&gt;Client-server&lt;/font&gt;&lt;/b&gt; computing or networking is a distributed application architecture that partitions tasks or work loads between service providers (servers) and service requesters, called clients. Often clients and servers operate over a computer network on separate hardware. A server is a high-performance host that is a registering unit and shares its resources with clients. A client does not share any of its resources, but requests a server's content or service function. Clients therefore initiate communication sessions with servers which await (listen to) incoming requests.&lt;br /&gt;&lt;br /&gt;-&gt;&gt; sample diagram of a Client-server system works:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_R7P1OI3j7BI/Sj22HCFnUxI/AAAAAAAAAP0/8bfsQkv1gXE/s1600-h/p2p2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 207px;" src="http://3.bp.blogspot.com/_R7P1OI3j7BI/Sj22HCFnUxI/AAAAAAAAAP0/8bfsQkv1gXE/s320/p2p2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5349632164321776402" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="blue"&gt;Peer-to-peer&lt;/font&gt;&lt;/b&gt; (P2P) networking is a method of delivering computer network services in which the participants share a portion of their own resources, such as processing power, disk storage, network bandwidth, printing facilities. Such resources are provided directly to other participants without intermediary network hosts or servers. Peer-to-peer network participants are providers and consumers of network services simultaneously, which contrasts with other service models, such as traditional client-server computing.&lt;br /&gt;&lt;br /&gt;-&gt;&gt; sample diagram of a Peer-to-peer system works:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_R7P1OI3j7BI/SjoVF0mRLjI/AAAAAAAAAPs/_3fwqXi8RXk/s1600-h/200px-P2P-network_svg.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 207px;" src="http://1.bp.blogspot.com/_R7P1OI3j7BI/SjoVF0mRLjI/AAAAAAAAAPs/_3fwqXi8RXk/s320/200px-P2P-network_svg.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5348610697218567730" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-5438985397259078943?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/5438985397259078943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/06/6-difference-between-client-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/5438985397259078943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/5438985397259078943'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/06/6-difference-between-client-server.html' title='6. Difference between Client Server System and Peer-to-Peer System.'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_R7P1OI3j7BI/Sj22HCFnUxI/AAAAAAAAAP0/8bfsQkv1gXE/s72-c/p2p2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-1616161941005192309</id><published>2009-06-18T03:02:00.000-07:00</published><updated>2009-06-20T21:24:07.945-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS'/><title type='text'>8. Define the essential properties of the following types of OS: (a)Batch, (b)Time Sharing, (c)Real Time, (d)Network, (e)Distributed, and (f)Handheld</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;a. &lt;b&gt;&lt;font color="red"&gt;Batch.&lt;/font&gt;&lt;/b&gt; Jobs with similar needs are batched together and run through the computer as a group by an operator or automatic job sequencer. Performance is increased by attempting to keep CPU and I/O devices busy at all times through buffering, off-line operation, spooling, and multiprogramming. Batch is good for executing large jobs that need little interaction; it can be submitted and picked up later.Answers to &lt;br /&gt;b. &lt;b&gt;&lt;font color="red"&gt;Time sharing.&lt;/font&gt;&lt;/b&gt; Uses CPU scheduling and multiprogramming to provide economical interactive use of a system. The CPU switches rapidly from one user to another. Instead of having a job deﬁned by spooled card images, each program reads its next control card from the terminal, and output is normally printed immediately to the screen.&lt;br /&gt;c. &lt;b&gt;&lt;font color="red"&gt;Real time.&lt;/font&gt;&lt;/b&gt; Often used in a dedicated application. The system reads information from sensors and must respond within a ﬁxed amount of time to ensure correct performance.&lt;br /&gt;d. &lt;b&gt;&lt;font color="red"&gt;Network.&lt;/font&gt;&lt;/b&gt; networked systems consist of multiple computers that are networked together, usually with a common operating system and shared resources. Users, however, are aware of the different computers that make up the system.&lt;br /&gt;e. &lt;b&gt;&lt;font color="red"&gt;Distributed.&lt;/font&gt;&lt;/b&gt; Distributes computation among several physical processors. The processors do not share memory or a clock. Instead, each processor has its own local memory. They communicate with each other through various communication lines,&lt;br /&gt;such as a high-speed bus or telephone line.&lt;br /&gt;d. &lt;b&gt;&lt;font color="red"&gt;Handheld.&lt;/font&gt;&lt;/b&gt; designed to provide an environm,ent in which a user easily interface with the computer to execute programs.&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-1616161941005192309?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/1616161941005192309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/06/8-define-essential-properties-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/1616161941005192309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/1616161941005192309'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/06/8-define-essential-properties-of.html' title='8. Define the essential properties of the following types of OS: (a)Batch, (b)Time Sharing, (c)Real Time, (d)Network, (e)Distributed, and (f)Handheld'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-1805634963843165418</id><published>2009-06-18T03:00:00.000-07:00</published><updated>2009-06-20T21:23:51.786-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS'/><title type='text'>7. Differentiate the design issues of Os between Stand Alone PC and Workstation connected to a network.</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;- The difference between the two is that a &lt;font color="red"&gt;Stand Alone PC&lt;/font&gt; practice a none to resource utilization, it imposes monopolization and implies no sharing of resources (like information, file, data, etc.). While a &lt;font color="red"&gt;Workstation connected to a network&lt;/font&gt; is designed to maximize resource utilization where you can exchange information with a others via internet.&lt;br /&gt;&lt;br /&gt; or&lt;br /&gt;&lt;br /&gt;- A &lt;font color="red"&gt;stand-alone PC&lt;/font&gt; works on its own. While in a &lt;font color="red"&gt;workstation connected to a network&lt;/font&gt;, you can freely share your files and databases to other PC.A desktop or laptop computer that is used on its own without requiring a connection to a local area network (LAN) or wide area network (WAN). Although it may be connected to a network, it is still a &lt;font color="red"&gt;stand-alone PC&lt;/font&gt; as long as the network connection is not mandatory for its general use.In offices throughout the 1990s, millions of stand-alone PCs were hooked up to the local network for file sharing and mainframe access. Today, computers are commonly networked in the home so that family members can share an Internet connection as well as printers, scanners and other peripherals. When the computer is running local applications without Internet access, the machine is technically a stand-alone PC. A &lt;font color="red"&gt;workstation&lt;/font&gt; is a high-end microcomputer designed for technical or scientific applications. Intended primarily to be used by one person at a time, they are commonly connected to a local area network and run multi-user operating systems. The term workstation has also been used to refer to a mainframe computer terminal or a PC connected to a network.&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-1805634963843165418?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/1805634963843165418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/06/differentiate-design-issues-of-os.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/1805634963843165418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/1805634963843165418'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/06/differentiate-design-issues-of-os.html' title='7. Differentiate the design issues of Os between Stand Alone PC and Workstation connected to a network.'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5574591303339540760.post-1392995061957918385</id><published>2009-06-18T01:57:00.000-07:00</published><updated>2009-06-18T03:17:32.417-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS'/><title type='text'>5. Difference between Symmetric Multiprocessing and Asymmetric Multiprocessing.</title><content type='html'>&lt;font color="violet"&gt;&lt;br /&gt;- Symmetric multiprocessing treats all processors as equals, and I/O can be processed on any CPU. Asymmetric multiprocessing has one master CPU and the remainder CPUs are slaves. The master distributes tasks among the slaves, and I/O is usually done by the master only. Multiprocessors can save money, by not duplicating power supplies, housings, and peripherals. They can execute programs more quickly, and can have increased reliability. They are also more complex in both hardware and software than uniprocessor systems.&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5574591303339540760-1392995061957918385?l=ejj3611.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ejj3611.blogspot.com/feeds/1392995061957918385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ejj3611.blogspot.com/2009/06/difference-between-symmetric.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/1392995061957918385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5574591303339540760/posts/default/1392995061957918385'/><link rel='alternate' type='text/html' href='http://ejj3611.blogspot.com/2009/06/difference-between-symmetric.html' title='5. Difference between Symmetric Multiprocessing and Asymmetric Multiprocessing.'/><author><name>^+jUstinN+^</name><uri>http://www.blogger.com/profile/18423978251561899623</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_R7P1OI3j7BI/SYEQzb7exkI/AAAAAAAAAAk/T2ffDW-Femw/S220/1_843506621m.jpg'/></author><thr:total>0</thr:total></entry></feed>
