Aar8}   P 0  @`@HH $ @d HHHH̀̀̀ff@  d Footnote TableFootnote**.\t.\t/ - :;,.!?3cZ  dTOCHeading1Heading2   WEquationVariablesKWBD/DZDDDDBBBB <$lastpagenum><$monthname> <$daynum>, <$year>"<$monthnum>/<$daynum>/<$shortyear>J<$hour>:<$minute00> <$ampm> on <$dayname>, <$monthname> <$daynum>, <$year>"<$monthnum>/<$daynum>/<$shortyear><$monthname> <$daynum>, <$year>"<$monthnum>/<$daynum>/<$shortyear> <$fullfilename> <$filename> <$paratext[Title]> <$paratext[Heading1]> <$curpagenum> <$marker1> <$marker2> (Continued)+ (Sheet <$tblsheetnum> of <$tblsheetcount>)Heading & Page <$paratext> on page<$pagenum>Pagepage<$pagenum>See Heading & Page%See <$paratext> on page<$pagenum>. Table All7Table<$paranumonly>, <$paratext>, on page<$pagenum>Table Number & Page'Table<$paranumonly> on page<$pagenum>Heading <$paratext>HTML Headings++A>>@@335577AHHA BBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCC C CHHCCCCCCCC C"C$H5H7C(C*C,C.C0C2C4C6C8C:C<C>C@CBCDCFCHCJCLCNHyH{CRCTCVCXCZC\C^C`CbCdCfChCjClCnCpCrCtCvCxCzC|C~CCHHCCCCCCCCCCCCCCCIICCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDD D DDDDDDDDDD D"D$D&D(D*D,D.D1D3D5D7D9D;D=D?DADCDEDGDIDKDMDODQDSDUDWDYD\D^D`DbDdDfDhDjDlDnDpDrDtDvDxDzD|D~DDDDDDDDDDDDIIIDDDDDDDDDG(G*G,DDDDDDDD DEEEEEE jEE7DDDDD;#DDD;/;2;5DDDDDDDDDDDDDDBBBF]ESF^E1.F_FE]FFE2.FFFEdFFFEFEFFFFFFFFG.G0G2G4G6G8G:IIIIIIIIIIIIIIJJJJJJ J JJJJJJJJJJ J"J+J-JJJJJJdq5+}? FB? FW2e }?H F?H FW4e... dB>HdBdB8 HmRBHmRHRHRFootnote Hr@B Hr@HzHz Single LineHB Footnote B  HDB HDHH Double LineHB   Double LineB B HB ! Single Lined5p77B dBd<l dBd'%i%`[vCFILORU|yX[^adgjmpsy| %).1OLFC W)@m }d Bd WaHTML Mapping Table }Hd BHd Wa }Hd BHd Wa }Hd BHd Wa }Hd BHd Wa }H&BH&% FrameMaker PE Source Item }H BH We HTML Item }H BH Wa }H&BH& W eInclude Auto# } H&B H& W e Comments }HBH W a }HHB HH W eElement }HB#H %New Web PEPage? }HBH Wa } HB H Wa }H B $H We P:Date Line }HH B#%HH WeP }H B$&H WeN }H B%'H WeN } H B&( H Wa }EH B')EH We P:Reading }HEH B(*HEH WeP }EH B)+EH WeN }EH B*,EH WeN } EH B+- EH Wa }QH B,.QH WeP:Title }HQH B-/HQH WeH* }QH B.0QH WeN }QH B/1QH WeN } QH C02 QH Wa }]H C13]H WeP:Body }H]H C24H]H W eP }]H C35]H W!eN }]H C 46]H W"eN } ]H C 57 ]H W#a }iH(C 68iH( W$e P:Numbered1 }HiH(C79HiH(('eLI %e Parent = OL Q&e Depth = 0 }iH(C8:iH( W(eN }iH(C9;iH( W)eY } iH(C:< iH( W*a }H C;=H  W+e P:Heading1 }HH C<>HH  W,eH* }H C=?H  W-eN }H C>@H  W.eN } H C!?A H  W/a }H(C#@BH(  W0e P:Numbered }HH(C%ACHH(( 3eP 1e Parent = OL Q2e Depth = 0 }H(C)BDH(  W4eN }H(C+CEH(  W5eY } H(C-DF H(  W6a }H C/EGH  W7e P:CellBody }HH C1FHHH  W8eP }H C3GIH  W9eN }H C5HJH  W:eN } H C7IK H  W;a }H C9JLH  W<eP:CellHeading }HH C;KMHH  W=eP }H C=LNH  W>eN }H C?MOH  W?eN } H CANP H  W@a }H CCOQH  WAe P:Footnote }HH CEPRHH  WBeP }H CGQSH  WCeN }H CIRTH  WDeN } H CKSU H  WEa }H(CMTVH( WFe P:Bulleted }HH(COUWHH((IeLI Ge Parent = UL QHe Depth = 0 }H(CSVXH( WJeN }H(CUWYH( WKeN } H(CWXZ H( WLa }H CYY[H WMe P:Heading2 }HH C[Z\HH WNeH* }H C][]H WOeN }H C_\^H WPeN } H Ca]_ H WQa }HCc^`HR% P:HeadingRuPEnIn }HHCe_aHH WSeP }HCg`bH WTeN }HCiacH WUeN } HCkbd H WVa }7H Cmce7H WWe P:Indented }H7H CodfH7H WXeP }7H Cqeg7H WYeN }7H Csfh7H WZeN } 7H Cugi 7H W[a }CHCwhjCH\% P:TableFootPEnote }HCHCyikHCH W]eP }CHC{jlCH W^eN }CHC}kmCH W_eN } CHCln CH W`a }]H(Cmo]H( Wae P:TableTitle }H]H(CnpH]H((deLI be Parent = OL Qce Depth = 0 }]H(Coq]H( WeeN }]H(Cpr]H( WfeN } ]H(Cqs ]H( Wga }H CrtH Whe P:BodySpaced }HH CsuHH WieP }H CtvH WjeN }H CuwH WkeN } H Cvx H Wla }H CwyH WmeP:Date }HH CxzHH WneP }H Cy{H WoeN }H Cz|H WpeN } H C{} H Wqa }H(C|~H(r% P:NumberedPESpaced }HH(C}HH((ueP se Parent = OL Qte Depth = 0 }H(C~H( WveN }H(CH( WweY } H(C H( Wxa }H CH WyeP:DateProject }HH CHH WzeP }H CH W{eN }H CH W|eN } H C H W}a }H CH W~e C:BoldItalic }HH C HH WeSTRONG }H C H WeN }H C H WeN } H C H Wa }HC H% C:EquationPE Variables }HHC HH WeEM }HC H WeN }HCH WeN } HC H Wa }H CH We C:Italic }HH CHH W eEM }H CH W eN }H CH W eN } H C H W a }H CH W eC:Bold }HH CHH WeSTRONG }H CH WeN }H CH WeN } H C H Wa }HCH% X:Heading & PEPage }HHCHH We See Also }HCH WeN }HCH WeN } HC H Wa })H C!)H WeX:Page }H)H C "H)H We See Also })H C!#)H WeN })H C"$)H WeN } )H C#% )H Wa }5HC$&5H% X:See HeadPE ing & Page }H5HC%'H5H We See Also }5HC&(5H WeN }5HC')5H WeN } 5HC(* 5H W a }OH C)+OH W!e X:Table All }HOH C*,HOH W"e See Also }OH D+-OH W#eN }OH D,.OH W$eN } OH D-/ OH W%a }[HD.0[H &% X:Table NumPE ber & Page }H[HD /1H[H  W'e See Also }[HD 02[H  W(eN }[HD 13[H  W)eN } [HD24 [H  W*a }uHD35uH !W+e X:Heading }HuHD46HuH!,% USE XREF PEFMT }uHD57uH !W-eN }uHD68uH !W.eN } uHD79 uH !W/a }HD8:H "W0e P:Header }HHD9;HH"1%THROW PEAWAY }HD:<H "W2eN }HD!;=H "W3eN } HD#<> H "W4a }©H D%=?©H #W5e P:Date HW }H©H D'>@H©H #W6eP }©H D)?A©H #W7eN }©H D+@B©H #W8eN } ©H D-At ©H #W9a }»d D0;ZF»d =$W:aHTML Options Table }D»d D2;D»d =$W;a }D»d D4;D»d =$W<a }D D6;CGD =%W=eControl }DH D8;FHDH =%W>eValue }H D:;GIH =%W?e Comments }D6D<;HJD6 =&W@e Image Format }DH6D>;IKDH66=&A% 0001IMAGGIF p MACP0001GIEF }H6D@;JLH6 =&WBa }D DB;KMD ='WCeBanners }DH DD;LNDH ='WDeN }H DF;MOH ='WEa }DDH;NPD=(F% Banner ReferPE ence Frame }DHDJ;OQDH =(WGe }HDL;PRH =(WHa }D(DN;QSD((=)I$% Copy Files  Imported by PE Rerefernce }DH(DP;RTDH( =)WJe }H(DR;SUH( =)WKa }DD(DT;TVDD((=*L% Copy Files  Imported by PE Reference }DDH(DV;UWDDH( =*WMeN }DH(DX;V|DH( =*WNa }Vd D[;{[Vd =+WOaSystem Macros }?Vd D];?Vd =+WPa }Vd D_;Vd =+WQa }f? Da;X\f? =,WRe Macro Name }?fH Dc;[?fH =,WSe Replace With }fH De;^fH =,WTe Comments }r? Dg;]_r? =-WUe StartOfDoc }?rH Di;^?rH =-WVa }rH Dk;arH =-WWa }~? Dm;`b~? =.WXe EndOfDoc }?~H Do;aR?~H =.WYa }~H Dq;Rd~H =.WZa }?Ds;ce?=/[% StartOfSubPEDoc }?HDu;dS?H =/W\a }HDw;SgH =/W]a }?Dy;fh?=0^% EndOfSubPEDoc }?HD{;gT?H =0W_a }HD};TjH =0W`a }?D;ik?=1a% StartOfFirstPESubDoc }?HD;jU?H =1Wba }HD;UmH =1Wca }?D;ln?=2d% EndOfFirstPESubDoc }?HD;mV?H =2Wea }HD;VpH =2Wfa }?D;oq?=3g% StartOfLastPESubDoc }?HD;pW?H =3Wha }HD;WsH =3Wia } ?D;rt ?=4j% EndOfLastPESubDoc }? HD;sX? H =4Wka } HD;Xy H =4Wla }H I;_wH =5Gme C:Emphasis }H I;vxH =5GneEM }H I;wYH =5GoeN },d D;u|,d =6WpaCross-Reference Macros }?,d D;?,d =6Wqa },d D;,d =6Wra }<? D;y}<? =7Wse Macro Name }?<H D;|~?<H =7Wte Replace With }<H D;}<H =7Wue Comments }H?D;~H? =8Wve See Also }?HHD;?HH=8w% See Also: PE <$paratext> }HHD;HH =8Wxa }Vd G';Vd =+Wye }fH G);\]fH =,WzeHead }rH G+;_`rH =-W{e }hd D; hd =:WaGeneral Macros }?hd D;?hd =:Wa }hd D;hd =:Wa }hd D;hd =:Wa }x? D;"x? =;We Macro Name dD dD d l dD di  WBm }d D d  <W|aHeadings Table }Hd D Hd  <W}a }Hd D Hd  <W~a }HD H  =WeHeading Level }HHD HH =%Paragraph ForPEmat }HD H  =We Comments }HD H >W e2 }HHD HH  >We Heading1 }HD H  >Wa }KH D KH  ?We3 }HKH E HKH  ?We Heading2 }KH E KH  ?Wa }WHE WH  @We1 }HWHE HWH @W  eTitle }WHE  WH  @W a c}H FH FW5e }? FA? GW7e HZB8 TableFootnote}?xH D; #?xH =;We Replace With }xH D;"$xH =;WeHead }xH D;#%xH =;We Comments }? D;$&? =BWa }?H D;%'?H =BWa }H D;&(H =BWa }H D;')H =BWa }d D;(.d =CW aCharacter Macros HHˆ;"HHˆ+Ge HHˆ;$3HHˆ**l}?d D;?d =CW!a }d D;d =CW"a }? D;)/? =DW#e Character }?H D;.0?H =DW$e Replace With }H D;/1H =DW%e Comments }? D;09? =EW&e HUV ;.HUV 3Ge HUV ;05+HUV 22l H$ ;1H$ 5Ge H$ ;33H$ 44l HHˆ;4HHˆy7 ` Laboratory 2 - `)Due Date : Monday, February 21, 2000 /`Points : 100 1` P sThese problems ask you to make small modifications to the MINIX kernel. You will be modifying the kernel's source 0\zcode, recompiling and assembling it, using  make (1) to link the various executable files, and then produce a new @MINIX boot disk. .v sThese programs require only rather minor modifications to MINIX. The key is locating the current code that should @;be modified; surely, there are many acceptable solutions. 3 sTo receive credit for your solutions, show the TAs the modifications you have made to the kernel source code. Also 0odemonstrate your new kernel running programs that show that your new kernel meets the requirements of the prob@Plem. Think carefully to come up with programs that demonstrate your new kernel. : mSubmit a boot disk with your new Minix system to the homework box by the deadline. Put your sources for your 0ªnchanges to the MINIX kernel, and the program(s) you wish to run to demonstrate your new kernel, onto a second @$disk, and submit that disk as well. 0ݪ v( 30 points ) Modify the MINIX kernel to print the word OUCH! on the console whenever the user generates an 0骛pinterrupt by pressing the interrupt key on the keyboard. For example, if you type ^C to terminate your program, lthe kernel should write OUCH! on the screen. After printing the OUCH!, the kernel should proceed to han@$dle the interrupt in the usual way. 6 w( 70 points ) Modify the MINIX process scheduler so that user processes are scheduled by a multilevel feedback 0lqueue with two levels, both scheduled using round robin. The quantum at the first level is the quantum that kMINIX currently uses in its round robin scheduling algorithm for user processes. The quantum at the second @nlevel is twice that. At the first level, each process gets 2 quanta before being moved into the second level. >C vPick a keystroke (like control-T) that when struck will print the total CPU time used and the current level (first or O@*second) of the currently-running process. @^ kYou will be asked to demonstrate that your new MINIX kernel properly schedules processes. To do this, you pjhmight want to have a number of long-running CPU-bound processes around, and then create a few I/O-bound @Hprocesses and demonstrate that these get scheduled as you would expect. HHˆ;6HHˆ66 l EGxRB!EGxREPwEPw TableFootnote}?H D;1:?H =EW'e¢ }H D;9OH =EW(a dD<<dD;d== l dD;d"#`E<#`[vCFILORU|yX[^adgjmpsy| %).1OLFC H$ B@H$ ??l H$ BH$ >W*l8February 8, 2000ECS 150 Winter 2000Page 1 HUV B>HHUV GGl}?H F B?H GW8e- }H FAH GW9e }? F;KD? =HW;e }?H F;CE?H =HW<e-- }H F;DH =HW=e }? F;NJ? =IW?e HUV BHUV @W+lDLast modified at 10:25 pm on Wednesday, February 9, 2000 HHˆB@HHˆII l HHˆBHHˆHW,` }?H F;FK?H =IWAe° }H F;JCH =IWBe }? F;QM? =JWCe }?H F;LN?H =JWDe® }H F;MFH =JWEe }? F;:P? =KWFe }?H F;OQ?H =KWGe© }H F;PLH =KWHe }~H G-;bc~H =.WIe }HG/;efH =/WJe }HG1;hiH =0WKe }HG3;klH =1WLe }HG5;noH =2WMe }HG7;qrH =3WNe } HG9;tu H =4WOe }H I;xZH =5GPeN }H I;YCH =5GQe }HI;d\H=9gR% P:ManHeadinEg2 }HI;[]H =9GSeP }HI;\^H =9GTeN }HI;]_H =9GUeN }HI;^vH =9GVe }HI;aH=LgW% P:ManHeadEing }HI;`bH =LGXeP }HI;acH =LGYeN }HI;bdH =LGZeN }HI;c[H =LG[e }H InfH MG\e P:ManCode }H IegH MG]eP }H IfhH MG^eN }H JgiH MG_eN }H JhH MG`e }H JskH NGae P:ManBody }H JjlH NGbeP }H J kmH NGceN }H J lnH NGdeN }H J meH NGee }H JxpH OGfeP:Line }H JoqH OGgeP }H JprH OGheN }H JqsH OGieN }H JrjH OGje }H(JBuH( PGke P:Lettered }H(JtvH((PleLI pe Parent = OL Aqe Depth = 0 }H(JuwH( PGmeN }H(JvxH( PGneN }H(J!woH( PGoe }DJ;~zD=Qgr% CSS Export E Encoding }HJ;y{H =QGse }HJ;zXH =QGte }DJ;W}D=Rgu% Export EnEcoding }HJ;|~H =RGve }HJ;}yH =RGwe dJ dJd4  dJd< ldLeftdRightd ReferenceddHTMLd;HTMLd HeadingsdHTML%@@ XMapping Table Title. @@ XBody. f@ Y  NumberedSpaced.  f@PYTitleBody. @@ XFooter. f@T X TableTitleT:Table : . f@ Y Body. f@ XBody. @@ YMapping Table Cell.  f@PYTitleBody. f@ X BodySpaced. f@T YHeading1Body. mf@ Xl. DateProject. @@ XHeader Double Line. @@YMapping Table Cell. f@E Y  Numbered1.\tNumbered. @@ XHeader Double Line. f@ X CellFooting. f@ X CellHeading. f@ X CellBody. @@ XMapping Table Cell. f@E Y  Numbered1.\tNumbered. @@1Mapping Table Cell. f@$X.Line Single Line. @@ 1Mapping Table Cell. @@ XMapping Table Cell. f@ XCellBody. f@ Y  Numbered.\t. f@ X CellHeading. f@T XHeading2Body. f@T X HeadingRunInBody. f@ X Indented. f@ X TableFootnote. f@T X TableTitleT:Table : . f@ X Footnote. f@ Y Body. f@ Y  Numbered.\t. f@ Y  NumberedSpaced. f@ Y ...Date. $f@N X$. Lettered N:< >.. f@ X.Date HW Single Line. f@ Y .Reading. f@ Y  Bulleted\t. @@ Y $ H l      D h  ManHeading. @@ Y  $ H l      D h  ManBody. @@ Y ManHeading2. $$@@    $ H l      D h  ManCode.  X X Y X 1 X ڝXYXEmphasisXEquationVariables 1  BoldItalic X ڝXY Y  X1 X XItalic XBold Y  ZZThinMediumDoubleThick@ Very Thin HHHHHFormat A HHHHHFormat BH Mapping TableH Mapping Tableh65HHHHH$QDHH+4?HHH68?HH :B?HHHTCF?HH*0<@HHH@h h h !"h #$%&'Eh ()*+,Qh -./01]h 23456ih( 789:;h  < = > ? @ h( A B C D E h  F G H I J h  K L M N O h  P Q R S T h( UVWXYh Z[\]^h_`abc7h defghChijklm]h(nopqrh stuvwh xyz{|h(}~h h    h  h h h)h  !"#$5h%&'()Oh  *+,-.[h!/ 0 1 2 3 uh "4!5!6!7!8!h!#9":";"<"="©h "P>#?#@#A#B#» %=C$D$E$ $&=F%G%H%6%'=I&J&K& &(=L'M'N'')=O(P(Q(((*=R)S)T)D()R=U*V*W*Vd ,=X+Y++Z+f +-=[,\,,],r ,.=^-_--`-~ -/=a.b.R.c..0=d/e/S/f//1=g0h0T0i002=j1k1U1l113=m2n2V2o224=p3q3W3r3 3=s4t4X4u4h 9=v5w5x5Y5Z5,d 7=y6z6{6< 68=|7}7~7H7=888hL5=[9\9]9^9_9hd ;=::::x :B= ;";#;$; =  <<<<> ====? >>>K >@ ???W? @@@ ;=%B&B'B(Bd D=)C,C-C CE=.D/D0D DK=1E9E:E GFFF HF GAGBG IG=CHDHEH JH=FIJIKI KI=LJMJNJ EJ=OKPKQKhM9=`LaLbLcLdLh NLeMfMgMhMiMh OMjNkNlNmNnNh PNoOpOqOrOsOh(#OtPuPvPwPxPR=yQzQ{Q*Q=|R}R~RCommentBBd BlackT!WhiteddARedddGreendd BluedCyandMagentad YellowHeader/Footer $1Header/Footer $1Header/Footer $2Header/Footer $2IndexIndexCommentCommentSubjectSubjectAuthorAuthorGlossaryGlossaryEquationEquation Hypertext Hypertext  Cross-Ref Cross-Ref Conditional TextConditional TextPositionFMPrivatePositionFMPrivateRangeEndFMPrivateRangeEndFMPrivate HTML Macro HTML Macro M.Times.P Times-Roman FrameRomanM.Times New Roman.PTimesNewRomanPSMT FrameRomanM.Times New Roman.BTimesNewRomanPS-BoldMT FrameRoman M.Times.B Times-Bold FrameRoman M.Helvetica.BHelvetica-Bold FrameRoman M.Courier.PCourier FrameRomanM.Helvetica.BIHelvetica-BoldOblique FrameRoman M.Times.I Times-Italic FrameRomanM.Times New Roman.ITimesNewRomanPS-ItalicMT FrameRomanfCourier0 HelveticaWTimesXTimes New Roman"Regular$Roman MediumBoldRegular ObliqueItalic5԰Ҧ:] G@Fx1:RQW4JnLJ:TnÅ{@\BseB6}1r-߉? "vnflT1(tmͼlundLC~𦢺I\_e#=)^pk:eUl