The edit got discussed on my talk page though it should belong here, so I am clearing up my talk by moving it here.
Hi, since I reverted you and you reverted me back, and I may have been wrong I'll just answer here. Guy Harris is my go too guy for operating systems (and more related stuff) history, and I'm not sure he (or you) owned an Acorn Archimedes like I did, but I'm sure he's more familiar with Mach microkernel than I am. I looked into your edits and see that you are familiar with at least that (and also other things where you was actually reverted (I do not know [Gosling] [Emacs] history to say, but its somewhat interesting..)).
About your RISC OS revert, I have only my memory (WP:OR, I may have thrown out my Programmers Reference Manual or at least not sure where I put it, but I'm fairly confident Acorn didn't use the term "microkernel" there or elsewhere and microkernel/Mach predates RISC OS by a few years) while you have a source kind of (I'm not sure everything2 must be a reliable source or the text good enough: "Almost all components of the operating system were implemented as modules, including the filesystems, the editor, windowing system, etc. [..] In this sense it was a true microkernel OS."). I would just like us all to agree. Mach may not have a monopoly on the microkernel term, it's an umbrella-term, but should we only use it for similar things?
- Kernel type may have had less significance in the Acorn brand's documentation. And I am all for getting stronger citation even if it could, as unlikely as that seems, contradict any weaker one already found. A kernel is too well defined in the academic subject of systems programming to lack a type, & RISC OS kernel is not as vague as vaporware to lack a type(aside: makes me wander, do monitor programs of hardware develoment kits boards have types). I tried stereotyping it as monolithic similar to Linux, but to confirm my suspicion kept searching till encountering the citation I've placed, that not only contradicted my opinion, but is logically sound from as much I understand Operating Systems upto this day.--V. S. Chawathe (talk) 20:05, 12 January 2016 (UTC)
Are you all familiar with SWI instruction (now has a new name/or replaced?) to call the OS and that only your user programs where is userspace, at hex 8000. I may not know this all fully, but was only aware of memory protection between user programs at that address, and not OS services located at that address with protection (e.g. I assume then not in userspace).
- Yes. So below 0x8000 there was firmware. There's an open sourced RISC OS fork and I was considering contributing to it. By fully you surely mean nobody memorised interrupt service vectors. OS services (Windows lingo analogous to DOS TSR programs and *nix daemons) might be running with root privileges, and being a daemon does not imply always being one of the (protected or otherwise) kernel's constituents.--V. S. Chawathe (talk) 20:05, 12 January 2016 (UTC)
I'm not sure I get your text fully in your edit summary, but anyway autoloading vs. manual loading (that Linux supports both) is not the defining issue(?) of a microkernel. comp.arch (talk) 10:21, 12 January 2016 (UTC)
- RISC OS required action originating from user space, whereas Linux kernel running from kernel space can do autoloading. That Linux supports manual matters for "kernel module" developers, rather than being the way of mandatory usage. So the modules from citation are uncomparable to the "kernel modules" from Linux as you had in the good faith comment of edit.--V. S. Chawathe (talk) 20:05, 12 January 2016 (UTC)
- And how is this even remotely relevant to microkernels? Guy Harris (talk) 20:22, 12 January 2016 (UTC)
- The cause for reversion contrasted Linux kernel modules with RISC OS modules. I was just helplessly going deeper.--V. S. Chawathe (talk) 20:35, 12 January 2016 (UTC)
- Well, I'm a Yank, and the Archimedes wasn't a big thing here. My familiarity with Mach comes largely from having been a kernel-level developer for 9 years at a Unix-box company in Cupertino that used a Mach-based kernel :-), although anybody who'd call XNU a microkernel is stretching the definition of a microkernel rather a lot:
$ size /System/Library/Kernels/kernel
__TEXT __DATA __OBJC others dec hex
8388608 1138688 0 1334080 10861376 a5bb40
- and that counts only the core kernel, not any loadable kernel modules. File systems and network protocols all run in kernel space. Yes, there are some APIs that might be thought of as "system calls" that involve user-mode helpers, but not many of them, and other UN*Xes have some as well.
- So I'm not sure what makes something a "microkernel". The original intent for Mach was to allow a lot of functions performed in kernel-mode code in traditional UNIXes to be moved to user-mode server processes; see, for example, section 8 of the 1986 Mach paper from USENIX. Section 9 of that paper, however, describes a kernel more like XNU, with file systems, etc. living in kernel space. That paper, BTW, doesn't use the term "microkernel"; I'm not sure where the term first occurred.
- "The OS is made up of a number of modules. These can be added to and replaced, including soft-loading of modules not present in ROM at run time and on-the-fly replacement." does not indicate a microkernel; plenty of non-microkernel operating systems allow modules to be loaded, either automatically or manually, into the kernel. The author of that Everything2 piece is confused - but, well, as the Wikipedia page on Everything2 says, "Everything2 (styled Everything2), or E2 for short, is a collaborative Web-based community consisting of a database of interlinked user-submitted written material. E2 is moderated for quality, but has no formal policy on subject matter.", so it's pretty much a moderated Wikipedia, and Wikipedia articles are 'NOT' valid sources for Wikipedia. I wouldn't consider it a reliable source.
- (And kernel modules in Linux - and OS X, and Solaris, and Windows NT, and so on - can be loaded by user commands; they're not just autoloaded.)
- I've reverted the reversion. Vipul, if you want to call it a microkernel, find a real source, not some random post on E2. Guy Harris (talk) 19:52, 12 January 2016 (UTC)
- You've reverted it before replying on my reply to comp.arch and I am afraid it seems rather hasty reversion, as if, if anything other than Mach seemed to be microkernel, then you feel your glory being stolen. I am not rereverting as I've tried to clarify my reasoning here, the rest is for the Wikipedeans to rationalize. My part stops.--V. S. Chawathe (talk) 20:28, 12 January 2016 (UTC)