4 ms·
It's been inspiring watching SerenityOS come to life with every update. One of the things I look forward to at the start of every month is SerenityOS's monthly
by mythz 5y ago
It's been inspiring watching SerenityOS come to life with every update.
One of the things I look forward to at the start of every month is SerenityOS's monthly update, this was the latest January 2022 update where they've done a port of Half Life and their continual improvements to their libGL implementation:
https://www.youtube.com/watch?v=DL-RCV5a-C4 https://www.youtube.com/watch?v=DL-RCV5a-C4
Due to the sheer gravity of the task it may not ever become a mainstream OS but because its entire source code is built from scratch and all maintained within the same repo, it's easily able to prototype new OS features you're unlikely to see anywhere else. In that regard it's possibly the easiest codebase to prototype new OS features given you can make changes to any part of the OS & view changes immediately.
- ncmncm 5y agoThis is a very important role for alternative OSes. What makes Serenity OS and others like it useful for this purpose is that they have much less unnecessary complication, so that much more of the effort can go into actually experimenting with the feature, as opposed to trying to slot it in compatibly with all the historical baggage. Another useful quality is how they can demonstrate that a language some insist is unsuitable for kernels is, in fact, much better suited. You cannot write a whole competitive desktop OS almost single-handed without some decisive advantages. Serenity OS is coded in modern C++, and leans hard on its strong support for writing cleaner code. An OS kernel, besides providing a platform, is a big program. Any big program makes heavy demands on programmer and language, independent of its purpose.
- native_samples 5y agoThere's nothing controversial about writing kernels in C++ though. Windows, Apple, BeOS, etc - basically every commercial OS has used C++ or a subset in the kernel for decades. Linux is an outlier.
- KronisLV 5y ago> Due to the sheer gravity of the task it may not ever become a mainstream OS but because its entire source code is built from scratch and all maintained within the same repo, it's easily able to prototype new OS features you're unlikely to see anywhere else. In that regard it's possibly the easiest codebase to prototype new OS features given you can make changes to any part of the OS & view changes immediately. Isn't this a bit like what FreeBSD and other similar OSes do? To have a tightly integrated/tested base system with a set of software that it has, while maybe optionally supporting third party ports. Now, in practice you almost always end up with binary distribution of packages rather than building everything from source due to time/resource constraints, but there is definitely an argument to be made about less fragmentation, like much of the GNU/Linux software has.
- mythz 5y agoMaybe, but I've not seen anyone iteratively make changes to all layers of the OS and get instant feedback as Andreas frequently does. The Diablo port is a good example of this, whether it's missing C++ APIs, unsupported lang features, missing SDL port impl, toggling kernel features - it all gets done in a 1hr sit down session to produce a shiny new Diablo port. https://www.youtube.com/watch?v=ZOzZ8R4gphE https://www.youtube.com/watch?v=ZOzZ8R4gphE Another nice quality of SerenityOS is that the entire OS is written in modern C++ with everything being written from scratch to use the standard AK libraries which the entire OS and components use, i.e. there isn't any existing App that brings in their own string types or other utils.