On Thu, 10 May 2012 10:40:08 -0400, Ethan Dicks <ethan.dicks at gmail.com>
wrote:
On Wed, May 9, 2012 at 5:02 PM, Jonas Otter<jonas
at otter.se> wrote:
> On ?Wed, 9 May 2012 09:04:07 -0700,
"Michael Holley"<swtpc6800 at comcast.net>
> wrote:
> >>
> >> I was told the load from hard disk was page fault the swapped the desired
> >> data back into memory.
> >>
> >> -----Original Message-----
> >> From:cctalk-bounces at
classiccmp.org [mailto:cctalk-bounces at
classiccmp.org]
> >> On Behalf Of Tom Uban
> >> Sent: Wednesday, May 09, 2012 5:33 AM
> >>
> >> One note on the PDP-11/03 booting the VAX-11/780, the PDP-11/03 first
> >> loads the microcode into the VAX-11/780, thereby defining the
machine's
> >> higher level of operating code, then a bootstrap to load from a particular
> >> hard disk or tape is run. On most PDP-11s, the microcode is stored in
> >> ROMs or is hard wired.
> >>
> VMS always loads a program by page faulting it into memory. That mechanism
> would AFAIK not work for booting, because the whole paging software, disk
> drivers etc would have to be loaded and initialized first. I don't remember
> offhand what it says in the VMS internals book about booting, but I could
> look it up.
I, too, would have to look up details, but from what I remember
about the 11/730
(which has an 8085 as a front-end processor, not a PDP-11, but AFAIK, the
general principles still apply), the FEP loads VMB.EXE from the console medium
(RX01 for the 11/780, TU58 for the 11/730) into VAX main memory then kicks the
processor into run mode.
The 11/750 is a different beast - it has native boot ROMs and no FEP (there's
an A-D selector switch, and there are several common arrangements of boot
ROMs, including for third-party disk controllers)
-ethan
According to the VMS Internals book, SYSBOOT (secondary bootstrap,
loaded after VMB) sets up the system page table. SYSBOOT loads EXE$INIT
and transfers control to it. EXE$INIT then does all the work of setting
up page tables, loading the paging subsystem and turning on memory
management.
So it appears that no paging in of anything can occur until at least
EXE$INIT has done its work.
/Jonas