Mail Archives: djgpp/1999/04/13/14:20:42

Date: Tue, 13 Apr 1999 14:20:32 -0400
Message-Id: <>
From: DJ Delorie <dj AT delorie DOT com>
To: djgpp AT delorie DOT com
<F554E1189472D21198D000805F654BFE05FA95 AT ntxchangerend DOT engr DOT rendition DOT com>
(message from yjtseng on Tue, 13 Apr 1999 12:14:51 -0600)
Subject: Re: cwsdpr0.exe 4/13/99
References: <F554E1189472D21198D000805F654BFE05FA95 AT ntxchangerend DOT engr DOT rendition DOT com>
Reply-To: djgpp AT delorie DOT com

> I thought that paging and virtual memory are the same, i.e. if paging is on
> then virtual memory concept kicks in. And if virtual memory is disabled then
> you are not supposed to have paging and in this case linear address is the
> same as physical address. :-) 

Paging means you're using the page directory and page tables to
rearrange memory to suit your needs.  For example, qemm might use
paging to remap the first 64K of memory just after the 1Mb mark to
simulate the A20 wraparound present in pre-286 computers.

Virtual memory means that parts of your program's address space refer
to memory that may be stored on some slow media (like a hard drive) or
may not exist at all yet (like stack you haven't used).  This allows
programs to be larger than the size of physical memory.

Paging without virtual memory is easy, and in fact that's what you get
if you don't need to use that disk-based swap file, since all the
memory you use is real memory.

Virtual memory without paging is easy, and in fact that's how 286's
had to do it - they had no paging, but they could swap segments out
for virtual memory.

- Raw text -

  webmaster     delorie software   privacy  
  Copyright 2019   by DJ Delorie     Updated Jul 2019