First printing, September 2014
Changes made for second printing, November 2014
Page | Chap/Sec | Change |
iv | c00/0.t | Update to: Second printing, November 2014 |
xxvi | c00/7.t | add Eric Allman to acknowlegements list |
xxvi | c00/7.t | spelling: Rui Paolo => Rui Paulo |
107 | c04/3.t | MTX_OWNED => MTX_UNOWNED (in both places it occurs) |
414 | c08/A.t | host-OS o physical devices => host-OS on physical devices |
575 | c11/fig11.4 | remove stray "2" from upper left corner |
597 | c12/1.t | decls addr => localaddr, addrlen => localaddrlen |
---------------- | ---------------------------------- | ------------------------------------------------------- |
Changes made for third printing, July 2016
Page | Chap/Sec | Change |
xxvi | c00/6.t | 40-hour introductory course, FreeBSD source course |
xxvi | c00/7.t | spelling: Citrex => Citrix |
35 | c02/5.t | "Yarrow was replaced by Fortuna" => "Yarrow can be replaced by Fortuna" |
46 | c02/9.t | grammar: "only a process" => "only by a process" |
49 | c02/A.t | spelling: "Zettabye" => "Zettabyte" |
53 | c02/G.t | grammar: "whereas other require" => "whereas others require" |
93 | c04/2.t | Figure 4.1, "thread control block" => "thread state block" |
93 | c04/2.t | cite Anderson Scheduler Activations reference |
100 | c04/3.t | "in only kernel mode" => "only in kernel mode" |
106 | c04/3.t | spelling: simplist => simplest |
135 | c04/7.t | Fig 4.6, step 2 & 4 should reference sigcode() not sigtramp() |
136 | c04/7.t | sigcode() is copied at process startup not signal invocation |
145 | c04/3.t | Exercise 4.10 should reference Figure 4.2, not Table 4.3 |
146 | c04/3.t | add Anderson Scheduler Activations reference |
159 | c05/6.t | "and it proves difficult to reason about the implied set of rights gained access to when debugging a second process." => "and reasoning about the implied set of rights to which access is gained when debugging a second process is difficult." |
169 | c05/7.t | "group bits in set or retrieved" => "group bits set or retrieved" |
170 | c05/7.t | "UID, GID, mode fields" => "UID, GID, and mode fields" |
172 | c05/7.t | "If the filer owner" => "If the file's owner" |
185 | c05/tbl5.14 | spelling: stafs() => statfs() |
200 | c05/A.t | of the the application => of the application |
201 | c05/B.t | thins the longs incrementally => thins the logs incrementally |
206 | c05/C.t | (GBDE and GEOM) => (GBDE and GELI) |
210 | c05/C.t | triply-DES => triple-DES |
211 | c05/C.t | missing period: SHA-256 => SHA-256. |
212 | c05/C.t | "that may in the long term replace Yarrow in FreeBSD;" => "that became available as an alternative in FreeBSD 11;" |
212 | c05/C.t | "framework should allow both" => "framework allows both" |
212 | c05/C.t | "Another potential" => "A potential" |
234 | c06/3.t | (hashed) => (shaded) to avoid confusion with hash list |
235 | c06/3.t | For a through survey => For a thorough survey |
238 | c06/3.t | reorder and label bullets to correspond to order and names in Figure 6.9 |
239 | c06/3.t | "that it then makes available" => "it then makes the filled buckets available" |
241 | c06/3.t | for clarity: "per-CPU caches" => "per-CPU bucket lists" |
260 | c06/6.t | "if the vm.overcommit sysctl has been enabled." => "if bit 0 of the vm.overcommit sysctl variable has been set." |
260 | c06/6.t | "Because the vm.overcommit follows" => "Because the setting of bit 0 of vm.overcommit follows" |
260 | c06/6.t | "vm.overcommit is turned off by default." => "bit 0 of vm.overcommit is cleared by default." |
329 | c07/1.t | "setfd" should be "selfd" |
335 | c07/2.t | Table 7.3: "mesgctl" should be "msgctl" |
335 | c07/2.t | Table 7.3 heading: explain parenthesis |
335 | c07/2.t | "but are discussed here are well." => "but are discussed here as well." |
346 | c07/4.t | grammer: "lookup a name" -> "look up a name" |
364 | c08/1.t | "to be classic controller" => "to be a classic controller" |
376 | c08/4.t | "disk sorting" => "disk-transaction sorting" |
381 | c08/5.t | "(Nm 10GbE )" => "(10GbE)" |
389 | c08/5.t | "TS_SO_OLOWAT" => "TF_HIWAT_OUT"; "t_wsel" => "t_outpoll" |
392 | c08/7.t | "stripped logical volume" => "striped logical volume" |
392 | c08/7.t | "disk sorting" => "disk-transaction sorting" |
433 | c09/2.t | "user-setable flags" => "user-settable flags" |
438 | c09/2.t | "available and setable" => "available and settable" |
451 | c09/3.t | "at most eight symbolic link" => "at most 32 symbolic link" |
454 | c09/7.t | "i_lockf" => "v_lockf" |
454 | c09/7.t | linkage is from vnode, not inode; "lf_next" => "lf_link" |
455 | c09/7.t | "lf_next" => "le_outlink"; 2 x "lf_block" => "le_inlink" |
456 | c09/7.t | 2 x "lf_next" => "le_outlink"; "lf_block" => "le_inlink" |
456 | c09/fig9.13 | 3 x "lf_next" => "le_outlink"; 6 x "lf_block" => "le_inlink"; 3 x "lf_next" => "lf_link"; "i_lockf" => "v_lockf"; linkage is from vnode, not inode |
457 | c09/fig9.15 | "lf_next" => "le_outlink"; 4 x "lf_block" => "le_inlink"; 3 x "lf_next" => "lf_link"; "i_lockf" => "v_lockf"; linkage is from vnode, not inode |
458 | c09/fig9.16 | "lf_next" => "le_outlink"; 4 x "lf_block" => "le_inlink"; 3 x "lf_next" => "lf_link"; "i_lockf" => "v_lockf"; linkage is from vnode, not inode |
493 | c09/8.t | "list of unreferenced inode" => "list of unreferenced inodes" |
535 | c10/3.t | "records the objects numbers" => "records the object numbers" |
535 | c10/3.t | "the ZIL intent log" => "the ZFS intent log" |
536 | c10/4.t | "coordination when they take" => "coordination of when they take" |
540 | c10/4.t | "RAID array is a fixed-size" => "RAID array is a fixed size" |
554 | c11/2.t | "The IP identifier field" => "The IP-identifier field" |
559 | c11/2.t | 2 x "portmap" -> "rpcbind" |
560 | c11/2.t | 4 x "portmap" -> "rpcbind" |
560 | c11/fig11.2 | "portmap" -> "rpcbind" |
570 | c11/tbl11.2 | "check Access Rights" => "check access rights"; "BINDCONNNTOSESS" => "BINDCONNTOSESS"; "create Session" => "create session" |
571 | c11/tbl11.2 | "obtains security info" => "obtain security info" |
576 | c11/tbl11.4 | Owner column: "server" => "Server"; "client" => "Client" |
581 | c11/3.t | "During on open file" => "During an open file" |
583 | c11/3.t | "The Kerberos systems acts" => "The Kerberos system acts" |
584 | c11/3.t | "the security-triple and" => "the security triple and" |
585 | c11/3.t | "the client dismounts all" => "the client unmounts all" |
605 | c12/3.t | "list by the mb_alloc() function and is initialized." => "list as described in Section 6.3 and is initialized." |
607 | c12/fig12.5 | "dom_rtdttach" => "dom_rtdetach"; "dom_ifdttach" => "dom_ifdetach" |
608 | c12/tbl12.5 | "AF_IEE80211" => "AF_IEEE80211" |
613 | c12/5.t | "SO_ACCEPTCON" => "SO_ACCEPTCONN" |
617 | c12/6.t | "decrease to a size that the sender's natural transmission size drops below its optimal value." => "decrease below the value of the sender's optimal transmission size." |
618 | c12/6.t | "at the front of message." => "at the front of the message." |
632 | c12/A.t | "struct sockaddr *addr" => "struct sockaddr *addr," |
702 | c13/8.t | "has twenty one barrier" => "has twenty-one barrier" |
708 | c13/8.t | "node that echos back" => "node that echoes back" |
711 | c13/8.t | 2 x "ng_mesghdr" => "ng_msghdr" |
714 | c13/8.t | "nr_hwavail counter" => "nr_hwtail pointer" |
726 | c14/3.t | Add (ISN) after glossary term "initial sequence number" |
727 | c14/fig14.2 | Add CWR and ECE flags |
734 | c14/4.t | Missing period after keepalive timer (tcp_timer_keep()) |
750 | c14/6.t | "at most four sack blocks" => "at most four SACK blocks" |
755 | c14/6.t | "either two maximally size segments" => "either twice the maximum segment size" |
760 | c14/6.t | "properly to lost packets" => "properly to lost packets," |
765 | c14/fig14.11 | Add (DATA) in "type = 0" top-left box |
778 | c15/fig15.1 | Delete duplicate hdr_lba_end field from struct gpt_hdr |
794 | c15/3.t | "vfs_root.mountfrom.options" => "vfs.root.mountfrom.options" |
796 | c15/3.t | "typedef moduledata" => "typedef struct moduledata"; "modeventhand_t event_handler;" => "modeventhand_t evhand;"; "void *data;" => "void *priv;" |
802 | c15/5.t | "The doadump() saves" => "The doadump() routine saves" |
817 | c16/defs-BSD/firstboot | first-level bootstrap: 2 x "/boot" => "/boot/gptboot" |
820 | c16/Input | "initial sequence number" => "initial sequence number (ISN)" |
865 | c17/Input | mb_alloc() is gone |
866 | c17/Input | "MS-DOS fat filesystem" => "MS-DOS FAT filesystem" |
870 | c17/Input | portmap pages 559-560 is gone; no room to cite rpcbind |
875 | c17/Input | sigtramp() page 135 is gone, sigcode() now on pages 135-136 |
875 | c17/Input | setfd page 329 is gone, incorporated into selfd |
887 | c17/Trailer | Update to note that new introductory class is now available |
888 | c17/Trailer | Update to note that new advanced class is now available |
---------------- | ---------------------------------- | ------------------------------------------------------- |