Comments: Authenticated sender is From: "Alaric B. Williams" To: grendel AT ananke DOT amu DOT edu DOT pl, djgpp AT delorie DOT com Date: Fri, 3 Jan 1997 21:58:43 +0000 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Subject: Re: DPMI incorporation... Reply-to: alaric AT abwillms DOT demon DOT co DOT uk Message-ID: <852328674.1020916.0@abwillms.demon.co.uk> On 2 Jan 97 at 1:46, Mark Habersack wrote: > > >1. in i386 Intel introduced a new level of indirection in memory > > >addressing - paging. Memory in i386 can be divided into units as > > >small as 4KB (PAGES) while in iAPX286 the smallest swappable (in > > >virtual memory sense) was a SEGMENT (64KB). > > > > That's not quite getting the point, Mark. The 286 segments were > > limited to a maximum size of 64Kb, but could be any size. The idea > > was that you swapped things in and out at a high level; whole DLLs > > and things like that lived in individual segments. The 386 flat > > address space just arbitarily carves itself into 4k bits for > > management, they don't mean anything structurally. > What I mean is that 286-based virtual memory manager was somehow > forced to swap data between memory and disk in 64KB chunks. It was, > of course, possible to exchange exactly that many bytes the given > segment contained, but the overhead involved was unacceptable. The > overhead was related to the different sizes of the segment sin > question. If the VMM were to pay attention to the sizes, it'd have to > maintain some structure (probably sort of FAT) to find segments in > the swapfile. Even though searching through the structure wouldn't be > that time consuming, the operations involved in rearranging data > layout inside of the swapfile would be unacceptable. Imagine such a > situation: [snip] Yes, but this system excelled when static program modules were swapped in and out - things like segments in EXE files, like Windoze used to (my great grandfather tells me ;-), since these were constant sized things from fixed positions on disk. They could be demand loaded and dropped out when they were getting stale... > > What about AS and BS? :-) > ;-)) Another Segment and... and... erm... Bigger Segment??? AS is like ES, used for /trinary/ string operations (XOR these two strings to this string) and BS is used for arrays and stuff (lots of BS:EAX+EBX*sqrt(ECX*pi)^3 addressing modes...) (grin) ABW -- Governments are merely protection rackets with good images. Alaric B. Williams Internet : alaric AT abwillms DOT demon DOT co DOT uk http://www.abwillms.demon.co.uk/