All right, let's get started.
So this is going to be the lightning talk on Redox.
Good.
Yeah.
So hello, everyone.
Thank you for coming to my talk.
I'm Jacob.
I'll be giving you a very short introduction to the microchernal-based
unit-like OS Redox.
So essentially, Redox, yeah, Redox tries to be a unit-like operating system built on
top of a microchernal from which much of the post-exenabling functionality is incrementally
and continuously being moved into user-based.
Isn't inspired by many existing OSS, both monolithic and microchernal, like SCL4, the
BSTs, an importantly planned mine, from which much of the file system architecture is
arrived.
Redox has been in community development since 2015, and it's almost exclusively written
in rust.
somewhat ironically, even our C library, a real MC.
There are, of course, some third-party exceptions, like the Z-compiler and WebRoss
and NetSurf, etc.
The portability focus is not primarily on Cisco translation or virtualization, but you
implement post-ex from scratch, and this is on primarily in larger user-based components.
This, along with our maturing really C, has recently allowed porting loss to new applications.
For example, the cost-mix apps have been reused from the cost-mix desktop, and also we've
been able to port lots of regular C and rust software.
A bit about me, I'm an engineering physics student from Sweden, I'm going to read
Ox contributor for a bit now, and I'm currently maintainer as well.
I've been a summer's co-student and worked on I-O, user-space-ified, some previously
kernel things, done to band-paging, and this year also, I've been working on the analytics
project, UNIX-style signals.
You can check on my talk from yesterday to get a more detailed overview of the signal project,
but yeah, that one has been mostly finished.
I said to give a brief explanation of the architecture, again it's a micro-chernel, so the
things that normally would have been in kernel space on a monitor-thic kernel, instead
of a live-smoking user-space components.
This is on through an IPC protocol that is mostly file-like, so essentially you write these
schemes that sort of behave like fizes and user-space fusa.
Yep.
Yeah, these are called schemes, mostly for historical reasons, they were originally
Euro's schemes, but now they've been sort of downgraded to regular, mom points.
The Cisco API is intentionally unstable, and we hope we didn't break it as much as
possible in the near future.
Normally, a stable API would have made a lot more sense on a monitor-thic kernel, and
this is why Linux-USD presumably.
The burden of supporting old interfaces is not nearly that high when your kernel is
already that huge, but when your kernel is really tiny, old interfaces affected the
entire architecture.
So the way we handle a BI stability, is instead through our C library, so the stable
API is essentially in real-obsit.
Real-obsit is our C library, and it's almost again entirely written in Rust.
Only a few macros, et cetera, are not written in Rust.
Most of the other headers are actually C-bine-gen orders generated, and yeah, the
Rustification has allowed making the code safer, so we can, for example, encode C-strings
using the strong types of stuff.
There is both a Linux backend, which is quite similar to a minimalist C library, like
muscle, which is a thin wrapper of RolsterSchools on Redox, and instead uses the Redox
or key component.
So yeah, as with the status, the POSIX coverage has increased noticeably, recently.
For example, last summer we were able to record the Cophnic apps, so they're now the
defaults.
Also with dynamic linking being closer, we'll be able to improve development speed quite
a lot, and it's also improved the POSIX for self-hosting in the near-future, which still
isn't quite supported.
The signal project will allow for future user-based vacation, having sold one of the
major obstacles to that, and although there are some blocking buggy-scernly nuts stack,
I try this while we go cargo new, followed by cargo ROM, actually works in the
hell of a world example.
The things that currently fail is when you try to fetch creates from the internet and
unpacking large-torables, et cetera.
So yeah, I'll be doing the D-Mail now, let's hope this works.
There's the serial output there, as we have a bunch of user-based applications currently inherited
from Cophnic, we can open, yeah, we can just let we do it itself, and I, yes.
All right, so there is one there.
Can you explain a bit more what has changed with the schemes, because from everything is
the file, we're using everything is URL, so I assume that that was those schemes, and
what has changed there?
Okay, so your question is why we change from everything as a URL to everything as a file,
no, you mentioned that there are some changes in schemes, yeah, from one point I believe,
what has changed there exactly, I do not know.
Yeah, so previously schemes were sort of a top-level mount point, so like a bit similar
to Windows drivers, but with arbitrary names, and they were intended to act as a scheme
part of a URL, so you could for example do second, disk, column, slash, slash, and then
some path, but this colon slash, slash part makes politics compatibility really hard, because
politics allows any character except for the null character and the slash character itself
to be present in a file name, or in a path, and this means we more or less had to abandon
the scheme path format for it to be compatible.