*BSD News Article 18364


Return to BSD News archive

Xref: sserve comp.os.linux:47911 comp.os.386bsd.questions:3796 comp.sys.ibm.pc.hardware:60256 comp.windows.x.i386unix:2508
Newsgroups: comp.os.linux,comp.os.386bsd.questions,comp.sys.ibm.pc.hardware,comp.windows.x.i386unix
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!howland.reston.ans.net!ux1.cso.uiuc.edu!newsrelay.iastate.edu!news.iastate.edu!ponderous.cc.iastate.edu!michaelv
From: michaelv@iastate.edu (Michael L. VanLoon)
Subject: Re: SUMMARY: 486DX2/66 for Unix conclusions (fairly long)
Message-ID: <michaelv.742625634@ponderous.cc.iastate.edu>
Sender: news@news.iastate.edu (USENET News System)
Organization: Iowa State University, Ames IA
References: <CA3pv5.56D@implode.rain.com> <PCG.93Jul13210635@decb.aber.ac.uk>
Date: Wed, 14 Jul 1993 04:53:54 GMT
Lines: 45

In <PCG.93Jul13210635@decb.aber.ac.uk> pcg@aber.ac.uk (Piercarlo Grandi) writes:

>>>> On 13 Jul 93 11:42:41 GMT, davidg@implode.rain.com (David Greenman)
>>>> said:

>David> It is true that 386BSD as it is shipped does not support have
>David> libraries.  It is *not* true that it's total VM must be backed by
>David> swap. In fact if you want you can have *no* swap. The total VM in
>David> 386BSD is memory + swap.  386BSD's VM system has nothing in
>David> common with original BSD; 386BSD's VM system is derived from Mach
>David> 2.5.

>pcg> On the other hand Linux does no swapping. However the BSD swapper

>David> This is wrong, too. 386BSD does *not* swap. The swapping code has
>David> not yet been written. 386BSD only pages.


4.3BSD *pages* when system load is light.  This means it takes from a
process a small page that hasn't been used very recently (it's not in
the processes working set) and puts that page out to disk in the swap
area--it doesn't take the entire process.  It then pages in the new
process page, either from the swap area if it was paged out
previously, or from the filesystem if it's an executable that is being
demand-paged in and this is a new page.  This is a quick operation.

If system load is very heavy, however, paging would take more time
than actually running processes, so the system *swaps*.  Swapping
involves finding the largest process that has gotten the most cpu time
recently and writing its entire user state to the swap partition.
This memory is then used to either swap in a previously swapped
process, or page in a new process from the filesystem.  Swapping
requires more time than paging since it's more disk intensive, but it
also frees up a lot more memory by swapping out an entire large
process, allowing the remaining processes to run a little more easily
for a short time.

That is the model for 4.3BSD (in simple terms).  I don't know how
completely or carefully 386BSD or NetBSD follow this model.

-- 
------------------------------------------------------------------------------
  Michael L. VanLoon                           Project Vincent Systems Staff
  michaelv@iastate.edu              Iowa State University Computation Center
------------------------------------------------------------------------------