Introduction to the FreeBSD Open Source Operating System LiveLessons
Article Index
Introduction to the FreeBSD Open Source Operating System LiveLessons
Lessons 4-9; Conclusion

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.

 

vm

 

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).
 
Lesson 7 is on Filesystems and begins by highlighting how much the landscape  has changed during the years, moving towards more smart file systems that take care of the bookkeeping of reading and allocating a block, as before you had to be familiar with the disk's geometry!  The inode is covered and there's a mini lecture on the general concepts of designing a filesystem and its structures from a FreeBSD perspective, before it concludes with I/O optimizations.Then Lesson 8 is dedicated to the copy-on-write ZFS filesytem and the ways it manages to remain consistent

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

Banner

 

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.

 

Banner


React Programming

Author: Loren Klingman and Ashley Parker
Publisher: Big Nerd Ranch Guides
Date: April 2023
ISBN:978-0137901760
Print:0137901763
Kindle:B0C4V69S8Z
Audience: Front end devs
Rating: 4
Reviewer: Ian Elliot
React is difficult to master, so a book can really help.



Python Programming and Visualization for Scientists 2nd Ed

Author: Alex DeCaria and Grant Petty
Publisher: Sundog Publishing
Pages: 372
ISBN: 978-0972903356
Print: 0972903356
Audience: Scientists wanting to use Python
Rating: 2
Reviewer: Mike James
Visualization - a difficult topic and difficult to see how to explain the ideas in a book.


More Reviews

Related Reviews

Git and GitHub LiveLessons

<ASIN:0321968972>



Last Updated ( Sunday, 31 January 2016 )