4 ms·
"Applications are becoming so complex that they are miniature operating systems in their own right and are hampered by the existing OS protection model" Sure,
by GuiA 12y ago
"Applications are becoming so complex that they are miniature operating systems in their own right and are hampered by the existing OS protection model"
Sure, that's true for browsers, as they mention, and a few other degenerate cases (eg. virtualization software?) - but that's certainly not the case for the vast majority of applications I run (text editor, terminal, mail client, IM client, etc.). How does this argument hold?
- nekopa 12y agoEmacs.
- magpi3 12y agoAnd let's be honest: VIM has been heading in this direction for a long time as well, especially now that it had a built in python interpreter.
- pyre 12y agoIt's possible that the operating system on your desktop could take on an entirely different paradigm... E.g.: Hardware | Arrakis | __|__ / | \ Browser | System Services... Wrapper / | \ IM EMail Terminal
- nealabq 12y agoAs the OS gets thinner and more like a hypervisor, the apps and app-like VMs get more OS-like. One day the browser might have daemons. I'd guess at the same time all these pieces will continue to become more distributed. Hypervisors and apps will present distributed environments (storage, processing, failover), even more than they do today.
- stephengillie 12y agoAt one time, all an Operating System did was load other programs into memory so the processor would run them instead. All of the sandboxing, garbage collection, security, and other features were added to make it more usable.
- pyre 12y agoCorrect. The usability gain was not having to (e.g.) write your own printer drivers if you wanted your program to use a printer. But if nowadays (e.g.) printer controllers are smart enough to take on most of the tasks that the OS abstracts from processes running in under it, then maybe we can turn that abstraction into a much thinner layer between the processes and the hardware.
- anon4 12y ago> one day the browser might have daemons It already does. Just write an extension and schedule a function. The one thing I don't think you can do yet is listen on a socket. At least not without doing a websocket connection to a separate service. Or bringing a native component with you.
- icebraining 12y agoFirefox extensions can, and have always could. ChatZilla, for example, does direct access to IRC servers from Mozilla browsers since 2000, but even server sockets are possible[1]. Native components are also possible - they're called XPCOM components. Or you can use js-ctypes[2]. [1] https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIServerSocket https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/... [2] https://developer.mozilla.org/en-US/docs/Mozilla/js-ctypes https://developer.mozilla.org/en-US/docs/Mozilla/js-ctypes
- kbenson 12y agoIn linux, I imagine this would be implemented through cgroups. Since in systemd those are starting the play a prominent role in service configuration (for resource limiting and process location and control), this could eventually be quite easy to configure if implemented correctly.
- icebraining 12y agoThe problem is that cgroups are per-process; they don't allow for isolated areas inside processes that Arrakis is trying to achieve.
- mrmagooey 12y agoA lot of programs have more complexity than what is immediately obvious: * The Microsoft office suite has a VB interpreter for every application, * 3D (Blendr, Rhino) and graphics (gimp) tools have inbuilt python interpreters, * And, it seems like there's always notes coming out from postgresql about how to deal with os limitations/gotchas
- dangayle 12y agoSublime Text has a built-in Python interpreter too
- riquito 12y agoProbably they expose the same interpreter that started Sublime Text. If that is the case than Sublime Text is the complexity added ;-P
- magpi3 12y agoMost triple AAA video games would qualify as well.
- yzzxy 12y agoOr anything running a off-the-shelf 3D engine like Unity (?or Unreal?).
- laurent123456 12y agoBut the point still hold. Let's say the script interpreter of MS Office (or gimp or sublime, etc.) needs access to the hard drive. The system, no matter how locked up, still needs to give full access to the hard drive, unless they want to break the app. From there, the same exploits that were previously possible are possible again - they can, if they break out of whatever sandbox is in place, access everything. I guess the OS might work better for apps that don't need these rights to begin with, but then these apps usually aren't much a problem in regular OSes anyway.
- 12y ago
- rat87 12y agoI don't think that's even true for browsers, browsers depend on os functionality such as a filesystem.
- gcb0 12y agoReading the linked page i feel this is geared towards vms. I can only imagine this being convenient for machines running nothing but something like docker
- GuiA 12y agoThe first example they mention are browsers- not the kind of application you typically run in Docker.