Best products from r/osdev
We found 9 comments on r/osdev discussing the most recommended products. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 9 products and ranked them based on the amount of positive reactions they received. Here are the top 20.
1. Principles of Operating Systems: Design and Applications (Advanced Topics)
- Used Book in Good Condition
Features:
2. Operating Systems Design and Implementation (3rd Edition)
- The official controller for SHIELD portable and SHIELD Tablet. Support for GeForce-equipped PCs coming soon.
- Redesigned from the ground up for precision gaming
- Dual vibration feedback
- Stereo headphone jack for private audio
Features:
3. The Design of the UNIX Operating System
- HOBBY MODEL KIT – Unassembled model packed in an envelope with easy to follow instructions. Ideal for ages 14 and up
- NO GLUE OR SOLDER NEEDED – Parts can be easily clipped from the metal sheets. Tweezers are the recommended tool for bending and twisting the connection tabs
- SR-71 BLACKBIRD – 1 Sheet Model with a moderate difficulty level. Assembled Size: 3.94 x 2.03 x 1.17 inches
- FROM STEEL SHEETS TO 3D – Pop out the pieces and connect using tabs and holes. Includes illustrated instructions
- HIGHLY DETAILED ETCHED MODEL – Display your 3D model once completed - collect and build them all
Features:
4. Computer Organization and Design: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design)
5. The Design and Implementation of the FreeBSD Operating System (2nd Edition)
- Addison-Wesley Professional
Features:
6. Operating System Concepts, Seventh Edition
- Ortofon SH-4 Blue DJ head shell.
Features:
7. Linux Kernel Development
- Takes 2 AA batteries; Picture size 62 x 46 millimeter; Viewfinder real image finder, 0.37x, with target spot
- New selfie mirror, shutter speed: 1 per 60 sec
- New macro lens adapter for close ups 35 centimeters to 50 centimeters
- Automatic exposure measurement; The camera signals the recommended aperture setting with a flashing LED; This helps capture the perfect photo every time
- Focusing: 0.6 meter
Features:
For the nitty-gritty details, the OSDev wiki is very helpful.
This tutorial on writing an OS in Rust was pretty useful when starting out with the bare-bones basics of a 64-bit kernel. The OSDev wiki tutorials can some times be out-of-date on some things, so this was a useful resource.
For the more higher-level concepts, a standard OS textbook should do. I used the Silberchatz "dinosaur book" in my OS class, and it's fine, but I definitely felt like it focused on the higher-level concepts with an omission of lower-level implementation details.
On the other hand, there is something of a whole "subgenre" of OS books that cover one OS kernel in excruciating, often line-by-line detail, which can be very useful for seeing how to apply those concepts from the higher-level textbooks. The "original" in this subgenre was John Lions's commentary on sixth edition UNIX from the 1970s. Some of the low-level hardware concepts apply to the PDP-11 back in the day, but a lot of the details are still applicable today. There's also the xv6 kernel teaching kernel from MIT, which is just the sixth edition UNIX re-implemented for x86 processors, with an accompanying book/commentary. Some other books in this genre I've read are Notes on the Plan 9 Third Edition Kernel Source (non-ideal) or the one a professor at my university wrote, Principles of Operating Systems, which covers Linux and the Inferno operating system.
Hopefully that gives some useful places to start.
The Design of the Unix Operating System is a classic. It's from the 80's, but still plenty relevant. It's very well written, with plenty of diagrams to help you along.
It doesn't quite start from the very beginning. If you're looking for information on how to start with absolutely nothing (ie, write a bootloader, implement basic device drivers, etc), then you'll need to supplement with other sources. It does, however, do a really great job of explaining things like processes, threads, memory management, and other basic concepts. It doesn't give you source code (though it contains a bit of pseudocode), but it explains in succinct, legible prose, the data structures and algorithms that drive core functionality. Again, it's an old book - $6.00 plus shipping used. Can't really go wrong.
Operating Systems Design and Implementation covers basically the same ground. I prefer the former, as it treats you a little more like an adult and skips straight to explaining how concepts are implemented (and the cover art is just so undeniably classic).
https://www.amazon.com/Computer-Organization-Design-Fourth-Architecture/dp/0123747503
I thought this book was quite good. It also answers everything you've asked in this thread.
The source in the littleosbook builds on itself each chapter. However, it's important to know that the littleosbook, osdev wiki and most online resources aren't necessarily "tutorials" after the bootloader and bare-bones stages. Any later information is going to be more abstract and guidance. If you need in depth assistance with osdev, you'll want to invest in one (or more) of the following:
And a lot of your personal time.
So there's this book called The Linux Programming Interface by Michael Kerrisk. Some consider it being the book.
Modern Operating Systems. the 4th edition was release in March 2014.
http://www.amazon.com/Modern-Operating-Systems-4th-Edition/dp/013359162X