nuta

Joined 11 years ago

Karma
463
Submissions
18
Member since
Nov 21
https://seiya.me
View on Hacker News

Recent submissions

Comment · 1 year 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 intuitive for beginners. By writing a toy OS first, readers can compare the toy OS with MINIX, and understand that UNIX-like is just one of many possible designs. That's an important perspective IMO.

Also, readers can actually implement better algorithms described in the MINIX book. It makes the MINIX book more interesting to read.

Comment · 1 year 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 that you won't notice when you just read textbooks.

Also, because the implementation in this book is very naive, it would stimulate your curiosity.

Comment · 1 year ago
Thank you. My efforts on preparing both EN/JP translations paid off :D
Comment · 1 year 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 slightly more complicated page table (e.g. Sv48).

Comment · 1 year 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!), and outputs a more natural translation.

That said, LLM is ofc not perfect, especially when the original text (or Japanese itself) is ambiguous. So I've heavily modified the text too. That's why there are some typos :cry:

Comment · 1 year 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
Comment · 1 year ago
TIL. It's too late for this book, but I'll try it in the next one.
Comment · 1 year ago
So do I :D

I was wondering that too. I'll update it with other examples (x86 and Arm).

Comment · 1 year ago
Comment · 5 years ago
Comment · 5 years ago
I’m not sure this answers what you asked, objects that are referenced from multiple objects are simply wrapped with Arc<T>.
Comment · 5 years 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, …).
Comment · 5 years ago
Comment · 5 years 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 environments like KVM where only limited device drivers are needed (virtio for example).

Comment · 5 years ago
Thanks! By the way, your MUTEX_WITH macro looks pretty interesting to me. I've never seen the idea.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton