(no title)
craigmart | 4 years ago
Because existing desktop applications can be ported to ToaruOS
>why not a safer microkernel, keeping everything in userspace?
This is a design choice, microkernels aren't necessarily better than hybrid, they're slower, harder to debug and process management can be complicated
eggy|4 years ago
Any other OS recommendations base on my ignorant, but wishful, reqs above? I realize there are some others in Rust too. Thanks!
[1] https://github.com/jart/sectorlisp
adrian_b|4 years ago
Nevertheless, the first thing after defining a new OS interface must be writing a POSIX API translation layer, to be able to use without modifications the huge number of already existing programs.
Writing a new OS is enough work, nobody would have time to also write file systems, compilers, a shell, a text editor, an Internet browser and so on.
After having a usable environment, one can write whatever new program is desired, which would use the new native OS interface, but it would not be possible to replace everything at the same time.
Besides having a POSIX translation layer, which can be written using as a starting point one of the standard C libraries, where the system calls must be replaced with the translation layer, some method must be found for reusing device drivers made for other operating systems, e.g. either for Linux or for one of the *BSD systems.
Nobody would have time to also write all the needed device drivers. So there must exist some translation layer also for device drivers, maybe by running them in a virtual machine.
The same as for user applications, if there is special interest in a certain device driver, it should be rewritten for the new OS, but rewriting all the device drivers that could be needed would take years, so it is important to implement a way to reuse the existing device drivers.
a-dub|4 years ago
it looks pretty cool, although the url thing seems yet to prove its utility. they seem to be playing around a bit with using the protocol component (net, disk, etc), but it's unclear what this adds over just using paths. although maybe if they used the protocol to describe the encoding of the data, it would add something?
yjftsjthsd-h|4 years ago
I was basically on board, but how are they harder to debug? I'd think being able to run components in userspace would make debugging way easier.
mjgerm|4 years ago
md8z|4 years ago
If you want to support the lion's share of desktop applications, it would actually be better to implement the Win32 API...
craigmart|4 years ago
fouc|4 years ago
bregma|4 years ago
Full disclosure: I maintain QNX toolchain.
guenthert|4 years ago