I'm pretty impressed that 37 people are capable of writing an entire OS with a gui in under a year. Looks really cool.
Redox – A Unix-Like Operating System Written in Rust
91–100 of 215 posts
Re: Redox – A Unix-Like Operating System Written in Rust
#92Earlier quoted context omitted.
Read the MINIX book. It's basically a walk-through (with source code) of entire operating system.
The book is over a hundred dollars. As someone who is working on a simple os and a college student, this saddens me. I'll have to see if my library has one.
Re: Redox – A Unix-Like Operating System Written in Rust
#93Re: Redox – A Unix-Like Operating System Written in Rust
#94Re: Redox – A Unix-Like Operating System Written in Rust
#95Re: Redox – A Unix-Like Operating System Written in Rust
#96Oh man if we could get hard realtime scheduling in early, large, critical embedded systems like medical would benefit greatly!!!$$$
While I'm not sure this fits with Rust's existing concepts of safety and correctness, it would be interesting (and not just for RT purposes) to have a language in which one could mark functions as <= some complexity (given the usual simplifying assumptions) or provably terminating, and have the compiler throw an error if it can't prove that those constraints are met. Does something like this exist?
Re: Redox – A Unix-Like Operating System Written in Rust
#97Earlier quoted context omitted.
There are. USB, SATA, SCSI and such share a lot of code between the drivers - but drivers are huge.
I would guess, that most of the size comes from history. Like, once it seemed a good idea to have it like that and later people found out there are a bunch of things missing. Now many of them have to be implemented on the driver side over and over again.
http://www.usb.org/developers/docs/
Just making a standards compliant implementation takes a huge quantity of code. And with a standard this complex people inevitably get it wrong, so you'll need workarounds for all the broken devices too.
Re: Redox – A Unix-Like Operating System Written in Rust
#98Very nice. It was time to do this. There are three near-term products to develop on this: - A small router (home/small office, not data center) - A DNS server - A BGP server Those are standalone boxes which do specific jobs, they're security-critical, and the existing implementations have all had security problems. We need tougher systems in those areas.
Far as your recommendations, I like those. I'll add a web server, Redox or UNIX compatible, that's efficient enough to be deployed in all these web-enabled embedded devices. The dynamic part can just be Rust plugins or something. However, just a robust Ethernet stack, networking stack, time API, and simple filesystem could be used to implement all of yours, the web server, and more. So, I encourage people building these OS projects to stay on 80/20 rule hitting features almost all critical things use. Others can jump in at application layer from there.
Re: Redox – A Unix-Like Operating System Written in Rust
#99Earlier quoted context omitted.
This looks outstanding, thanks for the link.
Project lead here. I haven't had time in the last few weeks to work on this, so the book is pretty far behind the kernel itself at the moment. Playing the long game. I was hoping to do some more today, in fact...
Re: Redox – A Unix-Like Operating System Written in Rust
#100Earlier quoted context omitted.
Ours didn't have a GUI. It took us less than a year to write and the team was never larger than 6 people. It's less complicated than it seems at first sight. There are a lot of things about machines that you need to understand, but the technology itself is relatively well-understood and sane practices are encouraged. It blows my mind that less than twenty people can string up something non-trivial with Node.js et co.…
As somebody who develops significantly complex in Node.js and considers operating systems to largely be black magic, I'd love to have a chat about this some day, and compare notes :)
Matter of fact, Wirth's people make OS's with type-safe code that are so straight forward I've always recommended starting with an AOS or A2 Bluebottle port to your language of choice.