Re: wikipedia article

2006-06-14 Thread Per Fogelström
On Wednesday 14 June 2006 00:50, Johnny Billquist wrote:
 Per Fogelstrvm wrote:
  On Tuesday 13 June 2006 14:23, Rick Kelly wrote:
 Johnny Billquist said:
 There's actually a cheesy way to do demand paging with microprocessors
 that don't support demand paging (such as the original 68000--another
 16 bit machine).  The way to do this is to run two processors in
 parallel but skewed by one instruction.  If the first one does a bad
 memory fetch, then the second one will not have fetched the instruction
 causing the fault so contains restartable machine state.  Masscomp sold
 a machine like this once.
 
 Didn't the first Apollos do this?
 
 And also the Sun 1.
 
  IIRC it was simpler than that. When the first cpu caused a 'miss' it was
  put in wait and cpu 2 handled the pagein and then released cpu 1. Keeping
  the two cpus synched, one instruction apart would have been too
  complicated if not impossible...

 Your idea will not work, as far as I can tell.

Well it does. You are making assumptions which causes it to now work.
As Marcus already explained, the CPU is not allowed to trap but kept
waiting for the data. This of course had a terrible performance impact
(if you were running many background jobs) but considering that the Apollo
Domain stations were mostly used for CAD with huge data requirements it was 
not a bad thing though. At that time RAM was very expensive and top notch
performance was not a very big issue at all times. And the MMU chip was a 
piece of crap and expensive so most companies built their own MMU, like we 
did. Actually we never used any of Motorolas MMU chips in any of our systems.

 If the first CPU instruction execution causes a miss, the end result in
 the CPU will be pretty undefined, and you cannot restart. That's the
 whole point in why you'd have a second CPU shadowing the first one. So
 that you'd be able to restore the state as it were before the illegal
 memory access.
 And that was the problem with the original 68000. On an illegal memory
 reference, you would not know what state the CPU was in before the
 instruction, so you could not back it up, and re-execute the instruction
 after a page fault.

   Johnny
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


RE: wikipedia article

2006-06-13 Thread Ted Mittelstaedt


-Original Message-
From: Thor Lancelot Simon [mailto:[EMAIL PROTECTED]
Sent: Monday, June 12, 2006 10:35 PM
To: Ted Mittelstaedt
Cc: misc@openbsd.org; freebsd-questions@freebsd.org; 
[EMAIL PROTECTED]
Subject: Re: wikipedia article


On Mon, Jun 12, 2006 at 10:27:33PM -0700, Ted Mittelstaedt wrote:
 
 What was the bit size of the CPU's originally used to write 
UNIX in Bell
 Labs?

Rather large.  You can get all the details at
http://en.wikipedia.org/wiki/Magnetic_core.


That's a good one! :-)

Ted
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article

2006-06-13 Thread Johnny Billquist

That qualifies as the answer of the day.
My hat goes off to you. :-D

Johnny

Thor Lancelot Simon wrote:

On Mon, Jun 12, 2006 at 10:27:33PM -0700, Ted Mittelstaedt wrote:


What was the bit size of the CPU's originally used to write UNIX in Bell
Labs?



Rather large.  You can get all the details at
http://en.wikipedia.org/wiki/Magnetic_core.



--
Johnny Billquist  || I'm on a bus
  ||  on a psychedelic trip
email: [EMAIL PROTECTED]   ||  Reading murder books
pdp is alive! ||  tryin' to stay hip - B. Idol
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


RE: wikipedia article

2006-06-13 Thread Ted Mittelstaedt


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Mipam
Sent: Monday, June 12, 2006 1:45 AM
To: Nikolas Britton
Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED];
opensolaris-discuss@opensolaris.org; misc@openbsd.org;
[EMAIL PROTECTED]; Hámorszky Balázs;
freedos-user@lists.sourceforge.net; [EMAIL PROTECTED];
[EMAIL PROTECTED]; [EMAIL PROTECTED];
[EMAIL PROTECTED]; freebsd-questions@freebsd.org
Subject: Re: wikipedia article


On Sun, 11 Jun 2006, Nikolas Britton wrote:

[SNIP]
 * IIRC NetBSD was a fork of FreeBSD, OpenBSD was a fork of NetBSD.

Eeh? I believe NetBSD was there half a year before FreeBSD.

Eh?

http://www.netbsd.org/Misc/history.html

...Frustration at getting patches integrated and releases of 386BSD led
to FreeBSD, which concentrated the i386 platform, while NetBSD formed to
focus on multi-platform support...

Now, for the references, see:

http://wolfram.schneider.org/bsd/ftp/releases/

Let's start with the 386BSD stuff.  Unfortunately he doesen't have the
release
note for 386BSD 0.1, I think I have it I'll have to send it to him.
However:

http://wolfram.schneider.org/bsd/ftp/releases/386BSD-0.0

...From [EMAIL PROTECTED] Sat Mar 14 21:59:20 1992...

http://wolfram.schneider.org/bsd/ftp/releases/386BSD-1.0

... Date: 12 Nov 1994 22:50:49 -0800..

It shipped November 4...

