Introduction to the FreeBSD Open Source Operating System LiveLessons |
Page 2 of 2
Lesson 4 examines the Virtual memory layout and how it's used by the kernel and user processes alike, the memory limits of the stack and the heap, how memory management offloads and loads processes ,the regions the VM is split into as well as its page types. Once more,the lecturer manages to present the theory behind it not in a dull and strictly academic way and, by adopting a pragmatic approach. sheds light on each component individually and also in relation to the others and to the kernel; showing how they fits together in the larger landscape. That's what you get when your tutor is actually a commiter to a real OS's infrastructure and not just an academic with theoretical background. The realism projected is reinforced by extending to real life incidents, like the moment when users complained that swapping through processes was really slow (due to pages being moved to disk) which prompted the architects to separate the pages used by the processes from the pages used by the buffer cache.
With looking at the kernel from the perspective of the processes out of the way, Lesson 5 looks at the kernel from the perspective of the I/O system. It starts with the structures used for describing the kernel's I/O and presents an impressive slide that manages to contains all the kernel I/O components in a single picture. Then the different types of Multiplexing I/O are examined, such as the pool system call ,the non blocking mode and the signal drive I/O. Lesson 6, is on I/O again, but now the focus is on how the kernel communicates and discovers the various devices and drives and what those devices actually are (pseudo terminals, frame buffers, peripherals, network etc). Finally, Lesson 9 is a detailed guide to the general concepts of networking as well as those pertaining to FreeBSD. It includes looking at how the packets are flowing through the network, data structures like mbuf, how sockets and network protocols are used, the role of the port number in machines' communication, udp vs tcp, how to deal with the network interfaces, routing, and IP6.
Conclusion Where do I start? An amalgam of history, insight, theory and pragmatism, rendering a difficult subject easy to comprehend. The intimidating slides are the only thing reminiscent of a University class, but they are there just for keeping the tutor in-line with the subject as the lecture in general is unscripted and the tutor unprompted. I think that the freedom of not following a script allows McKusick to give of his best. He draws on his immense experience to offer invaluable tips and insight on why things are the way they are, that you will not find elsewhere. Gems are spread everywhere, waiting to be discovered by the viewer. Even if you're not interested in implementing features, submitting patches to FreeBSD, or writing kernel drivers, as a presentation on Operating Systems Architecture, it is suitable for engineers, kernel developers, and academics and ideal for students. For the individual the the hefty list price of $300 is obviously a barrier so I would prompt colleges to adopt and integrate it into their OS Architecture classes by paying for the rights and making it available to every student. Every single penny is worth spending Surely a touch of animation and annotation would certainly help, but what it lacks in presentation, makes up for in content and lecturer charisma, which goes a long way to prove that when the instructor has the ability to carry the audience along then just a white background and a few static slides are more than enough. Finally, hats off to InformIt who once more proved that its booked the topmost professionals for its Live Lessons series. Purchase from the Informit Store: Introduction to the FreeBSD Open Source Operating System LiveLessons
To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.
Related Reviews<ASIN:0321968972> |
||||||
Last Updated ( Sunday, 31 January 2016 ) |