I ask this because I use what I would call "a rather capable" 64-bit laptop that normally does nothing but yet can easily struggle with some web-based multimedia service running in a browser.
It is fascinating to see the emphasis on working with a broad range of hardware and low level features like the file system. Contrast this with something like SerenityOS where they spend so much time on things like the web browser and where many contributors are working on things like fonts and dialog boxes.
This leads me to ask, “what are your goals and ambitions for Redox?”. How should I be thinking about it? Who should be using it today and tomorrow?
Some people have asked what is unique about Redox as if being an OS in Rust is not enough. That is not really what I am asking.
If I am allowed to ask another question, “what’s next?”.
Improving this so it can be used to have permanent installs of Redox OS, and then improving rustc so those installs can build software for Redox OS (self-hosted), would accelerate development so we can take on bigger, higher level projects.
(P.s. thanks for starting the gargantuan task of writing a modern OS in a memory safe language)
I basically wish more OSs would allow me to easily isolate the different "topics" of my life like gaming, studying, banking, etc.
Also, are most syscalls async?
Syscalls are mostly sync, but with some syscalls for doing blocking operations asynchronously, like on Linux.
One question I have is: Is there any plan or prioritisation to get Firefox running on Redox? Totally understand if that's way down the line of prerequisites of course :)
I tried v0.6 a couple of weeks ago, shortly after TheRegister.co.uk had an article on it.
v6's major lack was self hosting and from the release notes it seemed far away, but with v7 it's now mentioned as one of the main user visible new features...
only I can't find 'rustc' or 'cargo', so I'm afraid that capability isn't quite there yet, correct?
Like your hardware btw. mine's rather similar only home-grown with same CPU and RAM, but an RTX2080ti GPU, 10Gbit Ethernet, dual NVMe but also dual tray-less 2.5" SATA SSD hot-swap enclosure, pretty much like 1.44" floppy disks at SSD speed and Terabyte capacity, so I can swap operating systems like floppies.
I'd love to have the same for NVMe, but those solutions are rare, pricey and most likely troublesome, unless you have retimers in place.
Going by the screenshot, I am guessing it'll require x86_64, and that I should built it myself for some other architecture (which ones are supported? This is not easy to find either, yet it belongs to the bulletpoint list in the front page).
Is it really Redirect-on-Write?
Would you mind sharing any details of your dev setup (HW/SW)?
I have loads of computers (which helps when doing OS work!) but my main one is my desktop. I have a System76 Thelio Mira with AMD Ryzen 9 5950X CPU, AMD Radeon RX 6900 XT GPU, 128 GB DDR4-3200 ECC RAM, a couple PCIe Gen 4 drives, and a couple larger PCIe Gen 3 drives. The most important parts of my setup, though, are my System76 Launch keyboard and 3x LG 27GL850 monitors. There's also probably a mouse somewhere.
This computer runs primarily Pop!_OS 22.04 LTS, but on those extra drives I often have some other OS's installed for testing. I also use loads of VM's, as you can probably imagine.
For apps, I mostly use Alacritty for my terminal, Firefox for my browser, and Vim for my editor.
Therefore, it is sensible that other approaches are being considered.
As soon as there's a working compiler it might be fun to implement something like gentoo's ports system, would be quite fun to run something like that as an excercise in how far pure rust can get you. :D
Actually the Rust ecosystem is doing some exciting work on supply chain security[1], but it would be good to have something like pacman-bintrans[2] supported from day one of any new distro.
[0] https://theupdateframework.io/
[1] https://docs.rs/cargo_crev_reviews/2022.122.1621/cargo_crev_...
It would be great if it could get some traction on Linux as any level of success on Linux would bring a relatively large audience and substantial testing. A filesystem also seems like the kind of place that Rust features would be very welcome. The fact that Linux is moving towards allowing Rust usage gives me hope that Redoxfs could make it into the kernel at some point.
I strongly doubt that within scope for a single developer, but I would absolutely love to be able to run Linux software on something that's not Linux.
I do see a lot of unsafe keyword, are they inevitable?