80 Pages

proc2up

Course: CS 350, Fall 2009
School: W. Alabama
Rating:
 
 
 
 
 

Word Count: 24775

Document Preview

%%Creator: %!PS-Adobe-2.0 dvips(k) 5.92b Copyright 2002 Radical Eye Software %%Title: proc.dvi %%Pages: 17 0 %%PageOrder: Ascend %%Orientation: Landscape %%BoundingBox: 0 0 596 842 %%DocumentFonts: Times-Roman Times-Bold CMSY10 CMMI10 Times-Italic %%+ Courier %%EndComments %%BeginProcSet: PStoPS 1 15 userdict begin [/showpage/erasepage/copypage]{dup where{pop dup load type/operatortype eq{1 array cvx dup 0 3 index...

Register Now

Unformatted Document Excerpt

Coursehero >> Alabama >> W. Alabama >> CS 350

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
%%Creator: %!PS-Adobe-2.0 dvips(k) 5.92b Copyright 2002 Radical Eye Software %%Title: proc.dvi %%Pages: 17 0 %%PageOrder: Ascend %%Orientation: Landscape %%BoundingBox: 0 0 596 842 %%DocumentFonts: Times-Roman Times-Bold CMSY10 CMMI10 Times-Italic %%+ Courier %%EndComments %%BeginProcSet: PStoPS 1 15 userdict begin [/showpage/erasepage/copypage]{dup where{pop dup load type/operatortype eq{1 array cvx dup 0 3 index cvx put bind def}{pop}ifelse}{pop}ifelse}forall [/letter/legal/executivepage/a4/a4small/b5/com10envelope /monarchenvelope/c5envelope/dlenvelope/lettersmall/note /folio/quarto/a5]{dup where{dup wcheck{exch{}put} {pop{}def}ifelse}{pop}ifelse}forall /setpagedevice {pop}bind 1 index where{dup wcheck{3 1 roll put} {pop def}ifelse}{def}ifelse /PStoPSmatrix matrix currentmatrix def /PStoPSxform matrix def/PStoPSclip{clippath}def /defaultmatrix{PStoPSmatrix exch PStoPSxform exch concatmatrix}bind def /initmatrix{matrix defaultmatrix setmatrix}bind def /initclip[{matrix currentmatrix PStoPSmatrix setmatrix [{currentpoint}stopped{$error/newerror false put{newpath}} {/newpath cvx 3 1 roll/moveto cvx 4 array astore cvx}ifelse] {[/newpath cvx{/moveto cvx}{/lineto cvx} {/curveto cvx}{/closepath cvx}pathforall]cvx exch pop} stopped{$error/errorname get/invalidaccess eq{cleartomark $error/newerror false put cvx exec}{stop}ifelse}if}bind aload pop /initclip dup load dup type dup/operatortype eq{pop exch pop} {dup/arraytype eq exch/packedarraytype eq or {dup xcheck{exch pop aload pop}{pop cvx}ifelse} {pop cvx}ifelse}ifelse {newpath PStoPSclip clip newpath exec setmatrix} bind aload pop]cvx def /initgraphics{initmatrix newpath initclip 1 setlinewidth 0 setlinecap 0 setlinejoin []0 setdash 0 setgray 10 setmiterlimit}bind def end %%EndProcSet %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -G0 -O 0.75in,-0.2in -t landscape -o proc.ps %+ proc.dvi %DVIPSParameters: dpi=600, compressed %DVIPSSource: TeX output 2006.12.20:1052 %%BeginProcSet: texc.pro %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin /FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array /BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr 1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % File 8r.enc as of 2002-03-12 for PSNFSS 9 % % This is the encoding vector for Type1 and TrueType fonts to be used % with TeX. This file is part of the PSNFSS bundle, version 9 % % Authors: S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, W. Schmidt % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida + Euro. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % % (6) /Euro is assigned to 128, as in Windows ANSI % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /Euro /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: pstricks.pro %! % PostScript prologue for pstricks.tex. % Version 97 patch 3, 98/06/01 % For distribution, see pstricks.tex. % /tx@Dict 200 dict def tx@Dict begin /ADict 25 dict def /CM { matrix currentmatrix } bind def /SLW /setlinewidth load def /CLW /currentlinewidth load def /CP /currentpoint load def /ED { exch def } bind def /L /lineto load def /T /translate load def /TMatrix { } def /RAngle { 0 } def /Atan { /atan load stopped { pop pop 0 } if } def /Div { dup 0 eq { pop } { div } ifelse } def /NET { neg exch neg exch T } def /Pyth { dup mul exch dup mul add sqrt } def /PtoC { 2 copy cos mul 3 1 roll sin mul } def /PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def /PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ } /pathforall load stopped { pop pop pop pop } if z } def /STP { .996264 dup scale } def /STV { SDict begin normalscale end STP } def /DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul /y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ] 0 } ifelse setdash stroke } def /DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z add def a 0 gt { /b b a div def } { a 0 eq { /b b y sub def } { a -3 eq { /b b y add def } if } ifelse } ifelse [ 0 b b z Div round Div dup 0 le { pop 1 } if ] a 0 gt { 0 } { y 2 div a -2 gt { neg } if } ifelse setdash 1 setlinecap stroke } def /LineFill { gsave abs CLW add /a ED a 0 dtransform round exch round exch 2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 % DG/SR modification begin - Dec. 12, 1997 - Patch 2 %itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a % DG/SR modification end Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict /setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1 % DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) % a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore } % def a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore pop pop } def % DG/SR modification end /BeginArrow { ADict begin /@mtrx CM def gsave 2 copy T 2 index sub neg exch 3 index sub exch Atan rotate newpath } def /EndArrow { @mtrx setmatrix CP grestore end } def /Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore } def /Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0 CLW moveto } def /Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2 div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0 CLW moveto } def /RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW 2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0 curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto } def /SD { 0 360 arc fill } def /EndDot { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DS CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def /Shadow { [ { /moveto load } { /lineto load } { /curveto load } { /closepath load } /pathforall load stopped { pop pop pop pop CP /moveto load } if ] cvx newpath 3 1 roll T exec } def /NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exch cvi def } def /NArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def /Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def /Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 } ifelse { pop } repeat a } def /CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq and { pop pop /n n 1 sub def } if } def /Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop } repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1 ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto Lineto pop pop closepath } ifelse } def /Diamond { /mtrx CM def T rotate /h ED /w ED dup 0 eq { pop } { CLW mul neg /d ED /a w h Atan def /h d a sin Div h add def /w d a cos Div w add def } ifelse mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 div /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx setmatrix } def % DG modification begin - Jan. 15, 1997 %/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq { %pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 %div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0 %d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx %setmatrix } def /Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 div dup cos exch sin Div mul sub def mark 0 d w neg d 0 h w d 0 d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx % DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) % setmatrix } def setmatrix pop } def % DG/SR modification end /CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth def } def /CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth def } def /CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1 def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def /y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul m mul neg def } def /IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def } def /BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def /NC { CC x1 y1 x2 y2 x y curveto } def /EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def /BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def /NAC { x2 y2 x y curveto CC x1 y1 } def /EAC { x2 y2 x y ArrowB curveto pop pop } def /OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def n { NC } repeat EOC } ifelse } def /AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload /Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def /ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt { CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC } repeat closepath pop pop } ifelse } def /SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def /ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def /SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } def /FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrix rotate matrix concatmatrix exch findfont exch makefont setfont } def /Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto x1 y1 lineto closepath } def /OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1 y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse /b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath } ifelse } def /Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add /y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq { pop pop Rect } { OvalFrame } ifelse } def /BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def /OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6 2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto } ifelse } def /ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv { 6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def /BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1 sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore } def /Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1 sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0 y0 x0 2 mul x1 sub y1 ] def } def /Grid { newpath /a 4 string def /b ED /c ED /n ED cvi dup 1 lt { pop 1 } if /s ED s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if /dx ED dy div round dy mul /y0 ED dx div round dx mul /x0 ED dy div round cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx div round cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub 0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def /Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def } if systemdict /setstrokeadjust known { true setstrokeadjust /t { } def } { /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add exch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy n div ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1 dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt { dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt { pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dup stringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg} {z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i i w add def } repeat grestore gsave n 0 gt % DG/SR modification begin - Nov. 7, 1997 - Patch 1 %{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash } { 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash } % DG/SR modification end { 2 setlinecap } ifelse /i y1 def /f x1 dx mul n 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx n div 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop 1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvs dup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt {z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto g exch t L stroke /i i h add def } repeat grestore } def /ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0 1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c mul neg d } def /Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def /Rot { CP CP translate 3 -1 roll neg rotate NET } def /RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle dup a add ] cvx def } def /RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] cvx def } def /PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def /PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def /PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def /Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { h1 abs h sub dup s mul abs } ifelse } def /UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div s mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q { x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add exch } def /BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible /IfVisible true def } if } { IfVisible { Invisible /IfVisible false def } if } ifelse } def /InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def /Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnit neg exch neg exch idtransform T moveto } def /BOL { BeginOL } def /IfVisible true def } def end % END pstricks.pro %%EndProcSet %%BeginProcSet: pst-dots.pro %!PS-Adobe-2.0 %%Title: Dot Font for PSTricks %%Creator: Timothy Van Zandt <tvz@Princeton.EDU> %%Creation Date: May 7, 1993 %% Version 97 patch 1, 99/12/16 %% Modified by Etienne Riga <etienne.riga@skynet.be> - Dec. 16, 1999 %% to add /Diamond, /SolidDiamond and /BoldDiamond 10 dict dup begin /FontType 3 def /FontMatrix [ .001 0 0 .001 0 0 ] def /FontBBox [ 0 0 0 0 ] def /Encoding 256 array def 0 1 255 { Encoding exch /.notdef put } for Encoding dup (b) 0 get /Bullet put dup (c) 0 get /Circle put dup (C) 0 get /BoldCircle put dup (u) 0 get /SolidTriangle put dup (t) 0 get /Triangle put dup dup dup dup dup dup dup % DG/SR dup dup % % % % % (T) 0 get /BoldTriangle put (r) 0 get /SolidSquare put (s) 0 get /Square put (S) 0 get /BoldSquare put (q) 0 get /SolidPentagon put (p) 0 get /Pentagon put (P) 0 get /BoldPentagon put modification begin - Dec. 16, 1999 - From Etienne Riga (l) 0 get /SolidDiamond put (d) 0 get /Diamond put (D) 0 get /BoldDiamond put DG/SR modification end /Metrics 13 dict def Metrics begin /Bullet 1000 def /Circle 1000 def /BoldCircle 1000 def /SolidTriangle 1344 def /Triangle 1344 def /BoldTriangle 1344 def /SolidSquare 886 def /Square 886 def /BoldSquare 886 def /SolidPentagon 1093.2 def /Pentagon 1093.2 def /BoldPentagon 1093.2 def DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga /SolidDiamond 1008 def /Diamond 1008 def /BoldDiamond 1008 def DG/SR modification end /.notdef 0 def end /BBoxes 13 dict def BBoxes begin /Circle { -550 -550 550 550 } def /BoldCircle /Circle load def /Bullet /Circle load def /Triangle { -571.5 -330 571.5 660 } def /BoldTriangle /Triangle load def /SolidTriangle /Triangle load def /Square { -450 -450 450 450 } def /BoldSquare /Square load def /SolidSquare /Square load def /Pentagon { -546.6 -465 546.6 574.7 } def /BoldPentagon /Pentagon load def /SolidPentagon /Pentagon load def DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga /Diamond { -428.5 -742.5 428.5 742.5 } def /BoldDiamond /Diamond load def /SolidDiamond /Diamond load def DG/SR modification end /.notdef { 0 0 0 0 } def end /CharProcs 20 dict def CharProcs begin /Adjust { 2 copy dtransform floor .5 add exch floor .5 add exch idtransform 3 -1 roll div 3 1 roll exch div exch scale { 0 0 500 0 360 arc closepath } def { 500 500 Adjust CirclePath fill } def { 500 500 Adjust CirclePath .9 .9 scale CirclePath eofill } def /BoldCircle { 500 500 Adjust CirclePath .8 .8 scale CirclePath eofill } def /BoldCircle { CirclePath .8 .8 scale CirclePath eofill } def /TrianglePath { 0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath } def /SolidTriangle { TrianglePath fill } def /Triangle { TrianglePath .85 .85 scale TrianglePath eofill } def /BoldTriangle { TrianglePath .7 .7 scale TrianglePath eofill } def /SquarePath { -450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto closepath } def /SolidSquare { SquarePath fill } def /Square { SquarePath .89 .89 scale SquarePath eofill } def /BoldSquare { SquarePath .78 .78 scale SquarePath eofill } def /PentagonPath { -337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto 0 574.7 lineto -546.6 177.6 lineto closepath } def /SolidPentagon { PentagonPath fill } def /Pentagon { PentagonPath .89 .89 scale PentagonPath eofill } def /BoldPentagon { PentagonPath .78 .78 scale PentagonPath eofill } def % DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga /DiamondPath { 0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto 428.5 0 lineto closepath } def /SolidDiamond { DiamondPath fill } def /Diamond { DiamondPath .85 .85 scale DiamondPath eofill } def /BoldDiamond { DiamondPath .7 .7 scale DiamondPath eofill } def % DG/SR modification end /.notdef { } def end /BuildGlyph { exch begin Metrics 1 index get exec 0 BBoxes 3 index get exec setcachedevice CharProcs begin load exec end end } def /BuildChar { 1 index /Encoding get exch get 1 index /BuildGlyph get exec } bind def end /PSTricksDotFont exch definefont pop %END pst-dots.pro %%EndProcSet %%BeginProcSet: bbad153f.enc % Thomas Esser, Dec 2002. public domain % } def /CirclePath /Bullet /Circle % Encoding for: % cmsy10 cmsy5 cmsy6 cmsy7 cmsy8 cmsy9 % /TeXbbad153fEncoding [ /minus /periodcentered /multiply /asteriskmath /divide /diamondmath /plusminus /minusplus /circleplus /circleminus /circlemultiply /circledivide /circledot /circlecopyrt /openbullet /bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal /greaterequal /precedesequal /followsequal /similar /approxequal /propersubset /propersuperset /lessmuch /greatermuch /precedes /follows /arrowleft /arrowright /arrowup /arrowdown /arrowboth /arrownortheast /arrowsoutheast /similarequal /arrowdblleft /arrowdblright /arrowdblup /arrowdbldown /arrowdblboth /arrownorthwest /arrowsouthwest /proportional /prime /infinity /element /owner /triangle /triangleinv /negationslash /mapsto /universal /existential /logicalnot /emptyset /Rfractur /Ifractur /latticetop /perpendicular /aleph /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /union /intersection /unionmulti /logicaland /logicalor /turnstileleft /turnstileright /floorleft /floorright /ceilingleft /ceilingright /braceleft /braceright /angbracketleft /angbracketright /bar /bardbl /arrowbothv /arrowdblbothv /backslash /wreathproduct /radical /coproduct /nabla /integral /unionsq /intersectionsq /subsetsqequal /supersetsqequal /section /dagger /daggerdbl /paragraph /club /diamond /heart /spade /arrowleft /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /minus /periodcentered /multiply /asteriskmath /divide /diamondmath /plusminus /minusplus /circleplus /circleminus /.notdef /.notdef /circlemultiply /circledivide /circledot /circlecopyrt /openbullet /bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal /greaterequal /precedesequal /followsequal /similar /approxequal /propersubset /propersuperset /lessmuch /greatermuch /precedes /follows /arrowleft /spade /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef ] def %%EndProcSet %%BeginProcSet: aae443f0.enc % Thomas Esser, Dec 2002. public domain % % Encoding for: % cmmi10 cmmi12 cmmi5 cmmi6 cmmi7 cmmi8 cmmi9 cmmib10 % /TeXaae443f0Encoding [ /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega /alpha /beta /gamma /delta /epsilon1 /zeta /eta /theta /iota /kappa /lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon /phi /chi /psi /omega /epsilon /theta1 /pi1 /rho1 /sigma1 /phi1 /arrowlefttophalf /arrowleftbothalf /arrowrighttophalf /arrowrightbothalf /arrowhookleft /arrowhookright /triangleright /triangleleft /zerooldstyle /oneoldstyle /twooldstyle /threeoldstyle /fouroldstyle /fiveoldstyle /sixoldstyle /sevenoldstyle /eightoldstyle /nineoldstyle /period /comma /less /slash /greater /star /partialdiff /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /flat /natural /sharp /slurbelow /slurabove /lscript /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /dotlessi /dotlessj /weierstrass /vector /tie /psi /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef /.notdef /Omega /alpha /beta /gamma /delta /epsilon1 /zeta /eta /theta /iota /kappa /lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon /phi /chi /psi /tie /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef ] def %%EndProcSet %%BeginProcSet: texps.pro %! TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type /nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def end %%EndProcSet %%BeginProcSet: special.pro %! TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known {userdict/md get type/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState save N userdict maxlength dict begin/magscale true def normalscale currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def @MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N /@beginspecial{SDict begin/SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N /setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B /rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet %%BeginFont: CMMI10 %!PS-AdobeFont-1.1: CMMI10 1.100 %%CreationDate: 1996 Jul 23 07:53:57 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.100) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMMI10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def end readonly def /FontName /CMMI10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 0 /.notdef put readonly def /FontBBox{-32 -250 1048 750}readonly def /UniqueID 5087385 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE 3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B 532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B 986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958 9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321 990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E 6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721 59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823 D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF 8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808 6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9 1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE 03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909 95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1 74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2 3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8 47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19 AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8 42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8 40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837 B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53 9560176676ABB71BBD0EE56B4CC492C0652750227CEC6CBEEE374709231B00CD 0DE83AFDE295B314F6C8B1FFD32251C1925D96A64D739FF1DA4926460B28B3DE E949AA0BA3DDB16534FBA30C32092D5F712B5E8C8D5142F35AF2906E6C219D2C 7FD9A368C193E0EB9C7E25FF03C546B6ED993F964CEDB1B8537C617170787F37 88D6F2AD02384B01067FE3F98257BAB958BB3BCD1001090A4502DA0638080EC6 DB784CC8AC37CDC01B29BC481D6A05ADC6188785262358C1BF1D694BBF31C1F1 AF117C1ACED44AAC6EB4B9A2511A6762DDE8FCCBA5 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMSY10 %!PS-AdobeFont-1.1: CMSY10 1.0 %%CreationDate: 1991 Aug 15 07:20:57 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMSY10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.035 def /isFixedPitch false def end readonly def /FontName /CMSY10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 0 /.notdef put readonly def /FontBBox{-29 -960 1116 775}readonly def /UniqueID 5000820 def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4 A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85 E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A 221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A 27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF 5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09 0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730 DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A 71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09 4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C 515DB70A8D4F6146FE068DC1E5DE8BC57036431151EC603C8BCFE359BBD953AD 5F3D998FF41E4B1CF7C81FC78F5D909D12694A1D39319370187F4A40DFC3AF7D B2B0EAECCD0B886C1AAA126D97341677BD38BAC71840039357F57482A7E3E463 EA31273B4DE501636F5C9EFB4C242D5F3852C93489628BE262C825B8D9EF2CB6 F066235B03777EA7CCA1C38BA2B5D0B0F30FC550919B9AD85D1AFCCC881C2613 84868AF154AAA663E3984751A2F262B7E68F255DA4B9E6E62771EDC857A3505B AA582ED9B7B5D421F469AC9A20016B0C06AA4186EB208D78269093F18DC261E3 3A36B86D8C454F392428C381C841867B8F4BD92DF4E04CC1E91EBC74CDBE0B2D 81A6F6F93EA3AE326C1124B259DBDEDC2F73E482342D7890D6DF1A3BC7444A9C 6C00F13669690204E9C2F75A2CD0BF1E997A12CF4A4202C8C61361FFC229917B A281E88C9B5BFB6D00A36EF654793120501D8E13E6C78C1165A57D2ACF3FD246 A986A0B772B141FC9CCB02CA46A6AAA8137377AFF4E7B24A86EE44D43A43CD74 016F1C250692AA64C6038F9F799D0419D7E73C018D45AB30205133951C014B15 4A0D62F39E7E10336B734657548F 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont TeXDict begin 55380996 39158280 2074 600 600 (proc.dvi) @start /Fa 134[103 103 3[103 103 3[103 103 1[103 2[103 103 2[103 1[103 1[103 22[103 4[103 69[{ TeXBase1Encoding ReEncodeFont } 14 172.188 /Courier rf /Fb 134[76 76 1[76 86 48 67 67 86 86 86 86 124 48 76 1[48 86 2[76 86 76 86 86 16[105 12[115 105 20[57 3[57 57 40[{ TeXBase1Encoding ReEncodeFont }27 172.188 /Times-Italic rf /Fc 197[48 58[{ TeXaae443f0Encoding ReEncodeFont }1 172.188 /CMMI10 rf /Fd 240[86 11[86 3[{ TeXbbad153fEncoding ReEncodeFont }2 172.188 /CMSY10 rf /Fe 107[76 76 24[76 86 86 124 86 86 48 67 57 86 86 86 86 134 48 86 1[48 86 86 57 76 86 76 86 76 9[163 1[124 105 96 115 1[96 124 124 153 105 124 1[57 124 1[96 105 124 115 115 124 1[76 4[48 7[86 86 1[48 43 57 43 2[57 57 57 35[96 96 2[{ TeXBase1Encoding ReEncodeFont }59 172.188 /Times-Roman rf /Ff 105[86 27[76 86 86 124 86 96 57 67 76 1[96 86 96 143 48 96 1[48 96 86 57 76 96 76 96 86 9[172 1[124 115 96 124 1[105 134 1[163 115 134 1[67 134 1[105 115 124 124 115 124 1[86 4[57 7[86 86 1[48 1[57 43 2[57 57 57 39[{ TeXBase1Encoding ReEncodeFont }53 172.188 /Times-Bold rf /Fg 134[60 4[34 47 40 1[60 60 60 94 3[34 60 60 1[54 60 54 1[54 9[114 2[74 67 2[67 87 11[80 9[60 60 60 60 60 60 60 60 60 60 48[{ TeXBase1Encoding ReEncodeFont }31 120.531 /Times-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%PaperSize: A4 @landscape end userdict/PStoPSxform PStoPSmatrix matrix currentmatrix matrix invertmatrix matrix concatmatrix matrix invertmatrix put %%EndSetup %%Page: (0,1) 1 userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 414.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore /showpage{}def/copypage{}def/erasepage{}def PStoPSxform concat TeXDict begin @landscape 1 0 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4548 b(1)p 300 -453 5700 9 v 2460 -151 a Ff(What)44 b(is)f(a)g(Pr)m(ocess?)300 449 y(Answer)h(1:)87 b Fe(a)43 b(process)i(is)e(an)g(abstraction)i(of)e(a)h(program)g(in)f (e)m(x)m(ecution)300 794 y Ff(Answer)h(2:)87 b Fe(a)43 b(process)i(consists)e(of)679 1088 y Fd(\017)86 b Fe(an)44 b(address)g(space)679 1382 y Fd(\017)86 b Fe(a)44 b(thread)g(of)f(e)m (x)m(ecution)j(\(possibly)d(se)l(v)m(eral)i(threads\))679 1676 y Fd(\017)86 b Fe(other)44 b(resources)h(associated)g(with)e(the)g (running)h(program.)55 b(F)m(or)44 b(e)m(xample:)851 1939 y Ff(\226)86 b Fe(open)44 b(\002les)851 2183 y Ff(\226)86 b Fe(sock)n(ets)851 2427 y Ff(\226)g Fe(attrib)m(utes,)44 b(such)f(as)h(a)f(name)h(\(process)h(identi\002er\))851 2671 y Ff(\226)86 b Fc(:)29 b(:)g(:)p 767 3062 4767 7 v 767 3096 V 870 3301 a Fe(A)47 b(process)h(with)e(one)h(thread)h(is)f (a)g Fb(sequential)g Fe(process.)65 b(A)47 b(process)h(with)870 3545 y(more)c(than)f(one)h(thread)g(is)f(a)h Fb(concurr)-6 b(ent)44 b Fe(process.)p 767 3640 V 767 3674 V 6000 3930 a 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 36.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore PStoPSxform concat TeXDict begin @landscape 2 1 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4548 b(2)p 300 -453 5700 9 v 2152 -151 a Ff(What)43 b(is)g(an)g(Addr)m(ess)h(Space?)438 447 y Fd(\017)86 b Fe(F)m(or)44 b(no)l(w)-11 b(,)43 b(think)g(of)g(an)h (address)g(space)h(as)e(a)h(portion)f(of)h(the)f(primary)h(memory)g(of) g(the)610 691 y(machine)g(that)g(is)f(used)g(to)g(hold)g(the)h(code,)g (data,)g(and)g(stack\(s\))g(of)g(the)f(running)610 934 y(program.)438 1279 y Fd(\017)86 b Fe(F)m(or)44 b(e)m(xample:)610 3099 y @beginspecial 0 @llx 0 @lly 278 @urx 74 @ury 2780 @rwi @setspecial %%BeginDocument: figs/addrspace.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: figs/addrspace.fig %%Creator: fig2dev Version 3.2 Patchlevel 5-alpha5 %%CreationDate: Wed Dec 20 10:52:51 2006 %%For: brecht@ubuntu (Tim Brecht,,,) %%BoundingBox: 0 0 278 74 %Magnification: 1.0000 %%EndComments /MyAppDict 100 dict dup begin def /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 /col21 /col22 /col23 /col24 /col25 /col26 /col27 /col28 /col29 /col30 /col31 {0.820 {0.560 {0.690 {0.820 {0.500 {0.630 {0.750 {1.000 {1.000 {1.000 {1.000 {1.000 0.000 0.000 0.000 0.000 0.190 0.250 0.380 0.500 0.630 0.750 0.880 0.840 0.000 0.560 0.690 0.820 0.000 0.000 0.000 0.500 0.630 0.750 0.880 0.000 srgb} srgb} srgb} srgb} srgb} srgb} srgb} srgb} srgb} srgb} srgb} srgb} bind bind bind bind bind bind bind bind bind bind bind bind def def def def def def def def def def def def end save newpath 0 74 moveto 0 0 lineto 278 0 lineto 278 74 lineto closepath clip newpath -138.6 162.9 translate 1 -1 scale % This junk string is used by the show operators /PATsstr 1 string def /PATawidthshow { % cx cy cchar rx ry string % Loop over each character in the string { % cx cy cchar rx ry char % Show the character dup % cx cy cchar rx ry char char PATsstr dup 0 4 -1 roll put % cx cy cchar rx ry char (char) false charpath % cx cy cchar rx ry char /clip load PATdraw % Move past the character (charpath modified the % current point) currentpoint % cx cy cchar rx ry char x y newpath moveto % cx cy cchar rx ry char % Reposition by cx,cy if the character in the string is cchar 3 index eq { % cx cy cchar rx ry 4 index 4 index rmoveto } if % Reposition all characters by rx ry 2 copy rmoveto % cx cy cchar rx ry } forall pop pop pop pop pop % currentpoint newpath moveto } bind def /PATcg { 7 dict dup begin /lw currentlinewidth def /lc currentlinecap def /lj currentlinejoin def /ml currentmiterlimit def /ds [ currentdash ] def /cc [ currentrgbcolor ] def /cm matrix currentmatrix def end } bind def % PATdraw - calculates the boundaries of the object and % fills it with the current pattern /PATdraw { % proc save exch PATpcalc % proc nw nh px py 5 -1 roll exec % nw nh px py newpath PATfill % restore } bind def % PATfill - performs the tiling for the shape /PATfill { % nw nh px py PATfill PATDict /CurrentPattern get dup begin setfont % Set the coordinate system to Pattern Space PatternGState PATsg % Set the color for uncolored pattezns PaintType 2 eq { PATDict /PColor get PATsc } if % Create the string for showing 3 index string % nw nh px py str % Loop for each of the pattern sources 0 1 Multi 1 sub { % nw nh px py str source % Move to the starting location 3 index 3 index % nw nh px py str source px py moveto % nw nh px py str source % For multiple sources, set the appropriate color Multi 1 ne { dup PC exch get PATsc } if % Set the appropriate string for the source 0 1 7 index 1 sub { 2 index exch 2 index put } for pop % Loop over the number of vertical cells 3 index % nw nh px py str nh { % nw nh px py str currentpoint % nw nh px py str cx cy 2 index oldshow % nw nh px py str cx cy YStep add moveto % nw nh px py str } repeat % nw nh px py str } for 5 { pop } repeat end } bind def % PATkshow - kshow with the current pattezn /PATkshow { % proc string exch bind % string proc 1 index 0 get % string proc char % Loop over all but the last character in the string 0 1 4 index length 2 sub { % string proc char idx % Find the n+1th character in the string 3 index exch 1 add get % string proc char char+1 exch 2 copy % strinq proc char+1 char char+1 char % Now show the nth character PATsstr dup 0 4 -1 roll put % string proc chr+1 chr chr+1 (chr) false charpath % string proc char+1 char char+1 /clip load PATdraw % Move past the character (charpath modified the current point) currentpoint newpath moveto % Execute the user proc (should consume char and char+1) mark 3 1 roll % string proc char+1 mark char char+1 4 index exec % string proc char+1 mark... cleartomark % string proc char+1 } for % Now display the last character PATsstr dup 0 4 -1 roll put % string proc (char+1) false charpath % string proc /clip load PATdraw neewath pop pop % } bind def % PATmp - the makepattern equivalent /PATmp { % patdict patmtx PATmp patinstance exch dup length 7 add % We will add 6 new entries plus 1 FID dict copy % Create a new dictionary begin % Matrix to install when painting the pattern TilingType PATtcalc /PatternGState PATcg def PatternGState /cm 3 -1 roll put % Check for multi pattern sources (Level 1 fast color patterns) currentdict /Multi known not { /Multi 1 def } if % Font dictionary definitions /FontType 3 def % Create a dummy encoding vector /Encoding 256 array def 3 string 0 1 255 { Encoding exch dup 3 index cvs cvn put } for pop /FontMatrix matrix def /FontBBox BBox def /BuildChar { mark 3 1 roll % mark dict char exch begin Multi 1 ne {PaintData exch get}{pop} ifelse % mark [paintdata] PaintType 2 eq Multi 1 ne or { XStep 0 FontBBox aload pop setcachedevice } { XStep 0 setcharwidth } ifelse currentdict % mark [paintdata] dict /PaintProc load % mark [paintdata] dict paintproc end gsave false PATredef exec true PATredef grestore cleartomark % } bind def currentdict end % newdict /foo exch % /foo newlict definefont % newfont } bind def % PATpcalc - calculates the starting point and width/height % of the tile fill for the shape /PATpcalc { % - PATpcalc nw nh px py PATDict /CurrentPattern get begin gsave % Set up the coordinate system to Pattern Space % and lock down pattern PatternGState /cm get setmatrix BBox aload pop pop pop translate % Determine the bounding box of the shape pathbbox % llx lly urx ury grestore % Determine (nw, nh) the PatHeight div ceiling 4 1 roll PatWidth div ceiling 4 1 roll PatHeight div floor 4 1 roll PatWidth div floor 4 1 roll 2 index sub cvi abs exch 3 index sub cvi abs % Determine the starting %(px, py) 4 2 roll PatHeight mul exch PatWidth mul exch end } bind def # of cells to paint width and height % llx lly urx qh % qh llx lly urx % qh llx lly qw % qw qh llx lly % qw qh llx ph % ph qw qh llx % ph qw qh pw % pw ph qw qh % pw ph qs qh-ph exch % pw ph nw=qw-pw nh=qh-ph point of the pattern fill % % nw nh % nw nh % nw pw py nw nh pw ph py pw nh px py % Save the original routines so that we can use them later on /oldfill /fill load def /oldeofill /eofill load def /oldstroke /stroke load def /oldshow /show load def /oldashow /ashow load def /oldwidthshow /widthshow load def /oldawidthshow /awidthshow load def /oldkshow /kshow load def % These defs are necessary so that subsequent procs don't bind in % the originals /fill { oldfill } bind def /eofill { oldeofill } bind def /stroke { oldstroke } bind def /show { oldshow } bind def /ashow { oldashow } bind def /widthshow { oldwidthshow } bind def /awidthshow { oldawidthshow } bind def /kshow { oldkshow } bind def /PATredef { MyAppDict begin { /fill { /clip load PATdraw newpath } bind def /eofill { /eoclip load PATdraw newpath } bind def /stroke { PATstroke } bind def /show { 0 0 null 0 0 6 -1 roll PATawidthshow } bind def /ashow { 0 0 null 6 3 roll PATawidthshow } bind def /widthshow { 0 0 3 -1 roll PATawidthshow } bind def /awidthshow { PATawidthshow } bind def /kshow { PATkshow } bind def } { /fill { oldfill } bind def /eofill { oldeofill } bind def /stroke { oldstroke } bind def /show { oldshow } bind def /ashow { oldashow } bind def /widthshow { oldwidthshow } bind def /awidthshow { oldawidthshow } bind def /kshow { oldkshow } bind def } ifelse end } bind def false PATredef % Conditionally define setcmykcolor if not available /setcmykcolor where { pop } { /setcmykcolor { 1 sub 4 1 roll 3 { 3 index add neg dup 0 lt { pop 0 } if 3 1 roll } repeat setrgbcolor - pop } bind def } ifelse /PATsc { % colorarray aload length % c1 ... cn length dup 1 eq { pop setgray } { 3 eq { setrgbcolor } { setcmykcolor } ifelse } ifelse } bind def /PATsg { % dict begin lw setlinewidth lc setlinecap lj setlinejoin ml setmiterlimit ds aload pop setdash cc aload pop setrgbcolor cm setmatrix end } bind def /PATDict 3 dict def /PATsp { true PATredef PATDict begin /CurrentPattern exch def % If it's an uncolored pattern, save the color CurrentPattern /PaintType get 2 eq { /PColor exch def } if /CColor [ currentrgbcolor ] def end } bind def % PATstroke - stroke with the current pattern /PATstroke { countdictstack save mark { currentpoint strokepath moveto PATpcalc % proc nw nh px py clip newpath PATfill } stopped { (*** PATstroke Warning: Path is too complex, stroking with gray) = cleartomark restore countdictstack exch sub dup 0 gt { { end } repeat } { pop } ifelse gsave 0.5 setgray oldstroke grestore } { pop restore pop } ifelse newpath } bind def /PATtcalc { % modmtx tilingtype PATtcalc tilematrix % Note: tiling types 2 and 3 are not supported gsave exch concat % tilingtype matrix currentmatrix exch % cmtx tilingtype % Tiling type 1 and 3: constant spacing 2 ne { % Distort the pattern so that it occupies % an integral number of device pixels dup 4 get exch dup 5 get exch % tx ty cmtx XStep 0 dtransform round exch round exch % tx ty cmtx dx.x dx.y XStep div exch XStep div exch % tx ty cmtx a b 0 YStep dtransform round exch round exch % tx ty cmtx a b dy.x dy.y YStep div exch YStep div exch % tx ty cmtx a b c d 7 -3 roll astore % { a b c d tx ty } } if grestore } bind def /PATusp { false PATredef PATDict begin CColor PATsc end } bind def % right45 11 dict begin /PaintType 1 def /PatternType 1 def /TilingType 1 def /BBox [0 0 1 1] def /XStep 1 def /YStep 1 def /PatWidth 1 def /PatHeight 1 def /Multi 2 def /PaintData [ { clippath } bind { 20 20 true [ 20 0 0 -20 0 20 ] {<0040100080200100400200800401000802001004 0020080040100080200000401000802001004002 0080040100080200100400200800401000802000>} imagemask } bind ] def /PaintProc { pop exec fill } def currentdict end /P5 exch def % right-shingles 11 dict begin /PaintType 1 def /PatternType 1 def /TilingType 1 def /BBox [0 0 1 1] def /XStep 1 def /YStep 1 def /PatWidth 1 def /PatHeight 1 def /Multi 2 def /PaintData [ { clippath } bind { 48 48 true [ 48 0 0 -48 0 48 ] {<000000000080000000000080000000000040000000000040 000000000020000000000020000000000010000000000010 000000000008000000000008000000000004000000000004 000000000002000000000002000000000001ffffffffffff 008000000000008000000000004000000000004000000000 002000000000002000000000001000000000001000000000 000800000000000800000000000400000000000400000000 000200000000000200000000000100000000ffffffffffff 000000800000000000800000000000400000000000400000 000000200000000000200000000000100000000000100000 000000080000000000080000000000040000000000040000 000000020000000000020000000000010000ffffffffffff>} imagemask } bind ] def /PaintProc { pop exec fill } def currentdict end /P13 exch def % vertical left-shingles 11 dict begin /PaintType 1 def /PatternType 1 def /TilingType 1 def /BBox [0 0 1 1] def /XStep 1 def /YStep 1 def /PatWidth 1 def /PatHeight 1 def /Multi 2 def /PaintData [ { clippath } bind { 48 48 true [ 48 0 0 -48 0 48 ] {<000100010001000100010001000100010001000100010001 000100010001000100010001000100010001000100010001 000180010001000160010001000118010001000106010001 000101810001000100610001000100190001000100070001 000100010001000100010001000100010001000100010001 000100010001000100010001000100010001000100010001 000100018001000100016001000100011801000100010601 000100010181000100010061000100010019000100010007 000100010001000100010001000100010001000100010001 000100010001000100010001000100010001000100010001 800100010001600100010001180100010001060100010001 018100010001006100010001001900010001000700010001>} imagemask } bind ] def /PaintProc { pop exec fill } def currentdict end /P14 exch def % horizontal sawtooth lines 11 dict begin /PaintType 1 def /PatternType 1 def /TilingType 1 def /BBox [0 0 1 1] def /XStep 1 def /YStep 1 def /PatWidth 1 def /PatHeight 1 def /Multi 2 def /PaintData [ { clippath } bind { 32 16 true [ 32 0 0 -16 0 16 ] {<000000000000000000000000000000000000000000000000 000000000100010002800280044004400820082010101010 20082008400440048002800200010001>} imagemask } bind ] def /PaintProc { pop exec fill } def currentdict end /P21 exch def /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0 slj 0 slc 0.06000 0.06000 sc % % Fig objects follow % % % here starts figure with depth 52 % Polyline 0 slj 0 slc 7.500 slw n 2400 1500 m 4200 1500 l 4200 2100 l 2400 2100 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P21 [16 0 0 -8 160.00 100.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 4200 1500 m 5100 1500 l 5100 2100 l 4200 2100 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P5 [16 0 0 -16 280.00 100.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 5100 1500 m 5925 1500 l 5925 2100 l 5100 2100 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P14 [24 0 0 -24 340.00 100.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 5925 1500 m 6750 1500 l 6750 2100 l 5925 2100 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P13 [24 0 0 -24 395.00 100.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline 0.000 slw n 2850 1650 m 3600 1650 l 3600 2025 l 2850 2025 l cp gs col7 1.00 shd ef gr % Polyline n 4275 1650 m 5025 1650 l 5025 2025 l 4275 2025 l cp gs col7 1.00 shd ef gr % Polyline n 5175 1650 m 5775 1650 l 5775 2025 l 5175 2025 l cp gs col7 1.00 shd ef gr % Polyline n 6000 1650 m 6600 1650 l 6600 2025 l 6000 2025 l cp gs col7 1.00 shd ef gr % Polyline 7.500 slw gs clippath 6335 2430 m 6540 2430 l 6540 2370 l 6335 2370 l 6335 2370 l 6485 2400 l 6335 2430 l cp eoclip n 2550 2400 m 6525 2400 l gs col7 1.00 shd ef gr gs col0 s gr gr % arrowhead n 6335 2430 m 6485 2400 l 6335 2370 l 6365 2400 l 6335 2430 l cp gs 0.00 setgray ef gr col0 s /Times-Roman ff 180.00 scf sf 2325 2475 m gs 1 -1 sc (0) col0 sh gr /Times-Roman ff 180.00 scf sf 3000 1875 m gs 1 -1 sc (Code) col0 sh gr /Times-Roman ff 180.00 scf sf 4425 1875 m gs 1 -1 sc (Data) col0 sh gr /Times-Roman ff 180.00 scf sf 5250 1875 m gs 1 -1 sc (Stack1) col0 sh gr /Times-Roman ff 180.00 scf sf 6075 1875 m gs 1 -1 sc (Stack2) col0 sh gr /Times-Roman ff 180.00 scf sf 6600 2475 m gs 1 -1 sc (max) col0 sh gr /Times-Roman ff 180.00 scf sf 4200 2700 m gs 1 -1 sc (addresses) col0 sh gr % here ends figure; $F2psEnd rs end showpage %%Trailer %EOF %%EndDocument @endspecial 438 3674 a Fd(\017)86 b Fe(W)-14 b(e)43 b(will)g(elaborate)i(on)f(this)e(later)-9 b(.)6000 3930 y 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore %%Page: (2,3) 2 userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 414.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore /showpage{}def/copypage{}def/erasepage{}def PStoPSxform concat TeXDict begin @landscape 3 2 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4548 b(3)p 300 -453 5700 9 v 2465 -151 a Ff(What)43 b(is)g(a)g(Thr)m(ead?)438 1307 y Fd(\017)86 b Fe(A)43 b(thread)i(represents)g(the)e(control)h(state)g(of)f(an)h(e)m (x)m(ecuting)h(program.)438 1652 y Fd(\017)86 b Fe(Each)44 b(thread)h(has)e(an)h(associated)g Fb(conte)m(xt)p Fe(,)g(which)g (consists)g(of)679 1946 y Ff(\226)86 b Fe(the)43 b(v)l(alues)h(of)g (the)f(processor')-9 b(s)45 b(re)m(gisters,)g(including)e(the)h (program)g(counter)h(\(PC\))851 2190 y(and)f(stack)g(pointer)679 2484 y Ff(\226)86 b Fe(other)44 b(processor)h(state,)e(including)h(e)m (x)m(ecution)h(pri)l(vile)m(ge)g(or)e(mode)h(\(user/system\))679 2778 y Ff(\226)86 b Fe(a)44 b(stack,)f(which)h(is)f(located)i(in)e(the) g(address)h(space)h(of)e(the)h(thread')-9 b(s)44 b(process)6000 3930 y 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 36.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore PStoPSxform concat TeXDict begin @landscape 4 3 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4548 b(4)p 300 -453 5700 9 v 1754 -151 a Ff(The)43 b(Operating)h(System)g(and)f(the)g(K)l(er)m(nel)438 1008 y Fd(\017)86 b Fe(W)-14 b(e)43 b(will)g(use)h(the)f(follo)l(wing)h (terminology:)610 1302 y Ff(k)n(er)m(nel:)88 b Fe(The)44 b(operating)g(system)f(k)n(ernel)i(is)e(the)g(part)h(of)g(the)f (operating)h(system)g(that)851 1546 y(responds)g(to)f(system)h(calls,)f (interrupts)h(and)g(e)m(xceptions.)610 1840 y Ff(operating)g(system:)88 b Fe(The)43 b(operating)i(system)e(as)h(a)f(whole)h(includes)g(the)f(k) n(ernel,)i(and)851 2084 y(may)f(include)g(other)f(related)i(programs)f (that)g(pro)m(vide)g(services)h(for)f(applications.)851 2327 y(This)f(may)h(include)g(things)f(lik)n(e:)851 2591 y Ff(\226)86 b Fe(utility)43 b(programs)851 2834 y Ff(\226)86 b Fe(command)44 b(interpreters)851 3078 y Ff(\226)86 b Fe(programming)45 b(libraries)6000 3930 y 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore %%Page: (4,5) 3 userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 414.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore /showpage{}def/copypage{}def/erasepage{}def PStoPSxform concat TeXDict begin @landscape 5 4 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4548 b(5)p 300 -453 5700 9 v 2599 -151 a Ff(The)43 b(OS)f(K)l(er)m(nel)438 1211 y Fd(\017)86 b Fe(Usually)44 b(k)n(ernel)g(code)g(runs)g(in)f(a)g(pri)l(vile)m(ged)i (e)m(x)m(ecution)g(mode,)f(while)g(the)f(rest)h(of)f(the)610 1455 y(operating)h(system)g(does)f(not.)438 1799 y Fd(\017)86 b Fe(The)44 b(k)n(ernel)g(is)f(a)h(program.)55 b(It)43 b(has)g(code)h(and)g(data)g(lik)n(e)g(an)m(y)g(other)g(program.)438 2144 y Fd(\017)86 b Fe(F)m(or)42 b(no)l(w)-11 b(,)42 b(think)f(of)h(the)g(k)n(ernel)h(as)f(a)g(program)h(that)f(resides)g (in)g(its)f(o)l(wn)h(address)g(space,)610 2387 y(separate)j(from)f(the) f(address)i(spaces)f(of)g(processes)h(that)e(are)h(running)g(on)f(the)h (system.)610 2631 y(Later)-7 b(,)44 b(we)f(will)g(elaborate)i(on)d(the) h(relationship)h(between)g(the)f(k)n(ernel')-9 b(s)44 b(address)g(space)610 2875 y(and)g(process)g(address)g(spaces.)6000 3930 y 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 36.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore PStoPSxform concat TeXDict begin @landscape 6 5 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4548 b(6)p 300 -453 5700 9 v 1859 -151 a Ff(K)l(er)m(nel)44 b(Pri)n(vilege,)g(K)l(er)m(nel)g(Pr)m(otection)438 547 y Fd(\017)86 b Fe(What)43 b(does)h(it)e(mean)i(to)f(run)h(in)f(pri) l(vile)m(ged)h(mode?)438 891 y Fd(\017)86 b Fe(K)l(ernel)44 b(uses)g(pri)l(vile)m(ge)g(to)679 1186 y Ff(\226)86 b Fe(control)44 b(hardw)n(are)679 1480 y Ff(\226)86 b Fe(protect)44 b(and)g(isolate)g(itself)f(from)h(processes)438 1824 y Fd(\017)86 b Fe(pri)l(vile)m(ges)44 b(v)l(ary)g(from)g(platform)g(to) f(platform,)h(b)m(ut)f(may)g(include:)679 2118 y Ff(\226)86 b Fe(ability)43 b(to)g(e)m(x)m(ecute)j(special)e(instructions)g(\(lik)n (e)g Fa(halt)p Fe(\))679 2413 y Ff(\226)86 b Fe(ability)43 b(to)g(manipulate)h(processor)h(state)f(\(lik)n(e)g(e)m(x)m(ecution)h (mode\))679 2707 y Ff(\226)86 b Fe(ability)43 b(to)g(access)i(virtual)f (addresses)g(that)g(can')m(t)g(be)g(accessed)h(otherwise)438 3051 y Fd(\017)86 b Fe(k)n(ernel)45 b(ensures)f(that)f(it)g(is)g Fb(isolated)g Fe(from)h(processes.)55 b(No)44 b(process)g(can)g(e)m(x)m (ecute)i(or)610 3295 y(change)f(k)n(ernel)f(code,)g(or)g(read)g(or)g (write)g(k)n(ernel)g(data,)g(e)m(xcept)h(through)f(controlled)610 3539 y(mechanisms)g(lik)n(e)g(system)f(calls.)6000 3930 y 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore %%Page: (6,7) 4 userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 414.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore /showpage{}def/copypage{}def/erasepage{}def PStoPSxform concat TeXDict begin @landscape 7 6 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4548 b(7)p 300 -453 5700 9 v 2679 -151 a Ff(System)44 b(Calls)438 866 y Fd(\017)86 b Fe(System)43 b(calls)h(are)g(the)f(interf)n(ace)j(between)f(processes)g(and)e(the)h (k)n(ernel.)438 1211 y Fd(\017)86 b Fe(A)43 b(process)i(uses)e(system)h (calls)f(to)g(request)i(operating)f(system)f(services.)438 1555 y Fd(\017)86 b Fe(From)43 b(point)g(of)h(vie)l(w)f(of)h(the)f (process,)i(these)e(services)i(are)f(used)g(to)f(manipulate)h(the)610 1799 y(abstractions)h(that)e(are)h(part)g(of)f(its)g(e)m(x)m(ecution)j (en)-7 b(vironment.)54 b(F)m(or)44 b(e)m(xample,)h(a)e(process)610 2043 y(might)g(use)g(a)h(system)f(call)h(to)679 2337 y Ff(\226)86 b Fe(open)44 b(a)f(\002le)679 2631 y Ff(\226)86 b Fe(send)44 b(a)f(message)i(o)m(v)m(er)f(a)g(pipe)679 2925 y Ff(\226)86 b Fe(create)45 b(another)f(process)679 3220 y Ff(\226)86 b Fe(increase)45 b(the)f(size)f(of)h(its)f(address)h (space)6000 3930 y 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 36.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore PStoPSxform concat TeXDict begin @landscape 8 7 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4548 b(8)p 300 -453 5700 9 v 2256 -151 a Ff(Ho)n(w)43 b(System)h(Calls)g(W)-13 b(ork)438 688 y Fd(\017)86 b Fe(The)44 b(hardw)n(are)i(pro)m(vides)e(a)g(mechanism)g (that)f(a)h(running)f(program)i(can)f(use)f(to)g(cause)610 932 y(a)g(system)h(call.)54 b(Often,)44 b(it)f(is)g(a)g(special)h (instruction,)g(e.g.,)g(the)f(MIPS)g Fa(syscall)610 1176 y Fe(instruction.)438 1520 y Fd(\017)86 b Fe(What)43 b(happens)h(on)f(a)h(system)f(call:)679 1815 y Ff(\226)86 b Fe(the)43 b(processor)i(is)e(switched)h(to)f(system)h(\(pri)l(vile)m (ged\))h(e)m(x)m(ecution)g(mode)679 2109 y Ff(\226)86 b Fe(k)n(e)m(y)44 b(parts)g(of)g(the)f(current)i(thread)f(conte)m(xt,)h (lik)n(e)e(the)h(program)g(counter)g(and)g(the)851 2353 y(stack)g(pointer)-7 b(,)44 b(are)g(sa)m(v)m(ed)679 2647 y Ff(\226)86 b Fe(the)43 b(thread)i(conte)m(xt)f(is)f(changed)i(so)e (that:)851 2910 y Fd(\003)86 b Fe(the)44 b(program)g(counter)g(is)f (set)h(to)f(a)g(\002x)m(ed)h(\(determined)h(by)e(the)h(hardw)n(are\)) 1023 3154 y(memory)g(address,)h(which)e(is)g(within)h(the)f(k)n(ernel') -9 b(s)44 b(address)h(space)851 3398 y Fd(\003)86 b Fe(the)44 b(stack)g(pointer)f(is)g(pointed)h(at)f(a)h(stack)g(in)f(the)g(k)n (ernel')-9 b(s)45 b(address)f(space)6000 3930 y 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore %%Page: (8,9) 5 userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 414.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore /showpage{}def/copypage{}def/erasepage{}def PStoPSxform concat TeXDict begin @landscape 9 8 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4548 b(9)p 300 -453 5700 9 v 1879 -151 a Ff(System)44 b(Call)f(Execution)h(and)e(Retur)m(n)438 744 y Fd(\017)86 b Fe(Once)44 b(a)g(system)f(call)h(occurs,)g(the)g (calling)g(thread)g(will)f(be)g(e)m(x)m(ecuting)j(a)d(system)h(call)610 988 y(handler)-7 b(,)45 b(which)e(is)g(part)h(of)g(the)f(k)n(ernel,)i (in)e(system)g(mode.)438 1333 y Fd(\017)86 b Fe(The)42 b(k)n(ernel')-9 b(s)43 b(handler)g(determines)g(which)g(service)g(the)f (calling)g(process)h(w)n(anted,)g(and)610 1576 y(performs)i(that)e (service.)438 1921 y Fd(\017)86 b Fe(When)43 b(the)h(k)n(ernel)g(is)f (\002nished,)h(it)e(returns)j(from)e(the)h(system)f(call.)54 b(This)43 b(means:)679 2215 y Ff(\226)86 b Fe(restore)45 b(the)e(k)n(e)m(y)h(parts)g(of)g(the)f(thread)h(conte)m(xt)h(that)e (were)i(sa)m(v)m(ed)f(when)g(the)f(system)851 2459 y(call)h(w)n(as)g (made)679 2753 y Ff(\226)86 b Fe(switch)44 b(the)f(processor)i(back)f (to)f(unpri)l(vile)m(ged)i(\(user\))f(e)m(x)m(ecution)i(mode)438 3098 y Fd(\017)86 b Fe(No)l(w)43 b(the)h(thread)g(is)f(e)m(x)m(ecuting) i(the)f(calling)g(process')g(program)h(ag)o(ain,)f(picking)g(up)610 3342 y(where)h(it)d(left)i(of)l(f)f(when)i(it)d(made)i(the)g(system)f (call.)6000 3930 y 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 36.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore PStoPSxform concat TeXDict begin @landscape 10 9 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4487 b(10)p 300 -453 5700 9 v 2366 -151 a Ff(System)44 b(Call)f(Diagram)1091 3651 y @beginspecial 0 @llx 0 @lly 288 @urx 235 @ury 1944 @rhi @setspecial %%BeginDocument: figs/syscall.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: figs/syscall.fig %%Creator: fig2dev Version 3.2 Patchlevel 5-alpha5 %%CreationDate: Wed Dec 20 10:52:51 2006 %%For: brecht@ubuntu (Tim Brecht,,,) %%BoundingBox: 0 0 288 235 %Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 235 moveto 0 0 lineto 288 0 lineto 288 235 lineto closepath clip newpath -75.6 288.7 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0 slj 0 slc 0.06000 0.06000 sc % % Fig objects follow % % % here starts figure with depth 50 % Polyline 0 slj 0 slc 7.500 slw n 2400 1200 m 3000 1200 l 3000 4800 l 2400 4800 l cp gs col0 s gr % Polyline n 4800 1200 m 5400 1200 l 5400 4800 l 4800 4800 l cp gs col0 s gr % Polyline gs clippath 5805 4623 m 5805 4815 l 5895 4815 l 5895 4623 l 5895 4623 l 5850 4773 l 5805 4623 l cp eoclip n 5850 1500 m 5850 4800 l gs col0 s gr gr % arrowhead n 5805 4623 m 5850 4773 l 5895 4623 cp gs 0.00 setgray ef gr col0 s % Polyline [60] 0 sd gs clippath 2655 3798 m 2655 3990 l 2745 3990 l cp eoclip n 2700 1200 m 2700 1800 l 5100 1800 2700 3975 l gs col0 s gr gr [] 0 sd % arrowhead n 2655 3798 m 2700 3948 l 2745 3798 cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 2623 1993 m 2802 1893 l 2773 1841 l cp eoclip n 2100 2250 m 2775 1875 l gs col0 s gr gr l 5850 4653 l 5805 4623 l 2745 3798 l 2745 3798 l 2700 3948 l 2655 3798 l l 5100 3000 l 2700 3000 l l 2700 3828 l 2655 3798 l 2594 1940 l 2594 1940 l 2740 1894 l 2623 1993 l % arrowhead n 2623 1993 m 2740 1894 l 2594 1940 l 2635 1952 l 2623 1993 l cp gs 0.00 setgray ef gr col0 s /Times-Roman ff 180.00 scf sf 2400 1050 m gs 1 -1 sc (Process) col0 sh gr /Times-Roman ff 180.00 scf sf 4875 1050 m gs 1 -1 sc (Kernel) col0 sh gr /Times-Roman ff 180.00 scf sf 5700 1425 m gs 1 -1 sc (time) col0 sh gr /Times-Roman ff 180.00 scf sf 3225 2850 m gs 1 -1 sc (system call return) col0 sh gr /Times-Roman ff 180.00 scf sf 3375 1650 m gs 1 -1 sc (system call) col0 sh gr /Times-Roman ff 180.00 scf sf 1275 2175 m gs 1 -1 sc (thread) col0 sh gr /Times-Roman ff 180.00 scf sf 1275 2400 m gs 1 -1 sc (execution) col0 sh gr /Times-Roman ff 180.00 scf sf 1275 2625 m gs 1 -1 sc (path) col0 sh gr % here ends figure; $F2psEnd rs showpage %%Trailer %EOF %%EndDocument @endspecial 6000 3930 a 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore %%Page: (10,11) 6 userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 414.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore /showpage{}def/copypage{}def/erasepage{}def PStoPSxform concat TeXDict begin @landscape 11 10 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4487 b(11)p 300 -453 5700 9 v 2748 -151 a Ff(Exceptions)438 866 y Fd(\017)86 b Fe(Exceptions)44 b(are)g(another)h(w)n(ay)f(that)f(control)h(is)f(transferred)j(from)e (a)f(process)i(to)e(the)610 1110 y(k)n(ernel.)438 1455 y Fd(\017)86 b Fe(Exceptions)44 b(are)g(conditions)g(that)f(occur)i (during)e(the)h(e)m(x)m(ecution)h(of)f(an)f(instruction)h(by)610 1698 y(a)f(process.)55 b(F)m(or)44 b(e)m(xample:)679 1993 y Ff(\226)86 b Fe(arithmetic)44 b(error)-7 b(,)45 b(e.g,)f(o)m(v)m(er\003o)l(w)679 2287 y Ff(\226)86 b Fe(ille)m(g)o(al)44 b(instruction)679 2581 y Ff(\226)86 b Fe(memory)44 b(protection)g(violation)679 2875 y Ff(\226)86 b Fe(page)44 b(f)n(ault)g(\(to)f(be)h(discussed)g(later\))438 3220 y Fd(\017)86 b Fe(e)m(xceptions)45 b(are)f(detected)h(by)e(the)h (hardw)n(are)6000 3930 y 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 36.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore PStoPSxform concat TeXDict begin @landscape 12 11 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4487 b(12)p 300 -453 5700 9 v 2437 -151 a Ff(Exceptions)43 b(\(cont')m(d\))438 1089 y Fd(\017)86 b Fe(when)44 b(an)g(e)m(xception)g(occurs,)h(control)f(is)f (transferred)i(\(by)f(the)g(hardw)n(are\))i(to)d(a)g(\002x)m(ed)610 y(address)h(in)f(the)h(k)n(ernel)438 1333 1677 y Fd(\017)86 b Fe(transfer)45 b(of)e(control)h(happens)g(in)f(much)h(the)g(same)f(w) n(ay)i(as)e(it)g(does)h(for)f(a)h(system)f(call.)610 1921 y(\(In)h(f)n(act,)g(a)g(system)f(call)h(can)g(be)f(thought)h(of)f (as)h(a)f(type)h(of)f(e)m(xception,)i(and)f(the)m(y)g(are)610 2165 y(sometimes)g(implemented)g(that)f(w)n(ay)-11 b(.\))438 2509 y Fd(\017)86 b Fe(in)43 b(the)g(k)n(ernel,)i(an)f(e)m(xception)h (handler)f(determines)h(which)e(e)m(xception)i(has)f(occurred)610 2753 y(and)g(what)f(to)g(do)h(about)f(it.)53 b(F)m(or)44 b(e)m(xample,)h(it)e(may)g(choose)h(to)g(destro)n(y)g(a)f(process)i (that)610 2997 y(attempts)f(to)f(e)m(x)m(ecute)i(an)f(ille)m(g)o(al)g (instruction.)6000 3930 y 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore %%Page: (12,13) 7 userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 414.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore /showpage{}def/copypage{}def/erasepage{}def PStoPSxform concat TeXDict begin @landscape 13 12 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4487 b(13)p 300 -453 5700 9 v 2767 -154 a Ff(Interrupts)438 542 y Fd(\017)86 b Fe(Interrupts)44 b(are)h(a)e(third)h(mechanism)g(by)f(which)h(control)g(may)f(be)h (transferred)i(to)d(the)610 786 y(k)n(ernel)438 1130 y Fd(\017)86 b Fe(Interrupts)44 b(are)h(similar)e(to)g(e)m(xceptions.) 55 b(Ho)l(we)l(v)m(er)-7 b(,)45 b(the)m(y)f(are)h(caused)f(by)g(hardw)n (are)610 1374 y(de)l(vices,)g(not)f(by)g(the)h(e)m(x)m(ecution)h(of)f (a)f(program.)55 b(F)m(or)44 b(e)m(xample:)679 1668 y Ff(\226)86 b Fe(a)44 b(netw)n(ork)g(interf)n(ace)i(may)d(generate)j(an) d(interrupt)h(when)g(a)g(netw)n(ork)g(pack)n(et)851 1912 y(arri)l(v)m(es)679 2206 y Ff(\226)86 b Fe(a)44 b(disk)f(controller)h (may)g(generate)h(an)e(interrupt)i(to)e(indicate)h(that)f(it)g(has)g (\002nished)851 2450 y(writing)g(data)h(to)f(the)h(disk)679 2744 y Ff(\226)86 b Fe(a)44 b(timer)f(may)h(generate)h(an)e(interrupt)h (to)f(indicate)i(that)e(time)g(has)h(passed)438 3089 y Fd(\017)86 b Fe(Interrupt)44 b(handling)g(is)f(similar)g(to)g(e)m (xception)i(handling)f(-)f(current)i(e)m(x)m(ecution)g(conte)m(xt)610 3333 y(is)e(sa)m(v)m(ed,)h(and)g(control)g(is)e(transferred)k(to)d(a)h (k)n(ernel)g(interrupt)g(handler)h(at)e(a)h(\002x)m(ed)610 3576 y(address.)6000 3930 y 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 36.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore PStoPSxform concat TeXDict begin @landscape 14 13 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4487 b(14)p 300 -453 5700 9 v 2099 -151 a Ff(Implementation)45 b(of)e(Pr)m(ocesses)438 615 y Fd(\017)86 b Fe(The)44 b(k)n(ernel)g(maintains)g(information)g(about)g (all)f(of)g(the)h(processes)h(in)e(the)g(system)h(in)f(a)610 859 y(data)h(structure)g(often)g(called)g(the)g(process)g(table.)438 1203 y Fd(\017)86 b Fe(Information)45 b(about)e(indi)l(vidual)g (processes)i(is)e(stored)h(in)f(a)g(structure)i(that)e(is)610 1447 y(sometimes)h(called)g(a)f Fb(pr)-8 b(ocess)45 b(contr)-8 b(ol)43 b(bloc)m(k)h(\(PCB\))p Fe(.)g(In)f(practice,)j(ho)l(we)l(v)m (er)-7 b(,)610 1691 y(information)44 b(about)g(a)f(process)i(may)e(not) g(all)h(be)f(located)h(in)f(a)h(single)f(data)h(structure.)438 2035 y Fd(\017)86 b Fe(Per)m(-process)45 b(information)f(may)f (include:)679 2330 y Ff(\226)86 b Fe(process)44 b(identi\002er)g(and)g (o)l(wner)679 2624 y Ff(\226)86 b Fe(current)45 b(process)f(state)g (and)f(other)h(scheduling)g(information)679 2918 y Ff(\226)86 b Fe(lists)43 b(of)g(a)m(v)l(ailable)h(resources,)h(such)f(as)f(open)h (\002les)679 3212 y Ff(\226)86 b Fe(accounting)45 b(information)679 3506 y Ff(\226)86 b Fe(and)44 b(more)g Fc(:)29 b(:)g(:)n Fe(...)6000 3930 y 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore %%Page: (14,15) 8 userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 414.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore /showpage{}def/copypage{}def/erasepage{}def PStoPSxform concat TeXDict begin @landscape 15 14 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4487 b(15)p 300 -453 5700 9 v 1877 -151 a Ff(Pr)m(ocess)45 b(Cr)m(eation)f(Example)g(\(P)n(art)g(1\))1243 3651 y @beginspecial 0 @llx 0 @lly 302 @urx 266 @ury 1944 @rhi @setspecial %%BeginDocument: figs/createproc1.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: figs/createproc1.fig %%Creator: fig2dev Version 3.2 Patchlevel 5-alpha5 %%CreationDate: Wed Dec 20 10:52:52 2006 %%For: brecht@ubuntu (Tim Brecht,,,) %%BoundingBox: 0 0 302 266 %Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 266 moveto 0 0 lineto 302 0 lineto 302 266 lineto closepath clip newpath -98.1 319.1 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0 slj 0 slc 0.06000 0.06000 sc % % Fig objects follow % % % here starts figure with depth 50 % Polyline 0 slj 0 slc 15.000 slw n 2400 1200 m 3000 1200 l 3000 4800 cp gs col4 s gr % Polyline 7.500 slw [60] 0 sd gs clippath 4808 2145 m 4965 2145 l 4965 2055 l cp eoclip n 2700 1200 m 2700 2100 l 4950 2100 l gs col4 s gr gr [] 0 sd % arrowhead n 4808 2145 m 4928 2100 l 4808 2055 s % Polyline n 4650 1200 m 5550 1200 l 5550 4800 cp gs col0 s gr /Times-Roman ff 180.00 scf sf 4875 1050 m gs 1 -1 sc (Kernel) col0 sh gr /Times-Roman ff 180.00 scf sf 2325 1050 m gs 1 -1 sc (Process A) col4 sh gr /Times-Roman ff 180.00 scf sf 3225 1950 m l 2400 4800 l 4808 2055 l 4808 2055 l 4928 2100 l 4808 2145 l l 4808 2145 l l 4650 4800 l cp gs col4 1.00 shd ef gr col4 gs 1 -1 sc (\(CreateProcess\)) col0 sh gr /Times-Roman ff 180.00 scf sf 3450 1725 m gs 1 -1 sc (system call) col0 sh gr /Times-Roman ff 180.00 scf sf 1650 5250 m gs 1 -1 sc (Parent process \(Process A\) requests creation of a new process.) col0 sh gr % here ends figure; $F2psEnd rs showpage %%Trailer %EOF %%EndDocument @endspecial 6000 3930 a 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 36.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore PStoPSxform concat TeXDict begin @landscape 16 15 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4487 b(16)p 300 -453 5700 9 v 1877 -151 a Ff(Pr)m(ocess)45 b(Cr)m(eation)f(Example)g(\(P)n(art)g(2\))1072 3651 y @beginspecial 0 @llx 0 @lly 334 @urx 270 @ury 1944 @rhi @setspecial %%BeginDocument: figs/createproc2.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: figs/createproc2.fig %%Creator: fig2dev Version 3.2 Patchlevel 5-alpha5 %%CreationDate: Wed Dec 20 10:52:52 2006 %%For: brecht@ubuntu (Tim Brecht,,,) %%BoundingBox: 0 0 334 270 %Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 270 moveto 0 0 lineto 334 0 lineto 334 270 lineto closepath clip newpath -138.6 323.6 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0 slj 0 slc 0.06000 0.06000 sc % % Fig objects follow % % % here starts figure with depth 50 % Polyline 0 slj 0 slc 15.000 slw n 2400 1200 m 3000 1200 l 3000 4800 cp gs col4 s gr % Polyline n 7200 1200 m 7800 1200 l 7800 4800 cp gs col1 s gr % Polyline 7.500 slw n 4650 1200 m 5550 1200 l 5550 4800 cp gs col0 s gr % Polyline [60] 0 sd gs clippath 2655 4398 m 2655 4590 l 2745 4590 l cp eoclip n 2700 1200 m 2700 2100 l 4950 2100 2700 4575 l gs col4 s gr gr [] 0 sd % arrowhead n 2655 4398 m 2700 4548 l 2745 4398 cp gs col4 1.00 shd ef gr col4 s % Polyline 30.000 slw [15 60] 60 sd gs clippath 5205 4248 m 5205 4440 l 5295 4440 l cp eoclip n 5250 2325 m 5250 4425 l gs col1 s gr gr [] 0 sd % arrowhead 7.500 slw n 5205 4248 m 5250 4398 l 5295 4248 cp gs col1 1.00 shd ef gr col1 s % Polyline gs clippath 5443 3574 m 5297 3656 l 5326 3708 l cp eoclip l 2400 4800 l l 7200 4800 l l 4650 4800 l 2745 4398 l 2745 4398 l 2700 4548 l 2655 4398 l l 4950 2925 l 2700 2925 l l 2700 4428 l 2655 4398 l 5295 4248 l 5295 4248 l 5250 4398 l 5205 4248 l l 5250 4278 l 5205 4248 l 5472 3626 l 5472 3626 l 5353 3659 l 5443 3574 l n 6000 3300 m 5325 3675 l gs col0 s gr gr % arrowhead n 5443 3574 m 5353 3659 l 5472 3626 l 5443 3574 l cp gs 0.00 setgray ef gr /Times-Roman ff 180.00 scf sf 4875 1050 m gs 1 -1 sc (Kernel) col0 sh gr /Times-Roman ff 180.00 scf sf 2325 1050 m gs 1 -1 sc (Process A) col4 sh gr /Times-Roman ff 180.00 scf sf 3225 1950 m gs 1 -1 sc (\(CreateProcess\)) col0 sh gr /Times-Roman ff 180.00 scf sf 3450 1725 m gs 1 -1 sc (system call) col0 sh gr /Times-Roman ff 180.00 scf sf 7050 1050 m gs 1 -1 sc (Process B) col1 sh gr /Times-Roman ff 180.00 scf sf 5775 2925 m gs 1 -1 sc (B's thread is) col0 sh gr /Times-Roman ff 180.00 scf sf 5700 3150 m gs 1 -1 sc (ready, not running) col0 sh gr /Times-Roman ff 180.00 scf sf 3150 3225 m gs 1 -1 sc (system call return) col0 sh gr /Times-Roman ff 180.00 scf sf 3600 5325 m gs 1 -1 sc (Kernel creates new process \(Process B\)) col0 sh gr % here ends figure; $F2psEnd rs showpage %%Trailer %EOF %%EndDocument @endspecial 6000 3930 a 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore %%Page: (16,17) 9 userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 414.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore /showpage{}def/copypage{}def/erasepage{}def PStoPSxform concat col0 s TeXDict begin @landscape 17 16 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4487 b(17)p 300 -453 5700 9 v 2434 -151 a Ff(Multipr)m(ogramming)438 353 y Fd(\017)86 b Fe(multiprogramming)44 b(means)g(ha)m(ving)f(multiple)g(processes)i(e)m(xisting)f(at)f(the)h (same)g(time)438 698 y Fd(\017)86 b Fe(most)43 b(modern,)h(general)h (purpose)f(operating)g(systems)g(support)f(multiprogramming)438 1042 y Fd(\017)86 b Fe(all)43 b(processes)i(share)f(the)g(a)m(v)l (ailable)g(hardw)n(are)i(resources,)f(with)e(the)h(sharing)610 1286 y(coordinated)h(by)e(the)h(operating)g(system:)679 1580 y Ff(\226)86 b Fe(Each)44 b(process)h(uses)e(some)h(of)f(the)h(a)m (v)l(ailable)g(memory)g(to)f(hold)g(its)f(address)j(space.)851 1824 y(The)f(OS)f(decides)h(which)g(memory)g(and)g(ho)l(w)f(much)h (memory)g(each)g(process)h(gets)679 2118 y Ff(\226)86 b Fe(OS)43 b(can)h(coordinate)h(shared)f(access)h(to)e(de)l(vices)h (\(k)n(e)m(yboards,)i(disks\),)e(since)851 2362 y(processes)h(use)e (these)h(de)l(vices)g(indirectly)-11 b(,)44 b(by)g(making)f(system)h (calls.)679 2656 y Ff(\226)86 b Fe(Processes)45 b Fb(timeshar)-6 b(e)43 b Fe(the)h(processor\(s\).)56 b(Ag)o(ain,)44 b(timesharing)g(is) f(controlled)h(by)851 2900 y(the)f(operating)i(system.)438 3245 y Fd(\017)86 b Fe(OS)43 b(ensures)h(that)g(processes)h(are)f (isolated)g(from)f(one)h(another)-9 b(.)54 b(Interprocess)610 3489 y(communication)44 b(should)g(be)f(possible,)h(b)m(ut)e(only)i(at) f(the)g(e)m(xplicit)h(request)h(of)e(the)610 3732 y(processes)i(in)-7 b(v)m(olv)m(ed.)6000 3930 y 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 36.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore PStoPSxform concat TeXDict begin @landscape 18 17 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4487 b(18)p 300 -453 5700 9 v 2031 -151 a Ff(T)m(imesharing)43 b(Example)h(\(P)n(art)h(1\))1008 3651 y @beginspecial 0 @llx 0 @lly 334 @urx 262 @ury 1944 @rhi @setspecial %%BeginDocument: figs/switch1.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: figs/switch1.fig %%Creator: fig2dev Version 3.2 Patchlevel 5-alpha5 %%CreationDate: Wed Dec 20 10:52:52 2006 %%For: brecht@ubuntu (Tim Brecht,,,) %%BoundingBox: 0 0 334 262 %Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 262 moveto 0 0 lineto 334 0 lineto 334 262 lineto closepath clip newpath -138.6 315.9 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0 slj 0 slc 0.06000 0.06000 sc % % Fig objects follow % % % here starts figure with depth 50 % Polyline 0 slj 0 slc 15.000 slw n 2400 1200 m 3000 1200 l 3000 4800 cp gs col4 s gr % Polyline n 7200 1200 m 7800 1200 l 7800 4800 cp gs col1 s gr % Polyline 7.500 slw [60] 0 sd n 2700 1200 m 2700 2100 l 4950 2100 4950 2400 l gs col4 s gr [] 0 sd % Polyline [60] 0 sd gs clippath 7455 2858 m 7455 3015 l 7545 3015 l cp eoclip n 5250 2400 m 7500 2400 l 7500 3000 l gs col1 s gr gr [] 0 sd % arrowhead n 7455 2858 m 7500 2978 l 7545 2858 s % Polyline n 4650 1200 m 5550 1200 l 5550 4800 cp gs col0 s gr % Polyline 30.000 slw [15 60] 60 sd n 4950 2400 m 4950 3000 l gs col4 s gr [] 0 sd % Polyline 7.500 slw gs clippath l 2400 4800 l l 7200 4800 l l 7545 2858 l 7545 2858 l 7500 2978 l 7455 2858 l l 7455 2858 l l 4650 4800 l cp gs col1 1.00 shd ef gr col1 5001 2512 m 5136 2430 l 5089 2353 l 4955 2435 l 4955 2435 l 5081 2412 l 5001 2512 l cp eoclip n 4068 3025 m 5100 2400 l gs col0 s gr gr % arrowhead n 5001 2512 m 5081 2412 l 4955 2435 l 5001 2512 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 5179 2762 m 5013 2743 l 5006 2803 l 5172 2822 l 5172 2822 l 5057 2779 l 5179 2762 l cp eoclip n 5700 2850 m 5025 2775 l gs col0 s gr gr % arrowhead n 5179 2762 m 5057 2779 l 5172 2822 l 5179 2762 l cp gs 0.00 setgray ef gr col0 s % Polyline 30.000 slw [15 60] 60 sd n 5250 1200 m 5250 2400 l gs col1 s gr [] 0 sd % Polyline 7.500 slw gs clippath 5464 1882 m 5302 1924 l 5317 1982 l 5479 1941 l 5479 1941 l 5356 1942 l 5464 1882 l cp eoclip n 6003 1775 m 5325 1950 l gs col0 s gr gr % arrowhead n 5464 1882 m 5356 1942 l 5479 1941 l 5464 1882 l /Times-Roman ff 180.00 scf sf 4875 1050 m gs 1 -1 sc (Kernel) col0 sh gr /Times-Roman ff 180.00 scf sf 2325 1050 m gs 1 -1 sc (Process A) col4 sh gr /Times-Roman ff 180.00 scf sf 7050 1050 m gs 1 -1 sc (Process B) col1 sh gr /Times-Roman ff 180.00 scf sf 3300 3300 m gs 1 -1 sc (context switch) col0 sh gr /Times-Roman ff 180.00 scf sf 5775 2925 m gs 1 -1 sc (A's thread is) col0 sh gr /Times-Roman ff 180.00 scf sf 5700 3150 m gs 1 -1 sc (ready, not running) col0 sh gr /Times-Roman ff 180.00 scf sf 3375 1575 m gs 1 -1 sc (system call) col0 sh gr /Times-Roman ff 180.00 scf sf 3375 1800 m gs 1 -1 sc (or exception) col0 sh gr /Times-Roman ff 180.00 scf sf cp gs 0.00 setgray ef gr col0 s 3450 2025 m gs 1 -1 sc (or interrupt) col0 sh gr /Times-Roman ff 180.00 scf sf 3450 5250 m gs 1 -1 sc (Kernel switches execution context to Process B.) col0 sh gr /Times-Roman ff 180.00 scf sf 6075 2250 m gs 1 -1 sc (return) col0 sh gr /Times-Roman ff 180.00 scf sf 5700 1425 m gs 1 -1 sc (B's thread is) col0 sh gr /Times-Roman ff 180.00 scf sf 5700 1650 m gs 1 -1 sc (ready, not running) col0 sh gr % here ends figure; $F2psEnd rs showpage %%Trailer %EOF %%EndDocument @endspecial 6000 3930 a 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore %%Page: (18,19) 10 userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 414.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore /showpage{}def/copypage{}def/erasepage{}def PStoPSxform concat TeXDict begin @landscape 19 18 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4487 b(19)p 300 -453 5700 9 v 2031 -151 a Ff(T)m(imesharing)43 b(Example)h(\(P)n(art)h(2\))1072 3651 y @beginspecial 0 @llx 0 @lly 334 @urx 270 @ury 1944 @rhi @setspecial %%BeginDocument: figs/switch2.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: figs/switch2.fig %%Creator: fig2dev Version 3.2 Patchlevel 5-alpha5 %%CreationDate: Wed Dec 20 10:52:52 2006 %%For: brecht@ubuntu (Tim Brecht,,,) %%BoundingBox: 0 0 334 270 %Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 270 moveto 0 0 lineto 334 0 lineto 334 270 lineto closepath clip newpath -138.6 323.6 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0 slj 0 slc 0.06000 0.06000 sc % % Fig objects follow % % % here starts figure with depth 50 % Polyline 0 slj 0 slc 15.000 slw n 2400 1200 m 3000 1200 l 3000 4800 cp gs col4 s gr % Polyline n 7200 1200 m 7800 1200 l 7800 4800 cp gs col1 s gr % Polyline 7.500 slw [60] 0 sd n 2700 1200 m 2700 2100 l 4950 2100 4950 2400 l gs col4 s gr [] 0 sd % Polyline [60] 0 sd n 5175 2400 m 7500 2400 l 7500 3000 5175 3900 l gs col1 s gr [] 0 sd % Polyline [60] 0 sd gs clippath 2655 4433 m 2655 4590 l 2745 4590 l cp eoclip n 4950 3900 m 2700 3900 l 2700 4575 l gs col4 s gr gr [] 0 sd % arrowhead n 2655 4433 m 2700 4553 l 2745 4433 s % Polyline n 4650 1200 m 5550 1200 l 5550 4800 cp gs col0 s gr % Polyline 30.000 slw [15 60] 60 sd l 2400 4800 l l 7200 4800 l l l 7500 3600 l 5175 3600 l 2745 4433 l 2745 4433 l 2700 4553 l 2655 4433 l l 2655 4433 l l 4650 4800 l cp gs col4 1.00 shd ef gr col4 n 4950 2400 m 4950 3900 l gs col4 s gr [] 0 sd % Polyline 7.500 slw gs clippath 5397 4001 m 5231 4022 l 5238 4081 l 5404 4060 l 5404 4060 l 5282 4046 l 5397 4001 l cp eoclip n 5850 3975 m 5250 4050 l gs col0 s gr gr % arrowhead n 5397 4001 m 5282 4046 l 5404 4060 l 5397 4001 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 4970 3813 m 5089 3931 l 5131 3889 l 5013 3770 l 5013 3770 l 5077 3877 l 4970 3813 l cp eoclip n 4350 3150 m 5100 3900 l gs col0 s gr gr % arrowhead n 4970 3813 m 5077 3877 l 5013 3770 l 4970 3813 l cp gs 0.00 setgray ef gr col0 s % Polyline 30.000 slw [15 60] 60 sd n 5175 1200 m 5175 2400 l gs col1 s gr [] 0 sd % Polyline [15 60] 60 sd gs clippath 5130 4398 m 5130 4590 l 5220 4590 l 5220 4398 l 5220 4398 l 5175 4548 l 5130 4398 l cp eoclip n 5175 3900 m 5175 4575 l gs col1 s gr gr [] 0 sd % arrowhead 7.500 slw n 5130 4398 m 5175 4548 l 5220 4398 l 5175 4428 l 5130 4398 l cp gs col1 1.00 shd ef gr col1 s /Times-Roman ff 180.00 scf sf 4875 1050 m gs 1 -1 sc (Kernel) col0 sh gr /Times-Roman ff 180.00 scf sf 2325 1050 m gs 1 -1 sc (Process A) col4 sh gr /Times-Roman ff 180.00 scf sf 7050 1050 m gs 1 -1 sc (Process B) col1 sh gr /Times-Roman ff 180.00 scf sf 3000 5325 m gs 1 -1 sc (Kernel switches execution context back to process A.) col0 sh gr /Times-Roman ff 180.00 scf sf 6000 4050 m gs 1 -1 sc (B's thread is ) col0 sh gr /Times-Roman ff 180.00 scf sf 5775 4275 m gs 1 -1 sc (ready, not running) col0 sh gr /Times-Roman ff 180.00 scf sf 3150 3150 m gs 1 -1 sc (context switch) col0 sh gr /Times-Roman ff 180.00 scf sf 5850 3000 m gs 1 -1 sc (system call) col0 sh gr /Times-Roman ff 180.00 scf sf 5850 3225 m gs 1 -1 sc (or exception) col0 sh gr /Times-Roman ff 180.00 scf sf 5850 3450 m gs 1 -1 sc (or interrupt) col0 sh gr /Times-Roman ff 180.00 scf sf 3300 4125 m gs 1 -1 sc (return) col0 sh gr % here ends figure; $F2psEnd rs showpage %%Trailer %EOF %%EndDocument @endspecial 6000 3930 a 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 36.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore PStoPSxform concat TeXDict begin @landscape 20 19 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4487 b(20)p 300 -453 5700 9 v 1235 -151 a Ff(Summary)44 b(of)g(Hard)m(war)m(e)g(F)l(eatur)m(es)h(Used)e(by)g (the)h(K)l(er)m(nel)300 1038 y(Interrupts)g(and)f(Exceptions,)87 b Fe(such)43 b(as)h(timer)f(interrupts,)h(gi)l(v)m(e)g(the)f(k)n(ernel) i(the)610 1282 y(opportunity)f(to)f(re)m(g)o(ain)h(control)g(from)g (user)g(programs.)300 1627 y Ff(Memory)g(management)h(featur)m(es,)88 b Fe(such)44 b(as)f(memory)h(protection,)g(allo)l(w)g(the)f(k)n(ernel)i (to)610 1871 y(protect)f(its)f(address)h(space)h(from)f(user)f (programs.)300 2215 y Ff(Pri)n(vileged)h(execution)h(mode)86 b Fe(allo)l(ws)44 b(the)f(k)n(ernel)i(to)e(reserv)m(e)i(critical)g (machine)610 2459 y(functions)f(\(e.g,)g(halt\))g(for)f(its)g(o)l(wn)g (use.)300 2804 y Ff(Independent)g(I/O)g(de)m(vices)88 b Fe(allo)l(w)43 b(the)g(k)n(ernel)i(to)e(schedule)h(other)g(w)n(ork)h (while)e(I/O)610 3047 y(operations)h(are)h(on-going.)6000 3930 y 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore %%Page: (20,21) 11 userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 414.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore /showpage{}def/copypage{}def/erasepage{}def PStoPSxform concat TeXDict begin @landscape 21 20 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4487 b(21)p 300 -453 5700 9 v 2518 -151 a Ff(Pr)m(ocess)45 b(Interface)438 1038 y Fd(\017)86 b Fe(A)43 b(running)h(program)g(may)g(use)g(process-related)i(system)d (calls)h(to)f(manipulate)h(its)610 1282 y(o)l(wn)f(process,)i(or)e (other)h(processes)h(in)e(the)g(system.)438 1627 y Fd(\017)86 b Fe(The)44 b(process)g(interf)n(ace)i(will)d(usually)g(include:)610 1921 y Ff(Cr)m(eation:)88 b Fe(mak)n(e)44 b(ne)l(w)g(processes,)g (e.g.,)g Fa(Exec)g Fe(in)f(Nachos)610 2215 y Ff(Destruction:)88 b Fe(terminate)45 b(a)e(process,)h(e.g.,)g Fa(Exit)h Fe(in)e(Nachos)610 2509 y Ff(Synchr)m(onization:)87 b Fe(w)n(ait)44 b(for)f(some)h(e)l(v)m(ent,)g(e.g.,)g Fa(Join)g Fe(in)f(Nachos)610 2804 y Ff(Attrib)m(ute)h(Mgmt:)87 b Fe(read)44 b(or)g(change)g(process)h(attrib)m(utes,)e(such)h(as)g (the)f(process)851 3047 y(identi\002er)h(or)f(o)l(wner)h(or)g (scheduling)g(priority)6000 3930 y 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 36.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore PStoPSxform concat TeXDict begin @landscape 22 21 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4487 b(22)p 300 -453 5700 9 v 2453 -154 a Ff(The)43 b(Pr)m(ocess)i(Model)438 869 y Fd(\017)86 b Fe(Although)44 b(the)f(general)i(operations)f(supported)g(by)g(the)f (process)h(interf)n(ace)i(are)610 1113 y(straightforw)n(ard,)g(there)e (are)g(some)g(less)f(ob)m(vious)h(aspects)g(of)g(process)g(beha)m (viour)g(that)610 1356 y(must)f(be)g(de\002ned)h(by)g(an)f(operating)i (system.)610 1651 y Ff(Pr)m(ocess)g(Initialization:)86 b Fe(When)43 b(a)h(ne)l(w)f(process)i(is)e(created,)i(ho)l(w)e(is)g(it) g(initialized?)851 1894 y(What)g(is)g(in)g(the)g(address)i(space?)55 b(What)43 b(is)g(the)g(initial)g(thread)i(conte)m(xt?)55 b(Does)44 b(it)851 2138 y(ha)m(v)m(e)g(an)m(y)g(other)g(resources?)610 2432 y Ff(Multithr)m(eading:)86 b Fe(Are)44 b(concurrent)i(processes)e (supported,)h(or)e(is)g(each)i(process)851 2676 y(limited)e(to)g(a)h (single)f(thread?)610 2970 y Ff(Inter)-6 b(-Pr)m(ocess)45 b(Relationships:)87 b Fe(Are)44 b(there)g(relationships)g(among)g (processes,)h(e.g,)851 3214 y(parent/child?)55 b(If)44 b(so,)f(what)h(do)f(these)h(relationships)g(mean?)6000 3930 y 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore %%Page: (22,23) 12 userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 414.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore /showpage{}def/copypage{}def/erasepage{}def PStoPSxform concat TeXDict begin @landscape 23 22 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4487 b(23)p 300 -453 5700 9 v 2114 -151 a Ff(Pr)m(ocessor)45 b(Scheduling)d(Basics)438 572 y Fd(\017)86 b Fe(Only)43 b(one)h(thread)g(at)g(a)f(time)g(can)h(run)g (on)f(a)h(processor)-9 b(.)438 917 y Fd(\017)86 b Fe(Processor)44 b(scheduling)h(means)f(deciding)g(ho)l(w)f(threads)h(should)f(share)i (the)e(a)m(v)l(ailable)610 1160 y(processor\(s\))438 1505 y Fd(\017)86 b Fe(Round-robin)44 b(is)f(a)g(simple)h Fb(pr)-6 b(eemptive)44 b Fe(scheduling)h(polic)m(y:)679 1799 y Ff(\226)86 b Fe(the)43 b(k)n(ernel)i(maintains)f(a)f(list)g(of)g Fb(r)-6 b(eady)44 b Fe(threads)679 2093 y Ff(\226)86 b Fe(the)43 b(\002rst)g(thread)i(on)e(the)g(list)g(is)g Fb(dispatc)m(hed)i Fe(\(allo)l(wed)f(to)f(run\))679 2387 y Ff(\226)86 b Fe(when)44 b(the)f(running)h(thread)h(has)e(run)h(for)f (a)h(certain)h(amount)e(of)h(time,)f(called)h(the)851 2631 y(scheduling)g(quantum,)g(it)f(is)g Fb(pr)-6 b(eempted)679 2925 y Ff(\226)86 b Fe(the)43 b(preempted)i(thread)g(goes)e(to)g(the)h (back)g(of)f(the)h(ready)g(list,)f(and)h(the)f(thread)h(at)851 3169 y(the)f(front)h(of)g(the)f(list)g(is)g(dispatched.)438 3514 y Fd(\017)86 b Fe(More)44 b(on)f(scheduling)h(policies)g(later)-9 b(.)6000 3930 y 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 36.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore PStoPSxform concat TeXDict begin @landscape 24 23 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4487 b(24)p 300 -453 5700 9 v 1766 -151 a Ff(Implementing)44 b(Pr)m(eempti)n(v)n(e)i(Scheduling)438 1455 y Fd(\017)86 b Fe(The)44 b(k)n(ernel)g(uses)g(interrupts)g(from)g (the)f(system)h(timer)f(to)g(measure)i(the)e(passage)i(of)610 1698 y(time)e(and)h(to)f(determine)h(whether)h(the)f(running)f (process')-9 b(s)45 b(quantum)e(has)h(e)m(xpired.)438 2043 y Fd(\017)86 b Fe(All)43 b(interrupts)h(transfer)h(control)f(from) g(the)f(running)h(program)g(to)f(the)h(k)n(ernel.)438 2387 y Fd(\017)86 b Fe(In)43 b(the)h(case)g(of)g(a)f(timer)h (interrupt,)g(this)f(transfer)i(of)e(control)h(gi)l(v)m(es)g(the)f(k)n (ernel)i(the)610 2631 y(opportunity)f(to)f(preempt)h(the)f(running)h (thread)g(and)g(dispatch)g(a)g(ne)l(w)f(one.)6000 3930 y 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore %%Page: (24,25) 13 userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 414.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore /showpage{}def/copypage{}def/erasepage{}def PStoPSxform concat TeXDict begin @landscape 25 24 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4487 b(25)p 300 -453 5700 9 v 1648 -151 a Ff(Pr)m(eempti)n(v)n(e)46 b(Multipr)m(ogramming)e(Example)464 3651 y @beginspecial 0 @llx 0 @lly 478 @urx 299 @ury 1944 @rhi @setspecial %%BeginDocument: figs/timer.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: figs/timer.fig %%Creator: fig2dev Version 3.2 Patchlevel 5-alpha5 %%CreationDate: Wed Dec 20 10:52:52 2006 %%For: brecht@ubuntu (Tim Brecht,,,) %%BoundingBox: 0 0 478 299 %Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 299 moveto 0 0 lineto 478 0 lineto 478 299 lineto closepath clip newpath -138.6 352.3 translate 1 -1 scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0 slj 0 slc 0.06000 0.06000 sc % % Fig objects follow % % % here starts figure with depth 50 % Polyline 0 slj 0 slc 7.500 slw [60] 0 sd n 2700 1200 m 2700 1650 l 4950 1650 l 4950 1800 l 2700 1800 l 2700 2250 l 4950 2250 l 4950 2400 l 2700 2400 l 2700 2850 l 4950 2850 l 4950 3000 l gs col4 s gr [] 0 sd % Polyline [60] 0 sd n 5250 3000 m 7500 3000 l 7500 3450 l 5250 3450 l 5250 3600 l 7500 3600 l 7500 4050 l 5250 4050 l 5250 4200 l 7500 4200 l 7500 4650 l 5250 4650 l 5250 4800 l gs col1 s gr [] 0 sd % Polyline 15.000 slw n 7200 1200 m 7800 1200 l 7800 5850 l 7200 5850 l cp gs col1 s gr % Polyline n 2400 1200 m 3000 1200 l 3000 5850 l 2400 5850 l cp gs col4 s gr % Polyline 7.500 slw [60] 0 sd gs clippath 2670 5510 m 2670 5715 l 2730 5715 l 2730 5510 l 2730 5510 l 2700 5660 l 2670 5510 l cp eoclip n 4950 4800 m 2700 4800 l 2700 5250 l 4950 5250 l 4950 5400 l 2700 5400 l 2700 5700 l gs col4 s gr gr [] 0 sd % arrowhead n 2670 5510 m 2700 5660 l 2730 5510 l 2700 5540 l 2670 5510 l cp gs col4 1.00 shd ef gr col4 s % Polyline gs clippath 4974 3133 m 5136 3029 l 5088 2953 l 4926 3057 l 4926 3057 l 5077 3015 l 4974 3133 l cp eoclip n 4275 3525 m 5100 3000 l gs col-1 s gr gr % arrowhead n 4974 3133 m 5077 3015 l 4926 3057 l 4975 3079 l 4974 3133 l cp gs 0.00 setgray ef gr col-1 s % Polyline gs clippath 4962 4679 m 5071 4837 l 5145 4786 l 5037 4628 l 5037 4628 l 5085 4778 l 4962 4679 l cp eoclip n 4275 3600 m 5100 4800 l gs col-1 s gr gr % arrowhead n 4962 4679 m 5085 4778 l 5037 4628 l 5017 4679 l 4962 4679 l cp gs 0.00 setgray ef gr col-1 s % Polyline n 4650 1200 m 5550 1200 l 5550 5850 l 4650 5850 l cp gs col0 s gr % Polyline 30.000 slw [15 60] 60 sd n 4950 3000 m 4950 4800 l gs col4 s gr [] 0 sd % Polyline [15 60] 60 sd n 5250 3000 m 5250 1200 l gs col1 s gr [] 0 sd % Polyline [15 60] 60 sd n 5250 4800 m 5250 5700 l gs col1 s gr [] 0 sd % Polyline [15 60] 60 sd n 8175 2625 m 9075 2625 l gs col0 s gr [] 0 sd % Polyline 7.500 slw [60] 0 sd n 8175 3075 m 9075 3075 l gs col0 s gr [] 0 sd /Times-Roman ff 180.00 scf sf 4875 1050 m gs 1 -1 sc (Kernel) col0 sh gr /Times-Roman ff 180.00 scf sf 2325 1050 m gs 1 -1 sc (Process A) col4 sh gr /Times-Roman ff 180.00 scf sf 7050 1050 m gs 1 -1 sc (Process B) col1 sh gr /Times-Roman ff 180.00 scf sf 3525 3600 m gs 1 -1 sc (context) col-1 sh gr /Times-Roman ff 180.00 scf sf 3525 3825 m gs 1 -1 sc (switches) col-1 sh gr /Times-Roman ff 180.00 scf sf 3300 1500 m gs 1 -1 sc (timer interrupt) col-1 sh gr /Times-Roman ff 180.00 scf sf 3225 2025 m gs 1 -1 sc (interrupt return) col-1 sh gr /Times-Roman ff 180.00 scf sf 9150 2700 m gs 1 -1 sc (ready thread) col0 sh gr /Times-Roman ff 180.00 scf sf 9150 3150 m gs 1 -1 sc (running thread) col0 sh gr /Times-Roman ff 180.00 scf sf 9000 2325 m gs 1 -1 sc (Key:) col0 sh gr % here ends figure; $F2psEnd rs showpage %%Trailer %EOF %%EndDocument @endspecial 6000 3930 a 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 36.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore PStoPSxform concat TeXDict begin @landscape 26 25 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4487 b(26)p 300 -453 5700 9 v 2528 -154 a Ff(Block)n(ed)44 b(Thr)m(eads)438 587 y Fd(\017)86 b Fe(Sometimes)43 b(a)h(thread)g(will)f(need)h(to)f(w)n(ait)h(for)g(an) g(e)l(v)m(ent.)54 b(Examples:)679 881 y Ff(\226)86 b Fe(w)n(ait)44 b(for)g(data)g(from)f(a)h(\(relati)l(v)m(ely\))h(slo)l(w) e(disk)679 1175 y Ff(\226)86 b Fe(w)n(ait)44 b(for)g(input)f(from)g(a)h (k)n(e)m(yboard)679 1469 y Ff(\226)86 b Fe(w)n(ait)44 b(for)g(another)g(thread)g(to)f(lea)m(v)m(e)i(a)e(critical)h(section) 679 1764 y Ff(\226)86 b Fe(w)n(ait)44 b(for)g(b)m(usy)f(de)l(vice)h(to) f(become)h(idle)438 2108 y Fd(\017)86 b Fe(The)44 b(OS)f(scheduler)i (should)e(only)g(allocate)i(the)e(processor)i(to)e(threads)h(that)g (are)g(not)610 2352 y(block)n(ed,)g(since)g(block)n(ed)h(threads)f(ha)m (v)m(e)g(nothing)f(to)g(do)h(while)f(the)m(y)h(are)h(block)n(ed.)p 767 2921 4767 7 v 767 2956 V 870 3160 a(Multiprogramming)39 b(mak)n(es)f(it)f(easier)i(to)f(k)n(eep)g(the)g(processor)h(b)m(usy)f (e)l(v)m(en)870 3404 y(though)43 b(indi)l(vidual)g(threads)i(are)f(not) f(al)n(w)n(ays)i(ready)-11 b(.)p 767 3499 V 767 3533 V 6000 3930 a 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore %%Page: (26,27) 14 userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 414.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore /showpage{}def/copypage{}def/erasepage{}def PStoPSxform concat TeXDict begin @landscape 27 26 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4487 b(27)p 300 -453 5700 9 v 2287 -151 a Ff(Implementing)44 b(Blocking)438 942 y Fd(\017)86 b Fe(The)44 b(need)g(for)g(w)n(aiting)g(normally)f(arises)h(during)g (the)g(e)m(x)m(ecution)h(of)e(a)h(system)f(call)h(by)610 1186 y(the)f(thread,)i(since)f(programs)g(use)g(de)l(vices)g(through)f (the)h(k)n(ernel)h(\(by)e(making)h(system)610 1429 y(calls\).)438 1774 y Fd(\017)86 b Fe(When)43 b(the)h(k)n(ernel)g(recognizes)i(that)d (a)g(thread)i(f)n(aces)g(a)e(delay)-11 b(,)44 b(it)f(can)h Fb(bloc)m(k)f Fe(that)610 2018 y(thread.)55 b(This)43 b(means:)679 2312 y Ff(\226)86 b Fe(mark)44 b(the)f(thread)i(as)e (block)n(ed,)i(don')m(t)e(put)g(it)g(on)g(the)h(ready)g(queue)679 2606 y Ff(\226)86 b Fe(choose)44 b(a)g(ready)g(thread)h(to)e(run,)g (and)h(dispatch)g(it)679 2900 y Ff(\226)86 b Fe(when)44 b(the)f(desired)i(e)l(v)m(ent)f(occurs,)g(put)f(the)h(block)n(ed)g (thread)h(back)f(on)f(the)h(ready)851 3144 y(queue)g(so)f(that)h(it)e (will)h(\(e)l(v)m(entually\))j(be)d(chosen)h(to)f(run)6000 3930 y 0 setgray 6000 3930 a 300 4018 5700 9 v 300 4176 a Fg(CS350)2066 b(Operating)29 b(Systems)1791 b(W)-5 b(inter)29 b(2007)p eop end PStoPSsaved restore userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 36.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip gsave clippath 0 setgray 1.000000 setlinewidth stroke grestore PStoPSxform concat TeXDict begin @landscape 28 27 bop 300 -503 a Fg(Processes)29 b(and)h(Threads)4487 b(28)p 300 -453 5700 9 v 2637 -151 a Ff(Thr)m(ead)44 b(States)438 365 y Fd(\017)86 b Fe(a)43 b(v)m(ery)i(simple)e(thread)h(state)g(transition)g(diagram)1145 2321 y @beginspecial 0 @llx 0 @lly 306 @urx 119 @ury 972 @rhi @setspecial %%BeginDocument: figs/states.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: figs/states.fig %%Creator: fig2dev Version 3.2 Patchlevel 5-alpha5 %%CreationDate: Wed Dec 20 10:52:52 2006 %%For: brecht@ubuntu (Tim Brecht,,,) %%BoundingBox: 0 0 306 119 %Magnification: 1.0000 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0....

Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

W. Alabama - CS - 350
%!PS-Adobe-2.0 %Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software %Title: sched.dvi %Pages: 19 %PageOrder: Ascend %Orientation: Landscape %BoundingBox: 0 0 596 842 %DocumentFonts: Times-Roman Times-Bold CMSY10 Times-Italic CMMI10 CMMI7 %+ C
W. Alabama - CS - 350
%!PS-Adobe-2.0 %Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software %Title: sched.dvi %Pages: 10 0 %PageOrder: Ascend %Orientation: Landscape %BoundingBox: 0 0 596 842 %DocumentFonts: Times-Roman Times-Bold CMSY10 Times-Italic CMMI10 CMMI7 %+
W. Alabama - CS - 350
%!PS-Adobe-2.0 %Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software %Title: security.dvi %Pages: 14 %PageOrder: Ascend %Orientation: Landscape %BoundingBox: 0 0 596 842 %DocumentFonts: Times-Roman Times-Bold Times-Italic CMSY10 Courier %+ CMM
W. Alabama - CS - 350
%!PS-Adobe-2.0 %Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software %Title: security.dvi %Pages: 7 0 %PageOrder: Ascend %Orientation: Landscape %BoundingBox: 0 0 596 842 %DocumentFonts: Times-Roman Times-Bold Times-Italic CMSY10 Courier %+ CM
W. Alabama - CS - 350
%!PS-Adobe-2.0 %Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software %Title: synch.dvi %Pages: 31 %PageOrder: Ascend %Orientation: Landscape %BoundingBox: 0 0 596 842 %DocumentFonts: Times-Roman Times-Bold CMSY10 Times-Italic Courier %+ CMMI10
W. Alabama - CS - 350
%!PS-Adobe-2.0 %Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software %Title: synch.dvi %Pages: 16 0 %PageOrder: Ascend %Orientation: Landscape %BoundingBox: 0 0 596 842 %DocumentFonts: Times-Roman Times-Bold CMSY10 Times-Italic Courier %+ CMMI
W. Alabama - CS - 350
%!PS-Adobe-2.0 %Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software %Title: vm.dvi %Pages: 31 %PageOrder: Ascend %Orientation: Landscape %BoundingBox: 0 0 596 842 %DocumentFonts: Times-Roman Times-Bold CMSY10 CMR10 CMR7 Times-Italic %+ CMMI10
W. Alabama - CS - 350
%!PS-Adobe-2.0 %Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software %Title: vm.dvi %Pages: 16 0 %PageOrder: Ascend %Orientation: Landscape %BoundingBox: 0 0 596 842 %DocumentFonts: Times-Roman Times-Bold CMSY10 CMR10 CMR7 Times-Italic %+ CMMI
Uni. Westminster - JHD - 0312
6) Analyze the behavior of the above plots for different temperatures (500, 770 and 1000 K). (Note: you will need to change the scale appropriately for the Qp graph so that it includes the value of KP) Does an increase in temperature favor the fo
Uni. Westminster - JHD - 0312
Jenn Demers PChem Lab #8 Temperature and Pressure Dependence of the Equilibrium Constant The chemical equilibrium state of a system is defined to be the point when there is no net change between the concentrations of the products and reactants. In th
Uni. Westminster - JHD - 0312
Components A B C1-Propanol Hexane H20#2 #3 #4 #51-Propanol (g) 0.57 0.59 0.54 0.4 0.54Heptane (g) 0.34 0.17 0.08 0.02 0.47H20 (g) 0.12 0.23 0.38 0.6 0.161-Propanol (Na) 0.01 0.01 0.01 0.01 0.011 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0
Uni. Westminster - JHD - 0312
Click to edit Master subtitle style6/5/09
Uni. Westminster - JHD - 0312
JennDemers February22,2008 StateFunctionsandtheirconnectiontoHeatCapacity Thermodynamicvariablesleadtousefulvaluesnecessarytocalculatethestateofa system,aswellasdescribinghowthesystemwillchangeinordertotendtowardsequilibrium. Thefirstlawofthermodynam
Uni. Westminster - JHD - 0312
Jenn Demers February 22, 2008 State Functions and their connection to Heat Capacity Thermodynamic variables lead to useful values necessary to calculate the state of a system, as well as describing how the system will change in order to tend towards
Uni. Westminster - JHD - 0312
Jenn Demers February 22, 2008 State Functions and their connection to Heat Capacity Thermodynamic variables lead to useful values necessary to calculate the state of a system, as well as describing how the system will change in order to tend towards
Uni. Westminster - JHD - 0312
Na= 4 EA 10 9 8 7 6 5 4 3 2 1 0 WA 286 220 165 120 84 56 35 20 10 4 1 WB 1 4 10 20 35 56 84 120 165 220 286 SA 5.66 5.39 5.11 4.79 4.43 4.03 3.56 3 2.3 1.39 0 SB 0 1.39 2.3 3 3.56 4.03 4.43 4.79 5.11 5.39 5.66 Stot 5.66 6.78 7.41 7.78 7.99 8.05 7.99
Uni. Westminster - JHD - 0312
Na= 3 EA 10 9 8 7 6 5 4 3 2 1 0 WA 66 55 45 36 28 21 15 10 6 3 1 WB 1 4 10 20 35 56 84 120 165 220 286Nb= 4 SA 4.19 4.01 3.81 3.58 3.33 3.04 2.71 2.3 1.79 1.1 0 SB 0 1.39 2.3 3 3.56 4.03 4.43 4.79 5.11 5.39 5.66 Stot 4.19 5.39 6.11 6.58 6.89 7.07 7
Uni. Westminster - JHD - 0312
Uni. Westminster - JHD - 0312
2. b) For an isothermal expansion, the change in entropy will be greater for a van der Waal's gas than for an ideal gas because the change in entropy is equal to the ideal gas constant divided by the volume left after the molecules volume has been su
Uni. Westminster - JHD - 0312
IV-Pressure vs. Volume605040 Pressure (atm)30Pressure (Ideal)a=0 b=5.11E-2 Pressure (Van der Waal 1)a=4.2 b=0 Pressure (Van der Waal 2)20100 00.511.5 Volume (L)22.533.5Volume 0 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4
Rochester - P - 122
Workshop 10: Solutions to Questions!Questions 2, 3, and 4 from Chapter 29: Q2: Suppose you are holding a circular loop of wore and suddenly thrust a magnet, south pole first, toward the center of the circle. Is a current induced in the wire? Is a cu
Rochester - P - 122
Workshop 10: Solutions to Questions!Questions 2, 3, and 4 from Chapter 29: Q2: Suppose you are holding a circular loop of wore and suddenly thrust a magnet, south pole first, toward the center of the circle. Is a current induced in the wire? Is a cu
Rochester - P - 122
Thursday Workshop AttendenceB&amp;L 108 2:00pm - 4:00pm Last Name Altman Carruthers Cooper Dingman Guarrera Hardy Kao Kenner Kleissas Kocsis Lalime Lau Lent Lust Maher Ochs Oeinck Oliver Roe Rupich Salem Sheehy Singh Soberman First Name Allison Christop
Rochester - P - 122
Thursday Workshop AttendenceHylan 618 4:00pm - 6:00pm Last Name Bailey Begley Chen Ciak Czajkowski Daniels Frommer Goldstein Herman Kochetkov Levin Marceau Rohanna Salem Suvarnasuddhi Vern Vizzoni First Name Sydney Adam Sherry Mike Amber Ben Sam Jus
Rochester - P - 122
Wednesday Workshop AttendenceB&amp;L 208 5:30pm - 7:30pm Last Name Alves Austin Chen Cruz Diner Ellsworth Hekl James Norwood Pisarski Sandhu Sinnett Skrombolas Stoch Suvarnasuddhi Tarpara Wilson First Name Nathan Nate Sherry David Elie Patrick John Nich
University of Illinois, Urbana Champaign - MATH - 403
Drake - ECON - 002
Principles of Microeconomics (Econ 002) Drake University, Summer 2006 William M. BoalSignature: Printed name:FINAL EXAM VERSION AINSTRUCTIONS: This exam is closed-book, closed-notes. Simple calculators are permitted, but graphing calculators or
Drake - ECON - 002
Principles of Microeconomics (Econ 002) Drake University, Summer 2006 William M. BoalSignature: Printed name:FINAL EXAM VERSION BINSTRUCTIONS: This exam is closed-book, closed-notes. Simple calculators are permitted, but graphing calculators or
University of Illinois, Urbana Champaign - MATH - 403
* * - LB E B P F + &lt;E ?,NRSQTESJ ONR 'IG ?L 7A H &lt; AD&lt;LDIF KDF % ? 9DB EA ; 7F @ J; ;H =IB ;CH DC H G G G &gt;? &gt;;H -DA +F ;B J; D8A DC H 879@ D&lt;H G G &gt;; &gt;? &gt;;H 1DI B 7L KDF DIH H 7CG ;F DC G 7H E7E;F @ &gt;; K 9F 9&gt; 8IH 7A 9F 9&gt; E7E;F AG 7H B IG
Drake - ECON - 002
Principles of Microeconomics (Econ 2) Drake University, Summer 2006 William M. BoalSignature: Printed name:QUIZ #4 VERSION B &quot;Applications of Supply and Demand&quot;INSTRUCTIONS: This exam is closed-book, closed-notes. Simple calculators are permitte
Drake - ECON - 002
Principles of Microeconomics (Econ 002) Drake University, Summer 2006 William M. BoalSignature: Printed name:QUIZ #7 VERSION A &quot;Business Decisions and Supply&quot;INSTRUCTIONS: This exam is closed-book, closed-notes. Simple calculators are permitted,
Drake - ECON - 002
Principles of Microeconomics (Econ 002) Drake University, Summer 2006 William M. BoalSignature: Printed name:QUIZ #7 VERSION B &quot;Business Decisions and Supply&quot;INSTRUCTIONS: This exam is closed-book, closed-notes. Simple calculators are permitted,
UCSD - ECON - 161
&amp;,-!&quot; # $ % '( ) *+ %* %+! $ % '+ %* %++ . 1 / ) % 2! .+ % 03+ %3 +* 4 + *+% 5 +( 5 *%+5 + 6+ * 7 ( ( *% !+ 8*( 5!%+ % +% % 5 + +% $ ) + + + * % % % *+* 9 + 5 + * 9 % % 8* % % ( *( % : ) ! 5 + % 5 % $% 5 * ++% 5 +
Georgia Tech - CS - 7260
Evaluation StrategiesNick Feamster CS 7260 February 21, 2007Evaluation Strategies Many ways to evaluate new protocols, systems, implementations Mathematical analysis Simulation (ns, SSFNet, etc.) Emulation (emulab) Trace-driven evaluation Wi
Georgia Tech - CS - 7260
Content OverlaysNick Feamster CS 7260 March 12, 2007Quiz Statistics Statistics (out of 65 possible points) Mean: ~43. Std. dev: ~6 Median: 45 Max: 51 Min: 31 If you are above 40: doing well If you are above 37: doing &quot;well enough&quot;2Cont
Georgia Tech - CS - 7260
Denial-of-Service and Resource ExhaustionNick Feamster CS 7260 April 2, 2007Today's Lecture What is Denial of Service? Attacks and Defenses Packet-flooding attacks Attack: SYN Floods Defenses: Ingress Filtering, SYN Cookies, Client puzzles L
E. Kentucky - COURSETL - 729
GED Options Mr. Wilson Name Allen, Greg Baxter, Julie Brett, George Carrie, Chris Hay, Susan Jones, Alfred Osborne, John Ox, Bull Smart, Sally Thompson, Scott Number 72125 65248 53546 46587 10286 84525 21564 57391 95144 34855 Possible Points Average
E. Kentucky - ST - 729
State Arizona California Idaho Kansas Nebraska WashingtonCapital Phoenix Sacramento Boise Topeka Lincoln OlympiaPopulation 2,963,000 25,174,000 989,000 2,425,000 1,597,000 4,300,000Area 113,909 158,693 83,557 82,264 77,227 68,192Famous People
E. Kentucky - ST - 729
GED Options Mr. Wilson Name Allen, Greg Baxter, Julie Brett, George Carrie, Chris Hay, Susan Jones, Alfred Osborne, John Ox, Bull Smart, Sally Thompson, Scott Number 72125 65248 53546 46587 10286 84525 21564 57391 95144 34855 Possible Points Average
USC - CSCI - 577
Operational Concept Description (OCD)Version 5.1Operational Concept Description (OCD)BTI Appraisal Projects Team 7Team Role Project Manager Developer Developer IIV &amp; VTeam Member Aqeel Al Sadah Sudhir Malhan Divya Marlapalle Phillip GomezA
USC - CSCI - 577
Operational Concept Description (OCD)Version 5.1Operational Concept Description (OCD)BTI Appraisal Projects Team 7Team Role Project Manager Developer Developer IIV &amp; VTeam Member Aqeel Al Sadah Sudhir Malhan Divya Marlapalle Phillip GomezA
USC - CSCI - 577
System and Software Requirements Definition (SSRD)Version 4.1System and Software Requirements Definition (SSRD)BTI Appraisal Projects Team 7Team Role Project Manager Developer Developer IIV &amp; VTeam Member Aqeel Al Sadah Sudhir Malhan Divya M
USC - CSCI - 577
Life Cycle Plan (LCP)BTI Appraisal Projects Team 7Team Role Project Manager Developer Developer IIV&amp;VTeam Member Aqeel Al Sadah Sudhir Malhan Divya Marlapalle Phillip GomezApril 26, 2008LCP_IOC2_S08b_T07_V5.3i Version Date: 4/26/08Life
USC - CSCI - 577
Life Cycle Plan (LCP)BTI Appraisal Projects Team 7Team Role Project Manager Developer Developer IIV&amp;VTeam Member Aqeel Al Sadah Sudhir Malhan Divya Marlapalle Phillip GomezApril 26, 2008LCP_IOC2_S08b_T07_V5.3iVersion Date: 4/26/08Life
USC - CSCI - 577
Feasibility Rationale Description (FRD)BTI Appraisal Projects Team 7Team Role Project Manager Developer Developer IIV &amp; V Team Member Aqeel Al Sadah Sudhir Malhan Divya Marlapalle Phillip GomezApril 26, 2008FRD_IOC2_S08b_T07_V4.1iVersion Da
USC - CSCI - 577
Supporting Information Document (SID)Version 4.1Supporting Information Document (SID)BTI Appraisal Projects Team 7Team Role Project Manager Developer Developer IIV &amp; VTeam Member Aqeel Al Sadah Sudhir Malhan Divya Marlapalle Phillip GomezA
USC - CSCI - 577
Acceptance Test Procedures and Results (TPR)BTI APPRAISALTeam 07Team Role Project Manager Developer Developer IIV &amp; VTeam Member Aqeel Al Sadah Sudhir Malhan Divya Marlapalle Phillip GomezApril 28, 2008TPR_IOC2_S08b_T07_V1.1.docPage i o
USC - CSCI - 577
Iteration Assessment Report (IAR)BTI Appraisal Projects Team 7Team Role Project Manager Developer Developer IIV &amp; VTeam Member Aqeel Al Sadah Sudhir Malhan Divya Marlapalle Phillip GomezApril 28, 2008IAR_IOC2_S08B_T07_V1.1.dociVersion Da
USC - CSCI - 577
Peer Review Plan (PRP)BTI Appraisal Projects Team 7Team Role Project Manager Developer Developer IIV &amp; VTeam Member Aqeel Al Sadah Sudhir Malhan Divya Marlapalle Phillip GomezApril 28, 2008PRP_IOC2_S08b_T07_V2.1Version Date: 04/28/06Peer
USC - CSCI - 577
Test Plan and Cases (TPC)BTI Appraisal Projects Team 7Team Role Project Manager Developer Developer IIV &amp; V Team Member Aqeel Al Sadah Sudhir Malhan Divya Marlapalle Phillip GomezApril 27, 2008TPC_IOC2_S08b_T07_V3.1iVersion Date: 04/27/08
USC - CSCI - 577
Test Plan and Cases (TPC)BTI Appraisal Projects Team 7Team Role Project Manager Developer Developer IIV &amp; V Team Member Aqeel Al Sadah Sudhir Malhan Divya Marlapalle Phillip GomezApril 27, 2008TPC_IOC2_S08b_T07_V3.1iVersion Date: 04/27/08
USC - CSCI - 577
Quality Management Plan (QMP)BTI Appraisal Projects Team 7Team Role Project Manager Developer Developer IIV &amp; VTeam Member Aqeel Al Sadah Sudhir Malhan Divya Marlapalle Phillip GomezApril 27, 20088dc4745b67fe1f76170dc470802fd32ce34f6d6d.doc
USC - CSCI - 577
Quality Management Plan (QMP)BTI Appraisal Projects Team 7Team Role Project Manager Developer Developer IIV &amp; VTeam Member Aqeel Al Sadah Sudhir Malhan Divya Marlapalle Phillip GomezApril 27, 2008QMP_IOC2_S08b_T07_V4.1.doc.docVersion Date:
USC - CSCI - 577
Iteration Plan (IP)BTI Appraisal Projects Team 7Team Role Project Manager Developer Developer IIV &amp; VTeam Member Aqeel Al Sadah Sudhir Malhan Divya Marlapalle Phillip GomezApril 28, 2008IP_IOC2_S08b_T07_V2.0.dociVersion Date: 04/28/08I
USC - CSCI - 577
Release Description (RD)BTI Appraisal Projects Team 7Team Role Project Manager Developer Developer IIV &amp; VTeam Member Aqeel Al Sadah Sudhir Malhan Divya Marlapalle Phillip GomezApril 28, 2008RD_IOC2_S08b_T07_V1.0.dociVersion Date: 04/28/
USC - CSCI - 577
Team Number: Week: Program Size (SLOC) Base Added Deleted Modified Reused # of COTS Total New SLOC Effort (Hours) Project Mgmt. Requirements COTS Assessment Design Life Cycle Planning Configuration Mgmt. Feasibility Analysis Code COTS Tailoring COTS
USC - CSCI - 577
Team Number: Week: Program Size (SLOC) Base Added Deleted Modified Reused # of COTS Total New SLOC Effort (Hours) Project Mgmt. Requirements COTS Assessment Design Life Cycle Planning Configuration Mgmt. Feasibility Analysis Code COTS Tailoring COTS
USC - CSCI - 577
Team Number: Week: Program Size (SLOC) Base Added Deleted Modified Reused # of COTS Total New SLOC Effort (Hours) Project Mgmt. Requirements COTS Assessment Design Life Cycle Planning Configuration Mgmt. Feasibility Analysis Code COTS Tailoring COTS
USC - CSCI - 577
Team Number: Week: Program Size (SLOC) Base Added Deleted Modified Reused # of COTS Total New SLOC Effort (Hours) Project Mgmt. Requirements COTS Assessment Design Life Cycle Planning Configuration Mgmt. Feasibility Analysis Code COTS Tailoring COTS
USC - CSCI - 577
Team Number: Week: Program Size (SLOC) Base Added Deleted Modified Reused # of COTS Total New SLOC Effort (Hours) Project Mgmt. Requirements COTS Assessment Design Life Cycle Planning Configuration Mgmt. Feasibility Analysis Code COTS Tailoring COTS
USC - CSCI - 577
Team Number: Week: Program Size (SLOC) Base Added Deleted Modified Reused # of COTS Total New SLOC Effort (Hours) Project Mgmt. Requirements COTS Assessment Design Life Cycle Planning Configuration Mgmt. Feasibility Analysis Code COTS Tailoring COTS