Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
nuta
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
1.
▲
by
nuta
2y ago
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, and tty are not intuit
2.
▲
by
nuta
2y ago
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 learn more th
3.
▲
by
nuta
2y ago
Thank you. My efforts on preparing both EN/JP translations paid off :D
4.
▲
by
nuta
2y ago
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 sligh
5.
▲
by
nuta
2y ago
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 expressions (important!),
6.
▲
by
nuta
2y ago
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
7.
▲
by
nuta
2y ago
TIL. It's too late for this book, but I'll try it in the next one.
8.
▲
by
nuta
2y ago
So do I :D I was wondering that too. I'll update it with other examples (x86 and Arm).
9.
▲
by
nuta
2y ago
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 intentionally made it not UNIX-
10.
▲
by
nuta
5y ago
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]: https://os
11.
▲
by
nuta
5y ago
I’m not sure this answers what you asked, objects that are referenced from multiple objects are simply wrapped with Arc<T>.
12.
▲
by
nuta
5y ago
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 fixes, …).
13.
▲
by
nuta
5y ago
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 good-looking GUI on a
14.
▲
by
nuta
5y ago
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 for virtualized envir
15.
▲
by
nuta
5y ago
Thanks! By the way, your MUTEX_WITH macro looks pretty interesting to me. I've never seen the idea.
16.
▲
by
nuta
5y ago
Thanks! I'll keep doing Just for Fun :D
17.
▲
by
nuta
5y ago
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 on tcp:22.
18.
▲
by
nuta
5y ago
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