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 Linux Kernel Development

    Linux Kernel Development

    Robert Love · 2004

    Linux Kernel Development details the design and implementation of the Linux kernel, presenting the content in a manner that is beneficial to those writing and developing kernel code. While the book discusses topics that are theoretical, it does so with the goal of assisting programmers so they better understand the topics and become more efficient and productive in their coding.The book discusses the major subsystems and features of the Linux kernel, including design and implementation, their purpose and goals, and their interfaces. Important computer science and operating system design details are also addressed. The book covers the Linux kernel from both angles -- theoretical and applied -- which should appeal to both types of readers.The author is involved in Linux kernel development, so the latest kernel version is detailed, as the author has access to the not-yet-released development releases.Specific topics covered will include: all the important algorithms, relevant subsystems, process management, scheduling, time management and timers, system call interface, memory addressing, memory management, paging strategies, caching layers, VFS, kernel synchronization, and signals.

    Systems & OS
    Open LibraryAmazon
    Stats for nerds
    44recommend
    68mentions
    59people
    2010–2026years
    74% recommend25% neutral1% critical

    Mentions per year

    201020122014201620182020202220242026

    What Hacker News says

    1. throwaw12Oct 2024
      This is in general a good advise, but not a practical at a times.

      For example, you can read all of the Linux source code to become expert in most areas: networking, scheduling,... (except AI/ML) But difficult to achieve without a good structure or you can read a book about Linux kernel development (e.g. Linux Kernel development, old book by Robert Love) and get more up to speed

      thread
    2. nunezFeb 2024
      waking up in the middle of the night is extremely normal, even with "perfect" sleep hygiene.

      in fact, cbt-i, the therapy I undertook last year and earlier this year, takes advantage of this to help patients mitigate their insomnia.[0]

      the treatment protocol requires that you get out of bed and literally go anywhere else when you wake up at night. you can do almost anything you want during that time, even watch TV or play games! (i read hacker news or read "linux kernel development" by robert love; if you're on here, thanks!)

      given this, it's not surprising that our ancestors divided their sleep into two halves. our circadian rhythms are naturally programmed to sleep when it's dark and stay awake when it's bright. i could imagine that their circadian rhythms were more "in tune" before electricity.

      [0] "insomnia" isn't curable and can happen to everyone! it's more of a state of being than a condition or disease.

      thread
    3. mfrwSep 2023
      Linux Kernel Development by Robert Love is something I would encourage going through if you are unsure about what you don't know.

      Although it's based on 3.x kernel, it still is pretty relevant.

      Good Luck!

      thread
    4. brenns10Sep 2023
      I work in Linux kernel related stuff, and from a brief inspection it doesn't seem like the items are terribly inaccurate, but they're not perfect. For example, kmem_cache_alloc() is listed under memory mapping, but it has nothing to do with mapping memory. It's just an API for the slab allocator which is very widespread, and also underpins kmalloc().

      The bigger concern is that it doesn't seem like the map is even close to complete. For example, the VFS (virtual file system) is made up of files (open file descriptions), inodes (representing files on disk), and dentries (representing the file system tree/DAG). Probably others things I'm missing too. The area of this page describing vfs only seems to mention files and inodes, and it strangely mentions fsnotify, which is definitely an important subsystem, but not a fundamental data structure like a dentry.

      I would imagine people wrote articles about topics, and they got categorized into this very cool visualization. But it's not as if it represents everything, just the things the contributors of the site were working on. It's still very cool, but don't expect that this is a comprehensive overview of the kernel, or that all the major parts of a particular area are listed here.

      Edit: but that said, resources from 2010 or earlier can be quite useful. I have a cherished hard copy of Understanding the Linux Virtual Memory Manager[1] which was released in 2007 about Linux 2.4, and I regularly rely on it and its concepts. I have another beloved copy of Linux Kernel Development 3rd Ed. (2010) [2] which is how I learned a ton of fundamentals. Ultimately, it's not about the age of the resource but the concepts behind it :)

      [1]: https://www.kernel.org/doc/gorman/pdf/understand.pdf [2]: https://altair.pw/pub/doc/unix/Linux%20Kernel%20Development%...

      thread
    5. AgingcoderMay 2023
      Read the Linux programming interface by Michael Kerrisk. It will tell you what Linux should be doing for you ( the api basically and what subsystems exist). Read lwn, kernel newbies to get a feel of what’s happening in the kernel.

      Get knowledge of operating systems ( I like the minix book by tanenbaum ). Learn about Linux internals ( I like linux kernel development by Robert love)

      Then, pick bits you’re interested in and jump !

      thread
    6. unmoleMay 2023
      Linux Kernel Development by Robert Love. It's spectacularly out of date but is still a good starting point. And Elixir is very helpful for browsing the source code and comparing chnages across kernel version: https://elixir.bootlin.com/linux/latest/source
      thread

    Related

    Linux Programming InterfaceMichael Kerrisk
    2011–2026

    Linux Programming Interface

    Michael Kerrisk
    98 recommend · 156
    Cover of Essential Linux Device Drivers
    2018–2019

    Essential Linux Device Drivers

    Sreekrishnan Venkateswaran
    2 recommend · 2
    Cover of Understanding The Linux Kernel
    2007–2026

    Understanding The Linux Kernel

    Daniel P. Bovet
    24 recommend · 42
    Cover of Linux Kernel Programming
    2018–2025

    Linux Kernel Programming

    Kaiwan N Billimoria
    4 recommend · 5
    Linux Kernel NetworkingRami Rosen
    2018–2023

    Linux Kernel Networking

    Rami Rosen
    2 recommend · 5
    Cover of Understanding Linux network internals
    2009–2020

    Understanding Linux network internals

    Christian Benvenuti
    2 recommend · 7
    Cover of Linux System Programming
    2009–2026

    Linux System Programming

    Robert Love
    1 recommend · 5
    Cover of Operating Systems
    2007–2026

    Operating Systems

    Andrew S. Tanenbaum
    63 recommend · 115