8 ms·
the time for grand OS ideas has long passed. here's an eulogy by one of the authors of plan9 and inferno (you won't hear anything from the authors of other oper
by f2f 10y ago
the time for grand OS ideas has long passed. here's an eulogy by one of the authors of plan9 and inferno (you won't hear anything from the authors of other operating systems except tannenbaum):
http://herpolhode.com/rob/utah2000.pdf http://herpolhode.com/rob/utah2000.pdf
- mveety 10y agoNo it hasn't. There's a ton of cool shit that hasn't been invented yet. What's stopping research is (as rob more or less states) researchers want to make a usable system more than they want to make an interesting or innovative one. It's going to happen again someday. It has to, a gaping hole like this will get filled in.
- sirtaj 10y agoAlso, in the sixteen years since then some of the core Plan 9 ideas like network block devices, union filesystems, user-space/user-managed mount points and other use of namespaces have indeed made it into other OSes. Perhaps not with the purity that the Plan 9 developers hoped for, but in the end we use computers to get work done.
- pjc50 10y agoSystems which aren't usable don't get used, and so the research stays in the lab. OS choice is a market dominance issue.
- mveety 10y agoThe goal for a research OS isn't market dominance or to have users. It's to test ideas.
- deleted 10y ago[deleted]
- turkeysandwich 10y agoWhat about Mirage OS?
- joushou 10y agoMirageOS is a unikernel framework - not a general purpose OS.
- turkeysandwich 10y agoIt's not a general purpose OS. But it's an OS nevertheless.
- xiaq 10y agoDespite of the pessimism, Rob's talk always has lots of refreshing insights and inspirations. But I also wonder that after several years in Google, how Rob would see systems software research today. (He is not doing OS in Google; but since he claimed golang to be a "systems language", he uses "system" in a broader sense than OS).
- marssaxman 10y agoThis odd broadening of the term "systems programming" appears to be endemic to Google culture and is likely something he picked up after working there. It's worth paying attention to this if you are ever thinking about going to work at Google, because it is possible to have extensive conversations ahead of time about the sort of work one is and is not interested in doing, and still end up completely failing to communicate. "Library", "tools", and "file system" are other terms which have Google-specific meanings. This wouldn't be so much of a problem if you could just apply for a job directly, instead of having to be hired by Google generally and then getting assigned wherever they think you'll fit. (Is that still the practice, or have they improved things?)
- cm3 10y agonickpsecurity may expand on this, but there are many, many OS innovations dating back to the 60s, 80s, and 90s which haven't made it into the mainstream. Of all the things, I wish we would have gotten something of a combination of the ideas in Oberon and Eros, to have a high level systems language plus a secure system. I believe now is a better time than ever, given the lowered barriers to construct a device on top of a custom OS and spread it wide and far. The manufacturing chain has become more accessible than it was in the past and we have more viable candidates as systems languages to breath sustainable and risk-aware, strong life into such a machine.
- pjmlp 10y agoWhen I look at the architectures being pushed into developers via mobile OS (iOS, Android and Windows Phone), as well as, their development environments, I kind of see glimpses of those ideas. On the FOSS front I don't expect much innovation on that area, as the alternatives seem to just be yet another POSIX clone with the exception of unikernels research.
- nickpsecurity 10y agoTo save time, I gathered some UNIX alternatives and nice architectures into a pasteable link: https://news.ycombinator.com/item?id=10957020 https://news.ycombinator.com/item?id=10957020 Quite a few features have moved into mainstream. Often not as consistent as before. There's actually plenty more in the making over past decade. The comments here would make you think there's not innovation in CompSci but there is. JX is a nice, recent example where they do a capability/isolation-like architecture, implement it via language-based security in VM, make it faster than many microkernels, put half the drivers in VM, and run that & other parts of drivers on microkernel for lower risk. Already have a web server to show usefulness. Clever stuff that might be good in appliances maybe with MINIX 3-like self-healing. For old ones, Burroughs stays top on my list given they scientifically designed a HW/SW combo from a language report (ALGOL) to be ideal machine for it. You usually worked closer to algorithm level instead of low-level with good reliability/security. KeyKOS had fine-grained isolation of everything plus persistence where your data... whole running system... would likely survive a crash. VMS's clustering and central support for clustered apps was so good that you basically just configure the boxes, tell the apps to use OS functions, set policy, and you're good to go. 17 years uptime on highest one. Convergent's CTOS and Tannenbaum's Amoeba both made a collection of workstations act like one mainframe or minicomputer OS with all resources shared for max utilization. We have Grid Computing but clean integration. The most interesting stuff for developers and hackers was in LISP machines, esp Genera. Features from LISP that should go into every programming language: interactive running commands for testing; incremental, per-function compilation; live updates of that to running app for instant results. Combined with safe typing, this would let you crank out code like lightening. The OS itself was implemented with this high-level, highly-debuggable, live-updating language. It came with source. So, you could trace a problem in your app from it to system call seeing actual source code of OS along with current, running state of how it was being [mis]used. You could then correct the system if you chose to keep it running. Live updates and modification of your own running system with same language from apps all the way to bottom of OS is just unheard of today. Needless to say, they rarely crashed outside of hardware failure. :) Far as mobile, most of the work is going into isolation and virtualization mechanisms, some with TrustZone, etc. OKL4 was best result there. I don't follow mobile as much & search engines are often clogged. Some Google wrangling got me these innovations. https://engineering.purdue.edu/~xzl/xsel/papers/asplos12.pdf https://engineering.purdue.edu/~xzl/xsel/papers/asplos12.pdf Reflex addresses heterogenous programming of fast and low-power CPU's. Manual, tedious process. They applied old concept of software DSM to make it easy. I'm a DSM fan since supercomputer days so that's awesome. http://askarov.net/oakland12.pdf http://askarov.net/oakland12.pdf http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.59.2606&rep=rep1&type=pdf http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.59.... https://arxiv.org/pdf/0707.0762.pdf https://arxiv.org/pdf/0707.0762.pdf https://www.cs.cornell.edu/people/egs/papers/magnetos-mobisys.pdf https://www.cs.cornell.edu/people/egs/papers/magnetos-mobisy... Alright, I've thrown a few others above that illustrate different ways OS research is going. Last two are modern grid OS's with one quite innovative in that it works on ad hoc networks whose assumptions are as bad as WAN's. The 2nd one has lots of references to interesting systems. Should give you a taste of clever stuff going on in mobile and grid that you might have missed.