Operating systems being developed?

Are there other Operating Systems other than Redox being developed using mainly Rust? If so what are the advantages of those other OS over Redox?

https://www.tockos.org is another one.

1 Like

Do you knnow the pros and cons by any chance between Redox and TcokOS?

TockOS is a realt-time operating system designed for microcontrollers, whereas Redox is a full-blown OS for desktop computers.

3 Likes

Oh I see.

It's very early in development, but I'm writing Pebble. Pebble is similar to Redox in that it's a microkernel and aims to keep as much in userspace as possible, but differs in that it uses message passing for IPC, lacks system calls, and focuses much less on compatibility with existing programs. The kernel has also been designed to be much more modular - the ACPI parser, for example, is split out as a separate library so other OS projects can use it.

On OS development in Rust in general: we have a Github organisation and a gitter for those interested in Rust kernel development, feel free to drop by whatever your experience level!

5 Likes

Thanks for the invite :slight_smile:

Since I don't understand much about techinogoy at this time (I hope I can in the near future), I don't understand what is the advantage of Pebble compared to Redox, is it supposed to be faster?

peble lacks system calls , is it like menuet ?, the exokernel ( probably fits the definition )

@Joe232 there isn't a definitive advantage to Pebble to Redox or vice-versa as far as I'm concerned - they just follow different design philosophies. Pebble is designed to keep as much as possible out of kernel-space, and so the kernel doesn't even have the concept of a filesystem, for example. The kernel:

  • manages processes and their address spaces
  • schedules threads
  • allocates handles (objects owned by processes or the kernel that can send and receive messages)
  • routes messages to their destinations

I was also perhaps a bit vague when I said that Pebble doesn't have system calls. The plan is to use "system calls" to handle yielding to the kernel (which will also pre-empt processes, but you can also manually yield if you have no more work to do). However, you don't make a system call when you e.g. need to open a file on the VFS.

@diegor8 I'd never heard of menuet, but I guess Pebble lies on that blurry line between microkernel and exokernel. We don't specifically give applications low-level hardware access (which I believe is the defining characteristic of an exokernel), but the kernel is very small. Writing an application for Pebble should be very similar to writing one for Linux (if I ever get there :P), it's just that behind the scenes things like the virtual file system will be handled by user-space daemons, rather than the kernel.

3 Likes

I see, thanks for letting me know.

One question, so I am assuming that Redox does have a filesystem in the kernel space but Pebble keeps the filesystem outside of the kernel space, so I am assuming this is going to make the system more secure, and since Pebble focuses on keeping everything outside the kernel space more than Redox, so essentially Pebble would be better than Redox in terms of security. But in terms of compatibility it would be worse?

You might be aware about it, but the naming has some chance of being misleading. The Pebble smart watches had their own OS and extension capabilities, so one could think that's the OS that was running on them.

Maybe not an issue anymore since Pebble no longer exists (but the software lives on in Fitbits).

Oh yeah I forgot about those smart watches.