Android - the worst OS ever?

for all subjects/topics not covered by the other forum categories
Coeus
Posts: 2761
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: Android - the worst OS ever?

Post by Coeus »

Ukwebb wrote:
Fri May 13, 2022 10:14 pm
you can call it by another name if you wish - but they are all built on the same BSD/Unix style core
I see you point, but what's in a name?

The term Unix used to be used to describe a whole family of OSes with a similar kernel API and user space tools but it is a trademark. Now there so many Unix-like systems based on the Linux kernel both in embedded systems and in mainstream servers that I suspect the term LInux is now being used much the same way as referring to the Unix-like OSes.

It was, and probably still is, a hobby horse of Richard Stallman of the Free Software Foundation that Linux distributions were called that when Linux is really only a kernel and many of the user space tools shipped with a typical Linux distribution come from the GNU project, which had started from the other direction by writing free (as in freedom, open source but more than that) versions of the user space on existing Unix-like OSes, intending to then use them to write/port/adapt a kernel when the time came. The writing of GNU Hurd seems to have become bogged down and we have been combining GNU user space tools with the Linux kernel ever since but, of course, other kernels are possible and there some open source tools from BSD that can be used commercially too.
Coeus
Posts: 2761
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: Android - the worst OS ever?

Post by Coeus »

paulb wrote:
Fri May 13, 2022 10:41 pm
Modern Windows is of the NT lineage, which was famously initiated or catalysed by the arrival of Dave Cutler at Microsoft after a bunch of projects were cancelled at Digital. Microsoft and others have delivered Unix-like interfaces to NT a few times over the years: you can even find papers written by people at AT&T describing efforts to do just that, looking very familiar to anyone who has used Cygwin.
It is a long time since I did any reading on this, from the days of NT 3.51, but I believe the actual kernel API was proprietary and not documented for general use. There were two library APIs built on top of that, one for Win32 and the other for POSIX. The POSIX one did have a reputation for being a bit buggy at the time. Of course that may have been actual bugs or it may have been implementing the POSIX standard to the letter and absolutely nothing else, i.e. it was simply a case that the standard was too narrow and real applications developed on Unix used features not in the standard or relied on subtle behaviour of calls that were in the standard, but where the standard didn't specify that subtlety.

As we've touched on Microkernels, I remember an article a while back that seemed to suggested that the debate, on the relative merits of microkernels vs. larger kernels had been settle firming in favour of the microkernel. I am not sure if the reality is as clear as that. Aren't Windows and MasOS both hybrids?
paulb
Posts: 1048
Joined: Mon Jan 20, 2014 9:02 pm
Contact:

Re: Android - the worst OS ever?

Post by paulb »

Coeus wrote:
Fri May 13, 2022 11:32 pm
paulb wrote:
Fri May 13, 2022 10:41 pm
Modern Windows is of the NT lineage, which was famously initiated or catalysed by the arrival of Dave Cutler at Microsoft after a bunch of projects were cancelled at Digital. Microsoft and others have delivered Unix-like interfaces to NT a few times over the years: you can even find papers written by people at AT&T describing efforts to do just that, looking very familiar to anyone who has used Cygwin.
It is a long time since I did any reading on this, from the days of NT 3.51, but I believe the actual kernel API was proprietary and not documented for general use.
I don't know about how documented the kernel API was, but there was a well-known book about NT that might have some details:

Helen Custer, "Inside Windows NT", Microsoft Press.
Coeus wrote:
Fri May 13, 2022 11:32 pm
There were two library APIs built on top of that, one for Win32 and the other for POSIX. The POSIX one did have a reputation for being a bit buggy at the time. Of course that may have been actual bugs or it may have been implementing the POSIX standard to the letter and absolutely nothing else, i.e. it was simply a case that the standard was too narrow and real applications developed on Unix used features not in the standard or relied on subtle behaviour of calls that were in the standard, but where the standard didn't specify that subtlety.
Microsoft apparently needed POSIX compliance to be able to tender for federal contracts, as I understand it. After a while, the provision of such compliance was not considered so important, so the story goes. Anyway, here are a few somewhat relevant papers:
Coeus wrote:
Fri May 13, 2022 11:32 pm
As we've touched on Microkernels, I remember an article a while back that seemed to suggested that the debate, on the relative merits of microkernels vs. larger kernels had been settle firming in favour of the microkernel. I am not sure if the reality is as clear as that. Aren't Windows and MasOS both hybrids?
They are supposedly hybrids, yes. I think the historical progression for operating system technology from the time of Mach 2.x and Windows NT onwards generally had some level of adoption of microkernel principles - Mach before 3.0 was a "modular kernel", whatever that really means - and it was said that NT was supposed to be a microkernel, but they ended up pulling functionality into the kernel to shore up the performance. I actually doubt the microkernel credentials of Mac OS X, at least as they are summarised, since it is derived from NeXTSTEP which used Mach 2.x as far as I remember. I don't think that Mach really qualifies as a microkernel before 3.0. But, in any case, it was also said that Apple took a similar approach to Microsoft with the incorporation of functionality into the kernel.

