Live data from Hacker News

Interview with Andreas Kling of Serenity OS (2022)

corecursive.com

71–80 of 181 posts

Re: Interview with Andreas Kling of Serenity OS (2022)

#71
post #12
post #11

Earlier quoted context omitted.

> 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.

You're on the right path! My area of interest is actually making messaging (a-la-Smalltalk/Erlang) the root idea everything is built upon, rather than the file stream. The file metaphor made sense in the 1960, not in an ultra-networked world of heterogeneous CPUs. IMO, communication should be the basis of computing. Which also means inventing a language to build this novel paradigm. As Dan Ingalls said, an operating…

Why a new language? Why not build an OS around Erlang?

I present Crazierl: https://crazierl.org/

My crazy hobby OS vision of boot to Erlang. I've been working on this for a couple years now, recently made it public as part of a PR to v86 [1] (which is amazing, by the way). 32-bit x86, has drivers for virtio and rtl-8168 (but not ne2k, so no networking in v86, sadly), works with SMP. Probably not better than running beam as init with a FreeBSD kernel, but was more fun?

[1] https://copy.sh/v86/

Re: Interview with Andreas Kling of Serenity OS (2022)

#72
post #2

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…

I think macOS/Darwin does have write barriers like you want.

Re: Interview with Andreas Kling of Serenity OS (2022)

#73

Earlier quoted context omitted.

Why is this "hacky"? I've long wondered why databases need to be on filesystems, other than simply convenience. If you think about it, a filesystem is, itself, basically a database (not a relational one of course). So it seems like you could improve performance a lot by eliminating the filesystem layer and going straight to direct disk access. Also, how this would be done would probably change depending on whether yo…

I'd like to go the other way, and have a filesystem that leverages a proper database for its metadata. I can search millions of records in a split second in SQL. But searching records on my hard disk takes enormously more time. The solutions out there for speeding it up (like Windows Indexing service) rely on asynchronous indexing that's patched on top of the filesystem instead of integrated realtime within it, and a…

The reason indexing services don't work synchronously is because it would cause file IO to get far slower than apps expect, and that can break user interfaces and cause unexpected slow downs. There's also no real reason for it to be synchronous in most cases.

Re: Interview with Andreas Kling of Serenity OS (2022)

#75
Serenity is one of the only recent OS projects that I think has any potential. It's a very high velocity, high quality project and I think that's down to the community culture Andreas has fostered. They aren't a load of fuddy-duddies who insist on using mailing lists and IRC. Nobody wants to collaborate with a load of grumpy greybeards.

Re: Interview with Andreas Kling of Serenity OS (2022)

#76
https://src.ix.cyb.red/tomo-el-fuego/

my hobby os is a fork of inferno, but mostly for dis and the ports structure. i've been slowly working towards converting the userspace into something akin to the old symbolics systems. basically a unikernel/language kernel with AOT bytecode and optional JIT. the project is heavily inspired by the s/m lang ideas originally proposed with LISP.

i had never done osdev-level c-programming when i started on the project, but its been a really fun learning experience.

Re: Interview with Andreas Kling of Serenity OS (2022)

#78
post #74

“An operating system is a collection of things that don’t fit inside a programming language; there shouldn’t be one” - Dan Ingalls 1981

That's a really terrible definition that dates from before multitasking, GUIs, and window systems and desktops.

Re: Interview with Andreas Kling of Serenity OS (2022)

#79
post #70

Another suggestion: replace syscalls with io_uring-like command queues.

Apparently io_uring has been a security nightmare to the point that Google disabled it. I don't know the details but you'd definitely want to ensure you aren't repeating those mistakes.
Post reply on HN