Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Operating System Concepts

    Operating System Concepts

    Abraham Silberschatz · 1988

    Keep pace with the fast–developing world of operating systems Open–source operating systems, virtual machines, and clustered computing are among the leading fields of operating systems and networking that are rapidly changing. With substantial revisions and organizational changes, Silberschatz, Galvin, and Gagne’s Operating System Concepts, Eighth Edition remains as current and relevant as ever, helping you master the fundamental concepts of operating systems while preparing yourself for today’s emerging developments. As in the past, the text brings you up to speed on core knowledge and skills, including: What operating systems are, what they do, and how they are designed and constructed Process, memory, and storage management Protection and security Distributed systems Special–purpose systems Beyond the basics, the Eight Edition sports substantive revisions and organizational changes that clue you in to such cutting–edge developments as open–source operating systems, multi–core processors, clustered computers, virtual machines, transactional memory, NUMA, Solaris 10 memory management, Sun’s ZFS file system, and more. New to this edition is the use of a simulator to dynamically demonstrate several operating system topics. Best of all, a greatly enhanced WileyPlus, a multitude of new problems and programming exercises, and other enhancements to this edition all work together to prepare you enter the world of operating systems with confidence.

    Systems & OS
    Open LibraryAmazon
    Stats for nerds
    26recommend
    59mentions
    54people
    2010–2025years
    51% recommend47% neutral2% critical

    Mentions per year

    201020122014201620182020202220242025

    What Hacker News says

    1. deaddodoMar 2024
      I used this book as a primary reference for OS design (along with The Dinosaur Book) when designing my hobby OS.

      The FreeBSD kernel/world is almost exquisite in it's engineering simplicity. Compared to the sometimes chaotic world of GNU/Linux (in my experience).

      thread
    2. pfranzAug 2023
      I believe the traditional resource is Dinosaur book (OS Concepts by Silberschatz). I've also seen Operating Systems: Three Easy Pieces https://pages.cs.wisc.edu/~remzi/OSTEP/ come up.

      Another common recommendation is to find a hackable existing OS/kernel. You already have a working OS, but you can inspect and rewrite portions without having to do everything yourself upfront. http://www.minix3.org/ seems to be a popular one. Various BSDs seem to be mentioned, as well.

      thread
    3. yakubinNov 2022
      Are there any standard benchmarks for POSIX systems, facilitating objective comparisons between schedulers? When I was reading the dinosaur book, I was continually impressed by the elegance of solutions used in Solaris, scheduler being one of the highlights. However, a sense of elegance may be poorly calibrated, and I’d like to look at some hard data about how Solaris (today Illumos) stacks up against BSDs and Linux. Sadly I’m not knowledgable enough about operating systems to write a good set of such benchmarks myself, so I’d prefer to lean on the expertise of smarter people.
      thread
    4. 2143Jul 2022
      Some older books might be useful, though I'm not sure how useful older python books might be.

      Since you're a librarian, may I suggest some books you might want to consider keeping (not all of these are programming books per se):

      Designing Data Intensive Applications, by Martin Kleppmann

      K&R for C

      K&R The Practice of Programming

      The Art of Unix Programming, by Eric S. Raymond

      The Cathedral and the Bazaar, by Eric S. Raymond

      Code: The Hidden Language of Computer Hardware and Software, by Charles Petzold

      The Soul of a New Machine, by Tracy Kidder

      The Idea Factory, by Pepper White

      The Little Schemer, by Friedman and Felleisen

      SICP, by Sussman and Abelson

      Introduction to Algorithms, CLRS

      The Algorithm Design Manual, by Steven

      Introduction to the Theory of Computation, by Michael Sipser

      The "dinosaur book", "dragon book" etc.

      thread
    5. tristorSep 2021
      I don't have any one complete book that I can recommend, and I don't even really have a great reading list for this. But I'll make an attempt to share what I think is useful as a starting point.

      1. Systems Operations is first and foremost about understanding systems, in all of their complexity, which means understanding the internals of your OS primarily.

      2. Performance and networking, in particular, are super important areas to focus on understanding when it comes to learning the topic to help with software development.

      3. A lot of it is about understanding concepts in abstract and being able to extrapolate to other situations and apply these concepts, so there's actually quite a lot of useful information that can be learned on one OS and still applied to another OS (or on one game engine and applied to another, et al).

      Here's a few books I think are worth reading, not in any particular order of prevalence, but loosely categorized

      Databases:

      High Performance MySQL: https://www.amazon.com/gp/product/1449314287/

      SQL Queries for Mere Mortals: https://www.amazon.com/gp/product/0321992474/

      The Art of SQL: https://www.amazon.com/gp/product/0596008945/

      Networking:

      TCP/IP Illustrated: https://www.amazon.com/exec/obidos/ISBN=0201633469/wrichards... (updates on author's site at http://www.kohala.com/start/tcpipiv1.html)

      The TCP/IP Guide: https://www.amazon.com/TCP-Guide-Comprehensive-Illustrated-P...

      UNIX Network Programming: https://www.amazon.com/dp/0131411551

      Beej's Guide to Network Programming: http://beej.us/guide/bgnet/

      Operating Systems:

      Operating Systems Concepts: https://www.amazon.com/Operating-System-Concepts-Abraham-Sil... (various editions, I have the 7th edition... I recommend you find the latest)

      Modern Operating Systems: https://www.amazon.com/Modern-Operating-Systems-Andrew-Tanen... (the "Tanenbaum Book")

      Operating Systems Design and Implementation: https://www.amazon.com/Operating-Systems-Design-Implementat-... (the other one, the "MINIX Book")

      Windows Internals:

      Part 1: https://www.amazon.com/Windows-Internals-Part-architecture-m...

      Part 2: https://www.amazon.com/Windows-Internals-Part-2-7th/dp/01354... (I had the pleasure of being taught from this book by Mark Russinovich and David Solomon at a previous employer, was an amazing class and these books are incredible resources even applied outside of Windows, we used 5th edition, I linked 7th, which has the 2nd part pending publication).

      MacOS Internals:

      Part 1: https://www.amazon.com/MacOS-iOS-Internals-User-Mode/dp/0991...

      Part 2: https://www.amazon.com/MacOS-iOS-Internals-II-Kernel/dp/0991...

      Part 3: https://www.amazon.com/MacOS-iOS-Internals-III-Insecurity/dp...

      Linux Kernel Programming:

      Part 1: https://www.amazon.com/Linux-Kernel-Development-Cookbook-pro...

      Part 2: https://www.amazon.com/Linux-Kernel-Programming-Part-Synchro...

      The Linux Programming Interface: https://www.amazon.com/Linux-Programming-Interface-System-Ha...

      General Systems Administration:

      Essential Systems Administration: https://www.amazon.com/gp/product/0596003439/

      UNIX and Linux Systems Administration Handbook: https://www.amazon.com/UNIX-Linux-System-Administration-Hand...

      The Linux Command Line and Shell Scripting Bible: https://www.amazon.com/Linux-Command-Shell-Scripting-Bible/d...

      UNIX Shell Programming: https://www.amazon.com/Unix-Shell-Programming-Stephen-Kochan...

      BASH Hackers Wiki: https://wiki.bash-hackers.org/

      TLDP Advanced BASH Scripting Guide: https://tldp.org/LDP/abs/html/

      The Debian Administrator's Handbook: https://debian-handbook.info/browse/stable/

      TLDP Linux System Administrator's Guide: https://tldp.org/LDP/sag/html/index.html

      Performance & Benchmarking:

      Systems Performance: https://www.amazon.com/Systems-Performance-Brendan-Gregg-dp-... (this is Brendan Gregg's book where you learn about the magic of dtrace)

      BPF Performance Tools: https://www.amazon.com/Performance-Tools-Addison-Wesley-Prof... (the newer Brendan Gregg book about BPF, stellar)

      The Art of Computer Systems Performance Analysis: https://www.cse.wustl.edu/~jain/books/perfbook.htm (no longer available from Amazon, but is available direct from publisher. This is basically the one book you should read about creating and structuring benchmarks or performance tests)

      I guess that's a "reading list", but this is just a small part of what you need to know to excel in systems operations.

      I would say for the typical software developer writing web applications, the most important thing to know is how databases work and how networking works, since these are going to be the primary items affecting your application performance. But there's obviously topics not included in this list that are also worth understanding, such as browser/DOM internals, how caching and CDNs work, and web-specific optimizations that can be achievable with HTTP/2 or QUIC.

      For the average software developer writing desktop applications, I'd say make sure you /really/ understand OS internals... at the base everything you do on a computer system is based on what the OS provides to you. Even though you are abstracted (possibly many layers) away from this, being able to peel back the layers and understand what's /really/ happening is essential to writing high-quality application code that is performant and secure, as well as making you a champ at debugging issues.

      If you're trying to get into systems operations as a field, this is just a brush over the top surface and there's a lot deeper diving required.

      thread
    6. thecleanerApr 2020
      Maybe try the dinosaur book - Operating System Fundamentals. Even if you dont have a degree you know that a computer has RAM, a disk, a processor. This book ties everything together. Much more satisfying to put in the effort to do the assignments.
      thread

    Related

    Cover of Operating systems principles
    2013–2021

    Operating systems principles

    Lubomir Bic
    1 recommend · 3
    Cover of Modern Operating Systems
    2008–2026

    Modern Operating Systems

    Andrew S. Tanenbaum
    52 recommend · 91
    Cover of Operating Systems
    2007–2026

    Operating Systems

    Andrew S. Tanenbaum
    63 recommend · 115
    Cover of Design of the Unix Operating System
    2008–2025

    Design of the Unix Operating System

    Maurice J. Bach
    23 recommend · 42
    Cover of Computer systems
    2009–2026

    Computer systems

    Randal Bryant
    67 recommend · 110
    Cover of Operating system principles
    2022–2026

    Operating system principles

    Per Brinch Hansen
    2 recommend · 4
    Cover of The Elements of Computing Systems
    2008–2026

    The Elements of Computing Systems

    Noam Nisan
    204 recommend · 344
    Cover of UNIX Shell programming
    2014–2023

    UNIX Shell programming

    Stephen G. Kochan
    4 recommend · 6