4 ms·
The drivers part is easier to answer. Where Linux started drivers were compiled into the kernel. A few years later modules came along to dynamically load driver
by cletus 5y ago
The drivers part is easier to answer. Where Linux started drivers were compiled into the kernel. A few years later modules came along to dynamically load drivers (and other things). But modules could still (and can still) crash the kernel and the drivers don't necessarily have a particularly stable interface.
Compare this to Windows. Drivers were once the bane of Windows and a huge problem for stability. Microsoft invested heavily in this and it seems to have worked. The Windows driver interface is I believe stable and has been for many years at this point and drivers themselves are more insulated from the kernel. Not completely but it's better in many aays.
Android really has its hands tied here by what Linux does. You may agree or disagree with that but the above is a view held by influential people within Fuchsia.
The ecosystem is really around the process by which updates are released. This is a tedious process of maintaining many Android trees and updating them with new Android releases. These need to be patched onto the existing trees or the changes made to the existing trees need to be ported onto the new Android tree. This is a nontrivial task either way. It's why Android phones get limited updates and those updates can lag behind the official release by months or even years.
This isn't a situation Google likes so some want to make the manufacturer responsible for less, most notably the drivers.
Remember that Samsung is motivated to sell handsets, not update existing handsets.
- md_ 5y agoHuh? Are you saying that in Windows, drivers don’t run in kernel space?
- Rusky 5y agoSome kinds of drivers (e.g. graphics) run at least partially in userspace.
- md_ 5y agoYeah, but it’s not the norm. Don’t get me wrong. Windows did a lot of work on driver stability. But I think cletus is too narrowly focused, and misunderstanding the context around Android and Fuschia. Fuschia has been described as a replacement for both ChromeOS and Android, with a goal of solving a range of problems (not just driver compatibility) and unifying the target development platform (beyond the somewhat-limited Android-for-ChromeOS options that exist today). It does not seem to me that it’s primarily about fixing Android driver compat, which could probably be done in simpler ways (and, as others have noted, Treble sort of kind of exists to mitigate). (I also was amused that Cletus claimed that Windows drivers run in userspace—generally not true—while claiming that there are no real-world microkernel OSes.)
- tsujamin 5y agoI think they were talking about the various driver frameworks in Windows (WDM, KMDF, UMDF, NDIS and the various miniport drivers) having stable/well-defined interfaces and support libraries. But also yes some drivers don't run in kernel space! https://docs.microsoft.com/en-us/windows-hardware/drivers/wdf/overview-of-the-umdf https://docs.microsoft.com/en-us/windows-hardware/drivers/wd...
- CJefferson 5y agoI believe the main problem is that Windows goes to reasonably extremely lengths (it's not perfect, but it's fairly good) to not break the driver interface, so if someone makes a driver for something, then semi-abandons it, the driver will continue to work for many years. This is often clear in graphics cards, the main problem is old cards don't get support for newer versions of DirectX, but otherwise continue to work. Linux explictly doesn't support this -- that means when some hardware manufacturer makes a closed source driver, it's very hard to update the kernel. Unfortunately it seems many bits of important phone hardware (like stuff Qualcomm makes) only have closed source drivers.
- grujicd 5y agoSamsung might not be directly motivated to make updates, but it’s now a selling point and consumers care about how many years of updates they’ll get. There’s no way to skip on it without hurting consumer trust and long term brand value.
- kgbcia 5y ago↑ This. I got a Nokia Android One phone for this reason. I need security updates since I do banking and credit card transactions on my phone
- hbn 5y agoVirtually no one outside of tech forums considers years of updates as a factor for which smartphone they pick. Most people, at least in the west, get a new subsidized phone on a contract every couple years. And if anything, they hate updates because stuff they're used to suddenly doesn't work like how they expect any more. I've never heard anyone in real life say "I bought a Samsung phone last time and it was good but it didn't get any updates after 3 years so I'm never buying one again."
- grujicd 5y agoI have no idea how many people consider it, but Samsung made a comitment to offer 4 years of software support, and flagships one year more [1]. Few years ago it was not like that, I don't remember there were official promises and you typically got a year or two of updates. Until recently, long support was always mentioned as a big plus for iPhones. Now every review I look mentions years of support as a big thing. I also see quite often on forums "I still have year of updates for my device, I'll skip this year's model" so people do think about it. It's possible only techies look at these things (and read reviews and online discussions), but even so it's still better than it was. [1] https://www.gsmarena.com/samsung_pledges_4_os_updates_5_years_of_patches_for_2021_and_2022_flagships-news-53070.php https://www.gsmarena.com/samsung_pledges_4_os_updates_5_year...
- scns 5y ago> Remember that Samsung is motivated to sell handsets, not update existing handsets. Even though this is true, they still offer the longest updates.
- lelanthran 5y ago> But modules could still (and can still) crash the kernel and the drivers don't necessarily have a particularly stable interface. > Android really has its hands tied here by what Linux does. You may agree or disagree with that but the above is a view held by influential people within Fuchsia. I don't really think driver robustness is an issue here. The number of phones I've seen, used or heard about with driver problems is zero. Add in the fact that phones are almost never rebooted (compared to desktops/laptops and other computers), and the driver situation looks incredibly stable.
- londons_explore 5y agoManufacturers keep stats of the number of kernel panics per year. I was disappointed to find that on many models of phone, there was not a single active user who had not experienced at least one random reboot caused by a kernel panic a year after purchase. The fact it boots straight back up to the lockscreen means many users will never notice that it's happened though.
- lelanthran 5y ago> I was disappointed to find that on many models of phone, there was not a single active user who had not experienced at least one random reboot caused by a kernel panic a year after purchase. The actual stats here will help; across a few million devices, random reboots unrelated to software or drivers will be expected. You're saying that, one some models, the device never crashed. On others, there was at least one crash. That's at least a 0.00001% crash rate. That's unbelievably good. At that rate it's probably a hardware error, not a driver error. If you used a different threshold we'd have a better idea - how many models have a crash rate of 10%? 5%? > The fact it boots straight back up to the lockscreen means many users will never notice that it's happened though. That provides further evidence that the money being poured into a new kernel to alleviate a problem that happens so rarely it can't be distinguished from statistical noise, and when it does happen, is almost never noticed by the user, is money being wasted. The return here is not proportionate to the problem being experienced, and the solution is definitely not proportionate to the money being spent.