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
---------------- ---------------------------------- -------------------------------------------------------
No changes are anticipated after the third printing.