[comp.unix.questions] BSD vs. System V, one last thing...

jherr@umbio.MIAMI.EDU (Jack Herrington) (09/18/88)

I have always been hanging out on BSD systems, so I have little or no
expereince on the deadly SV.  And all of it as a casual user, no
compilations, etc.  I just found out (I know you people are going to say, "God
you're stupid!") that SV has no virtual memory built in, this makes absolutely
no sense to me since unix had it all the way up to V7 as I remember, and they
scrapped vm for SV.  This utterly confuses me (AT&T has a marvelous way
of doing that to me).

-Jack
 Baffled.

murthy@rati.cs.cornell.edu (Chet Murthy) (09/18/88)

In article <553@umbio.MIAMI.EDU> jherr@umbio.MIAMI.EDU (Jack Herrington) writes:
>no sense to me since unix had it all the way up to V7 as I remember, and they
>scrapped vm for SV.  This utterly confuses me (AT&T has a marvelous way
>of doing that to me).

Actually, v7 didn't have virtual memory built-in.
At least, not paged virtual memory.  sysV diesn't
have it because, as I heard it, it is derived from
PWB/UNIX, and not v7.  PWB was the same UNIX,
so I have heard, that spawned 32v, which went on to
become 2bsd, 3bsd, 4bsd, etc.  However, sysV did
get paging in version V.2.2.  And also in V.3
System V did indeed have swapping, though.  But
then swapping can be done with a minimum of hardware.


	--chet--
	murthy@svax.cs.cornell.edu

gwyn@smoke.ARPA (Doug Gwyn ) (09/18/88)

In article <553@umbio.MIAMI.EDU> jherr@umbio.MIAMI.EDU (Jack Herrington) writes:
>I just found out ... that SV has no virtual memory built in, this makes
>absolutely no sense to me since unix had it all the way up to V7 as I
>remember, and they scrapped vm for SV.  This utterly confuses me ...

Sounds like you started out confused.  First of all, you should distinguish
between "demand paging" (in which portions of a process are loaded from disk
as they are needed, instead of all in advance) and "virtual memory" (which
just means that the addresses used by a process are mapped into physical
addresses).  Most versions of UNIX, for example 6th Edition on the PDP-11,
utilized virtual memory, and this remains especially true today (including
UNIX System V).  The first widely-used demand-paging UNIX was 3BSD on the
VAX.  AT&T's VAX releases of UNIX did not use demand paging until UNIX
System V Release 2 Version 2 for DEC VAX, and around the same time frame
AT&T's 3B2 releases of UNIX System V started to use demand paging (based on
a generally cleaner implementation than found in 4BSD).  There really is not
much advantage to demand paging over partial swapping if your system runs
mostly small processes and is not heavily loaded.  Under some circumstances
demand paging can cause a horrible performance loss as the system goes into
a "thrashing" mode.

Why do you care?

guy@gorodish.Sun.COM (Guy Harris) (09/18/88)

> I have always been hanging out on BSD systems, so I have little or no
> expereince on the deadly SV.  And all of it as a casual user, no
> compilations, etc.  I just found out (I know you people are going to say,
> "God you're stupid!") that SV has no virtual memory built in,

This is incorrect.  If you heard this from somebody else, don't take their word
for much else about UNIX, because their information appears to be extremely
out-of-date at best, and simply wrong at worst.

The VAX System V Release 2 version *does* support demand-paged virtual memory,
as do the later 3B2 flavors of S5R2.  S5R3 also has it.

> this makes absolutely no sense to me since unix had it all the way up to V7
> as I remember,

No version of UNIX publicly released by AT&T before the VAX System V Release 2
version had demand-paged virtual memory.  This includes V7 for the PDP-11, and
the 32V version for the VAX (basically close to V7).

Berkeley added it to the 32V version of VAX UNIX independently of AT&T.

Versions of UNIX running on PDP-11 hardware with memory management had "virtual
memory" in the sense that they had memory mapping (there have been long debates
on USENET about what "virtual memory" means in the past; let's not start
another one - I simply note here that some people would not consider the PDP-11
UNIX versions from AT&T to have had virtual memory); all the S5 releases from
AT&T have had "virtual memory" in that sense.

> and they scrapped vm for SV.

As you can see, they did no such thing.

gwyn@smoke.ARPA (Doug Gwyn ) (09/18/88)

In article <21106@cornell.UUCP> murthy@cs.cornell.edu (Chet Murthy) writes:
>Actually, v7 didn't have virtual memory built-in.
>At least, not paged virtual memory.  sysV diesn't
>have it because, as I heard it, it is derived from
>PWB/UNIX, and not v7.  PWB was the same UNIX,
>so I have heard, that spawned 32v, which went on to
>become 2bsd, 3bsd, 4bsd, etc.  However, sysV did
>get paging in version V.2.2.  And also in V.3
>System V did indeed have swapping, though.  But
>then swapping can be done with a minimum of hardware.

This is mostly wrong.  UNIX/32V sprang directly from 7th Edition
UNIX.  UNIX System V has resulted from several evolutionary streams,
not especially PWB.  The original PWB/UNIX and 7th Edition UNIX had
essentially the same memory management (swapping) strategy anyway.
The PDP-11 had sufficient hardware (KT11) for demand paging.
(It was missing page reference bits, but so was the VAX-11/780.)

