Spring 2005



FAQ

6.033 Class Notes Errata

  If you notice errors of any kind in the 6.033 class notes, ranging from minor typos to major blunders,
please report them by e-mail to Saltzer@mit.edu and kaashoek@mit.edu.
   
March 20, 2005 Page 7-104, part 6, second paragraph: change "sealing or unsealing" to "encrypting or decrypting"
   
March 15, 2005 Chapter 7, page 118, footnote: in the URL, change NETGEAR to netgear
March 1, 2005 Page 5-41. Kill the sentence "Since the procedure... before other threads get a chance to run" and replace it with: When any thread waiting on eventcount next runs, it must again test whether eventcount exceeds value. The reason is that other, concurrent threads may have run in the interim and incremented value. While at the instant of the call to NOTIFY the condition the thread was waiting for was true, the thread must regard the return from WAIT as merely a hint that the condition may still be true. (The pseudocode on 5-43 is correct, but the text here is wrong)

Sidebar 5-3: The text should state that this code works only for one consumer and one producer. If there were multiple consumers p should be protected by lock to coordinate the updates to p. Also, it is important to note that ADD_ITEM and REMOVE_ITEM are implemented so that the two threads never write the same memory location; if the text had used a linked list, then the code should have protected the list with a lock to coordinate multiple writers to the same memory location.

   
Feb 24 2005 Page 4-29, paragraph beginning "When the client's...": in line 6, change "berkeley.edu" to "ucla.edu"

Page 5-37: Add the following sentence to the end of the paragraph starting "The stack grows toward ..": "All temporary registers are saved and restored on the stack as part of the procedure call conventions, and for simplicity we don't show them."

   
Feb 23 2005 Page 7-70, second line: "encryption" should be "cryptographic."

Page 10-24, paragraph beginning "One shortcut...": "calculating" should be "comparing."

   
Feb 17 2005 5-20: the list at bottom of the page should be in the order 3, 2, and 1.
5-25, paragraph 3: "superviser bit" should be "user-mode bit".
   
Feb 13 2005 Page 4-6 and 4-11, code fragment: "restart" should be "reset".
Page 4-7: figure 4-1, this fragment doesn't show how the result from GET_TIME is returned---you can assume it is in a register reserved for return values.
Page 4-7: (The return address is 116.). 116 should be 128. Similarly, in line 112 in figure 4-1, 116 should be 128.
   
Feb 11 2005 Page 3-26, section 2 code: [inode] should be [index]
Page 3-28, section 3 code: missing BLOCK_ on the line that has return.
3-31: "trees s" should be "trees".
3-32: In figure 3-10, at about line 6. "Blocks #14, #94, and #16 constitute the root directory, while block #23..." The root inode, inode 1 (block 0) contains "14, 37, and 16"; 94 should be 37.
   
Feb 7 2005 Page 3-12, sidebar 3-2: The line numbers in the pseudocode should run from 1 to 5 rather than 10 to 14.
   
Feb 2 2005 Page 1-16, last paragraph, first line: Replace "is that is that" with "is that."
   
Feb 1 2005 Page 1-6, second paragraph: The reference to sidebar 1-1 should be to sidebar 1-3.
   

Questions or comments regarding 6.033? Send e-mail to the 6.033 staff at or to the 6.033 TAs at

Top // 6.033 home // $Revision: 1.25 $, last modified on $Date: 2005/03/28 19:44:56 $ GMT by $Author: stanrost $