3 ms·
Not disagreeing (completely) with you, but worth pointing out the very next question in the interview I quoted above looks like this: > What about device suppo
by uticus 2y ago
Not disagreeing (completely) with you, but worth pointing out the very next question in the interview I quoted above looks like this:
> What about device support?
> Chuck: You have a subroutine for each device. That’s a library, not an operating system. Call the ones you need or load the ones you need.
...for sure it's a departure from the common way of doing things, at least. And it's almost impossible to imagine, today's generation would have to look at retro-computing to see something akin to the idea [0] [1].
[0] https://en.wikipedia.org/wiki/Commodore_64#BASIC https://en.wikipedia.org/wiki/Commodore_64#BASIC
[1] https://dfarq.homeip.net/commodore-64-operating-system/ https://dfarq.homeip.net/commodore-64-operating-system/
- AnimalMuppet 2y agoNo, I can imagine it. I worked on an embedded device that I think worked this way (vxWorks), though I didn't get into the device driver side of things very much. But it's still a bad approach for general computers, for two reasons. 1. With the current setup, we need an OS that detects the hardware and loads the right code. With Chuck's proposal, that responsibility - and the code to do it - moves to every application. Since there are far more applications than OSes, this is highly inefficient. 2. Let's say I buy an application, and then some time later I buy a new computer. If the new computer has a compatible OS, I can just run the existing program on the new computer. But under Chuck's approach, I need a new version of the program as well - one that knows how to detect the new hardware, and what drivers to load in response. So (virtually) nobody is going to do it that way. It might have made sense when you were fighting for every byte of memory, but that isn't the world we live in any more, and it hasn't been for decades.
- skydhash 2y agoI think the linux kernel is close to that. And if you go with a minimal distro like alpine, then you're not that far away from what is described. Compare it to MacOS where just launching a program is a whole shenanigan. I have a small digital audio player running linux and the interface is a single program. I like OS for their flexibility, but when I look at my computing needs (as a user), I'd be fine with just a small list of software. Anything else is nice, but not "essential". I think that's why iPad has been successful, it's the graphic DOS. You launch an app and for all purposes, it may be the only one running on the hardware.