6 ms·
Not strictly related, but I was thinking about this the other day: how long will it be before some group or company creates a truly new operating system that ta
by aerovistae 6y ago
Not strictly related, but I was thinking about this the other day: how long will it be before some group or company creates a truly new operating system that takes off?
I mean, the windows kernel is going on 20 years old. the Mac OS kernel is based on unix, which is even older. Linux is also based on unix. As are Android and ios.
The more we add to these operating systems, the harder it becomes to walk away from them because we have so much invested in them.
Does this mean that in 200 years we'll still be using the descendants of these early operating systems? Under what circumstances would someone decide to start something truly new? And what would it take to ever reach a feature parity with the existing options?
And to be clear, I'm not saying there's a reason to walk away from these. I'm not an operating system programmer, I don't even really know that much about it. I'm just wondering if it will always make sense to just keep adding to what we already have.
- rstuart4133 6y ago> how long will it be before some group or company creates a truly new operating system that takes off? You won't get another Windows / Linux / BSD. They do their jobs very well, and as WSL emulating Linux proves they are near interchangeable. I have no doubt Linux could emulate the Windows kernel near perfectly too if we had the Windows source to see what is required. When you've already go a slew of interchangeable parts, we create another one? If something new is to displace them, it's going to have to do something very different. The only thing I can see is not a replacement, but a security kernel that allows us to establish a trust chain from the hardware to some application. It wasn't necessary when the hardware sits on your lap or desk, but now we are tending to rent out CPU cycles from some machine on the other side of the planet and yet still want to have some assurance of privacy, they are becoming kinda essential. There are a number of proprietary ones out there now, but I think that's doomed to fail. No one in the right mind would put their faith in a binary that could be in cahoots with anybody, from the USA government to a ransomware gang.
- wilsonthewhale 6y agoIt's more likely for these systems to slowly evolve into something new rather than being replaced entirely. MacOS and Linux, at some level, are already very, very different than earlier unix systems. The BSD's are more conservative, but there's still systems being reworked across all of them (HAMMER in Dragonfly, pledge/unveil in openbsd, etc.). The ideas of unix will probably be with us forever, but the precise details of implementation are transient.
- ghaff 6y agoI suppose one could imagine something related to dataflow architectures, for example. But history still suggests betting on something that is an offshoot/evolution of basically all the mainstream operating systems we have today rather than a radical ground-up rethink.
- mysterydip 6y agoI think the answer to that lies in the past: what made us walk away from the OSes of the 70s/80s and move to new things? And in some cases, what made us stay? Application inertia is hard to overcome. You really need a killer feature and developer adoption to have a chance.
- jacquesm 6y ago> what made us walk away from the OSes of the 70s/80s and move to new things We never really did.
- core-questions 6y agoWe keep rediscovering Lisp, maybe one day we'll rediscover the Lisp Machine
- Wowfunhappy 6y agoHm... the Windows side did, right? I don't think there's any actual traces of MS-DOS left in Windows 10?
- bluepizza 6y agoParent probably means how NT comes from the minds of the VMS team, and borrows heavily from both VMS and OS/2.
- ethbr0 6y agoThe cardinal sin of computer science was a failure to understand the importance of defining and enforcing interfaces at module boundaries. The most successful project (internet + web) did a much better job. But legacy wise, we have a breakdown of boundaries at so many levels of the stack.
- bluepizza 6y agoBut there wasn’t really any other option back then, was there? Breakdown of boundaries meant squeezing more performance from both memory and CPU which were expensive and lacking.
- flyinglizard 6y agoThe kernels are a small part in the overall picture. Userspace apps today are abstracted under layers upon layers of runtimes and libraries, to the point your interaction with the OS is minimal if any. There’s simply no incentive to upend the current order; and to do that, you either need to control your hardware stack completely or get buy-in from vendors to develop drivers.
- Wowfunhappy 6y agoGoogle Fuchsia comes to mind.
- geofft 6y agoYou can have totally different models based on the same kernels. Android (Linux), Chromium OS (Linux including bits of Gentoo), and iOS (Darwin / XNU / Mach and BSD) all come to mind as very different OSes from traditional UNIX systems in terms of architecture, especially with regard to package management, updates, user accounts and access control, sharing files or making IPCs across applications, resource management, etc.
- tenebrisalietum 6y agoHere's my thoughts. They're not too well developed here to be honest. I'm probably wrong about some of this and need to research more. The "new thing after Unix" is already here and has been here for some time. It's called Hurd. It depends on a microkernel who's only job is to pass messages from different components, but microkernels don't work well (at least not better than monolithic kernels) on x86 due to context switching overhead. x86's maintain their architecture due to software compatibility. That's what we're really stuck on. A lot of improvements have been bolted on to x86, like cache, all the instruction stream acrobatics, SIMD, VMs, long mode, etc. but it's still "heavy" ; things are done to make it look fundamentally the same to existing programs. When CPUs start becoming cheap little tiny things set in a superfast fabric to talk and cooperate with potentially thousands of other cores (like GPUs) as fast as they can chew local instructions, and all the stuff with I/O is worked out, we're ready to take the next step. You can see a little bit of the future with things like the Cell BE, but it needs to be much higher scale to change what OS is dominant.
- throwaway_pdp09 6y agoSome questions if you will > but microkernels don't work well (at least not better than monolithic kernels) In terms of performance, isn't "at least not better" (meaning, as good as) sufficient for performance? Because the point of microkernels afaik aren't about better performance, but security (edit - and robustness). > on x86 due to context switching overhead how high is the extra overhead on hurd over a more conventional OS? TIA
- pram 6y agoHURD? lol are you kidding? It’s older than Linux, and wasn’t even “new” since NextStep was already using the Mach microkernel.
- tenebrisalietum 6y agoUnix itself is ~20 years older than Linux's start. NextStep implemented Unix atop a microkernel for security benefit. Hurd splits all the subsystems of Unix into independent facilities that are connected via the microkernel. One of them can crash and not affect the rest of the system, but also I got the idea reading about Hurd that there's no particular requirement one subsystem lives on a specific CPU or even machine as long as they can communicate. Maybe I'm thinking of Plan 9?
- ryukafalz 6y agoI really hope something like Genode takes off: https://genode.org/ https://genode.org/ The security model of today's desktop OSes is pretty lacking. There's no reason every application you run should have all of your authority right from the start, but generally right now they do. (Sandboxing can improve the situation but getting sandboxes right without restricting the user too much is difficult.)
- joshspankit 6y agoA personally fascinating situation that doesn’t get talked about much: 1. App is sandboxed, and has to ask for access to every bit of your information (photos, contacts, etc) 2. App asks at a time when it seems reasonable (I’m taking a photo and need to save it) 3. Now app has the ability to exfiltrate everything you just gave it access to (like all photos), and it now has that ability (in the majority of cases) without on-device oversight
- ryukafalz 6y agoRight, so there are few layers to this, and lots of them involve the system not following the principle of least authority. For example: - If you're just taking a photo and need to save it, why does the app need access to all your photos? Surely an append-only capability would be sufficient. - This depends on the app, but if you're just taking a photo why does the app need internet access? If the app is a typical camera app, it sure doesn't - you might often want to pass the data to an app that does (via e.g. a share sheet) but in general the camera app itself has no need to reach out to the internet. (And if it does, does it really need to be unrestricted access to the internet?) - Why is it so easy for apps to request access to everything and so hard for the user to say "no, actually you only get to see this"? (iOS has been improving this lately but it's still a pretty rare feature.) But yes also as you allude to, it's not obvious to the user what access a program has after it's been granted.
- yencabulator 6y agoThere's been talk about having the file picker dialog reside outside the specific app sandbox, and the app only receiving (revocable) capability to act on whatever the user authorized. That is, on file save the app would be handed essentially an open, writable and closeable, file descriptor -- the app might not even know the name of the file it's writing to. On file open, the app might be handed an open, read-only, file descriptor. Making such a mechanism usable for both the end user and the app developer gets complicated for sure, but the idea of not just permanently allowing "read+write ~/Photos forever" is definitely out there.
- npsimons 6y agoThere was a quote on slashdot long ago that has stuck with me: > When I was walking into NEC a couple months ago with my good friend at Red Hat, I asked him why he worked at a Linux company. He told me, "Because it will be the last OS". It took me a while for that to really sink in -- but I think it has a strong chance at becoming true. Any major advances in security, compartmentability, portability, etc. will wind up in Linux. Even if they are developed in some subbranch or separate OS (QNX, Embedded, BSD), the features and code concepts could (and most likely will) find their way into Linux. I think it's mostly true, and for me at least, Debian is the last distribution, because it's so well put together, IME. Same goes for Emacs, 'the 100 year editor'[0] and I've recently been getting into Common Lisp, 'the 100 year language'[1]. The Linux kernel has changed enough that you can't really say it's the same thing. Heck, even userland has changed substantially - who here remembers having to run MAKEDEV for userspace access to devices? But you can probably still find static binaries compiled in the late 1990's that will run on modern Linux. ABI wise, the Linux kernel is functionally backwards compatible, and that's nothing to idly dismiss. I think operating systems will keep morphing until someone makes a radical leap of progress that they can't adapt to. That's not to say that there are no advances still to be made. But as many observed in the discussion on DevOps[2], much of the activity in the sphere of information technology looks like busy work and not progress. [0] - https://sites.google.com/site/steveyegge2/tour-de-babel https://sites.google.com/site/steveyegge2/tour-de-babel [1] - http://www.paulgraham.com/hundred.html http://www.paulgraham.com/hundred.html [2] - https://news.ycombinator.com/item?id=25160461 https://news.ycombinator.com/item?id=25160461
- superkuh 6y ago>But you can probably still find static binaries compiled in the late 1990's that will run on modern Linux. On the otherhand it's random chance if a glibc-dep binary from a modern program compiled today will run on a linux install thats only 5 years old. And given the rapid addition of new compiler features it's getting to the point where GCC on a 5 year old install can't even compile a quarter of the programs written new today. Containers outside of their useful server-side context, containers for desktop applications, are the fever of this future shock.
- thotsBgone 6y ago
- stu2b50 6y agoI think the (dystopian, to most hackernews users evidently) future is that all OSes become nothing more than the layer necessary to run Google Chrome.
- heavyset_go 6y agoI feel like we're at that point already.
- heavyset_go 6y agoThe driver problem is even worse now than it was 20 years ago, in that there is quite a bit of hardware that we expect to work as a baseline these days. Each day things like FreeBSD become less and less of an option for general use, due to a lack of drivers. For example, it's a poor choice for newer laptops, as it doesn't have 802.11ac support. New kernels and OSes that show up are at a massive disadvantage compared to Linux because of this. I think that an OS that prioritizes being able to borrow drivers from Linux or one of the BSDs would give itself an advantage.
- mmphosis 6y agohttps://discourse.ubuntu.com/t/ubuntu-installation-on-computers-with-intel-r-rst-enabled/15347 https://discourse.ubuntu.com/t/ubuntu-installation-on-comput...
- unreal37 6y agoApple could create its own OS. They control the chips. They control the hardware. They could write the software in the middle.
- bananabreakfast 6y agoThey do. It's called Darwin. The kernel they created is called XNU and it was open sourced in 1996.
- zepto 6y agoThey have created their own OS. It’s quite different now from what they started with.
- pram 6y agoApple has created many of its own operating systems ...?
- fulafel 6y agoMainstream OS platforms (on desktop, server, mobile) are driven by path dependency, inertia and network effect. Embedded side is slightly less constrained but heavily weighed by those as well. Whether it would technically make sense to start a new OS has only peripheral relevance unless there are giant, overwhelming advantages (and few disadvantages) vs incumbent ones. Any credible attempt will have to be designed from the start to focus on comatibility with whatever it replaces, have huge investments to the ecosystem transition from the corporate owner, have credible commitment to the phaseout of the superseded OS, and be prepared for a very long transition period. Will be interesting to see what happens with Fuchsia. Its success might be a big loss to open computing though.
- bobthebuilders 6y agoFuschia is open source. Do you mean open in GPL? (God that sentence doesn't parse at all)
- fulafel 6y agoBy open computing I meant platforms that are user controllable and support general purpouse computing (insead of walled gardens). Android has been steering away from that position even though Google does still choose to publish AOSP as code drops. Being based on Linux has definitely helped to keep open a while longer. It feels likely that Fuchsia would in the best case have a similar role as Darwin.
- yjftsjthsd-h 6y agoI think some of that depends on what you count as "new" - if you're going to hold "inspired by" or "based on" against it, then there will probably never be anything new under the sun. This is both because, indeed, throwing away all existing standards/programs/drivers/interfaces requires an absurd investment and makes adoption unlikely, and because at some level it has all been done before - there just aren't that many ways to coherently store data, and files+databases+tagging turns out to cover pretty much everything.
- jen20 6y ago> I mean, the windows kernel is going on 20 years old. Windows NT shipped in 1993, so the kernel is closer to 30 than 20 at this point!
- makeworld 6y agoI have a feeling that quantum computing will require this change. Right now it's just proprietary tools to write and load software, but it will likely one day become a full OS, with a different paradigm than today.
- stjohnswarts 6y agoIt's not harder to walk away from them now than it was 20 years ago, probably easier now with so many things written in cross platform/web app format. I can't really agree with you. If someone comes up with a new OS that has some OMG 10X advantage (due to software or some new leap in technology) over current ones then it will "win" the OS war. I just don't share your concerns.