%!PS-Adobe-2.0 %%Creator: dvips(k) 5.78 Copyright 1998 Radical Eye Software (www.radicaleye.com) %%Title: hw1.dvi %%Pages: 3 %%PageOrder: Ascend %%BoundingBox: 0 0 612 792 %%EndComments %DVIPSCommandLine: dvips hw1 %DVIPSParameters: dpi=600, compressed %DVIPSSource: TeX output 2001.02.02:1308 %%BeginProcSet: texc.pro %! /TeXDict 300 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N}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{dup dup 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 /IE 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 IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /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 dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{ 128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup 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 /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 sub]/id ch-image N /rw ch-width 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 dup 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 dup gp add /gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{ dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1 adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 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}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{] }if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 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 dup 1 get dup mul exch 0 get dup 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 /IE 256 array N 2 string 0 1 255{IE S dup 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 /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V{}B /RV statusdict begin /product where{pop false[ (Display)(NeXT)(LaserWriter 16/600)]{dup length product length le{dup 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 rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail {dup /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: 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 /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 /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 TeXDict begin 40258431 52099146 1000 600 600 (hw1.dvi) @start %DVIPSBitmapFont: Fa cmss10 10.95 5 /Fa 5 79 df65 D68 D<12FFB3B3B3A9083F78BE19>73 D76 D78 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fb cmmi8 8 1 /Fb 1 106 df<1307EB0F80EB1FC0A2EB0F80EB070090C7FCA9EA01E0EA07F8EA0E3CEA 1C3E123812301270EA607EEAE07C12C013FC485A120012015B12035BA21207EBC04014C0 120F13801381381F01801303EB0700EA0F06131EEA07F8EA01F0122E7EAC18>105 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fc cmr8 8 2 /Fc 2 53 df<130C133C137CEA03FC12FFEAFC7C1200B3B113FE387FFFFEA2172C7AAB23 >49 D<140EA2141E143EA2147E14FEA2EB01BE1303143E1306130E130C13181338133013 6013E013C0EA0180120313001206120E120C5A123812305A12E0B612FCA2C7EA3E00A914 7F90381FFFFCA21E2D7EAC23>52 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fd cmmi10 10.95 6 /Fd 6 87 df<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380 120313005A120E5A1218123812300B1C798919>59 D67 D<49B712F018FF19C0D9000190C76C7EF00FF84BEC03FC18010203 82727E5DA214071A805DA2140F4E13005DA2021F5E18034B5D1807023F5E4E5A4B4A5A4E 5A027F4B5A06FEC7FC4BEB03FCEF3FF091B712C005FCC8FC92CBFCA25BA25CA21303A25C A21307A25CA2130FA25CA2131FA25CA2133FA25C497EB612E0A3413E7DBD3A>80 DI83 D86 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fe cmti10 10.95 20 /Fe 20 120 df40 D<14031580A2EC01C0EC00E0A21570A215781538 153CA3151EA4151FA2150FA7151FA9153FA2153EA3157EA2157CA215FCA215F8A21401A2 15F0A2140315E0A2140715C0A2EC0F80A2141F15005C143EA25CA25CA2495A5C1303495A 5C130F49C7FC131E5B137C5B5B485A485A485A48C8FC121E5A12705A5A205A7FC325>I< 1838187CA218F8170118F0EF03E0A2EF07C0A2EF0F80171F1800173EA25FA25F16015F4C 5AA24C5AA24C5A161F94C7FC163EA25EA25E15015E4B5AA24B5AA24B5A151F93C8FC153E A25DA25D14015D4A5AA24A5AA24A5A141F92C9FC143EA25CA25C13015C495AA2495AA249 5A131F91CAFC133EA25BA25B12015B485AA2485AA2485A121F90CBFC123EA25AA25AA25A 5A365B7FC32E>47 D<49B77E18F018FC903B0003FE0003FEEF00FF4BEC7F80F03FC00207 151F19E05DA2020F16F0A25DA2141FF03FE05DA2023F16C0187F4B1580A2027FEDFF0060 4B495A4D5A02FF4A5A4D5A92C7EA3FC04CB4C7FC4990B512FC17E04ACAFCA21303A25CA2 1307A25CA2130FA25CA2131FA25CA2133FA25CA2137FA25C497EB67EA33C3E7BBD3E>80 D86 D<147E49B47E903907C1C38090391F80EFC090383F00FF017E137F4914804848133F485A A248481400120F5B001F5C157E485AA215FE007F5C90C7FCA21401485C5AA21403EDF038 5AA21407EDE078020F1370127C021F13F0007E013F13E0003E137FECF3E1261F01E313C0 3A0F8781E3803A03FF00FF00D800FC133E252977A72E>97 DIIII103 DI<1478EB01FCA21303A314F8EB00E01400AD13 7C48B4FC38038F80EA0707000E13C0121E121CEA3C0F1238A2EA781F00701380A2EAF03F 140012005B137E13FE5BA212015BA212035B1438120713E0000F1378EBC070A214F0EB80 E0A2EB81C01383148038078700EA03FEEA00F8163E79BC1C>I110 DI<903903 E001F890390FF807FE903A1E7C1E0F80903A1C3E3C07C0013C137801389038E003E0EB78 3F017001C013F0ED80019038F07F0001E015F8147E1603000113FEA2C75AA20101140717 F05CA20103140F17E05CA20107EC1FC0A24A1480163F010F15005E167E5E131F4B5A6E48 5A4B5A90393FB80F80DA9C1FC7FCEC0FFCEC03E049C9FCA2137EA213FEA25BA21201A25B A21203A2387FFFE0B5FCA22D3A80A72E>I115 DI<137C48B4141C26038F80137EEA0707000E7F001E15FE121CD83C 0F5C12381501EA781F007001805BA2D8F03F1303140000005D5B017E1307A201FE5C5B15 0F1201495CA2151F0003EDC1C0491481A2153F1683EE0380A2ED7F07000102FF13005C01 F8EBDF0F00009038079F0E90397C0F0F1C90391FFC07F8903907F001F02A2979A731>I< 017C167048B491387001FC3A038F8001F8EA0707000E01C015FE001E1403001CEDF000EA 3C0F0038177C1507D8781F4A133C00701380A2D8F03F130F020049133812005B017E011F 14784C137013FE5B033F14F0000192C712E05BA2170100034A14C049137E17031880A2EF 070015FE170E00010101141E01F86D131C0000D9039F5BD9FC076D5A903A3E0F07C1E090 3A1FFC03FFC0902703F0007FC7FC372979A73C>119 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Ff cmr10 10.95 59 /Ff 59 122 df<4AB4EB0FE0021F9038E03FFC913A7F00F8FC1ED901FC90383FF03FD907 F090397FE07F80494801FF13FF4948485BD93F805C137F0200ED7F00EF003E01FE6D91C7 FC82ADB97EA3C648C76CC8FCB3AE486C4A7E007FD9FC3FEBFF80A339407FBF35>11 D<4AB4FC021F13C091387F01F0903901FC0078D907F0131C4948133E494813FF49485A13 7F1400A213FE6F5A163893C7FCAA167FB8FCA33900FE00018182B3AC486CECFF80007FD9 FC3F13FEA32F407FBF33>I<4AB47E021F13F791387F00FFEB01F8903807F001EB0FE0EB 1FC0EB3F80137F14008101FE80AEB8FCA3C648C77EB3AE486CECFF80007FD9FC3F13FEA3 2F407FBF33>I<1430147014E0EB01C0EB03801307EB0F00131E133E133C5B13F85B1201 5B1203A2485AA2120F5BA2121F90C7FCA25AA3123E127EA6127C12FCB2127C127EA6123E 123FA37EA27F120FA27F1207A26C7EA212017F12007F13787F133E131E7FEB07801303EB 01C0EB00E014701430145A77C323>40 D<12C07E12707E7E121E7E6C7E7F12036C7E7F12 007F1378137CA27FA2133F7FA21480130FA214C0A3130714E0A6130314F0B214E01307A6 14C0130FA31480A2131F1400A25B133EA25BA2137813F85B12015B485A12075B48C7FC12 1E121C5A5A5A5A145A7BC323>I<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413 E013C0A312011380120313005A120E5A1218123812300B1C798919>44 DI<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A798919>II49 DII<15 0E151E153EA2157EA215FE1401A21403EC077E1406140E141CA214381470A214E0EB01C0 A2EB0380EB0700A2130E5BA25B5BA25B5B1201485A90C7FC5A120E120C121C5AA25A5AB8 FCA3C8EAFE00AC4A7E49B6FCA3283E7EBD2D>I<00061403D80780131F01F813FE90B5FC 5D5D5D15C092C7FC14FCEB3FE090C9FCACEB01FE90380FFF8090383E03E090387001F849 6C7E49137E497F90C713800006141FC813C0A216E0150FA316F0A3120C127F7F12FFA416 E090C7121F12FC007015C012780038EC3F80123C6CEC7F00001F14FE6C6C485A6C6C485A 3903F80FE0C6B55A013F90C7FCEB07F8243F7CBC2D>II<1238123C123F90B612FCA316F85A16F016E00078C712010070EC03 C0ED078016005D48141E151C153C5DC8127015F04A5A5D14034A5A92C7FC5C141EA25CA2 147C147814F8A213015C1303A31307A3130F5CA2131FA6133FAA6D5A0107C8FC26407BBD 2D>I57 D63 D<15074B7EA34B7EA34B7EA34B7EA34B7E15E7A2913801C7FC15C3A291380381FEA34AC6 7EA3020E6D7EA34A6D7EA34A6D7EA34A6D7EA34A6D7EA349486D7E91B6FCA24981913880 0001A249C87EA24982010E157FA2011E82011C153FA2013C820138151FA2017882170F13 FC00034C7ED80FFF4B7EB500F0010FB512F8A33D417DC044>65 DII69 D72 DI76 DI79 DI83 D<003FB91280A3903AF0 007FE001018090393FC0003F48C7ED1FC0007E1707127C00781703A300701701A548EF00 E0A5C81600B3B14B7E4B7E0107B612FEA33B3D7DBC42>IIII89 D97 DI<49B4FC010F13E090383F00F8017C13 1E4848131F4848137F0007ECFF80485A5B121FA24848EB7F00151C007F91C7FCA290C9FC 5AAB6C7EA3003FEC01C07F001F140316806C6C13076C6C14000003140E6C6C131E6C6C13 7890383F01F090380FFFC0D901FEC7FC222A7DA828>IIII<167C 903903F801FF903A1FFF078F8090397E0FDE1F9038F803F83803F001A23B07E000FC0600 000F6EC7FC49137E001F147FA8000F147E6D13FE00075C6C6C485AA23901F803E03903FE 0FC026071FFFC8FCEB03F80006CAFC120EA3120FA27F7F6CB512E015FE6C6E7E6C15E06C 810003813A0FC0001FFC48C7EA01FE003E140048157E825A82A46C5D007C153E007E157E 6C5D6C6C495A6C6C495AD803F0EB0FC0D800FE017FC7FC90383FFFFC010313C0293D7EA8 2D>III<1478EB01FEA2EB03FFA4EB01FEA2EB00781400AC147F EB7FFFA313017F147FB3B3A5123E127F38FF807E14FEA214FCEB81F8EA7F01387C03F038 1E07C0380FFF803801FC00185185BD1C>III<2701F801FE14FF00FF902707FFC00313E0913B1E07E00F03F0913B7803 F03C01F80007903BE001F87000FC2603F9C06D487F000101805C01FBD900FF147F91C75B 13FF4992C7FCA2495CB3A6486C496CECFF80B5D8F87FD9FC3F13FEA347287DA74C>I<39 01F801FE00FF903807FFC091381E07E091387803F000079038E001F82603F9C07F000113 8001FB6D7E91C7FC13FF5BA25BB3A6486C497EB5D8F87F13FCA32E287DA733>I<14FF01 0713E090381F81F890387E007E01F8131F4848EB0F804848EB07C04848EB03E0000F15F0 4848EB01F8A2003F15FCA248C812FEA44815FFA96C15FEA36C6CEB01FCA3001F15F86C6C EB03F0A26C6CEB07E06C6CEB0FC06C6CEB1F80D8007EEB7E0090383F81FC90380FFFF001 0090C7FC282A7EA82D>I<3901FC03FC00FF90381FFF8091387C0FE09039FDE003F03A03 FFC001FC6C496C7E91C7127F49EC3F805BEE1FC017E0A2EE0FF0A3EE07F8AAEE0FF0A4EE 1FE0A2EE3FC06D1580EE7F007F6E13FE9138C001F89039FDE007F09039FC780FC0DA3FFF C7FCEC07F891C9FCAD487EB512F8A32D3A7EA733>I<02FF131C0107EBC03C90381F80F0 90397F00387C01FC131CD803F8130E4848EB0FFC150748481303121F485A1501485AA448 C7FCAA6C7EA36C7EA2001F14036C7E15076C6C130F6C7E6C6C133DD8007E137990383F81 F190380FFFC1903801FE0190C7FCAD4B7E92B512F8A32D3A7DA730>I<3901F807E000FF EB1FF8EC787CECE1FE3807F9C100031381EA01FB1401EC00FC01FF1330491300A35BB3A5 487EB512FEA31F287EA724>I<90383FC0603901FFF8E03807C03F381F000F003E130700 3C1303127C0078130112F81400A27E7E7E6D1300EA7FF8EBFFC06C13F86C13FE6C7F6C14 80000114C0D8003F13E0010313F0EB001FEC0FF800E01303A214017E1400A27E15F07E14 016C14E06CEB03C0903880078039F3E01F0038E0FFFC38C01FE01D2A7DA824>I<131CA6 133CA4137CA213FCA2120112031207001FB512C0B6FCA2D801FCC7FCB3A215E0A9120090 38FE01C0A2EB7F03013F138090381F8700EB07FEEB01F81B397EB723>IIIIII E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fg cmbx10 10.95 23 /Fg 23 120 df44 D<161C163E167EA216FE16FC150116F8A2150316F0A2150716E0150F 16C0A2151F1680153F1600A25D157E15FE5DA214015DA214035D14075DA2140F5D141F5D A2143F92C7FC5C147EA214FE5CA213015C13035CA213075C130F5CA2131F5C133F91C8FC A25B137EA213FE5B12015BA212035B12075BA2120F5B121F5BA2123F90C9FCA25A127E12 FE5AA25A1278275B7AC334>47 DI<140F143F5C 495A130F48B5FCB6FCA313F7EAFE071200B3B3A8B712F0A5243C78BB34>I<903803FF80 013F13F890B512FE00036E7E4881260FF80F7F261FC0037F4848C67F486C6D7E6D6D7E48 7E6D6D7EA26F1380A46C5A6C5A6C5A0007C7FCC8FC4B1300A25E153F5E4B5AA24B5A5E4A 5B4A5B4A48C7FC5D4A5AEC1FE04A5A4A5A9139FF000F80EB01FC495A4948EB1F00495AEB 1F8049C7FC017E5C5B48B7FC485D5A5A5A5A5AB7FC5EA4293C7BBB34>I<903801FFE001 0F13FE013F6D7E90B612E04801817F3A03FC007FF8D807F06D7E82D80FFC131F6D80121F 7FA56C5A5E6C48133FD801F05CC8FC4B5A5E4B5A4A5B020F5B902607FFFEC7FC15F815FE EDFFC0D9000113F06E6C7E6F7E6F7E6F7E1780A26F13C0A217E0EA0FC0487E487E487E48 7EA317C0A25D491580127F49491300D83FC0495A6C6C495A3A0FFE01FFF86CB65A6C5DC6 1580013F49C7FC010313E02B3D7CBB34>I<00071538D80FE0EB01F801FE133F90B6FC5E 5E5E5E93C7FC5D15F85D15C04AC8FC0180C9FCA9ECFFC0018713FC019F13FF90B67E0201 13E09039F8007FF0496D7E01C06D7E5B6CC77FC8120F82A31780A21207EA1FC0487E487E 12FF7FA21700A25B4B5A6C5A01805C6CC7123F6D495AD81FE0495A260FFC075B6CB65A6C 92C7FCC614FC013F13F0010790C8FC293D7BBB34>53 DI58 D<922607FFC0130E92B500FC131E020702FF133E023FEDC07E91B7EAE1FE01 039138803FFB499039F80003FF4901C01300013F90C8127F4948151FD9FFF8150F484915 07485B4A1503481701485B18004890CAFC197E5A5B193E127FA349170012FFAC127F7F19 3EA2123FA27F6C187E197C6C7F19FC6C6D16F86C6D150119F06C6D15036C6DED07E0D97F FEED0FC06D6CED3F80010F01C0ECFF006D01F8EB03FE6D9039FF801FFC010091B55A023F 15E002071580020002FCC7FC030713C03F407ABE4C>67 DI72 D78 DII<903807FFC0013F13F848B6FC48812607FE037F260FF8007F6DEB3FF0486C806F7E A36F7EA26C5A6C5AEA01E0C8FC153F91B5FC130F137F3901FFFE0F4813E0000F1380381F FE00485A5B485A12FF5BA4151F7F007F143F6D90387BFF806C6C01FB13FE391FFF07F36C EBFFE100031480C6EC003FD91FF890C7FC2F2B7DA933>97 D101 D<13FFB5FCA512077EB092380FFFFEA5DB01FEC7FC4B5AED07F0ED1FE0 4B5A4B5A4BC8FCEC03FC4A5A4A5A141FEC7FF84A7EA2818102E77F02C37F148102007F82 6F7E6F7E151F6F7E826F7F6F7F816F7FB5D8FC07EBFFC0A5323F7DBE37>107 D<01FFD91FF8ECFFC0B590B5010713F80203DAC01F13FE4A6E487FDA0FE09026F07F077F 91261F003FEBF8010007013EDAF9F0806C0178ECFBC04A6DB4486C7FA24A92C7FC4A5CA3 4A5CB3A4B5D8FE07B5D8F03FEBFF80A551297CA858>109 D111 D<3901FE01FE00FF903807FF804A13E04A13F0EC3F1F9138 7C3FF8000713F8000313F0EBFFE0A29138C01FF0ED0FE091388007C092C7FCA391C8FCB3 A2B6FCA525297DA82B>114 D117 D119 D E %EndDVIPSBitmapFont end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%EndSetup %%Page: 1 1 1 0 bop 589 623 a Fg(COP5615)36 b(Homew)m(ork)e(1,)h(Due:)47 b(2/13/2001,)37 b(Name:)559 948 y Ff(1.)47 b(Most)30 b(of)f(mo)s(dern)f(op)s(erating)g(systems)i(are)f(la)m(y)m (er-structured)g(and)g(are)g(based)676 1061 y(on)h(the)g(clien)m (t/serv)m(er)h(mo)s(del.)714 1249 y(\(a\))47 b(What)22 b(are)g(the)g(three)g(essen)m(tial)f(c)m(haracteristics)h(that)g (constitute)g(a)g(la)m(y)m(er)876 1362 y(in)29 b(the)h(la)m(y)m (er-structured)h(systems?)709 1508 y(\(b\))46 b(What)f(ma)5 b(jor)45 b(adv)-5 b(an)m(tages)47 b(that)f(these)g(c)m(haracteristics,) j(along)c(with)876 1621 y(the)30 b(cien)m(t/serv)m(er)h(concept,)h(can) f(pro)m(vide)e(in)g(helping)f(the)j(design)e(of)h(an)876 1733 y(op)s(erating)f(system?)559 3158 y(2.)85 b(\(a\))47 b(In)29 b(what)i(w)m(a)m(y)g(that)g(TCP/IP)e(is)h(fundamen)m(tally)e (di\013eren)m(t)i(from)g(OSI?)709 3305 y(\(b\))46 b(In)38 b(OSI,)g(the)g(net)m(w)m(ork)i(arc)m(hitecture)f(mo)s(del)f(w)m(as)h (de\014ned)f(b)s(efore)g(the)876 3418 y(proto)s(cols)44 b(w)m(ere)h(dev)m(elop)s(ed,)i(while)c(in)g(TCP/IP)g(the)i(order)f(w)m (as)h(re-)876 3530 y(v)m(ersed.)58 b(Sho)m(w)35 b(an)h(adv)-5 b(an)m(tage)38 b(and)e(a)g(disadv)-5 b(an)m(tage)37 b(in)e(the)h (TCP/IP)876 3643 y(approac)m(h)30 b(in)f(this)h(resp)s(ect.)719 3789 y(\(c\))47 b(What)23 b(is)e(the)i(relationship)c(b)s(et)m(w)m(een) k(a)g(TCP)e(connection)i(and)f(a)g(so)s(c)m(k)m(et?)1920 5162 y(1)p eop %%Page: 2 2 2 1 bop 559 623 a Ff(3.)47 b(The)28 b(follo)m(wing)f(time-space)j (diagram)e(sho)m(ws)h(four)f(ev)m(en)m(ts)j(\(a,)f(b,)f(c,)h(d\))e(and) h(a)676 736 y(message)i(\(m\))g(transfer)f(b)s(et)m(w)m(een)h(t)m(w)m (o)g(pro)s(cesses)g(\(P1)g(and)e(P2\).)714 923 y(\(a\))47 b(Whic)m(h)41 b(of)i(the)f(four)f(ev)m(en)m(ts)j(should)c(ha)m(v)m(e)j (the)g(largest)f(logical)g(clo)s(c)m(k)876 1036 y(\(Lamp)s(ort\)?)709 1182 y(\(b\))k(Whic)m(h)29 b(pair\(s\))h(of)h(ev)m(en)m(ts)g(is)f (causally)f(related?)719 1328 y(\(c\))47 b(Whic)m(h)29 b(pair\(s\))h(of)h(ev)m(en)m(ts)g(is)f(disjoin)m(t)f(\(concurren)m (t\)?)709 1474 y(\(d\))46 b(T)-8 b(o)39 b(observ)m(e)h(the)g(system)g (b)s(eha)m(vior)e(w)m(e)i(can)g(tak)m(e)h(a)e Fe(snapshot)j Ff(of)e(the)876 1587 y(system)33 b(b)m(y)h(sampling)e(an)h(ev)m(en)m(t) i(from)e(eac)m(h)i(pro)s(cess.)50 b(Eac)m(h)35 b(snapshot)876 1700 y(represen)m(ts)c(an)g(appro)m(ximated)g(global)f(state)j(of)e (the)h(system.)43 b(This)30 b(ob-)876 1813 y(serv)-5 b(ation)33 b(of)g(a)h(global)e(state)j(ma)m(y)f(b)s(e)e(inconsisten)m (t)h(\(meaning)g(that)h(it)876 1926 y(could)27 b(b)s(e)g(wrong\).)40 b(Ho)m(w)29 b(man)m(y)f(snapshots)f(that)i(y)m(ou)g(can)f(obtain)g (from)876 2039 y(the)i(four)g(ev)m(en)m(ts?)42 b(Whic)m(h)29 b(one\(s\))j(will)27 b(b)s(e)j(inconsisten)m(t)g(and)f(wh)m(y?)1447 2649 y @beginspecial 0 @llx 0 @lly 163 @urx 74 @ury 540 @rhi @setspecial %%BeginDocument: timespace.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: timespace.eps %%Creator: fig2dev Version 3.2.3 Patchlevel %%CreationDate: Mon Oct 2 16:31:08 2000 %%For: chow@cypress (Randy Y. Chow) %%BoundingBox: 0 0 163 74 %%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 74 moveto 0 0 lineto 163 0 lineto 163 74 lineto closepath clip newpath -54.0 131.0 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 %%Page: 1 1 10 setmiterlimit 0.06000 0.06000 sc % Polyline 7.500 slw gs clippath 3615 1230 m 3615 1170 l 3463 1170 l 3583 1200 l 3463 1230 l cp eoclip n 1200 1200 m 3600 1200 l gs col0 s gr gr % arrowhead n 3463 1230 m 3583 1200 l 3463 1170 l col0 s % Polyline gs clippath 3615 2130 m 3615 2070 l 3463 2070 l 3583 2100 l 3463 2130 l cp eoclip n 1200 2100 m 3600 2100 l gs col0 s gr gr % arrowhead n 3463 2130 m 3583 2100 l 3463 2070 l col0 s % Polyline gs clippath 2683 2129 m 2733 2095 l 2649 1969 l 2691 2086 l 2599 2002 l cp eoclip n 2100 1200 m 2700 2100 l gs col0 s gr gr % arrowhead n 2599 2002 m 2691 2086 l 2649 1969 l col0 s % Polyline n 1500 1125 m 1500 1200 l gs col0 s gr % Polyline n 1800 2025 m 1800 2100 l gs col0 s gr % Polyline n 2700 1200 m 2700 1125 l gs col0 s gr % Polyline n 3150 2100 m 3150 2025 l gs col0 s gr /Times-Roman ff 180.00 scf sf 900 1275 m gs 1 -1 sc (P1) col0 sh gr /Times-Roman ff 180.00 scf sf 900 2175 m gs 1 -1 sc (P2) col0 sh gr /Times-Roman ff 180.00 scf sf 1500 1050 m gs 1 -1 sc (a) dup sw pop 2 div neg 0 rm col0 sh gr /Times-Roman ff 180.00 scf sf 1800 1950 m gs 1 -1 sc (b) dup sw pop 2 div neg 0 rm col0 sh gr /Times-Roman ff 180.00 scf sf 2700 1050 m gs 1 -1 sc (c) dup sw pop 2 div neg 0 rm col0 sh gr /Times-Roman ff 180.00 scf sf 3150 1950 m gs 1 -1 sc (d) dup sw pop 2 div neg 0 rm col0 sh gr /Times-Roman ff 180.00 scf sf 2550 1725 m gs 1 -1 sc (m) col0 sh gr $F2psEnd rs %%EndDocument @endspecial 559 2876 a(4.)47 b(Use)41 b Fe(down/up)j(\(P/V\))d Ff(in)f(addition)f(to)i Fe(c)-5 b(ob)g(e)g(gin/c)g(o)g(end)44 b Ff(to)d(implemen)m(t)f(the)676 2989 y(follo)m(wing)34 b(precedence)i(pro)s(cess)f(graph.)55 b(Y)-8 b(our)36 b(solution)e(should)f(accurately)676 3102 y(re\015ect)g(the)h (precedence)f(relationship)e(and)i(concurrency)f(in)g(the)i(graph.)48 b(Be)676 3215 y(sure)32 b(that)j(y)m(ou)e(indicate)g(the)h(initial)d(v) -5 b(alue)33 b(for)g(ev)m(ery)h(semaphore)g(that)g(y)m(ou)676 3328 y(use)c(in)f(the)h(solution.)1446 4627 y @beginspecial 0 @llx 0 @lly 174 @urx 210 @ury 1440 @rhi @setspecial %%BeginDocument: precedence.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: precedence.eps %%Creator: fig2dev Version 3.2.3 Patchlevel %%CreationDate: Fri Feb 2 13:07:01 2001 %%For: chow@cypress (Randy Y. Chow) %%BoundingBox: 0 0 174 210 %%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 210 moveto 0 0 lineto 174 0 lineto 174 210 lineto closepath clip newpath -129.0 249.0 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 /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc closepath savematrix setmatrix } def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin %%Page: 1 1 10 setmiterlimit 0.06000 0.06000 sc 7.500 slw % Ellipse n 3600 900 237 237 0 360 DrawEllipse gs col0 s gr % Ellipse n 3000 1650 237 237 0 360 DrawEllipse gs col0 s gr % Ellipse n 4200 1650 237 237 0 360 DrawEllipse gs col0 s gr % Ellipse n 3600 2400 237 237 0 360 DrawEllipse gs col0 s gr % Ellipse n 2400 2400 237 237 0 360 DrawEllipse gs col0 s gr % Ellipse n 4800 2400 237 237 0 360 DrawEllipse gs col0 s gr % Ellipse n 4200 3150 237 237 0 360 DrawEllipse gs col0 s gr % Ellipse n 3000 3150 237 237 0 360 DrawEllipse gs col0 s gr % Ellipse n 3600 3900 237 237 0 360 DrawEllipse gs col0 s gr % Polyline gs clippath 3117 1417 m 3164 1455 l 3258 1337 l 3160 1412 l 3211 1299 l cp eoclip n 3450 1050 m 3150 1425 l gs col0 s gr gr % arrowhead n 3211 1299 m 3160 1412 l 3258 1337 l col0 s % Polyline gs clippath 2517 2167 m 2564 2205 l 2658 2087 l 2560 2162 l 2611 2049 l cp eoclip n 2850 1800 m 2550 2175 l gs col0 s gr gr % arrowhead n 2611 2049 m 2560 2162 l 2658 2087 l col0 s % Polyline gs clippath 4035 1455 m 4082 1417 l 3988 1299 l 4040 1412 l 3941 1337 l cp eoclip n 3750 1050 m 4050 1425 l gs col0 s gr gr % arrowhead n 3941 1337 m 4040 1412 l 3988 1299 l col0 s % Polyline gs clippath 4711 2280 m 4757 2242 l 4660 2125 l 4714 2237 l 4614 2164 l cp eoclip n 4350 1800 m 4725 2250 l gs col0 s gr gr % arrowhead n 4614 2164 m 4714 2237 l 4660 2125 l col0 s % Polyline gs clippath 3510 2205 m 3557 2167 l 3463 2049 l 3515 2162 l 3416 2087 l cp eoclip n 3225 1800 m 3525 2175 l gs col0 s gr gr % arrowhead n 3416 2087 m 3515 2162 l 3463 2049 l col0 s % Polyline gs clippath 3643 2164 m 3685 2206 l 3793 2099 l 3687 2163 l 3750 2056 l cp eoclip n 4050 1800 m 3675 2175 l gs col0 s gr gr % arrowhead n 3750 2056 m 3687 2163 l 3793 2099 l col0 s % Polyline gs clippath 2835 3030 m 2882 2992 l 2788 2874 l 2840 2987 l 2741 2912 l cp eoclip n 2550 2625 m 2850 3000 l gs col0 s gr gr % arrowhead n 2741 2912 m 2840 2987 l 2788 2874 l col0 s % Polyline gs clippath 3435 3780 m 3482 3742 l 3388 3624 l 3440 3737 l 3341 3662 l cp eoclip n 3150 3375 m 3450 3750 l gs col0 s gr gr % arrowhead n 3341 3662 m 3440 3737 l 3388 3624 l col0 s % Polyline gs clippath 4318 2989 m 4360 3031 l 4468 2924 l 4362 2988 l 4425 2881 l cp eoclip n 4725 2625 m 4350 3000 l gs col0 s gr gr % arrowhead n 4425 2881 m 4362 2988 l 4468 2924 l col0 s % Polyline gs clippath 3718 3664 m 3760 3706 l 3868 3599 l 3762 3663 l 3825 3556 l cp eoclip n 4050 3375 m 3750 3675 l gs col0 s gr gr % arrowhead n 3825 3556 m 3762 3663 l 3868 3599 l col0 s % Polyline gs clippath 3116 2995 m 3166 3029 l 3250 2902 l 3159 2986 l 3200 2869 l cp eoclip n 3450 2550 m 3150 3000 l gs col0 s gr gr % arrowhead n 3200 2869 m 3159 2986 l 3250 2902 l col0 s % Polyline gs clippath 4035 3030 m 4082 2992 l 3988 2874 l 4040 2987 l 3941 2912 l cp eoclip n 3750 2625 m 4050 3000 l gs col0 s gr gr % arrowhead n 3941 2912 m 4040 2987 l 3988 2874 l col0 s /Times-Roman ff 180.00 scf sf 3600 975 m gs 1 -1 sc (1) dup sw pop 2 div neg 0 rm col0 sh gr /Times-Roman ff 180.00 scf sf 3000 1725 m gs 1 -1 sc (2) dup sw pop 2 div neg 0 rm col0 sh gr /Times-Roman ff 180.00 scf sf 4200 1725 m gs 1 -1 sc (3) dup sw pop 2 div neg 0 rm col0 sh gr /Times-Roman ff 180.00 scf sf 2400 2475 m gs 1 -1 sc (4) dup sw pop 2 div neg 0 rm col0 sh gr /Times-Roman ff 180.00 scf sf 3600 2475 m gs 1 -1 sc (5) dup sw pop 2 div neg 0 rm col0 sh gr /Times-Roman ff 180.00 scf sf 4800 2475 m gs 1 -1 sc (6) dup sw pop 2 div neg 0 rm col0 sh gr /Times-Roman ff 180.00 scf sf 3000 3225 m gs 1 -1 sc (7) dup sw pop 2 div neg 0 rm col0 sh gr /Times-Roman ff 180.00 scf sf 4200 3225 m gs 1 -1 sc (8) dup sw pop 2 div neg 0 rm col0 sh gr /Times-Roman ff 180.00 scf sf 3600 3975 m gs 1 -1 sc (9) dup sw pop 2 div neg 0 rm col0 sh gr $F2psEnd rs %%EndDocument @endspecial 1920 5162 a(2)p eop %%Page: 3 3 3 2 bop 559 623 a Ff(5.)47 b(Use)26 b(the)g(PV/c)m(h)m(unk)g(as)f (de\014ned)g(in)f(Ex.)39 b(3-17)28 b(on)d(page)i(96)f(to)h(implemen)m (t)d(the)676 736 y(follo)m(wing)c(pro)s(cess)h(graph.)38 b(The)21 b(graph)g(consists)h(of)g(four)f(pro)s(cesses)h Fd(Q)3137 750 y Fc(1)3198 736 y Ff(to)h Fd(Q)3373 750 y Fc(4)3412 736 y Ff(.)676 848 y(An)e(edge)i(b)s(et)m(w)m(een)f(t)m(w)m (o)i(pro)s(cesses)e(indicates)e(that)j(the)f(t)m(w)m(o)i(pro)s(cesses)d (require)676 961 y(m)m(utual)42 b(exclusion.)78 b(If)43 b(there)g(is)f(no)h(edge)h(b)s(et)m(w)m(een)g(t)m(w)m(o)h(pro)s (cesses,)h(then)676 1074 y(the)38 b(t)m(w)m(o)h(pro)s(cesses)f(are)g (allo)m(w)m(ed)g(to)g(run)f(concurren)m(tly)-8 b(.)63 b(Eac)m(h)39 b(pro)s(cess)e Fd(Q)3409 1088 y Fb(i)676 1187 y Ff(p)s(erforms)19 b(a)j Fd(P)13 b Ff(\()p Fd(S;)i(C)1380 1201 y Fb(i)1409 1187 y Ff(\))21 b(b)s(efore)g(its)g(execution)g(and)g (a)g Fd(V)g Ff(\()p Fd(S;)15 b(C)2748 1201 y Fb(i)2776 1187 y Ff(\))22 b(after.)38 b(Sho)m(w)21 b(the)676 1300 y(v)-5 b(alue)28 b Fd(C)974 1314 y Fb(i)1032 1300 y Ff(for)g(eac)m(h)j Fd(Q)1445 1314 y Fb(i)1502 1300 y Ff(and)e(the)g(initial)d(v)-5 b(alue)29 b(of)g(the)h(semaphore)f(so)g(that)h(all)676 1413 y(four)c(pro)s(cesses)h(ac)m(hiev)m(e)i(the)e(required)f(m)m (utual)g(exclusion)g(and)h(concurrency)-8 b(.)1643 2130 y @beginspecial 0 @llx 0 @lly 100 @urx 100 @ury 720 @rhi @setspecial %%BeginDocument: pvchunk.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: pvchunk.eps %%Creator: fig2dev Version 3.2.3 Patchlevel %%CreationDate: Mon Oct 2 13:25:55 2000 %%For: chow@cypress (Randy Y. Chow) %%BoundingBox: 0 0 100 100 %%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 100 moveto 0 0 lineto 100 0 lineto 100 100 lineto closepath clip newpath -58.0 158.0 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 /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc closepath savematrix setmatrix } def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin %%Page: 1 1 10 setmiterlimit 0.06000 0.06000 sc 7.500 slw % Ellipse n 1200 1200 212 212 0 360 DrawEllipse gs col0 s gr % Ellipse n 1200 2400 212 212 0 360 DrawEllipse gs col0 s gr % Ellipse n 2400 1200 212 212 0 360 DrawEllipse gs col0 s gr % Ellipse n 2400 2400 212 212 0 360 DrawEllipse gs col0 s gr % Polyline n 1425 1200 m 2175 1200 l gs col0 s gr % Polyline n 1200 1425 m 1200 2175 l gs col0 s gr % Polyline n 2400 1425 m 2400 2175 l gs col0 s gr % Polyline n 1425 2400 m 2175 2400 l gs col0 s gr % Polyline n 1350 1350 m 2250 2250 l gs col0 s gr /Times-Roman ff 180.00 scf sf 1200 1275 m gs 1 -1 sc (Q1) dup sw pop 2 div neg 0 rm col0 sh gr /Times-Roman ff 180.00 scf sf 2400 1275 m gs 1 -1 sc (Q2) dup sw pop 2 div neg 0 rm col0 sh gr /Times-Roman ff 180.00 scf sf 1200 2475 m gs 1 -1 sc (Q3) dup sw pop 2 div neg 0 rm col0 sh gr /Times-Roman ff 180.00 scf sf 2400 2475 m gs 1 -1 sc (Q4) dup sw pop 2 div neg 0 rm col0 sh gr $F2psEnd rs %%EndDocument @endspecial 559 3263 a(6.)47 b(Use)d Fa(LIND)m(A)h Ff(to)g(implemen)m (t)d(the)j(w)m(eak)g(reader)f(preference)g(reader/writer)676 3375 y(problem.)1920 5162 y(3)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF