Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Were the quiz questions generated by a human or AI?


The very first sentence of the guide is "It's not X—it's Y. It does Z". Safe to assume the entire thing is AI generated.


Can you please elaborate what exactly is the problem with the first sentence?

"The kernel isn't a process—it's the system. It serves user processes, reacts to context, and enforces separation and control."

This is actually based on "The Kernel in The Mind" by Moon Hee Lee. You are welcome to provide feedback.


> This is actually based on "The Kernel in The Mind" by Moon Hee Lee.

This looks like a really interesting resource. Can anybody here vouch for its accuracy or usefulness? I can't find a ton about it online. The fact that it's only published as a series of LinkedIn posts, or a PDF attached to a LinkedIn post, does not fill me with confidence - but I guess we can't expect kernel devs to know how to create websites?


Is it or is it not AI generated? That's all I said, and you didn't deny it.


Focus! Whether it's AI generated or not is a form of ad hominem. Attack the content, not how it came to be.


Calm down. You had the answer served on a platter.

From "The Kernel in the Mind":

> The Kernel Is Not a Process. It Is the System.

https://www.linkedin.com/pulse/kernel-mind-moon-hee-lee-miwz...

It's X but Y came from elsewhere.


> This isn’t a guide to writing kernel code. It’s an effort to understand how the Linux kernel thinks.

> not of function calls, but of how the kernel responds

> The kernel is not a process but the very foundation

> The Linux kernel is not just a set of subsystems—it is a layered system that enforces structure at runtime

> This flexibility does not come from runtime detection or dynamic reconfiguration. It comes from structure.

> Identity is not discovered at runtime. It is defined before execution begins.

> The kernel doesn't view memory as a simple map, but as a responsibility

> Memory Is Not a Place. It’s a System.

> Memory safety relies on disciplined handoffs, not centralized control or type enforcement.

> The Linux kernel goes beyond executing code; it enforces strict control

> Kernel execution is not linear code—it’s structured control

This legitimately hurts to read. I think I'm going to have an aneurysm if I continue.


Do you have any constructive feedback on how I can fix it?


Have a human write it instead of ChatGPT.


In particular, one of the first questions is "What is the fundamental difference between the kernel and a process?" It rejects "The kernel is a special process with elevated privileges" (which is essentially correct) and prefers "The kernel is not a process—it's the system itself that serves processes," which is sort of wrong? The kernel represents itself as a process (process zero), because kernel threads also need scheduling. And it is privileged, obviously.


> The kernel represents itself as a process (process zero)

This isn't true of any modern operating system. Kernel code isn't confined to a single process or even a limited number of processes. Transitioning to kernel mode doesn't necessitate switching to a dedicated process. Prior to the emergence of CPU speculative execution vulnerabilities, it was common for kernel code to be mapped directly into the virtual address spaces of userspace processes.

PID 0 is merely an implementation detail of the scheduler shared among many Unices. It doesn't function like a normal process, nor is it an accurate representation of how the large part of the kernel operates.


This article (and comment you’re replying to) is about Linux, which does represent its own threads as pid 0. Yes, there are concepts that aren’t threads. Nevertheless, in a very real sense the kernel is a special process zero.


Again, no it's not. Most kernel code doesn't run as PID 0. What you're talking about is the idle task, a very small part of the kernel.

I also did have Linux in mind when writing my comment, but this is basic to how any major general purpose operating system works. Besides, I can't possibly exclude Linux when I say "any modern operating system."


The kernel has many, many threads other than the idle task. Ok, some of them technically have pids other than zero because this is how Linux implements threads. But they all share address space, like threads in any other process. I count, you know, 265 kernel threads on a random Linux system.


Some kernel threads, besides the idle task, have PIDs other than 0? You mean literally all of them.

More crucially, kthreads are supplementary components of the Linux kernel. They represent just one method of running tasks asynchronously and don't represent the entirety of the kernel.

At this point you’re arguing over technicalities to somehow validate your objectively incorrect statements. The kernel isn't "special process zero," period. The kernel isn't a process. You can't rely on a process to implement the machinery required to run processes. Furthermore, the parts that do have PIDs aren't even assigned PID 0, except for the idle task.

If you don't believe me, just ask the kernel itself. There is no /proc/0.


Also in Chapter 6 1. What is the relationship between CPU state and kernel state?, it prefers "CPU is stateless; kernel manages state" instead of "They share state equally". I also wouldn't divide it down as "equally" as the kernel manages much more state, but CPUs have registers and cache lines so I wouldn't say they're stateless either.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: