Aarz  0 0Pp`@ @ p p PpHH $ @d HHHHff@  d Footnote TableFootnote**.\t.\t/ - :;,.!?c;(cZTOCHeading1Heading2Haring LangholtzPrenticeRochkind TanenbaumThuTuThWoodhull eventcountersfromusergshandin homeworkspkgpstousertxtusr   PEquationVariablesJ;`<<=7=P=i=;B;D;F;HD^D`DaDbDjDlGgGhGj ,66040: Title: All About Homework Assignments .57517: Title: All About Laboratory Assignments 7 !,66040: Title: All About Homework Assignments7 !.57517: Title: All About Laboratory Assignments7 !,66040: Title: All About Homework Assignments<$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>EHTML Headings++A33557ZA<<>>@@A?;b;d;f;h;j;l;n;p;r;t;v;x;z;|;~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<< < <<<<<<<<<<< <"<$<&<(<*<,<.<0<2<4<6<8<:<<<>JfJ=Di)==)=1.?+4.A+3.=+2.A+5.==)JgJ==)HE=)H<==)@)A9)=JhJ==;J)H7EHE@4<H<HH8<HHEHI<HECa @5E@6<@VE@W<@[EI9)AAJ)==)=-=-E%=)H<=*B~ECb)AM1.=E=<HEH<Ih=E=<=E=<==EI)CcAP+2.>>E><>E><>>EBECEB<> EHE> >E><>E><>>E><>E><>HE>E><Cd)><>Ce)B<JAT+3.Cg)Ch?Ci)Cj#Ck)ClCC@Co)Cp)Cq-C@Cs-Ct-Cu)C#C)D F DF:)F-C}#>)>>)F->)C~@C#C@AX+4.C)J'G)Gp@D-D-I_DGq@G}J)G)G9D)DD#H<D#D@D#J)F)F)H<G)I&EIEI<IK)IbE G)-JEb)EJEIEJEIEJEIEKEv-EJEKEJEKEJEIEJE!E!E!E!E!E!E!E!E!E!E!EIEJEIEJEJEJEJEJEJEJEJEJEIEJEIEJE E)FJ)Zdq5+d>< d;]d;L HmR;MHmRHRHRFootnote Hr@;NHr@HzHz Single LineH靕;O Footnote ;P  HD;Q HDHH Double LineH;R Double Line;S ;T H֝;U  Single Line;V HZ֝;W  TableFootnoted5p77 EGxR;XEGxREPwEPw TableFootnoted;^dE靕l d;_d1QRUX[^adgjmpsvy| %).1W/$܁܁Bm }蝝d ;a蝝d WaHTML Mapping Table }H蝝d ;cH蝝d Wa }蝝d ;e蝝d Wa }蝝d ;g蝝d Wa } 蝝d ;i 蝝d Wa }H;kH! FrameMaker PA Source Item }H ;mH Wa HTML Item }H ;oH Wa }H;qH W aInclude Auto# } H;s H W a Comments }H;uH W a }HH;w HH W aElement }H;y#H W a New Topic? }H;{H Wa } H;} H Wa }H ; $H Wa P:Date Line }HH ;#%HH WaP }H ;$&H WaN }H ;%'H WaN } H ;&( H Wa }EH ;')EH Wa P:Reading }HEH ;(*HEH WaP }EH ;)+EH WaN }EH ;*,EH WaN } EH ;+- EH Wa }QH ;,.QH WaP:Title }HQH ;-/HQH WaH* }QH ;.0QH WaN }QH ;/1QH WaN } QH ;02 QH Wa }]H ;13]H WaP:Body }H]H ;24H]H W aP }]H ;35]H W!aN }]H ;46]H W"aN } ]H ;57 ]H W#a }iH(;68iH( W$a P:Numbered1 }HiH(;79HiH((%aLI &a Parent = OL Q'a Depth = 0 }iH(;8:iH( W(aN }iH(;9;iH( W)aY } iH(;:< iH( W*a }띝H ;;=띝H  W+a P:Heading1 }H띝H ;<>H띝H  W,aH* }띝H ;=?띝H  W-aN }띝H ;>@띝H  W.aN } 띝H ;?A 띝H  W/a }H(;@BH(  W0a P:Numbered }HH(;ACHH(( 1aP 2a Parent = OL Q3a Depth = 0 }H(;BDH(  W4aN }H(;CEH(  W5aY } H(;DF H(  W6a }H ;EGH  W7a P:CellBody }HH ;FHHH  W8aP }H ;GIH  W9aN }H ;HJH  W:aN } H ;IK H  W;a }H ;JLH  W<aP:CellHeading }HH ;KMHH  W=aP }H ;LNH  W>aN }H ;MOH  W?aN } H ;NP H  W@a }H ;OQH  WAa P:Footnote }HH ;PRHH  WBaP }H ;QSH  WCaN }H ;RTH  WDaN } H ;SU H  WEa }ȝH(;TVȝH( WFa P:Bulleted }HȝH(;UWHȝH((GaLI Ha Parent = UL QIa Depth = 0 }ȝH(;VXȝH( WJaN }ȝH(;WYȝH( WKaN } ȝH(;XZ ȝH( WLa }H ;Y[H WMa P:Heading2 }HH ;Z\HH WNaH* }H ;[]H WOaN }H ;\^H WPaN } H ;]_ H WQa }H;^`HR! P:HeadingRuPAnIn }HH;_aHH WSaP }H<`bH WTaN }H<acH WUaN } H<bd H WVa }7H <ce7H WWa P:Indented }H7H < dfH7H WXaP }7H < eg7H WYaN }7H < fh7H WZaN } 7H <gi 7H W[a }CH<hjCH\! P:TableFootPAnote }HCH<ikHCH W]aP }CH<jlCH W^aN }CH<kmCH W_aN } CH<ln CH W`a }]H(<mo]H( Waa P:TableTitle }H]H(<npH]H((baLI ca Parent = OL Qda Depth = 0 }]H( 蝝H "W4a }H <=?H #W5a }HH <>@HH #W6a }H <?AH #W7a }H <@BH #W8a } H <AC H #W9a }d <BFd $W:aHTML Options Table }Dd <Dd $W;a }d <d $W<a }D <CGD %W=a }DH <FHDH %W>a }H <GIH %W?a }םD <HJםD &W@a Image Format }DםH <IKDםH &WAaIMAGGIF }םH <JLםH &WBa }D <KMD 'WCaBanners }DH <LNDH 'WDaN }H <MOH 'WEa }ԝD<NPԝD(F! Banner ReferPA ence Frame }DԝH<OQDԝH (WGa }ԝH<PԝH (WHa }D(<DSD((F)I! Copy Files  Imported by PA Rerefernce }DH(<DRTDH( F)WJa }H(<DSUH( F)WKa }DD <DTVDD F*WLa }DDH <DUWDDH F*WMa }DH <DVXDH F*WNa }Vd <DW[Vd F+WOaSystem Macros }?Vd <D?Vd F+WPa }Vd <DVd F+WQa }f? <DX\f? F,WRa Macro Name }?fH <D[]?fH F,WSa Replace With }fH <D\^fH F,WTa Comments }r? =D]_r? F-WUa StartOfDoc }?rH =D^`?rH F-WVa }rH =D_arH F-WWa }~? =D`b~? F.WXa EndOfDoc }?~H = Dac?~H F.WYa }~H = Dbd~H F.WZa }?= Dce?F/[! StartOfSubPADoc }?H=Ddf?H F/W\a }H=DegH F/W]a }?=Dfh?F0^! EndOfSubPADoc }?H=Dgi?H F0W_a }H=DhjH F0W`a }?=Dik?F1a! StartOfFirstPASubDoc }?H=Djl?H F1Wba }H=DkmH F1Wca }?=Dln?F2d! EndOfFirstPASubDoc }?H=!Dmo?H F2Wea }H=#DnpH F2Wfa }?=%Doq?F3g! StartOfLastPASubDoc }?H='Dpr?H F3Wha }H=)DqsH F3Wia } ?=+Drt ?F4j! EndOfLastPASubDoc }? H=-Dsu? H F4Wka } H=/Dtv H F4Wla }&? =1Duw&? F5Wma }?&H =3Dvx?&H F5Wna }&H =5Dwy&H F5Woa }8d =8Dx|8d F6WpaCross-Reference Macros }?8d =:D?8d F6Wqa }8d =<D8d F6Wra }H? =>Dy}H? F7Wsa Macro Name }?HH =@D|~?HH F7Wta Replace With }HH =BD}HH F7Wua Comments }T?=DD~T? F8Wva See Also }?TH=FD?THF8w! See Also: PA <$paratext> }TH=HDTH F8Wxa }n? =JDn? F9Wya }?nH =LD?nH F9Wza }nH =NDnH F9W{a }d =QD d F:WaGeneral Macros }?d =SD?d F:Wa }d =UDd F:Wa }d =WDd F:Wa }? =YD"? F;Wa Macro Name d= d= d 靕l d= do  W$܁܁Bm }蝝d = 蝝d  <W|aHeadings Table }H蝝d = H蝝d  <W}a }蝝d = 蝝d  <W~a }H= H =!Paragraph ForPAmat }HH= HH  =WaHeading Level }H= H  =Wa Comments }H= H >W aTitle }HH= HH  >Wa }H= H  >Wa }KH = KH  ?Wa Heading1 }HKH = HKH  ?Wa }KH = KH  ?Wa }WH = WH  @Wa Heading2 }HWH = HWH  @W a }WH = WH  @W a }cH = cH  AW a }HcH = HcH  AW a }cH = cH  AW a HH>=HH},, C$܁܁{about assignments, and other important messages will be posted to the  ucd.class.ecs150  newsgroup. Read this news0큩ugroup daily, especially near the time assignments are due. You are responsible for everything posted. This newsgroup @nis not for discussion about the class, for but information from the instructor or teaching assistants to you. E ~If you want to post things about the class, please use the discussion newsgroup  ucd.class.ecs150.d.  Discussing some@'thing in this group is perfectly fair! G#Q`Homework Assignments H$܁c nThere will be several homework assignments. The due date will be on each assignment. Because we must cover so o@smuch material, it is imperative you keep up with the class and labs.  We will not accept any late assignments. I}({The handout  All About Homework Assignments   has more information on how to turn in homework and what we 0⁢pexpect. Please submit your homework electronically as described in that handout; we will not accept handwritten sassignments. Also, please think your answers through before writing them down in final form; a request for a proof wrequires a proof, not a statement that its probably right, and here are 15,000 examples to show it; a request for a udiscussion should be treated as an essay question, with a main theme and arguments for and against the answer. It is xfair to present the factors that affect your answer; it is not acceptable to begin by giving one answer in the introducttion and a different answer in the conclusion! (Yes, youll lose points.) And, always show your work; if you simply @bwrite down a correct answer and do not show how you got that answer, you will not get any credit. K#͝`Laboratory Assignments 6$܁(There will be several laboratory assignments. The handout  All About Laboratory Assignments  has information on @Yhow to turn in the lab assignments, how to get them graded, and what we expect from you. M#!`Grading N$܁3`-30%Homework30%Labs15%Midterm25%Final 9A`BAll exams are open book, open notes, open mind, and closed mouth. #Z` Extra Credit E$܁l vSome of the assignments may include suggestions for extra credit. Extra credit scores are kept separate from regular 0xtscores. If you end up on a borderline between two grades at the end of the course, extra credit will count in your xfavor. However, failure to do extra credit will never count against you, since grades are assigned on the basis of regzular scores. You should do extra credit if you find it interesting and think it might teach you something. But it never @Epays to skimp on the regular assignment in order to do extra credit. b#`Academic Integrity c$܁`xPlease see the Spring 1999  Class Schedule and Room Directory  for a general discussion of this. In particular: d gAll work submitted for credit must be your own. You may discuss your assignments with classmates, with 0uinstructors, or with readers in the course to get ideas or a critique of your ideas, but the ideas and words you subqmit must be your own. Unless explicitly stated otherwise in the assignment, collaboration is considered cheating @$and will be dealt with accordingly. e `iYou must write up your own homework solutions and may neither read nor copy another students solutions. A mYou and your lab partners (if any) must create and type in your own code for laboratory assignments and docu0$xment it yourself. You are free to seek help while debugging code once it is written.  However , the graders are nencouraged to ask technical questions of any member of the team. Passing grades for each assignment are based @nin part on each partner giving answers that demonstrate an understanding of the code and principles involved. gJ qA good analogy between appropriate discussion and inappropriate collaboration is the following: you and a fellow pVsstudent work for competing software companies developing different products to meet a given specification. You and qyour competitor might choose to discuss product specifications and general techniques employed in your products, tbut you certainly would not discuss or exchange proprietary information revealing details of your products. Ask the @Tinstructor for clarification  beforehand  if the above rules are not clear. HH>?HH79 靕ld>C99 }?H =[D #?H F;Wa Replace With }H =]D"$H F;W aHead }H =_D#%H F;W!a Comments }? =aD$&? FCW"a }?H =cD%'?H FCW#a }H =eD&(H FCW$a }H =gD')H FCW%a }d =jD(.d FDW&aCharacter Macros HH;"HH❝+W$܁܁e HH;$3HH**靕l}?d =lD?d FDW'a }d =nDd FDW(a }? =pD)/? FEW)a Macro Name }?H =rD.0?H FEW*a Replace With }H =tD/1H FEW+a Comments }? =vD0B? FFW,a HUV ;.HUV ❝3W܁܁e HUV ;05+HUV 22靕l H$ ;1H$ 5W܁܁e H$ ;33H$ 44靕l HH;4HH֝((7 `General Information #,` Instructor $܁ Matt Bishop 2%I>Office hours : TuTh 12:15 PM 1:15 PM, or by appointment MOffice : 3059 Engineering Unit II Email : bishop@cs.ucdavis.edu @OPhone : (530) 752-8060 WWW : http://seclab.cs.ucdavis.edu/~bishop 2&o`jNote : Please put  ECS 150 URGENT  in the subject of all email to help me see it quickly! 3#` Lectures 3$܁ ;Section 1: TuTh 1:40PM3:00PM in Room 176, Chemistry Hall @
apply these concepts to a small operating system (MINIX 2.0); :`:understand what system calls are and how to use them; and =`(gain experience in systems programming. `#`Course Prerequisites a$܁`ZWe expect you to be comfortable with the following concepts and able to do the following: l`5Assembly language programming, as covered in ECS 50; !z jBasics of computer architecture, especially interrupts, process management, and memory management, as cov@ered in ECS 154A; `KData structures, such as queues, stacks, lists, as covered in ECS 110; and ;`HThe C programming language (you will need to use C,  not  C++). >#`Text ?$܁1 tAndrew S. Tanenbaum and Albert S. Woodhull,  Operating Systems: Design and Implementation , Second Edition, =@:Prentice-Hall, Inc., Upper Saddle River, NJ 07458 (1997). J%K`lAdvanced UNIX Programming , Marc J. Rochkind, Prentice-Hall, Inc., Upper Saddle River, NJ 07458 (1985). B#d`)Course Web Page, Handouts, and Newsgroup C$܁v }The web page  http://wwwcsif.cs.ucdavis.edu/~cs150  contains links to course handouts. Information about this class, Pǁmhomework assignments, office hours, and so forth, will be posted to the web page. Announcements, information HH;6HH 66 靕l HH>D!HHo **9- ` Syllabus i܁`6# DateTopic, Readings, and Other Information m$F`Q1.Tuesday, April 6Introduction, history and organization of operating systems n R`0Reading : Tanenbaum  1.11.3, 1.5 D$b`=*Wednesday, April 7System calls for files and directories F n`!Reading : Rochkind 14 Q$~`\2. Thursday, April 8More organization of operating systems; the kernel; virtual machines S 䁄`"Reading : Tanenbaum 1.4 T` r$܁`_3.Tuesday, April 13Processes, concurrency; the critical section problem; software solutions s `/Reading : Tanenbaum 2.2.12.2.4; 2.3 P$`A*Wednesday, April 14System calls for protection and processes U `Reading : Rochkind 5 t$`b4.Thursday, April 15Hardware solutions; higher-level constructs (semaphores, critical regions) u%ρ`$Reading : Tanenbaum 2.2.5 v` w$܁ `\5.Tuesday, April 20More higher-level constructs (monitors, eventcounters and sequencers) R `+Reading :Tanenbaum 2.2.6 , 2.2.9 V$&`V*Wednesday, April 14System calls for interprocess communication, including signals W 2`"Reading : Rochkind 6, 8 Z$B`&6.Thursday, April 22IPC constructs [%N`Reading :Tanenbaum 2.2.7 {V` |$܁l`)7.Tuesday, April 27Process scheduling }%x`Reading :Tanenbaum 2.4 X$`/*Wednesday, April 28MINIX process structure h `&Reading : Tanenbaum 2.52.6 ~$`"8.Thursday, April 29Semaphores %`#Reading :Tanenbaum 2.2.5, 2.3 ` $܁`.9.Tuesday, May 4Basics of I/O; I/O devices %`=Reading :Tanenbaum 3.13.2, 3.6.1, 3.7.1, 3.8.1, 3.9.1 o$́`*Wednesday, May 5MINIX I/O p `NReading : Tanenbaum 3.4, 3.5, 3.7.33.7.5, 3.8.33.8.4, 3.9.33.9.6 j$`G10.Thursday, May 6More on I/O devices; processes and I/O scheduling %`-Reading :Tanenbaum 3.7.2, 3.8.2, 3.9.2 q` $܁0`W11.Tuesday, May 11Memory management: basis and simple methods; paging, segmentation Q%<`&Reading :Tanenbaum 4.14.3, 4.6 c$L`'*Wednesday, May 5Review for midterm `#12.Thursday, May 13 Midterm Wd` HH>F!HH H88 靕ld>JHH d;;<@H$ ;<;>H$ == 靕l H$ ;=;H$ <W܁܁l5April 6, 1999ECS 150 Spring 1999Page 1  HUV ;>;<@HUV ?? 靕l HUV ;?;HUV ❝>W܁܁l@Last modified at  2:16 pm on Wednesday, April 7, 1999  HH;@;>HHAA 靕l HH;A;HH❝@W$܁܁d }?H =xD1C?H FFW-a }H =zDBH FFW.a d=~EEd=DdFF 靕l d=DdRCERUX[^adgjmpsvy| %).1 HH>K:HHY))HB܁܁`6# DateTopic, Readings, and Other Information $`c13.Tuesday, May 18Mixing paging and segmentation, paging and replacement policies, working sets  %Ɓ`"Reading :Tanenbaum 4.4, 4.5 $恏`-*Wednesday, May 19MINIX memory management \ J`'Reading : Tanenbaum 4.7, 4.8  $Z`/14.Thursday, May 20File system organization  %f`!Reading :Tanenbaum 5.15.2  n`  $܁с`715.Tuesday, May 25File system implementation issues %ꁏ`Reading :Tanenbaum 5.3 $݁`.*Wednesday, May 26Review midterm solutions `316.Thursday, May 27Deadlock: principles, models %`%Reading :Tanenbaum 3.3.13.3.2 ` $܁`(17.Tuesday, June 1Deadlock: practise %ʁ`&Reading :Tanenbaum, 3.3.33.3.6 _$`'*Wednesday, May 26MINIX file system ` `'Reading : Tanenbaum 5.6, 5.7 $`)18.Thursday, June 3Basics of security %`Reading :Tanenbaum 5.4 &` \$܁<`819.Tuesday, June 8Security and protection mechanisms ]%H`Reading :Tanenbaum 5.5 ^$X`$*Wednesday, May 26General review ^`+20.Thursday, June 10Catch up and review #` Lectures a$܁쁾 uBecause I teach to the students, and not to the syllabus, these dates and topics are tentative and subject to change 0{without warning. In particular, if I dont discuss something youre interested in, ask about it! I may very well add it or @(modify what Im covering to include it. 0#`Discussion Sections 1$܁ pWe expect the discussion sections to amplify the material covered in class by relating it to MINIX and the UNIX 0voperating systems. In the lectures, I will discuss both MINIX and UNIX (as well as other systems), but Ill cover the tapplication of the principles to those systems. The teaching assistants will go into much more depth about MINIX in @the discussion sections. _' {However , the above discussion section topics are tentative and subject to change as we see fit. Regardless of what is $@9listed, all discussion sections have a few ground rules: @# pIf you dont understand something in lecture, or are having problems with the assignments, please ask the teach0/qing assistant. The primary goal of a discussion section is to discuss points that are confusing you, and the TAs @[have standing instructions to clear up any confusion even if some material is not covered. AJ nYou are responsible for material covered in discussion section. That material may be on homework assignments, PV@lab assignments, and exams. HH>M:HH9KGG 靕ld>QKK HH>RIHHu,,KY h$ All About Homework Assignments k$܁ qThis handout describes some general thoughts and techniques for doing homework, as well as what is required, how @Pto submit it, how late homeworks are handled, and other administrative matters. y#O`Turning In Homework $܁a qAll homework is due at 11:59PM on the due date, unless noted otherwise on the assignment. (This way, you have no 0mtincentive to skip the class while finishing your homework at the last minute!) These will be graded and returned to @Wyou as quickly as possible; well try for three class periods, but cant guarantee it. ၀ uYou must turn in either an ASCII or a PostScript version of your answers (you can use any text processor you like to 0쁧generate these). If you submit PostScript, please be sure the file will print on our department printers (use  ghostscript  or  gs  to check this; if they display it properly, it should be okay). If your file is a postscript file, choose a name that @Rends in .ps; if it is an ASCII file, please choose a name that ends in .txt.  |Turn in your written exercises electronically. Suppose your program for homework 3 is in the files  answers.ps  and %@*README.txt . Then, to turn it in, say `-handin  cs150r hw3 answers.ps README.txt $`{This program will submit your files to the ECS 150 graders. (A manual page for the  handin  program is attached.) #`Doing Written Exercises  $܁ {When you are asked to analyze something, or explain something, please be complete, and  show your work  (including 0pany commands you give, and their output, to show how you did the problem); otherwise, even if you get the right answer, you will get  ZERO  points. Think your answer through and do a rough draft. Write clearly and cogently. If the vquestion asks for an opinion, state your opinion clearly, justify it, and dont ramble. Answers which start, My opintion is yes and conclude with on the other hand it could equally well be no wont get much credit. Similarly, tif you are asked to prove something, you must give a mathematical proof (formal or informal). Proof by similarity y(it works in this case, and in another case, so it must be true for all cases!), proof by assertion (it sounds right, @xtherefore it is right!), or proof by citation (our professor said it in class, so its right!) are all unacceptable. !#y`Asking For Help $$܁ rWe do not mind being asked for help; indeed, we welcome it because it helps us know what the students are finding 0tdifficult or confusing, and sometimes a few words about the problem in class will clarify the assignment immensely. uYour questions may also point out ambiguities that we didnt think of, so the more questions you ask, the better for @ everyone! < }We  do  mind being asked for help before you have tried to think the problem through; the classic objectionable ques0otion (this really happened) occurred on a programming assignment in which the class was given a buggy program. oThe assignment said the program did not work, and the homework was to debug it and make it work. Within 10 minwutes of the end of the class during which the assignment was given out, the instructor got this request for help: The @)program doesnt run. What do I do now? %`sSo, before asking for help (except for questions about what the problem is asking), please be sure that you have: & `Lspent a significant amount of time thinking about how to solve the problem; ( oread all relevant handouts, sections of the textbook, and news articles (because your question may be answered %@ there); and )4`:tried everything you could think of to solve the problem. *B rWhen you come to us, or send us a note, asking for help, please describe whatever you have done to solve the probpNwlem, because the first question we will ask you is What have you tried to solve the problem? This isnt because we vthink youre wasting our time; its because understanding how you have tried to solve the problem will help us figure tout exactly what your difficulty is and what we can do to help you. Remember, we will do everything we can to avoid @rsolving the problem for you; when we give you help, our goal is to help  you  solve the problem yourself. HH>TIHHHNJJ 靕ld>XNN HH>YLHH6N"#` Dont Delay! '$܁ sWe must emphasize the importance of taking time to think through, outline, and draft your answer, thoroughly. More 0wpoints are lost through unclear organization, or superficial answers, than anything else. So do think both your answer yand your  expression  of the answer through, and as always try to find the simplest way to solve the problem @8(within the limits given in the assignment, of course)! #L wDo not leave assignments for the last minute. The assignments are non-trivial and will require significant time before 0Xmyou write your answers for submission. When we decide on the due dates, we assume you will spend significant wamounts of time solving (at least some) of the problems. If you choose not to do this, you will have difficulty finish@ing the assignments on time. 2#ᝯ`Grades ,$܁ lYour grades will be mailed to your CSIF account when the homework assignment is graded. Please be sure that 0account will forward mail to wherever you want to see the grade. If the letter bounces, we will  not  try to figure out @mwhy. (With 150 people at least! in this class, its simply not practical; the graders will be too busy.) +#`Late Homework 8$܁ qUnless the assignment says otherwise, we wont accept them. The submission directory will be disabled at the due 0ʁttime, so you wont even be able to submit late homeworks. Requests for exceptions will be handled on a case-by-case @basis (in other words, ask). 9# `Grade Appeals :$܁ vIf you feel that there is an error in grading, please come see me or the TA and well look over it (and possibly talk p'pwith you about it). However, dont dally; any such request must be made within one week of when the grades were @8made available. After that, we won't change your grade. HH>[LHHKQMM 靕ld>_QQ HH>`OHH}66Qf)`NAME :*܁쁁`!handin file submission program ;)` SYNOPSIS <*܁Ɓ`X/usr/pkg/bin/handin  touser  [  subdirectory  [  files  ... ] ] =)` DESCRIPTION >*܁I phandin provides a secure means of submitting files to another user, recounting what has already been submitted, T@Band listing what subdirectories exist for containing submissions. ?)c`USAGE @,܁o`Submitting files B*{ ,With  touser ,  subdirectory  and  files  all specified, each file is copied to ~ touser /handin/ subdirectory / fromuser , 0܁ named with the original files  basename (1), and made owned by  touser . The directory  fromuser  is made if it {doesnt already exist and is named after the invoking user. Each file specified should have a  basename (1) unique @iamong any files already submitted by that user to  subdirectory , unless overwriting is desired. C,`Recounting submissions D*`Without  files  specified, information on previous submissions by the user to the specified  subdirectory  is shown. E,`%Listing existing  subdirectories F*`Run with only  touser  specified,  handin  just lists the existing subdirectories (regardless of accessibility). G)` EXAMPLES H*܁ oThe following examples illustrate the use as a homework submission facility to the pseudo-user cs101 created @for this purpose: I`example1%  handin cs101 J`3Existing subdirectories (comments in parentheses): K`Asn1 (Due Mar 18) L`Asn2 (Due Mar 25) M`-example2%  handin cs101 Asn1 part1 part2 N`Submitting part1... ok O`Submitting part2... ok P`!example3%  handin cs101 Asn1 Q`.The following input files have been received: R`6Thu Mar 17 14:50:49 1994 1599 bytes part1 S`6Thu Mar 17 14:50:49 1994 3412 bytes part2 T)x` SEE ALSO U+܁с`rcvhandin (8) V)` DIAGNOSTICS W,܁ yhandin  itself provides only a little of the diagnostic information thats given and returns the number of errors en*@Wcountered as its exit status. Any other information comes from  rcvhandin (8). X`8Skipping  file : file non-existent or irregular !Y tThe named file didnt exist or was probably a directory. The user should check to make sure that the file they spec@3ified was indeed the file they intended to submit. Z`+Skipping  file : file not readable [`-The named file was not readable by the user. \`:Submitting  file ... failed [:  reason  ] ]`rThe named file was not successfully submitted. If at all possible a reason is provided by  rcvhandin (8). ^` Submitting  file ... ok _`+The named file was successfully submitted. `)`NOTES a,܁( handin  is really just a front-end to the  rcvhandin (8) program. The primary function of  handin  is to open the 2*3named  files  with the effective user ID of the invoking user and pass on their contents to the  rcvhandin (8) program {having the effective user ID of  touser . This design provides a simple and portable means for implementing a file @Psubmission facility in even a non-homogeneous, network-file-system environment. b)X`AUTHOR c*܁d`HLou Langholtz, Department of Computer Science, University of Utah, 1994 4o` AA` HH>bOHHNTPP 靕ldDOTT HHDPRHH❝TWL*܁܁` HHDRRHHQWSS 靕ldDWW HHDUHH|--W d h&All About Laboratory Assignments e$܁ uThere will be four laboratory assignments. The first will involve the use of the system calls of MINIX to write some 0simple C programs that could be part of a  shell . For this class the shell is not considered part of the operating system. pThe remaining assignments require minor modifications to MINIX to improve its performance and functionality, or wjust to play with its code. This handout describes some general thoughts and techniques for doing the labs, as well as @awhat is required, how to submit it, how late labs are handled, and other administrative matters. Oh tThe ECS 150 Pentium Laboratory is located in 083 Engineering Unit II (in the basement). Its hours have not yet been t@Cset, but it generally will be open for the same hours as the CSIF. .#睘` Lab Partners Z$܁ rYou may do these assignments individually, but we prefer you to work in teams of two to three. You will find this 0uhelpful, too.If you work in a group, then you should expect to stay with that group for the duration of the quarter, @Cunless the other member or members drop the class or go on strike. /#`"Turning In Laboratory Assignments Y$܁ nLab assignments will be due by 5 PM on the due date, unless noted otherwise on the assignment. You must demonӁ@Pstrate the solution to the grader (who will be one of the teachings assistant). 0 vTurn in lab assignments by copying all new and changed source code files for the assignment to a floppy diskette. The @ diskette is to be labeled with: 1 rThe name(s) of the person(s) turning in the assignment (if done by two or more people, then the names of  all #@#partners must be on the diskette). 62 The names of all files copied to the diskette for each problem ( e . g .,  #1:myprog1.c, myprog2.c ; 0>o #2:myprog2.c, myprog3.c ). It is perfectly fair for you to use some programs for more than one prob@lem in an assignment. n!X vIf you turn in a diskette that is missing files or has the wrong files for the assignment, you can substitute the cordrect ones with a 30% penalty.  I  really  hate doing this, but when it was not done, individuals abused substitution poli$@cies that were more lenient. i~ yYou also must sign up for a time slot to demonstrate your solution(s) to the graders. Sign-up sheets for time slots will 0qbe posted 2-3 days before each assignment is due. We encourage you to finish your assignments early. The TA will have significant office hours in the lab, and if you demonstrate your solutions before the due date ( all  problems must @vbe complete to demonstrate early), then you will have the opportunity to fix any bugs found during the demonstration. ] sIf you did the assignment as a group, then all members of the group must be present for the demonstration. Be sure 0tthat all members of the group are familiar with all code written and changed, because the grade for each assignment |depends in part on the answers given to questions the grader asks about the code and the reasons for your approach.  It %@is probable that you will fail a lab if you dont understand the solution ,  even though other members of that group pass V! |Important : Please remember that a TA cannot be present in the laboratory for all hours in which the lab is open (these 2$Ӂqhours are usually 10:00 AM to midnight, Monday through Friday. As the due date for a lab approaches, the TAs are slikely to be very busy; you will find them much more sympathetic if you approach them with questions well before a @ lab is due. =#`!Doing the Laboratory Assignments F$܁1 lYou may do the assignments on the Pentium computers in the lab or on your own PC. The books come with MINIX p=son a CD. If you do the assignments on a PC, then you may bring your PC to the lab to demonstrate your solutions or pyou may demonstrate them on a PC we will have in the lab for that purpose. However, if you decide to do the lab sassignments on a PC then you are responsible for ensuring that your solution works on the machine used for the demqonstration! There are many different PC configurations and corresponding versions of MINIX. Therefore if you are xplanning to use the grading PC for your demonstration, test your solutions on it to ensure that there are no compatibil@%ity problems before turning them in. HHDUHHTZVV 靕ldDZZ HHDXHHw  jjZ D#`Asking For Help L$܁(Everything in  All About Homework Assignments  applies here. Please try to debug problems yourself  before  seeking @$help; you will learn more that way. M#杜` Dont Delay! ?$܁P pWe must emphasize the importance of taking time to design your program, or understand the code and the modifica0\ntions you must make, thoroughly. More programming problems arise from improper design than anything else, and othe few hours you spend on design will be amply repaid by shorter coding and debugging phases. So do think the vdesign and interfaces through, and as always try to find the simplest way to do the assignment (within the limits @%given in the assignment, of course)! C聣 wDo not leave assignments for the last minute. The assignments are non-trivial and will require significant design time 0nbefore you start programming and debugging. When we decide on the due dates, we assume you will spend signifiwcant amounts of time on design as well as coding and debugging. If you choose not to do this, you will have difficulty @#finishing the assignments on time. P#` Some Notes >$ULUUUA(zPlease dont skip laboratory assignments. This will certainly bias the professor (me) against you. It also will hurt 4܁U@yyour grade substantially (check the weightings of the grades above to verify this). It will also hurt your understanding uof how real operating systems work. You have the opportunity to work with a little, but fully functioning, operating psystem. Many computer scientists learned operating systems by reading the code to UNIX Version 6, which was subtstantially smaller than current versions of UNIX. MINIX gives you essentially the same opportunity. This experience twill be invaluable to you. It will also impress interviewers when you go for interviews, and will help you immeasur@Iably if you ever have to work on a larger operating system (like Linux!) x5U: vIll let you in on a secret that faculty members who taught this class before told me. Except for the pain in dealing 0AU9twith the MINIX development environment (which is impoverished at best), the labs are really easy. Most students get @-perfect grades. But dont tell anyone else R#d` Late Labs S$܁vU7 wWe will accept late lab assignments up to one day after the due date and time, and will deduct 20% of the value of the 0U6zassignment (so if the lab assignment is worth 100 points, you lose 20 points regardless of your score; if it is worth 200 @tpoints, you lose 40 points). Requests for exceptions will be handled on a case-by-case basis (in other words, ask). T#`Grade Appeals $܁U4 vIf you feel that there is an error in grading, please come see me or the TA and well look over it (and possibly talk pU3swith you about it). However, dont dally; any such request must be made within one week of grading. After that, we @won't change your grade. HHDXHHWYY 靕l~H!GXH!YG" uI would make penalties more dire, but I couldnt enforce any of the ones that come to mind, such as requiring you to pquse no system other than MS/DOS and no language other than machine language for the rest of your academic career @in computer science. dLeftd;Rightd ReferenceddHTMLdDHTMLd Headingsd d !d :d Id Ld Od RdUd XĿ@@ QMapping Table Title. Ŀ@@ QBody. f@T R#Heading1Body. Ŀ@@ QFooter. f@T Q TableTitleT:Table : .  f@PR TitleBody. f@$Q.Line Single Line. Ŀ@@ QHeader Double Line. f@ Q CellFooting. f@ Q CellHeading. f@ Q CellBody. Ŀ@@ QMapping Table Cell. Ŀ@@/Mapping Table Cell. Ŀ@@ /Mapping Table Cell. Ŀ@@ QMapping Table Cell. f@E R $ Numbered1.\tNumbered. $$Ŀ@@   $ H l      D h  ManCode.  f@PRTitleBody. f@T R#Heading1Body. f@ Q BodySpaced. Ŀ@@ R) $ H l      D h  ManHeading. f@T RHeading1Body. mf@ Ql. DateProject. Ŀ@@ QHeader Double Line. f@ R $Body. f@ R'...Date Double Line. f@ R $ Numbered.\t. f@ Q NumberedSpaced.\t. f@ R $ Bulleted\t. f@$Q.Line Single Line. f@ QCellBody. f@ Q CellHeading.  f@T QHeading2Body. f@T Q HeadingRunInBody. f@ Q Indented. f@ Q TableFootnote. f@T Q TableTitleT:Table : . f@ Q" Footnote. f@ Q Footnote. f@ R $$?hBody. f@ R $.Reading. f@  Body. f@ R $Body. f@ R Body. f@E R  Numbered1.\tNumbered. f@ R  Numbered.\t. f@ R'...Date Double Line. f@ R $...Date. f@ R ...Date. f@ R .Reading. f@ R  Bulleted\t. Ŀ@@ R) $ H l      D h  ManHeading. Ŀ@@ R * $ H l      D h  ManBody. Ŀ@@ R, ManHeading2. Ŀ@@ R $ H l      D h  ManHeading. Ŀ@@ R  $ H l      D h  ManBody. Ŀ@@ R ManHeading2. $$Ŀ@@   $ H l      D h  ManCode.  Q Q蜜 / Q QQ蜜Emphasis  QItalicQ蜜EquationVariables Q / 蜜 BoldItalic ۸QItalic QBold Q/ Q QBoldQ QItalic  Computer       R R  Q R R  R   R  BoldItalic R R R  R   R R ZZThinMediumDoubleThick@ Very Thin HHHHHFormat AH Mapping Table HHHHHFormat BH))) Mapping Tableh*|#HHHHHf$*DHH+5?HH&69?HH :C?HHH DF?HH*6 ? @ 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(nopqr֝h stuvw띝h 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 ">#?#@#A#B#d %C$D$E$ $&F%G%H%ם %'I&J&K& &(L'M'N'ԝ')O(P(Q(((*FR)S)T)D )FU*V*W*Vd ,FX+Y+Z+f +-F[,\,],r ,.F^-_-`-~ -/Fa.b.c..0Fd/e/f//1Fg0h0i002Fj1k1l113Fm2n2o224Fp3q3r3 35Fs4t4u4& 4Fv5w5x58d 7Fy6z6{6H 68F|7}7~7T79F888n 8F999d ;F:::: :CF ;";#;$;蝝d =  <<<<> ====? >>>K >@ ???W ?A @@@c @ AAA ;F%C&C'C(Cd EF)D,D-D DFF.E/E0E EF1FBFCFComment ;C ;G D_DkGfd BlackT!WhiteddARedddŝGreendd 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.BTimesNewRomanPS-BoldMT FrameRoman M.Times.B Times-Bold FrameRoman M.Helvetica.BHelvetica-Bold FrameRomanM.Times New Roman.PTimesNewRomanPSMT FrameRoman M.Courier.PCourier FrameRoman M.Times.I Times-Italic FrameRomanM.Helvetica.BIHelvetica-BoldOblique FrameRoman M.Courier.B Courier-Bold FrameRomanM.Times New Roman.BITimesNewRomanPS-BoldItalicMT FrameRomanM.Times New Roman.ITimesNewRomanPS-ItalicMT FrameRomanbCourier. HelveticaPTimesQTimes New Roman Monotype!Regular$Roman MediumBoldRegular ObliqueItalickcv{`ΚI (XVwdMv lf(%T]XDXr֤eX%bw?#COt%k`6g9l$5–q"(1F͍[Ȱ~XI?tQ)Nef^єoK`')4.fWԺ܉l~mO&V'mt]{\m4faġ=6