[Oberon] Re (2): "Inner core" and "Outer core".
joerg.straube at iaeth.ch
Sat Dec 7 18:41:20 CET 2019
It has to do with booting the OS:
1) If you power-up your machine, the CPU gets initialized and the program counter is set to a specific ROM address
2) at this address resides the bootloader in ROM. it loads a few sectors from disk to RAM position 0. In these sectors is the linked inner core
3) After sector loading, the bootloader jumps to RAM position 0 and executes the inner core, basically the main body of Modules.Mod
4) The inner core loads the rest of the Oberon system (=outer core), basically Oberon.Mod and starts the Oberon loop.
> Am 07.12.2019 um 18:26 schrieb peter at easthope.ca:
> From: =?utf-8?Q?J=C3=B6rg?= <joerg.straube at iaeth.ch>
> Date: Thu, 5 Dec 2019 20:46:37 +0100
>> The definition of inner vs outer core is not totally correct:
>> In ProjectOberon only these four modules build the inner core:
>> - Kernel.Mod (memory mgmt, disk storage mgmt, traps, timer)
>> - FileDir.Mod (directory handling)
>> - Files.Mod (File handling)
>> - Modules.Mod (module loading)
>> They are the only four modules that are statically linked and loaded
>> by the bootloader into memory. All the rest of the OS (display,
>> windows, fonts, mouse, keyboard, text editor, Oberon main loop) is in
>> the outer core and loaded dynamically by Modules.Mod. The linker and
>> compiler are not part of the core.
> Thanks Joerg. I've patched up glossary entries, "inner core" and "outer core"
> by adding the V5 cases. Still no mention of core in V4.
> The core is an important subject. A novice may wonder, "Why bother
> mentioning core?" "It is just some modules. What is the significance?"
> Well a small section might answer these questions better than a glossary entry.
> When there is time, will work on it.
> Thanks for the help, ... L.
> Tel: +1 604 670 0140 Bcc: peter at easthope. ca
> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
More information about the Oberon