I thinks this 1,000 OS book is a good start for beginners before diving into the MINIX book. MINIX book describes more practical designs, with a more feature-rich implementation. However, UNIX features such fork, brk,…
Thank you! If you've written some programs (ideally in C), you're good to go. You might stuck on some concepts, but you can learn one by one. IMO, implementing it makes you to understand the concepts more deeply, and…
Thank you. My efforts on preparing both EN/JP translations paid off :D
No it's "left as an exercise to the reader" ;) But seriously, it's not that hard. Change build options to generate 64-bit ELF, replace all 32-bit-wide parts (e.g. uint32_t, lw/sw instructions), and implement a slightly…
Copy-and-pasting to ChatGPT. Machine translation (JP to EN) before this LLM era was already high quality, but LLM does a really great job. It does not translate as is, but understands the context, drops unnecessary…
Unfortunately not. Maybe I'll write another online book like this in English, after building a more practical microkernel-based OS. It's a very interesting topic indeed :D
TIL. It's too late for this book, but I'll try it in the next one.
So do I :D I was wondering that too. I'll update it with other examples (x86 and Arm).
Author here. I wrote this book so you can spend a boring weekend writing an operating system from scratch. You don’t have to write it in C - you can use your favorite programming language, like Rust or Zig. I…
Good point. As you say Kerla lacks unit tests I focused on running a SSH server as soon as possible. IMO, writing and running tests in the kernel space is pretty easy thanks to Rust’s flexible testing feature [1]. [1]:…
I’m not sure this answers what you asked, objects that are referenced from multiple objects are simply wrapped with Arc<T>.
About 3-4 months in total: took 1.5 month to run a simple Hello World program, 1 month to implement bunch of system calls, and another 1 month to implement features essential to run Dropbear SSH server (tty/pry, bug…
In addition to its huge contribution to OS development in Rust, as a microkernel enthusiast, it sounds exciting to writing a microkernel in Rust, in the "Everything is a URL" principle. Moreover, it can run a…
The most challenging point is, as others said, the lack of the compatibility with Linux Driver API. I believe it would be really hard to implement and keep following changes in Linux. An idea in my mind is to use Kerla…
Thanks! By the way, your MUTEX_WITH macro looks pretty interesting to me. I've never seen the idea.
Thanks! I'll keep doing Just for Fun :D
Author here. I've made the demo system public [1] but it's written just for me so it should be painful to set up the same environment. The mechanism is pretty simple: a Node.js server (running on genuine Linux) listens…
Author here. I'm surprised to see my hobby project on Hacker News. I know this kind of stuff spark the ``it's meaningless to rewrite everything (especially Linux) in Rust'' debate. I agree 100% that rewriting Linux in…
I thinks this 1,000 OS book is a good start for beginners before diving into the MINIX book. MINIX book describes more practical designs, with a more feature-rich implementation. However, UNIX features such fork, brk,…
Thank you! If you've written some programs (ideally in C), you're good to go. You might stuck on some concepts, but you can learn one by one. IMO, implementing it makes you to understand the concepts more deeply, and…
Thank you. My efforts on preparing both EN/JP translations paid off :D
No it's "left as an exercise to the reader" ;) But seriously, it's not that hard. Change build options to generate 64-bit ELF, replace all 32-bit-wide parts (e.g. uint32_t, lw/sw instructions), and implement a slightly…
Copy-and-pasting to ChatGPT. Machine translation (JP to EN) before this LLM era was already high quality, but LLM does a really great job. It does not translate as is, but understands the context, drops unnecessary…
Unfortunately not. Maybe I'll write another online book like this in English, after building a more practical microkernel-based OS. It's a very interesting topic indeed :D
TIL. It's too late for this book, but I'll try it in the next one.
So do I :D I was wondering that too. I'll update it with other examples (x86 and Arm).
Author here. I wrote this book so you can spend a boring weekend writing an operating system from scratch. You don’t have to write it in C - you can use your favorite programming language, like Rust or Zig. I…
Good point. As you say Kerla lacks unit tests I focused on running a SSH server as soon as possible. IMO, writing and running tests in the kernel space is pretty easy thanks to Rust’s flexible testing feature [1]. [1]:…
I’m not sure this answers what you asked, objects that are referenced from multiple objects are simply wrapped with Arc<T>.
About 3-4 months in total: took 1.5 month to run a simple Hello World program, 1 month to implement bunch of system calls, and another 1 month to implement features essential to run Dropbear SSH server (tty/pry, bug…
In addition to its huge contribution to OS development in Rust, as a microkernel enthusiast, it sounds exciting to writing a microkernel in Rust, in the "Everything is a URL" principle. Moreover, it can run a…
The most challenging point is, as others said, the lack of the compatibility with Linux Driver API. I believe it would be really hard to implement and keep following changes in Linux. An idea in my mind is to use Kerla…
Thanks! By the way, your MUTEX_WITH macro looks pretty interesting to me. I've never seen the idea.
Thanks! I'll keep doing Just for Fun :D
Author here. I've made the demo system public [1] but it's written just for me so it should be painful to set up the same environment. The mechanism is pretty simple: a Node.js server (running on genuine Linux) listens…
Author here. I'm surprised to see my hobby project on Hacker News. I know this kind of stuff spark the ``it's meaningless to rewrite everything (especially Linux) in Rust'' debate. I agree 100% that rewriting Linux in…