The conversation

Lessons learnedExperience excerpt · English

I started this career writing my own tiny OS in my teens ( https://github.com/1player/klesh ) and …

… I started this career writing my own tiny OS in my teens ( https://github.com/1player/klesh ) and for 20 years I've been wanting to go back, with all the experience I have accumulated. Just don't make it another UNIX, please. We have enough of those already ;)

Original discussionInterview with Andreas Kling of Serenity OS (2022)176 source comments · at import
3

What was this responding to?

Parent context · original excerpt

JO

I'm increasingly tempted to try my hand at making a toy OS - or at least a kernel. There's a few things I desperately want an operating system to do: 1. Have either database-like transactions or (at a minimum) write barriers for file operations. The current filesystem semantics are terrible for databases and other applications which need to not corrupt their data after a crash. fsync() is too heavy, because you can't issue subsequent writes while waiting for fsync. Write barriers have better ergonomics (so, less complex, less buggy database implementations). And they're finer grained - so databases can also run much faster. Seriously, I could rant for hours about this. It drives me nuts. 2. Use event queue like semantics for subscriptions. There's dozens of OS APIs in which the OS exposes some data to applications where the data changes over time. Eg, filesystem watching, USB device inse…

Full original

Community replies 0

No community replies yet. Add your perspective.

Replies from the source 3

Direct replies available in this import. Original-language excerpts.

JO

> Just don't make it another UNIX, please. We have enough of those already ;) Hah thanks for the encouragement! Don't worry, there's no danger on that front. I'm pretty thoroughly bored of the "everything is a file" motif. I do like unix's idea of making large programs out of small programs that can be composed together. But unix's raw byte streams make a terrible messaging bus.

Full original
0X

> You haven't lived until a bug of your own causes a triple-fault exception that causes a literal system shutdown. On the OS I work on, I deliberately added a triple fault trigger as a fallback method of rebooting the system if the "normal" methods fail, which I have seen before. To anyone looking to play with writing their own OS, definitely just do it. It's a lot of fun, and there's almost no limit to how much you can learn. With QEMU and bochs, and VirtualBox, etc... it's not that hard getting started. If you want to play around without starting from scratch, but find Linux source too complicated, give OpenBSD a look. Not that Linux is that hard, but it takes some getting used to how they do things. I find OpenBSD considerably more approachable.

Full original
TH

>but for a software engineer, writing a OS is the closest thing we have to the exhilarating feeling of seeing your code affect real hardware. Unless you want to muck about with toy robotics or home automation.

Full original
Continue on Hacker News

Respect different perspectives. Share concrete experiences.

Sign in to post, reply, repost, and quote.