4 ms·
Is there something fundamentally bad that Linux does that requires a new OS to fix? I only know the surface level arguments of monolithic vs micro kernels, but
by seanalltogether 4y ago
Is there something fundamentally bad that Linux does that requires a new OS to fix? I only know the surface level arguments of monolithic vs micro kernels, but is there something else that reasonably can't be fixed in Linux that would require a new custom OS? Or is Fuchsia simply about control?
- bayindirh 4y ago> Is there something fundamentally bad that Linux does that requires a new OS to fix? From Google's perspective, yes. License, and maybe driver ABI, but I doubt Google wants to change its support model. > Is Fuchsia simply about control? From my understanding, yes. It's all about locking systems more, making them more closed, and immutable. A "better" way to control hardware and what OS runs on that hardware. A more iOS like control, without shoehorning everything into Google Play Services.
- matthewmacleod 4y agoI'm sorry for being rude here, but your understanding is obviously flawed. Even a cursory glance at the project would let you know that this wasn't the case. There are a bunch of obviously interesting ideas in Fuchsia that may or may not be useful in the long term, but describing it as being "simply about control" is just lazy as hell.
- bayindirh 4y agoWell, I don't think that you're rude, and you might be correct from your point of view. I completely respect your views. I concur that Fuchsia indeed has some interesting ideas. However, I see these interesting ideas as instruments to favor Google's long term vision about their devices, not for doing research in the name of research. Over the years, I have lost faith in Microsoft and Google. I see every action they take as a means to improve their dominance while (ab)using and EEEing technologies they like, but they can't control. I don't trust these companies and always start from a slightly negative, corporate-centric view of everything they put out there. This is something I do knowingly. This is not a bias which is blind-siding me. It's intentional and I'm aware. Having a kernel, complete with a Linux emulation layer, which is designed to enable seamless plumbing-rugpulls while having architectural decisions made to please hardware vendors doesn't look like simple research to me. Adding a MIT license on top of it, and saying "We might be running closed source, slightly modified versions of this that we don't share" adds more wieght to my view, in my eyes. So, also this is not Google's first rodeo. They are slowly close sourcing Android by moving things into Google Play services. Having a kernel and OS not encumbered by this "pesky" GPL stuff will allow them to have their private forks while playing "Hey, look, we're open source!" tune. It's VSCode of Google. Designed to fracture, touted as open source but useless without Google's own secret sauce and blessing. Merely a source-available showcase which is full of interesting ideas useful for its creator and useless without its touch. Oh, at least we see the code and get inspired by some of the ideas they put forward, if they are indeed portable. We hit Apple for their walls, but at least they contribute their kernel inventions back to BSDs (libdispatch, for example).
- javier2 4y agoThe Linux driver ABI makes Android ROM upgrades an absolute nightmare afaik.
- noch 4y ago> Is there something fundamentally bad that Linux does that requires a new OS to fix? If no one ever builds anything new, nothing new will ever be built. There's an implicit assumption in your question that Linux has solved all problems or is even fit for its current uses and all future use cases. (A similar sentiment is voiced in other discussions e.g. about programming languages, frameworks, editors, etc) Related: "The Thirty Million Lines [of Code] Problem" https://www.youtube.com/watch?v=kZRE7HIO3vk https://www.youtube.com/watch?v=kZRE7HIO3vk
- ShredKazoo 4y agoGood discussion from the other month, on how Unix hegemony has caused stagnation in OS research: https://news.ycombinator.com/item?id=33740235 https://news.ycombinator.com/item?id=33740235 I watched a bunch of lecture videos on operating systems a few months ago: https://www.youtube.com/@johnkubiatowicz3737/videos https://www.youtube.com/@johnkubiatowicz3737/videos It didn't seem like they are fundamentally that complex. I'm pretty sure CMU has a class where undergrads are required to write their own operating system within a single semester. My vague impression is that Linux has become bloated since the project's scope is so large -- Linux is used to address every possible use case. That's naturally going to lead to a ton of complexity and bugs. I'm really excited by the idea of people creating new OSes that explore alternative paradigms and try to beat Linux for specific use-cases. Writing a replacement for Android in Rust would be interesting, for example. I don't think you would need to create a full Linux compatibility layer -- you could create just enough compatibility for the Android APIs to still work. Then you could add anti-distraction features at the OS level -- e.g. make it so if someone has deliberately uninstalled an app in the past, they have to solve a bunch of captchas if they want to install it a second time. Tons of everyday people struggle with addiction to apps like Instagram, where they uninstall the app to try & waste less time, then give in and reinstall it, over and over again. I think solid, creative app blocking features (e.g. user selects how much effort is required to disable their own self-restriction when they set it up) could be an attractive selling point for many users. There is the potential to make millions or even billions of dollars by changing the relationship that people have with their devices.
- ChrisMarshallNY 4y agoI do know that Linux is not an RTS (Real-Time Operating System). Not sure if Fuchsia is (or can be easily modded as one). For normal computers and phones/communication devices, this is no big deal, but it does limit usefulness in IoT.
- pantalaimon 4y agoMost of the IoT does not care about real time, maybe if you run on the audio controller - but there you have Zephyr now.
- ChrisMarshallNY 4y agoI've done work with digicams and surveillance cameras. RT makes a fairly significant difference, there. Then, there's things like SCADA, drones, and transportation. RT also matters, there. I guess it isn't a big deal for speakers and AI-powered cheese straighteners, but I've always found it to be important.
- college_physics 4y agothere might be various aspects considered "novel" but the angle I was intrigued conceptually (though not an expert in this area) is about memory safety and security. So Rust is somehow involved [0], thus breaking with the C heritage of linux (though apparently not exclusively) and another advertised security enhancement is object capabilities [1],[2] which is an old idea but apparently not widely implemented. To further confuse things there is also KataOS and involvement in sel4 [3] [0] https://fuchsia.dev/fuchsia-src/development/build/fuchsia_custom_rust?hl=en https://fuchsia.dev/fuchsia-src/development/build/fuchsia_cu... [1] https://en.wikipedia.org/wiki/Object-capability_model https://en.wikipedia.org/wiki/Object-capability_model [2] https://fuchsia.dev/fuchsia-src/concepts/components/v2/capabilities https://fuchsia.dev/fuchsia-src/concepts/components/v2/capab... [3] https://opensource.googleblog.com/2022/10/announcing-kataos-and-sparrow.html https://opensource.googleblog.com/2022/10/announcing-kataos-...
- londons_explore 4y agoI think the main problem with Linux is the security model. Linux was designed in a multi-user world. Bob, Fred, and Alice would each have user accounts, and could edit only their own files, etc. If Bob ran an application, that application had access to all of Bobs files. Whereas modern devices tend to be single-user, but with many applications with different amounts of access to different resources. The user in general is running code they don't trust. For example, the web browser doesn't need access to the contacts. The Wifi stack doesn't need access to the printer. The Facebook application doesn't have access to your twitter followers. The user wants to use the Facebook application, but doesn't trust it to do only what it says it will do. It's a different world, and bolting those requirements onto Linux was getting harder and harder. Just look at the HN frontpage yesterday - Google Pixel phone pwned because all android applications have unfettered access to the GPU driver, which itself had a vulnerability. In a Fuchsia world, only apps requiring 3D rendering would have access to the 3D bits of the GPU driver.
- defrost 4y agoDiving into the origin story, as one reading the usenet posts of the day and hacking non standard OS's .. Multics was designed as [1], Unix was spawned as a small, simple, mini-Multics with elegant minimal desgin goals, and Linux arrived down the way as a hobbyist Intel architecture monolithic Unix clone. While Linux expanded as a project to include more and more hardware targets and ever so slowly become less monolithic, it never really moved far from the One True Way of Unix, at least not in its early life. The opportunity was there to adopt a capability based security model from almost the beginning, but the thrust was always to make a solid Unix clone and eschew 'experimental' features from niche OS's such as Extremely Reliable Operating System (EROS) [2]. [1] https://en.wikipedia.org/wiki/Multics https://en.wikipedia.org/wiki/Multics [2] https://en.wikipedia.org/wiki/EROS_(microkernel) https://en.wikipedia.org/wiki/EROS_(microkernel)
- criddell 4y ago> I think the main problem with Linux is the security model. Does Apple have the same problem with iOS and its BSD heart?
- newusertoday 4y ago+1 to what @bayindirh said. In linux driver api is not fixed that makes it very difficult to upgrade kernel in android as soc vendors don't want to make changes to support their devices due to commercial reasons (because once soc is sold they don't see any dime).
- alphazard 4y agoAs others have pointed out, it's the security model. As a matter of project governance, linux could not be changed in the way required. It's too far from its original mission, and backwards compatibility is a reason for its success, and a core value of the project.
- pipeline_peak 4y agoWell for one, it's a time sharing operating system. What does that bring to a phone other than potential security vulnerabilities? Linux is a pretty generic operating system, it runs on just about everything and wasn't initially designed for phones in mind. Of course at the rate phone hardware is progressing, I think Google has realized how little important an optimized OS really is.