So you see there was a lot of overlap, here.  Both NetBSD and FreeBSD's
official
first releases fell between the releases of 386BSD.  But, that isn't the
whole story,
read on:

http://wolfram.schneider.org/bsd/ftp/releases/NetBSD-0.8

...The source for NetBSD is derived from 386BSD 0.1, patched
with the 0.2.2 patch kit

...Thanks go to:

All of the people involved in the patch kit, including but not limited
to:
Terry Lambert
Nate Williams
Jordan Hubbard
Rod Grimes...

http://wolfram.schneider.org/bsd/ftp/releases/FreeBSD-1.0-EPSILON

...much awaited SECOND public release of FreeBSD...

...From: [EMAIL PROTECTED] (Jordan K. Hubbard)

Now, here's the kicker.

Notice that NetBSD 0.8 thanks Jordan for his work, why?  It is because
Jordan is the release
manager for FreeBSD during that time that NetBSD was released.  Yet if
NetBSD was
6 months BEFORE FreeBSD as your asserting, why would they be thanking the
authors of the patchkit, of which Jordan was one - 386BSD 0.1 as we
should all
know became FreeBSD, read:

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/history.html

...The FreeBSD project had its genesis in the early part of 1993,
partially as an outgrowth of the “Unofficial 386BSD Patchkit” by the
patchkit's last 3 coordinators: Nate Williams, Rod Grimes and myself

You see, work on FreeBSD and NetBSD was going on in parallel at the same
time, with the same people working on both operating systems.  It is a
mistake
to think that NetBSD was a fork of FreeBSD or vis-versa.  Both were
forks of
the 386BSD 0.1 release and as I explained, started out identically.
NetBSD was
carried on within CSRG initally, that is why you see all the blurbs like
intended as a
research tool and suchlike in the early NetBSD notes.  FreeBSD was
carried on within
Walnut Creek, very much outside of Berkeley.

You have to understand that in 1993 the Internet wasn't all over the
place, a lot of
people had no way of connection to it.  Only a fortunate few could do an
FTP transfer of
anything from Berkeley.  That is why Walnut Creek initially was so
important.


Ted

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


RE: wikipedia article

2006-06-13 Thread Ted Mittelstaedt


-Original Message-
From: John Nemeth [mailto:[EMAIL PROTECTED]
Sent: Monday, June 12, 2006 1:15 PM
To: Ted Mittelstaedt; Nikolas Britton; Ted Unangst
Cc: Hámorszky Balázs; misc@openbsd.org; freebsd-questions@freebsd.org;
[EMAIL PROTECTED]
Subject: RE: wikipedia article


On Nov 1,  6:11pm, Ted Mittelstaedt wrote:
}
} Prior to the release of the 80386 the Intel processors didn't have
} memory protection which was a requirement of any processor running
} the BSD kernel.

 This is not entirely true.  The 80286 had memory protection.
However, its memory protection was completely based on segments (i.e.
it could not do paging).

Oh, yeah, your right about that.  Me bad.

Also, it was only a 16 bit processor.

What was the bit size of the CPU's originally used to write UNIX in Bell
Labs?

Ted

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article

2006-06-13 Thread Otto Moerbeek

On Mon, 12 Jun 2006, Ted Mittelstaedt wrote:

 -Original Message-
 From: John Nemeth [mailto:[EMAIL PROTECTED]
 Sent: Monday, June 12, 2006 1:15 PM
 To: Ted Mittelstaedt; Nikolas Britton; Ted Unangst
 Cc: Hamorszky Balazs; misc@openbsd.org; freebsd-questions@freebsd.org;
 [EMAIL PROTECTED]
 Subject: RE: wikipedia article
 
 
 On Nov 1,  6:11pm, Ted Mittelstaedt wrote:
 }
 } Prior to the release of the 80386 the Intel processors didn't have
 } memory protection which was a requirement of any processor running
 } the BSD kernel.
 
  This is not entirely true.  The 80286 had memory protection.
 However, its memory protection was completely based on segments (i.e.
 it could not do paging).
 
 Oh, yeah, your right about that.  Me bad.
 
 Also, it was only a 16 bit processor.
 
 What was the bit size of the CPU's originally used to write UNIX in Bell
 Labs?

What's more, iirc the MMU of the pdp11 isn't what we call a MMU today,
it could not even do paging.

-Otto

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article

2006-06-13 Thread Marcus Watts
Various wrote:
 From: Otto Moerbeek [EMAIL PROTECTED]
 To: Ted Mittelstaedt [EMAIL PROTECTED]
...
  What was the bit size of the CPU's originally used to write UNIX in Bell
  Labs?
 
 What's more, iirc the MMU of the pdp11 isn't what we call a MMU today,
 it could not even do paging.

The pdp-11 mmu could handle program relocation, segmentation (after
a fashion) and memory protection.  I'm not sure what more you
could expect from an mmu.  What you mean by paging is
probably demand paging, which means the ability to run a program
without requiring that it be entirely resident.  The key
feature you need for that is a guarantee that any instruction fault
caused by missing memory can be either restarted or continued.
In most architectures that's a question of cpu design not mmu.

