3 ms·
They seem to be rolling their own HAL? Quite terrible if you think about it. Someone should really start a project that strips down Linux to the point that you
by tinco 12y ago
They seem to be rolling their own HAL? Quite terrible if you think about it. Someone should really start a project that strips down Linux to the point that you could use its HAL for projects like these. I've heard things like USB or Ethernet drivers are incredibly hard to implement, let alone graphics drivers.
If we want a future in which it is feasible to design an operating system from scratch we really need some nice way of decoupling HAL implementations from the OS. At the moment we can't even separate graphics drivers from window systems, so perhaps it's a naieve desire.
- Rusky 12y agoAn exokernel design would allow for that sort of thing pretty nicely- it strips the kernel down to essentially just the drivers. Everything else could be added either to the kernel in a fork or to user space. Linux graphics drivers actually already use an interface pretty similar to an exokernel, and new APIs like Mantle and Metal are even closer.
- leccine 12y agoYou can forget about Linux in this regard. It is a giant bloated blob where "striping down" is very hard. On the other end there are some promising projects like http://osv.io/ http://osv.io/ or Minix. Actually Microsoft did a good job on separating graphics drivers from everything else, to the extent when you can just restart the driver when it crashes.
- thegeomaster 12y agoThis reminds me of the Tanenbaum–Torvalds debate [0]. It's interesting to see how a microkernel approach is today more useful for derivative projects and a monolithic blob like Linux is good only for distribution as Linux as a whole. [0]: https://groups.google.com/forum/#!topic/comp.os.minix/wlhw16QWltI[1-25-false] https://groups.google.com/forum/#!topic/comp.os.minix/wlhw16...
- pjmlp 12y agoWhich was part of the original Windows NT design actually.
- justincormack 12y agoWell you can use the NetBSD drivers pretty much anywhere you like, see http://rumpkernel.org http://rumpkernel.org - slightly more generally useful than the Linux ones as they are more portable and BSD licensed.
- ah- 12y agoOSv (https://github.com/cloudius-systems/osv https://github.com/cloudius-systems/osv) for example simply targets the virtualized hardware of popular hypervisors, which gets you pretty far.
- vertex-four 12y ago> Someone should really start a project that strips down Linux to the point that you could use its HAL for projects like these. Firefox OS is based on "Gonk", which is basically the kernel and HAL from Android with some extra bits stuck on. I suspect that could be used again, surely?
- narrator 12y agoYou can always work with pintos (http://web.stanford.edu/class/cs140/projects/pintos/pintos.html http://web.stanford.edu/class/cs140/projects/pintos/pintos.h...) or some other relatively simple 32-bit operating system if you want to get a feel for how to do this stuff from scratch. There's not a lot of point in it with Linux and all. Mostly it's a lot of tricky multi-threaded C programming.