[CDG5] Musings on v2 NanoKernel
Elliot Nunn
elliotnunn at fastmail.com
Mon Apr 1 11:18:03 AWST 2019
My take is that microkernels came with some theoretical baggage that
caused more trouble than it was worth. Systems that situate a
microkernel under an existing OS personality have been quite successful,
for example Mach underneath BSD, the NanoKernel underneath System 7/8/9,
and indeed Mach underneath BlueBox. But systems that were designed to
rely heavily on asynchronous message passing, such as NuKernel/Copland
and the Hurd, have proven to be unmaintainable messes plagued by
emergent behaviour that nobody can understand.
That being said, I think that being able to take occasional advantage of
Mach IPC would be very cool! Maybe I should step up the BlueBox
hacking...
> On 30 Mar 2019, at 4:47 pm, Fredrik Andersson <fredrikandersson at mac.com> wrote:
>
> Hi,
>
> Just to answer the first question- never seen a working Copland installation in person (although I attempted get numerous “leaks” properly installed none actually successfully booted- believe all of them booted into Mac OS 7.x but all crashed quickly when attempting the Copland boot using caps lock or whatever key required to be held down was depressed)
>
> However to add to the discussion, regarding microkernels- keep in mind that Copland was only one of several attempts Apple had to modernize Mac OS and as for microkernels they were a hot topic in the 80s, nukernel was clearly inspired by mach 3 and ironically an mach 3 derative is what powers macOS today :)
>
>> 30 mars 2019 kl. 04:34 skrev Elliot Nunn <elliotnunn at fastmail.com>:
>>
>> I think that Apple's "microkernel phase" might have started even
>> earlier. The ERS appendix in that patent application seems to have a
>> revision history dating back to 1992, and it discusses NuKernel on 68k
>> as well as PowerPC.
>>
>> By the way, has anyone on our list ever *seen* a working NuKernel
>> system? Either Copland, or something more exotic like the early BlueBox.
>>
>> Calling MPFindVictimPage with (r3 | r4) != 0 zeroes
>> KDP.VMMaxVirtualPages. This enables an alternative page fault resolution
>> code path in NKInterrupts.s, and enables the alternative VM call table.
>> (These refer to the powermac-rom tree, which I *still* intend to replace
>> with an improved NanoKernel tree.)
>>
>> To me toddp.com seems to be up still. But fear not, the SuperMario
>> sources are ineradicable.
>>
>>> On 29 Mar 2019, at 8:47 pm, Max Poliakovski <maximumspatium at googlemail.com> wrote:
>>>
>>> Hi Elliot,
>>>
>>> I already suspected that Nanokernel v2 could include ideas/pieces from the abandoned NuKernel. It's interesting that the first modernization ideas for the OS/kernel date back to 1994, just right after the official release of the first Power Macs (6100, 7100 and 8100). Another interesting point is that NuKernel working group doesn't include Gary Davidian that wrote the NK v1.
>>>
>>> What is this "alternate" Virtual Memory API? Anything that goes though "sc" and not through the 68k-ish _VMDispatch (0xFE0A)?
>>>
>>> BTW: the server http://toddp.com/ that hosted the leaked "System 7.1" source code (that's actually the ROM source for the pre-TNT machines) is down. I hope you've managed to save its content...
>>>
>>> Cheers
>>> Max
>>>
>>> Am Do., 28. März 2019 um 05:54 Uhr schrieb Elliot Nunn <elliotnunn at fastmail.com>:
>>> When we get back to reversing the "alternate" Virtual Memory API exposed
>>> by the v2 NanoKernel, this might be informative:
>>>
>>> https://patents.google.com/patent/US5590334
>>>
>>> The entire External Reference Specification for NuKernel (c 1993) is
>>> included as an appendix. It seems that the later additions to the
>>> kernel, which were under-utilised by Mac OS 9, were an increasingly
>>> faithful replication of NuKernel mechanisms.
>>> _______________________________________________
>>> cdg5 mailing list
>>> cdg5 at ucc.asn.au
>>> https://lists.ucc.gu.uwa.edu.au/mailman/listinfo/cdg5
>>> _______________________________________________
>>> cdg5 mailing list
>>> cdg5 at ucc.asn.au
>>> https://lists.ucc.gu.uwa.edu.au/mailman/listinfo/cdg5
>>
>> _______________________________________________
>> cdg5 mailing list
>> cdg5 at ucc.asn.au
>> https://lists.ucc.gu.uwa.edu.au/mailman/listinfo/cdg5
>
> _______________________________________________
> cdg5 mailing list
> cdg5 at ucc.asn.au
> https://lists.ucc.gu.uwa.edu.au/mailman/listinfo/cdg5
More information about the cdg5
mailing list