In the case of the pdp-11 that's mostly a moot point.  The pdp-11 only
provides for mapping the 64k of memory space into into 8 segments
(addressable on 64-byte clicks) and there's just not much win to
demand paging 8 pages.  (actually 6 x 8 pages; there was kernel,
user, and supervisor mode,  each had separate instruction and data
spaces, but supervisor mode was rarely used in Unix environments, and
only a few large user mode programs ran using split I/D space.)  For
what it's worth, though, I *think* it was possible to restart most
instructions on the /45 and /70, which were the big machines and the
primary target of most later pdp-11 work.  In fact, some use was made
of this feature -- automatic stack growth.  If you look through ancient
Unix source, you'll find interesting bits of kernel code that manage
this.

There's actually a cheesy way to do demand paging with microprocessors
that don't support demand paging (such as the original 68000--another
16 bit machine).  The way to do this is to run two processors in parallel
but skewed by one instruction.  If the first one does a bad memory fetch,
then the second one will not have fetched the instruction causing the
fault so contains restartable machine state.  Masscomp sold a machine
like this once.

-Marcus Watts
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article

2006-06-13 Thread Constantine A. Murenin

On 11/06/06, Hámorszky Balázs [EMAIL PROTECTED] wrote:

I'm looking for some help on an article on wikipedia.
http://en.wikipedia.org/wiki/Comparison_of_open_source_operating_systems


Whilst there, what about another important article that seems to have
a Linux POV?
http://en.wikipedia.org/wiki/Comparison_of_Open_Source_Wireless_Drivers
;)
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article

2006-06-13 Thread Ignatios Souvatzis
On Mon, Jun 12, 2006 at 01:14:57PM -0700, John Nemeth wrote:

 The 80386 was the first

x86

 processor with paging (which all modern virtual
 memory systems are based around) and 32 bits.

-is
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article

2006-06-13 Thread Johnny Billquist

Otto Moerbeek wrote:

On Mon, 12 Jun 2006, Ted Mittelstaedt wrote:



-Original Message-
From: John Nemeth [mailto:[EMAIL PROTECTED]
Sent: Monday, June 12, 2006 1:15 PM
To: Ted Mittelstaedt; Nikolas Britton; Ted Unangst
Cc: Hamorszky Balazs; misc@openbsd.org; freebsd-questions@freebsd.org;
[EMAIL PROTECTED]
Subject: RE: wikipedia article


On Nov 1,  6:11pm, Ted Mittelstaedt wrote:
}
} Prior to the release of the 80386 the Intel processors didn't have
} memory protection which was a requirement of any processor running
} the BSD kernel.

   This is not entirely true.  The 80286 had memory protection.
However, its memory protection was completely based on segments (i.e.
it could not do paging).


Oh, yeah, your right about that.  Me bad.



Also, it was only a 16 bit processor.


What was the bit size of the CPU's originally used to write UNIX in Bell
Labs?


The PDP-7 was/is an 18-bit machine.


What's more, iirc the MMU of the pdp11 isn't what we call a MMU today,
it could not even do paging.


You're wrong. You could easily do paging on a PDP-11, if you wanted to. 
The main reasons this wasn't done are two.
1) Each page is 8K. At the time, that was considered way too large pages 
for a demand page system.
2) The address space is only 64 per process, which means you only have 8 
pages. Not only is that perhaps a little little for meaningful paging 
(most programs tend to refer to all 8 pages most of the time). The main 
memory on a PDP-11 is furthermore 4 meg, so having a lot of processes 
full memory space in physical memory at the same time is not a problem.


The PDP-11 MMU is a beatiful MMU. Nothing like the crap Intel spits out. ;-)

Johnny

--
Johnny Billquist  || I'm on a bus
  ||  on a psychedelic trip
email: [EMAIL PROTECTED]   ||  Reading murder books
pdp is alive! ||  tryin' to stay hip - B. Idol
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article

2006-06-13 Thread Johnny Billquist

Marcus Watts wrote:

Various wrote:


From: Otto Moerbeek [EMAIL PROTECTED]
To: Ted Mittelstaedt [EMAIL PROTECTED]


...


What's more, iirc the MMU of the pdp11 isn't what we call a MMU today,
it could not even do paging.


The pdp-11 mmu could handle program relocation, segmentation (after
a fashion) and memory protection.  I'm not sure what more you
could expect from an mmu.  What you mean by paging is
probably demand paging, which means the ability to run a program
without requiring that it be entirely resident.  The key
feature you need for that is a guarantee that any instruction fault
caused by missing memory can be either restarted or continued.
In most architectures that's a question of cpu design not mmu.


True. But it's mostly a combination of MMU and CPU.
The MMU needs to either abort or trap the offending instruction, and the 
CPU needs to know how much side effects had been done so that they can 
be undone before a restart.


The PDP-11 MMU can either abort the instruction, or do a trap after the 
instruction completes. The CPU have a register telling of register 
modifications done, as well as the pre-fetch PC. In additions to this, 
the MMU have both an expansion direction, a modified bit, and an 
accessed bit. And that is in addition to the protection field and size 
field of the page (and the address relocation). So I can't really 
imagine anything that you cannot do with the PDP-11 MMU. Heck, there is 
even the funny bypass cache bit. Useful for multiprocessor systems...


