News for hackers. Stuff that matters.
Re:Redox – A Unix-Like Operating System Written in Rust by ori_b on Tuesday November 13, 2018 @02:25PM (#18444000)
So, for example, can I replace my network traffic with a file for testing, by binding a scheme to a file on disk?
Re:Redox – A Unix-Like Operating System Written in Rust by Tuna-Fish on Tuesday November 13, 2018 @05:20PM (#18445473)
To do that, you need to use a driver that translates between a file: and ip: (or ethernet:, tcp:/udp: or network:, allowing binding at different levels of the stack), because the protocols allow different operations. Said driver of course runs in userspace (because microkernel) and already exists. (Because it's absolutely needed for development.)
Re:Redox – A Unix-Like Operating System Written in Rust by Koshkin on Tuesday November 13, 2018 @07:24PM (#18446211)
> driver that translates

That's something new... So, for the N-th device type in addition to the device driver I might need 2*(N-1) translating drivers!

Re:Redox – A Unix-Like Operating System Written in Rust by Tuna-Fish on Wednesday November 14, 2018 @12:09AM (#18447665)
Most of those would be meaningless, or require enough decisionmaking that the program between them cannot reasonably be called a driver. What kind of driver translates between audio and window system objects?

In any case, you only need 2N for translating both ways between file: and whatever: to get the same experience Unix does, and wherever that makes sense it is usually provided.

The win is of course that each of those protocols can be strongly typed and provide exactly all the operations that make sense for that protocol. Basically, think of all the things IOCTL does and give them their own names.

Re:Redox – A Unix-Like Operating System Written in Rust by ori_b on Wednesday November 14, 2018 @10:38AM (#18450633)
Ioctl was a horrible mistake, since it prevents configuring and introspecting devices with general interfaces and ad-hoc scripts.

This elevates the mistake, and polishes the worst of the early Unix conceptual fuckups.