You have to be careful with UNIX System V version numbers.  Release
2 Version 2 for the 3B2. for example, did NOT implement demand paging
(that occurred with Release 2 Version 4 for 3B2).  I don't think
there was a Release 2.2 for any architecture, but there was a Release
2.1 for the 3B2.

UNIX System V used a partial-swapping strategy on most architectures
until the demand-paging versions came out.  Most implementations of
UNIX have some form of swapping, even if they also provide demand
paging.

guy@gorodish.Sun.COM (Guy Harris) (09/19/88)

> I don't think there was a Release 2.2 for any architecture,

There was a System V Release 2 Version 2 for the VAX, which was the first
publicly-released demand-paged VAX System V release; I don't know whether it
was also officially named "System V Release 2.2" or not, although I suspect it
wasn't.  Yes, S5 version numbers do not follow simple patterns, or at least
didn't in the S5R2 time frame....

scott@dtscp1.UUCP (Scott Barman) (09/20/88)

In article <21106@cornell.UUCP> murthy@cs.cornell.edu (Chet Murthy) writes:
>In article <553@umbio.MIAMI.EDU> jherr@umbio.MIAMI.EDU (Jack Herrington) writes:
>At least, not paged virtual memory.  sysV diesn't
>have it because, as I heard it, it is derived from
>PWB/UNIX, and not v7.  PWB was the same UNIX,
>so I have heard, that spawned 32v, which went on to
>become 2bsd, 3bsd, 4bsd, etc.  However, sysV did
>get paging in version V.2.2.  And also in V.3
>System V did indeed have swapping, though.  But
>then swapping can be done with a minimum of hardware.

No!  32V (and I used 32V waiting for a 4.0bsd tape--way back when :-) was
version seven made to run on the Vax.  It was not derived from PWB.
BSD was derived (from what I have been told) v6 (2.x bsd) and 32v (from 3 bsd,
a beastie I never used :-).  System III was derived from PWB and, of course,
System V is derived from System III (System IV never worked real well from
what I have been told by someone who has used it).  Since AT&T based SV
on PWB and not v7, it convinced the company I worked for to stay with BSD
since stuff running on our PDP 11/55 running v7 required extra work to port
and worked with no problems on BSD.
(yes, this is a jab at AT&T--I still feel they should have "gone with the
girl that brung 'em").

-- 
scott barman		..!gatech!dtscp1!scott

pwy@pyuxe.UUCP (Peyton Yanchurak) (09/29/88)

In article <8525@smoke.ARPA>, gwyn@smoke.ARPA (Doug Gwyn ) writes:
> You have to be careful with UNIX System V version numbers.  Release
> 2 Version 2 for the 3B2. for example, did NOT implement demand paging
> (that occurred with Release 2 Version 4 for 3B2).  I don't think
> there was a Release 2.2 for any architecture, but there was a Release
> 2.1 for the 3B2.

Actually System V Release 2 Version 4 was the first paging release
for the 3B20 not the 3B2.  It came out in January of 1985.
It had only limited distribution.  The paging release
for the VAX (Release 2 Version 2) was actually released a
month earlier that the 3B20  release. Release 2.1 (Dec 85)
was the first generally available paging release for the 3B20.
The first paging version for the 3B2 was Release 2.1.
It should also be noted that:
Release 2.1 for the 3B2 != Release 2.1 for the 3B20
Release 2.1 for the 3B2 had such features as synchronous
writes (open with the O_SYNC flag) and gradual/periodic
buffer flushing (NAUTOUP and BDFLUSHR tunable parameter).
These features didn't appear on the 3B20 until Release 2.1.1

The naming of  new  releases for Release 2 derivatives
got messed up because AT&T put out additional maintenance
releases for the 3B20 to support new hardware (diagnostics,
floating point, tape and disk drives) and kept 
on using version numbers in sequence.
The naming scheme for Release 3 derivatives seems 
to be logically more consistant.


			Peyton Yanchurak
			pyuxe!pwy

shz@packard.UUCP (S. Zirin) (09/30/88)

In article <687@pyuxe.UUCP> pwy@pyuxe.UUCP writes:
>Actually System V Release 2 Version 4 was the first paging release
>for the 3B20 not the 3B2.  It came out in January of 1985.

Not True.

SVR2.1 V3 was the first paging release for the 3b20.  Some people
called this SVR2.1.0 V3.

The second paging release for the 3b20 was called SVR2.1.1 V4 and supported 
binary-only distributions (in addition to source).

The last swapping release for the 3b20 (to my knowledge) was SVR2.0.3 V3.

Seth Zirin
att!packard!shz

gwyn@smoke.ARPA (Doug Gwyn ) (10/03/88)

In article <687@packard.UUCP> shz@packard.UUCP writes:
[in response to previous postings]
>The second paging release for the 3b20 was called SVR2.1.1 V4 ...

This series of "not trues" must qualify as another "UNIX joke".
Or rather, the naming schemes used by AT&T that led to the
confusion is the real joke.