Since the PDP-11 have a different page table for I- and D-space, you can 
even have execute-only pages.



In the case of the pdp-11 that's mostly a moot point.  The pdp-11 only
provides for mapping the 64k of memory space into into 8 segments
(addressable on 64-byte clicks) and there's just not much win to
demand paging 8 pages.  (actually 6 x 8 pages; there was kernel,
user, and supervisor mode,  each had separate instruction and data
spaces, but supervisor mode was rarely used in Unix environments, and
only a few large user mode programs ran using split I/D space.)


2.11BSD uses supervisor mode for the networking parts of the kernel. And 
the kernel is all I/D-space, and a bunch of programs are as well. The 
development is still contiuing. :-)



 For
what it's worth, though, I *think* it was possible to restart most
instructions on the /45 and /70, which were the big machines and the
primary target of most later pdp-11 work.


I don't think there is a single instruction that you can't restart.
Some small, older machines missed a few registers needed for proper 
restarts however, and on those things were a bit more of a gamble if you 
wanted to go that path.



 In fact, some use was made
of this feature -- automatic stack growth.  If you look through ancient
Unix source, you'll find interesting bits of kernel code that manage
this.

There's actually a cheesy way to do demand paging with microprocessors
that don't support demand paging (such as the original 68000--another
16 bit machine).  The way to do this is to run two processors in parallel
but skewed by one instruction.  If the first one does a bad memory fetch,
then the second one will not have fetched the instruction causing the
fault so contains restartable machine state.  Masscomp sold a machine
like this once.


Didn't the first Apollos do this?

Johnny

--
Johnny Billquist  || I'm on a bus
  ||  on a psychedelic trip
email: [EMAIL PROTECTED]   ||  Reading murder books
pdp is alive! ||  tryin' to stay hip - B. Idol
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article

2006-06-13 Thread Otto Moerbeek

On Tue, 13 Jun 2006, Johnny Billquist wrote:

 Otto Moerbeek wrote:
  On Mon, 12 Jun 2006, Ted Mittelstaedt wrote:
  
  
-Original Message-
From: John Nemeth [mailto:[EMAIL PROTECTED]
Sent: Monday, June 12, 2006 1:15 PM
To: Ted Mittelstaedt; Nikolas Britton; Ted Unangst
Cc: Hamorszky Balazs; misc@openbsd.org; freebsd-questions@freebsd.org;
[EMAIL PROTECTED]
Subject: RE: wikipedia article


On Nov 1,  6:11pm, Ted Mittelstaedt wrote:
}
} Prior to the release of the 80386 the Intel processors didn't have
} memory protection which was a requirement of any processor running
} the BSD kernel.

   This is not entirely true.  The 80286 had memory protection.
However, its memory protection was completely based on segments (i.e.
it could not do paging).
   
   Oh, yeah, your right about that.  Me bad.
   
   
Also, it was only a 16 bit processor.
   
   What was the bit size of the CPU's originally used to write UNIX in Bell
   Labs?
 
 The PDP-7 was/is an 18-bit machine.
 
  What's more, iirc the MMU of the pdp11 isn't what we call a MMU today,
  it could not even do paging.
 
 You're wrong. You could easily do paging on a PDP-11, if you wanted to. The
 main reasons this wasn't done are two.
 1) Each page is 8K. At the time, that was considered way too large pages for a
 demand page system.
 2) The address space is only 64 per process, which means you only have 8
 pages. Not only is that perhaps a little little for meaningful paging (most
 programs tend to refer to all 8 pages most of the time). The main memory on a
 PDP-11 is furthermore 4 meg, so having a lot of processes full memory space in
 physical memory at the same time is not a problem.
 
 The PDP-11 MMU is a beatiful MMU. Nothing like the crap Intel spits out. ;-)

I stand corrected. I always thought it coulnd't do paging, but I
suppose it should be due to various restrictions, it couldn't do
meaningful paging.

-Otto
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article

2006-06-13 Thread Rick Kelly
Johnny Billquist said:

 There's actually a cheesy way to do demand paging with microprocessors
 that don't support demand paging (such as the original 68000--another
 16 bit machine).  The way to do this is to run two processors in parallel
 but skewed by one instruction.  If the first one does a bad memory fetch,
 then the second one will not have fetched the instruction causing the
 fault so contains restartable machine state.  Masscomp sold a machine
 like this once.

Didn't the first Apollos do this?

And also the Sun 1.

-- 
Rick Kelly  [EMAIL PROTECTED]
http://www.rmkhome.com/
http://rkba.rmkhome.com/
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article [completely OT]

2006-06-13 Thread Alex Zbyslaw

Marcus Watts wrote:


 Masscomp sold a machine
like this once.
 

