home *** CD-ROM | disk | FTP | other *** search
/ BURKS 2 / BURKS_AUG97.ISO / BURKS / LINUX / KHG / IMG107.GIF < prev    next >
Graphics Interchange Format  |  1996-04-01  |  16KB  |  649x695  |  1-bit (2 colors)
Labels: black | darkness
OCR: Title: The Design of the UNIX Operating System Author: Maurice J. Bach Publisher: Prentice Hall, 1986 ISBN: 0-13-201799-7 Appr. Price: $65.00 This is one of the books that Linus used to design Linux. It is a description of the data structures used in the System V kernel. Many of the names of the important functions in the Linux source come from this book, and are named after the algorithms presented here. For instance, if you can't quite figure out what exactly getblk(), brelse(), bread(), breada(), and bwrite() are, chapter 3 explains very well. While most of the algorithms are similar or the same, a few differences are worth noting- The Linux buffer cache is dynamically resized, so the algorithm for dealing with getting new buffers is a bit different. Therefore the above referenced explanation of getblk() is a little different than the getblk() in Linux. . Linux does not currently use streams, and if/when streams are implemented for Linux, they are likely to have somewhat different semantics. The semantics and calling structure for device drivers is different. The con- cept is similar, and the chapter on device drivers is still worth reading, but for details on the device driver structures, the The Linux Kernel Hackers Guide is the proper reference. The memory management algorithms are somewhat different. There are other small differences as well, but a good understanding of this text will help you understand the Linux source.