4 ms·
It will go down the Windows model of having a stable kernel ABI (I assume). And suffer/enjoy the same trade-offs as Microsoft. That model is not perfect, but
by adrianratnapala 10y ago
It will go down the Windows model of having a stable kernel ABI (I assume). And suffer/enjoy the same trade-offs as Microsoft.
That model is not perfect, but it worked for MS -- and Google is in a similar enough position.
- greenhouse_gas 10y agoJust because there's a stable API doesn't mean the manufacturers will actually upgrade. Unless there's some legal requirement, it's going to be the same fragmentation
- amaranth 10y agoIf they have a stable driver ABI Google can be responsible for the upgrading. They just have to require the OEMs allow them to do so.
- pjmlp 10y agoNot only Windows, the majority of operating systems are like that, even the old time commercial UNIXEs, only GNU/Linux forces an unstable driver ABI on developers.
- the_why_of_y 10y agoLinux and *BSD. FreeBSD will break ABI every major version, roughly every 2 years. https://wiki.freebsd.org/VendorInformation https://wiki.freebsd.org/VendorInformation OpenBSD even goes so far as to break the user-space libc ABI in minor releases: http://www.openbsd.org/papers/eurobsdcon_2013_time_t/ http://www.openbsd.org/papers/eurobsdcon_2013_time_t/
- pjmlp 10y agoAh ok, I though the *BSDs followed the UNIX old school of stable ABIs. Besides toying around with FreeBSD in the late 90's, I never used it properly.
- Arizhel 10y agoExcept that the "stable ABI" thing doesn't work in practice. Look at all the people who have to throw away perfectly good hardware every time a new Windows version comes out, because the hardware maker doesn't care about updating their drivers and just tells customers to buy a new version.
- nickpsecurity 10y agoIt works if it's architecturally designed to work. Mainframes and AS/400 does that. On System/38 (AS/400 predecessor), apps compiled down to a microcode against standardized interfaces. These got converted by special compilers to actual hardware. That's why apps written decades ago still run. You also got modern stuff as updates came in. https://homes.cs.washington.edu/~levy/capabook/Chapter8.pdf https://homes.cs.washington.edu/~levy/capabook/Chapter8.pdf OpenVMS gave customers binary translation tools plus let clusters run with multiple, CPU architectures. That migration wasn't as painless but at least happened. Microsoft eventually applied this strategy at application level combined with OpenVMS's cross-language programming in the form of .NET CLR. It can work at much lower level as IBM showed in the 70's or 80's, though.