Masscomp did a lot of things.  They produced a machine which required an 
engineer to come out twice a month to shift everything around on the 
backplane until it worked again; they instituted such user friendly 
features as a restore command which couldn't restore directories with 
too many entries; and in the interests of their users made the root 
directory world writeable so that rm /* by a prankish luser would 
actually work (luckily they didn't think of rm -r).  I once filed 
something like 30 bug and security reports in one day.  I heard nothing 
until Masscomp were taken over several years later, at which point is 
was my pleasure to inform the caller that the machine was in the skip.  
Happy days :-)


--Alex


___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article

2006-06-13 Thread Per Fogelström
On Tuesday 13 June 2006 14:23, Rick Kelly wrote:
 Johnny Billquist said:
  There's actually a cheesy way to do demand paging with microprocessors
  that don't support demand paging (such as the original 68000--another
  16 bit machine).  The way to do this is to run two processors in
  parallel but skewed by one instruction.  If the first one does a bad
  memory fetch, then the second one will not have fetched the instruction
  causing the fault so contains restartable machine state.  Masscomp sold
  a machine like this once.
 
 Didn't the first Apollos do this?

 And also the Sun 1.

IIRC it was simpler than that. When the first cpu caused a 'miss' it was put
in wait and cpu 2 handled the pagein and then released cpu 1. Keeping the two
cpus synched, one instruction apart would have been too complicated if not
impossible...

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article

2006-06-13 Thread Johnny Billquist

Per Fogelström wrote:

On Tuesday 13 June 2006 14:23, Rick Kelly wrote:


Johnny Billquist said:


There's actually a cheesy way to do demand paging with microprocessors
that don't support demand paging (such as the original 68000--another
16 bit machine).  The way to do this is to run two processors in
parallel but skewed by one instruction.  If the first one does a bad
memory fetch, then the second one will not have fetched the instruction
causing the fault so contains restartable machine state.  Masscomp sold
a machine like this once.


Didn't the first Apollos do this?


And also the Sun 1.



IIRC it was simpler than that. When the first cpu caused a 'miss' it was put
in wait and cpu 2 handled the pagein and then released cpu 1. Keeping the two
cpus synched, one instruction apart would have been too complicated if not
impossible...


Your idea will not work, as far as I can tell.
If the first CPU instruction execution causes a miss, the end result in 
the CPU will be pretty undefined, and you cannot restart. That's the 
whole point in why you'd have a second CPU shadowing the first one. So 
that you'd be able to restore the state as it were before the illegal 
memory access.
And that was the problem with the original 68000. On an illegal memory 
reference, you would not know what state the CPU was in before the 
instruction, so you could not back it up, and re-execute the instruction 
after a page fault.


Johnny

--
Johnny Billquist  || I'm on a bus
  ||  on a psychedelic trip
email: [EMAIL PROTECTED]   ||  Reading murder books
pdp is alive! ||  tryin' to stay hip - B. Idol
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article

2006-06-13 Thread Marcus Watts
Various wrote:
 Message-ID: [EMAIL PROTECTED]
 Date: Wed, 14 Jun 2006 00:50:53 +0200
 From: Johnny Billquist [EMAIL PROTECTED]
 Organization: Update Computer Club
 User-Agent: Mozilla Thunderbird 1.0.7 (Windows/20050923)
 X-Accept-Language: en-us, en
 MIME-Version: 1.0
 To: =?ISO-8859-1?Q?Per_Fogelstr=F6m?= [EMAIL PROTECTED]
 CC: [EMAIL PROTECTED], Marcus Watts [EMAIL PROTECTED],
 Otto Moerbeek [EMAIL PROTECTED],
 Ted Mittelstaedt [EMAIL PROTECTED],
 John Nemeth [EMAIL PROTECTED],
 Nikolas Britton [EMAIL PROTECTED],
 Ted Unangst [EMAIL PROTECTED],
 =?ISO-8859-1?Q?H=E1morszky_Bal=E1zs?= [EMAIL PROTECTED],
 misc@openbsd.org, freebsd-questions@freebsd.org,
 [EMAIL PROTECTED]
 Subject: Re: wikipedia article
 
 Per Fogelstr=F6m wrote:
  On Tuesday 13 June 2006 14:23, Rick Kelly wrote:
 =20
 Johnny Billquist said:
 
 There's actually a cheesy way to do demand paging with microprocessor=
 s
 that don't support demand paging (such as the original 68000--another
 16 bit machine).  The way to do this is to run two processors in
 parallel but skewed by one instruction.  If the first one does a bad
 memory fetch, then the second one will not have fetched the instructi=
 on
 causing the fault so contains restartable machine state.  Masscomp so=
 ld
 a machine like this once.
 
 Didn't the first Apollos do this?
 
 And also the Sun 1.
 =20
 =20
  IIRC it was simpler than that. When the first cpu caused a 'miss' it wa=
 s put
  in wait and cpu 2 handled the pagein and then released cpu 1. Keeping t=
 he two
  cpus synched, one instruction apart would have been too complicated if =
 not
  impossible...
 
 Your idea will not work, as far as I can tell.
 If the first CPU instruction execution causes a miss, the end result in=20
 the CPU will be pretty undefined, and you cannot restart. That's the=20
 whole point in why you'd have a second CPU shadowing the first one. So=20
 that you'd be able to restore the state as it were before the illegal=20
 memory access.
 And that was the problem with the original 68000. On an illegal memory=20
 reference, you would not know what state the CPU was in before the=20
 instruction, so you could not back it up, and re-execute the instruction=20
 after a page fault.
 
   Johnny

Several clarifications.  The sun-1 did not have a dual CPU page fault
arrangement.  It used a slightly higher clock speed version of the
same CPU board used previously used by codata  4 other vendors,
originally designed by stanford university.  Instead of using the
motorola MMU which was late to market, expensive,  slow, or industry
standard MMU cache logic (TLB), they used a very clever generic chip
implementation that used the CPU alternate space instructions to manage
dedicated high speed RAM which provided all the mapping.  This managed
a page addressed space, but did NOT do demand paging.  Another exciting
low-cost feature of the sun-1 CPU was software dynamic ram refresh-
every 2 ms, the CPU was interrupted by the refresh interrupt and would
execute 127 nop instructions.  The sun-2 was very similiar to the sun-1,
but upgraded the 68000 to a 68010 (which could do instruction restarts
and hence demand paging), deleted the onboard RAM, and instead added
the ability to use DMA via an IOMMU to private bus RAM.  The sun-1 ran
unisoft version 7 unix, complete with swapping.  The sun-2 ran 4.2bsd.
I've got an actual physical codata processor manual (complete with
schematics) but I believe I've seen a sun-1 processor manual in pdf
somewhere on the web recently.

I'm not 100% sure how masscomp or apollo handled page faults.  The
impression I had is that the first CPU got reset, and the second was
interrupted on the instruction boundary and saved its CPU state first
thing in the interrupt handler.  While the user register state in the first is
undefined, the CPU itself is still good - it can take an interrupt,
transition into kernel mode and recover machine state from somewhere
else (like the 2nd CPU) just fine.  That seems to me to be the most
sane way it could have been handled.  I suppose it's possible the 2nd
CPU could have been instead paused, while the first CPU processed the
segmentation violation, trashed its non-recoverable machine state,
handled the exception, and ?somehow? reloaded machine state from the
2nd paused CPU.  Switching to a different process while the 2nd CPU was
paused waiting for a page to come in off disk might have been a bit
awkward.  So while I think this might have been made to work, I doubt
it could have performed as well.

So far as the 2 cpu synchronization logic goes - either of these
would have required such a beast.  The 68000 used address spaces to
distinguish between instruction and data references, so instruction
synchronization was no problem.  It might have been necessary to decode
instructions to sort out operands  other instruction stream
references, including logic to sort out page faults in the middle

RE: wikipedia article

2006-06-12 Thread Ted Mittelstaedt


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Nikolas Britton
Sent: Sunday, June 11, 2006 10:46 PM
To: Ted Unangst
Cc: Hámorszky Balázs; misc@openbsd.org; freebsd-questions@freebsd.org;
[EMAIL PROTECTED]
Subject: Re: wikipedia article


On 6/12/06, Ted Unangst [EMAIL PROTECTED] wrote:
 On 6/11/06, Nikolas Britton [EMAIL PROTECTED] wrote:
 
  * IIRC NetBSD was a fork of FreeBSD

 that's an interesting theory when you consider that the first netbsd
 release came out 8 months before the first freebsd release.


Yes as many others have noted, I cleary did not have my thinking cap
on. Let me correct myself:

NetBSD and FreeBSD both have deep roots in 4.3BSD NET/2, 386BSD, and
4.4BSD Lite. NetBSD is not a fork of FreeBSD but OpenBSD is a fork of
NetBSD. DragonFly BSD is a fork of FreeBSD 4.x, etc. etc.

With all the inbreeding it's hard to remember who's your daddy. :-)


386BSD 0.1 was what started it all off.  That was the Jolitz
port featured in Dr. Dobbs which was basically a Net/2 port.  That
split into 2 forks, 1 was 386BSD 0.1+unofficial patchkit  the
other was 386BSD 0.1 + The Jolitz's personal set of patches
which they claimed were better but wouldn't let anyone see

The second fork turned into something like 386BSD 0.2 which the
Jolitzes released years later and nobody paid any attention to.

The first fork became NetBSD and FreeBSD, the FreeBSD 0.X
and NetBSD 0.X code were virtually identical.  (I think by the 1.0
versions of both those OS's they had started diverging enough to be
considered separate forks)

BSDI from what I gather was partly a fork from 386BSD, partly
a parallel port from Net/2, it is difficult even today to know
the truth since the source has always been paid source, and
is now owned by Wind River and is sitting in their vault somewhere.

Prior to the release of the 80386
the Intel processors didn't have memory protection which was a
requirement
of any processor running the BSD kernel.

4.4BSD Lite came much later, after the USL lawsuit.  When it came
out all Net/2 descendents (ie: 386BSD/Jolitzes version, BSDI,
FreeBSD, NetBSD, plus whatever anyone was still doing with Net/2
on the VAXes) were told that if they didn't switch to 4.4BSD Lite
that they could be sued by USL directly, and could not use the
excuse that they were just using the University's copyright and
to go sue the University of California, Berkeley.

The commercial licensees of Net/2 and BSD 4.3 and such were basically
left to hang out and dry, since when 4.4BSD Lite was released the
university closed the CSRG.  I think that Sun and HP both had already
signed source licenses with USL (since they were also selling the
ATT UNIX source) and didn't give a rat's ass what CSRG did with
4.4BSD Lite.  I think that BSDI rewrote the kernel files that were
at the heart of the lawsuit themselves, perhaps with some inspiration
from FreeBSD 2.0, perhaps not.


Ted

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article

2006-06-12 Thread Mipam
On Sun, 11 Jun 2006, Nikolas Britton wrote:

[SNIP]
 * IIRC NetBSD was a fork of FreeBSD, OpenBSD was a fork of NetBSD.

Eeh? I believe NetBSD was there half a year before FreeBSD.
Bye,

Mipam.
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article

2006-06-12 Thread Dale Rahn
On Sun, Jun 11, 2006 at 10:18:55PM -0700, Ted Unangst wrote:
 On 6/11/06, Nikolas Britton [EMAIL PROTECTED] wrote:
 
 * IIRC NetBSD was a fork of FreeBSD
 
 that's an interesting theory when you consider that the first netbsd
 release came out 8 months before the first freebsd release.
 

However, NetBSD was a fork of 386BSD0.1+patchkit, where the group
developing the patchkit became FreeBSD.

Dale Rahn   [EMAIL PROTECTED]
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article

2006-06-12 Thread youshi10

On Mon, 12 Jun 2006, Mipam wrote:


On Sun, 11 Jun 2006, Nikolas Britton wrote:

[SNIP]

* IIRC NetBSD was a fork of FreeBSD, OpenBSD was a fork of NetBSD.


Eeh? I believe NetBSD was there half a year before FreeBSD.
Bye,

Mipam.



From what I remember, I thought it was 386BSD split off into FreeBSD and NetBSD 
somewhere in the early 90's, then OpenBSD came from NetBSD in the early to mid 
90's.

-Garrett


___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article

2006-06-12 Thread Thor Lancelot Simon
On Mon, Jun 12, 2006 at 10:23:06AM -0400, Dale Rahn wrote:
 On Sun, Jun 11, 2006 at 10:18:55PM -0700, Ted Unangst wrote:
  On 6/11/06, Nikolas Britton [EMAIL PROTECTED] wrote:
  
  * IIRC NetBSD was a fork of FreeBSD
  
  that's an interesting theory when you consider that the first netbsd
  release came out 8 months before the first freebsd release.
  
 
 However, NetBSD was a fork of 386BSD0.1+patchkit, where the group
 developing the patchkit became FreeBSD.

ITYM some of the group; I don't know where things would end up by total
lines of code contributed, but I'd say NetBSD, FreeBSD and OpenBSD might
well end up about even.  If you really want to pick nits, I could point
out that the patchkit maintainers received a pre-release snapshot of NetBSD
0.8 well before the FreeBSD release, portions of which were incorporated
into FreeBSD without proper credit; so it would be wholly reasonable to
call FreeBSD a fork of NetBSD 0.8.

Does it really matter?  This whole discussion seems like a deliberate
effort to dredge up old rivalries and create bad feeling.  It is all
ancient, ancient history now.

Thor
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article

2006-06-12 Thread Darrin Chandler
On Mon, Jun 12, 2006 at 02:48:07PM -0400, Thor Lancelot Simon wrote:
 Does it really matter?  This whole discussion seems like a deliberate
 effort to dredge up old rivalries and create bad feeling.  It is all
 ancient, ancient history now.

I doubt this was the original intention, but it looks like it's headed
that way...

At this point in time it seems like there's a fair amount of porting,
backpatching, and code sharing between the BSDs. Who came first has less
to do with anything than the philosophy and focus of each project today,
and how well it fits with a particular application.

If the wikipedia article helps people determine suitability for a
purpose then it's worthwhile. The history is already out there, and can
be included or merely linked to.

-- 
Darrin Chandler|  Phoenix BSD Users Group
[EMAIL PROTECTED]   |  http://bsd.phoenix.az.us/
http://www.stilyagin.com/  |
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


RE: wikipedia article

2006-06-12 Thread John Nemeth
On Nov 1,  6:11pm, Ted Mittelstaedt wrote:
} 
} Prior to the release of the 80386 the Intel processors didn't have
} memory protection which was a requirement of any processor running
} the BSD kernel.

 This is not entirely true.  The 80286 had memory protection.
However, its memory protection was completely based on segments (i.e.
it could not do paging).  Also, it was only a 16 bit processor.  These
two items combined to make it very difficult to run a modern Unix-like
system.  However, it did run Xenix as well as various other systems.
The 80386 was the first processor with paging (which all modern virtual
memory systems are based around) and 32 bits.

}-- End of excerpt from Ted Mittelstaedt
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article

2006-06-12 Thread Bob Beck


* Constantine A. Murenin [EMAIL PROTECTED] [2006-06-12 15:07]:
 On 11/06/06, Hamorszky Balazs [EMAIL PROTECTED] wrote:
 I'm looking for some help on an article on wikipedia.
 http://en.wikipedia.org/wiki/Comparison_of_open_source_operating_systems
 
 Whilst there, what about another important article that seems to have
 a Linux POV?
 http://en.wikipedia.org/wiki/Comparison_of_Open_Source_Wireless_Drivers
 ;)

No just expand

http://en.wikipedia.org/wiki/Blob

to add a proper definition for Binary Blob as that last entry on
the page there.

-Bob
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article

2006-06-12 Thread Matthias Kilian
Could this discussion please be moved to the Wikipedia discussion
pages?
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


RE: wikipedia article

2006-06-12 Thread Ted Mittelstaedt


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Thor
Lancelot Simon
Sent: Monday, June 12, 2006 11:48 AM
To: Dale Rahn
Cc: misc@openbsd.org; freebsd-questions@freebsd.org;
[EMAIL PROTECTED]
Subject: Re: wikipedia article


On Mon, Jun 12, 2006 at 10:23:06AM -0400, Dale Rahn wrote:
 On Sun, Jun 11, 2006 at 10:18:55PM -0700, Ted Unangst wrote:
  On 6/11/06, Nikolas Britton [EMAIL PROTECTED] wrote:
  
  * IIRC NetBSD was a fork of FreeBSD
 
  that's an interesting theory when you consider that the first netbsd
  release came out 8 months before the first freebsd release.
 

 However, NetBSD was a fork of 386BSD0.1+patchkit, where the group
 developing the patchkit became FreeBSD.

ITYM some of the group; I don't know where things would end
up by total
lines of code contributed, but I'd say NetBSD, FreeBSD and OpenBSD might
well end up about even.  If you really want to pick nits, I could point
out that the patchkit maintainers received a pre-release
snapshot of NetBSD
0.8 well before the FreeBSD release, portions of which were incorporated
into FreeBSD without proper credit; so it would be wholly reasonable to
call FreeBSD a fork of NetBSD 0.8.


Cool, which portions?

Does it really matter?  This whole discussion seems like a deliberate
effort to dredge up old rivalries and create bad feeling.  It is all
ancient, ancient history now.


That is absolutely rediculous and you are the one trying to cause
bad feeling.  Just because your bored with the discussion doesn't
give you the right to start singing kumbiya and the GNU share the
software song and wet all over the rest of us.

History is interesting in of it's own right.  There was a lot of emotion
involved in creating the operating systems.  Without that emotion
driving people to do things, the OSes would not have got done.  To
try to minimize this is to cheat the newbies to the system today of
the rich heritage, and replace it with bland tasteless cardboard.  It's
just like the stupid replacement of the FreeBSD Beastie logo with
the sex-toy logo.  Blah, bland tasteless.

All of this happened over a decade ago and many of the players that were
involved aren't involved in any of the OSs anymore in a significant
way  If your not mature enough to deal with reading about 10 year
old controversy, I suggest you go back to your Bernstain Bears books
and stop bothering the adults.

Ted

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article

2006-06-12 Thread Thor Lancelot Simon
On Mon, Jun 12, 2006 at 10:27:33PM -0700, Ted Mittelstaedt wrote:
 
 What was the bit size of the CPU's originally used to write UNIX in Bell
 Labs?

Rather large.  You can get all the details at
http://en.wikipedia.org/wiki/Magnetic_core.

-- 
  Thor Lancelot Simon[EMAIL PROTECTED]

  We cannot usually in social life pursue a single value or a single moral
   aim, untroubled by the need to compromise with others.  - H.L.A. Hart
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article

2006-06-11 Thread Ted Unangst

On 6/11/06, Nikolas Britton [EMAIL PROTECTED] wrote:


* IIRC NetBSD was a fork of FreeBSD


that's an interesting theory when you consider that the first netbsd
release came out 8 months before the first freebsd release.
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: wikipedia article

2006-06-11 Thread Nikolas Britton

On 6/12/06, Ted Unangst [EMAIL PROTECTED] wrote:

On 6/11/06, Nikolas Britton [EMAIL PROTECTED] wrote:

 * IIRC NetBSD was a fork of FreeBSD

that's an interesting theory when you consider that the first netbsd
release came out 8 months before the first freebsd release.



Yes as many others have noted, I cleary did not have my thinking cap
on. Let me correct myself:

NetBSD and FreeBSD both have deep roots in 4.3BSD NET/2, 386BSD, and
4.4BSD Lite. NetBSD is not a fork of FreeBSD but OpenBSD is a fork of
NetBSD. DragonFly BSD is a fork of FreeBSD 4.x, etc. etc.

With all the inbreeding it's hard to remember who's your daddy. :-)

http://www.levenez.com/unix/history.html#08
http://www.svbug.com/historybsd2.html
http://cisx1.uma.maine.edu/~wbackman/bsdtalk/bsdtalk018.mp3
http://cisx1.uma.maine.edu/~wbackman/bsdtalk/bsdtalk029.mp3
http://www.netbsd.org/Misc/history.html
http://www.freebsd.org/handbook/history.html
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]