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 UNIX filesystems

    UNIX filesystems

    Steve D. Pate · 2003

    Covers all versions of UNIX, as well as Linux, operating systems that are used by the majority of Fortune 1000 companies for their mission-critical data Offers more detail than other books on the file input/output aspects of UNIX programming Describes implementation of UNIX filesystems over a thirty year period Demonstrates VERITAS and other filesystem examples

    Systems & OS
    Open LibraryAmazon
    Stats for nerds
    3recommend
    3mentions
    3people
    2012–2017years
    100% recommend

    Mentions per year

    201220132014201520162017

    What Hacker News says

    1. bogomipzJan 2017
      These are both somewhat dated but still very worth while and relevant reads, you can find them cheap on Amazon:

      "UNIX Filesystems: Evolution, Design, and Implementation 1st Edition" by by Steve D. Pate

      "Practical File System Design with the Be File System" by Dominic Giampaolo

      thread
    2. robomartinNov 2012
      OK, if you don't have any real experience in low-level embedded coding (relevant to device drivers), RTOS or OS design in general, file systems, data structures, algorithms, interfaces, etc. And, if you have "hobby level" experience with Assembler, C and C++. And, if your intent is to write a desktop OS, from the ground up, without making use of existing technologies, drivers, file systems, memory management, POSIX, etc. Here's a list of books that could be considered required reading before you can really start to write specifications and code. Pick twenty of these and that might be a good start.

      In no particular order:

      1- http://www.amazon.com/C-Programming-Language-2nd-Edition/dp/...

      2- http://www.amazon.com/The-Answer-Book-Solutions-Programming/...

      3- http://www.amazon.com/The-Standard-Library-P-J-Plauger/dp/01...

      4- http://www.amazon.com/C-Traps-Pitfalls-Andrew-Koenig/dp/0201...

      5- http://www.amazon.com/Expert-Programming-Peter-van-Linden/dp...

      6- http://www.amazon.com/Data-Structures-In-Noel-Kalicharan/dp/...

      7- http://www.amazon.com/Data-Structures-Using-Aaron-Tenenbaum/...

      8- http://www.amazon.com/Mastering-Algorithms-C-Kyle-Loudon/dp/...

      9- http://www.amazon.com/Code-Complete-Practical-Handbook-Const...

      10- http://www.amazon.com/Design-Patterns-Elements-Reusable-Obje...

      11- http://www.amazon.com/The-Mythical-Man-Month-Engineering-Ann...

      12- http://www.amazon.com/The-Programming-Language-4th-Edition/d...

      13- http://www.amazon.com/The-Standard-Library-Tutorial-Referenc...

      14- http://www.amazon.com/API-Design-C-Martin-Reddy/dp/012385003...

      15- http://www.amazon.com/The-Linux-Programming-Interface-Handbo...

      16- http://www.amazon.com/Computer-Systems-Programmers-Perspecti...

      17- http://www.amazon.com/System-Programming-Unix-Adam-Hoover/dp...

      18- http://www.amazon.com/Memory-Programming-Concept-Frantisek-F...

      19- http://www.amazon.com/Memory-Management-Implementations-Prog...

      20- http://www.amazon.com/UNIX-Filesystems-Evolution-Design-Impl...

      21- http://www.amazon.com/PCI-System-Architecture-4th-Edition/dp...

      22- http://www.amazon.com/Universal-Serial-System-Architecture-E...

      23- http://www.amazon.com/Introduction-PCI-Express-Hardware-Deve...

      24- http://www.amazon.com/Serial-Storage-Architecture-Applicatio...

      25- http://www.amazon.com/SATA-Storage-Technology-Serial-ATA/dp/...

      26- http://www.amazon.com/Beyond-BIOS-Developing-Extensible-Inte...

      27- http://www.amazon.com/Professional-Assembly-Language-Program...

      28- http://www.amazon.com/Linux-Kernel-Development-3rd-Edition/d...

      29- http://www.amazon.com/Version-Control-Git-collaborative-deve...

      30- http://www.amazon.com/Embedded-Software-Primer-David-Simon/d...

      31- http://www.amazon.com/Programming-Embedded-Systems-C/dp/1565...

      32- http://www.amazon.com/Making-Embedded-Systems-Patterns-Softw...

      33- http://www.amazon.com/Operating-System-Concepts-Abraham-Silb...

      34- http://www.amazon.com/Performance-Preemptive-Multitasking-Mi...

      35- http://www.amazon.com/Design-Operating-System-Prentice-Hall-...

      36- http://www.amazon.com/Unix-Network-Programming-Sockets-Netwo...

      37- http://www.amazon.com/TCP-Illustrated-Volume-Addison-Wesley-...

      38- http://www.amazon.com/TCP-IP-Illustrated-Vol-Implementation/...

      39- http://www.amazon.com/TCP-Illustrated-Vol-Transactions-Proto...

      40- http://www.amazon.com/User-Interface-Design-Programmers-Spol...

      41- http://www.amazon.com/Designing-Interfaces-Jenifer-Tidwell/d...

      42- http://www.amazon.com/Designing-Interfaces-Jenifer-Tidwell/d...

      43- http://www.amazon.com/Programming-POSIX-Threads-David-Butenh...

      44- http://www.intel.com/p/en_US/embedded/hwsw/software/hd-gma#d...

      45- http://www.intel.com/content/www/us/en/processors/architectu...

      46- http://www.intel.com/p/en_US/embedded/hwsw/hardware/core-b75...

      47- http://www.hdmi.org/index.aspx

      48- http://en.wikipedia.org/wiki/Digital_Visual_Interface

      49- http://www.amazon.com/Essential-Device-Drivers-Sreekrishnan-...

      50- http://www.amazon.com/Making-Embedded-Systems-Patterns-Softw...

      51- http://www.amazon.com/Python-Programming-Introduction-Comput...

      52- http://www.amazon.com/Practical-System-Design-Dominic-Giampa...

      53- http://www.amazon.com/File-Systems-Structures-Thomas-Harbron...

      54- ...well, I'll stop here.

      Of course, the equivalent knowledge can be obtained by trial-and-error, which would take longer and might result in costly errors and imperfect design. The greater danger here is that a sole developer, without the feedback and interaction of even a small group of capable and experienced programmers could simply burn a lot of time repeating the mistakes made by those who have already trenched that territory.

      If the goal is to write a small RTOS on a small but nicely-featured microcontroller, then the C books and the uC/OS book might be a good shove in the right direction. Things start getting complicated if you need to write such things as a full USB stack, PCIe subsystem, graphics drivers, etc.

      thread
    3. seijiJul 2012
      As a start, read and understand http://www.amazon.com/Understanding-Linux-Kernel-Third-Editi... (that's a very technical and in-depth book) and http://www.amazon.com/Linux-Kernel-Development-3rd-Edition/d... (that's a more gentle overview book) then dive in with http://www.amazon.com/UNIX-Filesystems-Evolution-Design-Impl... and write a very simple file system.

      Learn C as necessary.

      The FreeBSD kernel book is worth a look too: http://www.amazon.com/Design-Implementation-FreeBSD-Operatin...

      thread

    Related

    Cover of Practical File System Design with the Be File System
    2015–2024

    Practical File System Design with the Be File System

    Dominic Giampaolo
    6 recommend · 8
    Cover of Linux Kernel Development
    2010–2026

    Linux Kernel Development

    Robert Love
    44 recommend · 68
    Cover of Operating System Concepts
    2010–2025

    Operating System Concepts

    Abraham Silberschatz
    26 recommend · 59
    Cover of Unix Network Programming
    2009–2026

    Unix Network Programming

    W. Richard Stevens
    54 recommend · 78
    Cover of The UNIX programming environment
    2007–2026

    The UNIX programming environment

    Brian W. Kernighan
    86 recommend · 215
    Cover of UNIX
    2010–2026

    UNIX

    Brian W. Kernighan
    14 recommend · 28
    Cover of The art of UNIX programming
    2007–2026

    The art of UNIX programming

    Eric S. Raymond
    85 recommend · 238
    Cover of Advanced programming in the Unix environment
    2008–2025

    Advanced programming in the Unix environment

    W. Richard Stevens
    100 recommend · 153