[comp.sys.ibm.pc] Where does it all start: memory control blocks?

rose@shorty.CS.WISC.EDU (Scott Rose) (05/09/89)

1. For various reasons too ugly to publicly admit, I wish to be able to follow
the chain of memory control blocks.  I have a very lovely little program that
does just that, and in a very informative fashion: mapmem, particularly
useful in conjunction with its /v switch.  It works every time, which is
evidence that if an entirely elegant technique is not available there is at
least some repeatable way to find the head of the chain.  While I can
find *some* of the MCBs- that associated with the PSP of my program and any
that follow- these beasties are not doubly-linked, and no documentation that
I have found describes how to find the root.

2. Another lovely little program that has fallen into my hands keeps a little
queue of events in memory and eyes the system clock to determine when to 
execute one.  Called 'at', it only executes a job if it is determined that
the machine is at the DOS prompt.  HOW DOES IT KNOW?

3. Alright, I've asked this before... How, specifically, do I move back into
real from protected mode, on an AT?  Yes, I know, it requires a reset.  Yes,
there is a way to get the keyboard to generate the required signal.  Yes, a
PC Tech article back in 1985 tells just how to do it.  I don't have access
to this issue of PC Tech (you remember PC Tech, don't you?), and *still* want
to know how to do this?

Thanks, in advance, to anybody who can provide me with answer(s) to these
burning questions of the day.

ellisond@gtephx.UUCP (Dell Ellison) (05/16/89)

In article <7495@spool.cs.wisc.edu>, rose@shorty.CS.WISC.EDU (Scott Rose) writes:
> ..., I wish to be able to follow
> the chain of memory control blocks.  I have a very lovely little program that
> does just that, and in a very informative fashion: mapmem, particularly
> useful in conjunction with its /v switch.  It works every time, which is
> evidence that if an entirely elegant technique is not available there is at
> least some repeatable way to find the head of the chain.  While I can
> find *some* of the MCBs- that associated with the PSP of my program and any
> that follow- these beasties are not doubly-linked, and no documentation that
> I have found describes how to find the root.

I understand that there is a DOS or BIOS call that will give you the address
of the head of the linked list.

everett@hpcvlx.HP.COM (Everett Kaser) (05/19/89)

The current issue of PC Magazine has part 1 of a two part article by Ray
Duncan on this subject.  Part one doesn't give any code details, but 
concentrates on the theory of how to use extended memory.  Part two, next
issue, should have all the code listings for this stuff (not the memory
block stuff, but the protected mode stuff :-).

Everett Kaser
!hplabs!hp-pcd!everett
everett%hpcvlx@hplabs.hp.com