7 ms·
It'd be really interesting to see some performance numbers. iirc, this was roughly predicted by Jonathan Blow who complained that in the 80s developers would r
by mjburgess 4y ago
It'd be really interesting to see some performance numbers.
iirc, this was roughly predicted by Jonathan Blow who complained that in the 80s developers would routinely bundle an OS with the app and it would run bare-metal
This would mean you could take any application made for, eg., x86, and run it on any x86 cpu -- rather than being "windows-specific" etc.
- galangalalgol 4y agoWith the advent of any-arch binaries, and fast emulation (qemu wasm), it probably won't matter if it is x86 or not.
- pjmlp 4y agoWhy advent? That was already standard on OpenSTEP.
- galangalalgol 4y agoCan you explain? I vaguely recall using it on sparc workstations a couple decades ago, but I wasn't coding for that target. A quick wiki read says it was an API framework that was "endian free" and that it trageted the three architectures that next ran on. Was it doing emulation for software using it? Or was it, itself a single binary? Or both?
- pjmlp 4y agoYou had all binaries on the same executable. https://en.m.wikipedia.org/wiki/Mach-O https://en.m.wikipedia.org/wiki/Mach-O
- pasc1878 4y agoAnd NeXTStep OpenSTEP's predecessor had already implemented it.
- pjmlp 4y agoMight have been, I mentioned OpenSTEP, because NeXTSTEP didn't need to be cross platform, that requirement only came to be with the former.
- nigerianbrince 4y agoMultitasking can go to hell I guess.
- cmrdporcupine 4y agoWhy? You can easily implement a scheduler. And there's multiple cores. And potentially multiple instances on the hypervisor.
- Jweb_Guru 4y ago"Easily" is doing a lot of work there.
- cmrdporcupine 4y agoYeah I re-read it later and was like.. ok, fine, I should put "easily" in quotes ;-) Still, it's entirely feasible.
- Corendos 4y agoI mean, if you have one task to do only, multi-tasking is kind of pointless yes
- dundarious 4y agoIt is nice to be able to listen to a podcast in the background while playing a game, and have the sound come out the same speakers/headphones. It's much harder to do that if the game runs bare metal.
- pjmlp 4y agoEach of those services can be a unikernel being managed by a type 1 hypervisor.
- dundarious 4y ago
- UltraViolence 4y agoWhy would you need an OS when you're running on bare metal? Isn't the whole idea of an Operating System managing shared and limited resources?
- progbits 4y agoIt's also about hardware abstraction. You don't want to rewrite your network stack for each platform but the unikernel can handle that. It doesn't have to be unikernel either, Linux without anything else, your code being PID 1 is also good: no cruft and extra services that can be security holes, but great platform support, optimized network stack etc. Of course if you just run on one hardware why not, just write the drivers you need.
- skrtskrt 4y agoHow would something like this support logging, telemetry, debugging, etc as part of enterprise-grade software clusters if it has “no other services”?
- ComputerGuru 4y agoIt manages the services itself. Your app is one level down the totem pole. The http bit is just another service managed by your app.
- deleted 4y ago[deleted]
- intelVISA 4y agoYeah an OS seems redundant here if you can just write freestanding bins.
- lordleft 4y agoIsn't this, in a very roundabout way, an echo of docker? Or at least the abstraction Docker relies on?
- agtorre 4y agoI definitely see this as an alternative route from docker containers / WASM.
- WastingMyTime89 4y agoYes, containers and unikernels are possible answers to the same issue. If you consider an application running on a virtualised OS you have three layers: hypervisor, os, application with some duplication of functionality between the hypervisor and the os. From there, if you want to simplify you can either add hypervisor-like isolation functionalities to the OS (containers) or move the little that’s actually needed from the OS into the application (unikernels). That’s why Docker bought MirageOS a few years ago.
- bumblebritches5 4y ago