My understanding is that there was a lot of enthusiasm for microkernels and the adoption of Mach in particular during the 1990s, but the experiences were rather less positive than people hoped, although it may not be fair to blame those experiences solely on microkernel technologies: IBM's Workplace OS project actually improved Mach's performance substantially, and it was the IBM institutional culture that apparently caused the effort to become incredibly costly as all the product and marketing types started to throw their requirements into the mix. When IBM abandoned that effort, having spent billions on it, there was something of a re-evaluation of microkernel design and performance, and interestingly, one of the more promising efforts to emerge actually originated as something of a stealth project within IBM: the L3 microkernel, which was followed by L4 microkernels that have subsequently been widely deployed.
User avatar
BigEd
Posts: 4835
Joined: Sun Jan 24, 2010 10:24 am
Location: West Country
Contact:

Re: Android - the worst OS ever?

Post by BigEd »

Great links... for more on NT, and Cutler, and many recommendations of the popular book "Showstopper" on the NT dev story, see here.

(I think I'd argue that 'microkernel' is a very strong label, and once you've brought any service into the kernel (removing the switch to userspace and losing the process isolation) you no longer have a microkernel. Although you might have something which is not all the way to a monolithic kernel.)

(Wikipedia has more on the iOS kernel, XNU.)
paulb
Posts: 1048
Joined: Mon Jan 20, 2014 9:02 pm
Contact:

Re: Android - the worst OS ever?

Post by paulb »

BigEd wrote:
Sat May 14, 2022 6:43 am
Great links... for more on NT, and Cutler, and many recommendations of the popular book "Showstopper" on the NT dev story, see here.
Interesting recollection about Dave Cutler in that thread. I was reading various memos from the time when DEC was trying to respond to the likes of Sun, pursuing their PRISM architecture and Mica operating system strategy, and the whole "I know better" attitude and complaining about management reminds me of various Peter Bondar messages in Acorn's final phase. See also his resignation story and this attempt at humour ostensibly sent from his Microsoft account.

Although the well-known remark by Lyndon B. Johnson about J. Edgar Hoover (if my recollection of history is correct) might also apply to the above, that recollection about Cutler rather complicates things. People have presumably argued that when DEC did get Alpha out the door, it was "almost exactly PRISM", but I think that this rather diminishes the achievements of delivering Alpha. And despite MicroPRISM being fabricated and tested, anyway, one has to wonder how long it would have taken to have actual products on the market. Meanwhile, DEC was losing customers and revenue with a less than credible strategy: quite astonishing that a company seen as dominant at the start of the decade would be on the defensive at the end of the decade and acquired by the end of the following decade.
BigEd wrote:
Sat May 14, 2022 6:43 am
(I think I'd argue that 'microkernel' is a very strong label, and once you've brought any service into the kernel (removing the switch to userspace and losing the process isolation) you no longer have a microkernel. Although you might have something which is not all the way to a monolithic kernel.)

(Wikipedia has more on the iOS kernel, XNU.)
I don't want to even appear to comment definitively about microkernels, but there is the argument that only operations that actually need to be performed in a privileged mode should be in the kernel, with everything else making use of those services residing outside and operating in an unprivileged mode. I suppose there is a certain amount of discretion - the code in the kernel will obviously include supporting instructions, managing data structures for instance, that are not inherently requiring elevated privileges - but things like graphics drivers are generally regarded as belonging outside a microkernel: they are drivers, after all.

Microkernels are used on phones, if we may bring this closer to the topic again, with one L4 variant being shipped on billions of them, apparently. If you want another tale of missed opportunities, corporate greed, and so on, you can read the recollections of one of the people responsible.
User avatar
BigEd
Posts: 4835
Joined: Sun Jan 24, 2010 10:24 am
Location: West Country
Contact:

Re: Android - the worst OS ever?

Post by BigEd »

Excellent links, as ever - those memos are great reading!
Post Reply

Return to “off-topic”