Comments
Loading Dream Comments...
You must be logged in to write a comment - Log In
ArtistA system diagram consisting of : a box on the left with the caption "SEGID", which points to a box in the middle with the caption "PAGE TABLE", which points to two boxes on the right, one of which has the caption "LBA" and the other has the caption "PAGE FRAME".
At the left, the kernel (SHE -- Segmented Hierarchical Environment, running in ring 0, on INT $48) is called with a SEGID in the range 00_99. It is used as a subscript into the Page Table, which contains a pointer into the swapfile (datastore) held as its LBA, and a protected mode descriptor pointing to the 32K page frame for this page. The page table also contains a LRU chain, so that the least recently used page can be swapped out to disk when we need to swap in a new page.
In the lower 640K of conventional memory there is a block of page frame headers and a Buf buffer, for use in User Mode (ring 3). The Virtual CPU stack is also located here.
Each User Account has its own block of entries in the Page Table, effectively preventing spurious access in the Datastore and intrusion into non-owned data areas.
The Page Table for a particular User Account is loaded from the GHOST (Global Hosting Online Segment Table) list of valid LBA's (Logical Block Addresses) when the first thread for that User Account starts execution.
Address Registers, used to speed up array access, also occupy page table entries and have SEGID's, but are NULLified when their base page is swapped out, and rebuilt at swapin or system reboot.