Larry Wall & Cults

S

SM Ryan

# >> Note the Mac OS 10 / Darwin uses a unix kernel because of all the
# >> problems with interoperabillity OS 9 had with talking to Windows and
# >> Unix boxes.
# >
# > No that's not the reason. The reason is ONLY because of the lack of
# > virtual memory management (with separation of addressing spaces for
# > processes) in MacOS.
#
# It was my impression that the Motorola 68000 CPU, upon which the
# original Macintosh was based, did not support memory management in
# hardware. At least, that's usually given as the reason that portable
# Unix systems such as NetBSD will "never" run on the earlier 68k (or,
# for that matter, 8086 or 80286) chips.

It needed an extra chip until about the 68020. Mac system 7 had a form of
virtual memory; there are Linux and BSD versions that are advertised to
run on the 68020 or later.

MacOSX still has cruft from 1984 system 1, but now it's the outer layers
on top of the Unix kernel calls instead of Posix functions layered on
top of cruft.
 
S

SM Ryan

# That is not the problem; one can do memory management and multiple
# address spaces in external hardware as well. But the MacOS architecture
# obviously wanted to be all in one address space, as did the early
# windows versions. This makes GUI easier and networking and fault
# isolation harder, but it's a valid tradeoff. :)

Not really. It was known to be a problem from the first Multi-Finder. The original
Macs only ran one application at a time, and had to halt and return to Finder to
run another. That continued till the Multi-Finder in system 6 (or 5?), and
officially enshrined in system 7. By that time Apple already knew it was dead
end operating system and started and aborted a number of successors, and continued
warnings that all the low level interfaces would disappear Real Soon Now. Even
implementing on the PPC caused all sorts of compatiability problems.

On the other hand I'm still running 68K programs on MacOSX.
 
J

J. Romano

In the computing world, there're also bad seeds with
colorful creed taking innocent mobs forming cults.
The three principal virtues of a programmer are Laziness,
Impatience, and Hubris. Yes?

How can we prevent heinous cults then? Stop bending
truths. Education and rationalism. I'm starting my
own cult to exterminate morons on this earth. Two
things are on the top of my agenda: Unixism and Perl.

You know... the original poster has a point...

After all, Perl programmers have been known to "use Curses", as
well as hex(), bless(), and sin(). (Which might lead him to believe
that Perl programmers will eventually pack() their belongings, split()
from their families , and join an isolated community where there is
nothing to do but study() until you die() (or your mind goes
"pop()"!).

Coincidence? (I think so!)

(Wow... Python advocacy has really taken a bizarre turn lately...)

-- J.


(My apologies if I offended any Python programmers. It was not my
intention to associate the Python community with the original poster.)
 
R

Rob Warnock

+---------------
| Pascal Bourguignon wrote:
| > In anycase, at the time the Macintosh appeared, there were
| > already 680x0 based unix workstations.
|
| It was specifically the 68000. Fixes were made that took effect in the
| 68010 and 68020. Dunno about 68008. IIRC the problem was that you could
| not restart some instructions properly. Some UNIX workstations did use
| 68Ks, there was an Apollo that had two of them running in lock-step,
| with one of them one instruction behind the other. When the leading CPU
| barfed, action would be taken and the other CPU would take over. Someone
| in comp.arch worked on the Fortune boxes and IIRC he claimed they had a
| more elegant single CPU solution.
+---------------

That would have been me, in <replying to John Mashey. We tweaked the C compiler's calling conventions
enough to allow automatic stack growth by faulting off the end of the
stack to work reliably. See the referenced article for more detail.

But as I finished there:

Though there were certainly other places where the mc68000's imprecise
exceptions left no choice but to blow the offending process away...


-Rob
 
R

Rob Warnock

+---------------
| I don't know whether the 68000 already had user and supervisor
| mode which is also (besides an MMU) a prerequisite for completely
| jailing user programs.
+---------------

Yes, it did. The original Fortune Systems box used a 68000 to run
a hybrid ATT-v.7/BSD-4.1a kernel. It "completely jailed" user programs,
as you put it. Though, as others have noted, since the 68000 could not
recover from arbitrary bus faults (SIGSEGVs), we were only able to
provide whole-process swapping, not general paging.

But as a consequence of this limitation, we were able to use a *much*
simpler external MMU, basically a four-segment base/limit style (think
of a PDP-10 with 4 segs instead of 2, or a PDP-11/44 with 4 instead of 8)
built out of 4x4 register files (74S670's, IIRC) instead of the expensive,
fast SRAMs Sun later used on their 68020 box.


-Rob

p.s. The four segments were text, data, "extra", and stack, equally
dividing the virutual address space, with the limits growing up from
the beginning of the segment for text & data and down from the end
for "extra" and stack. [In case you're wondering, "extra" was used
for various & sundry purposes: System-V shmem; for mapping /dev/mem
or /dev/kmem for kernel debugging; mapping hardware into user-mode
drivers; and similar stunts.]
 
A

Andrew Dalke

[cc'ed to poster since I removed all the cross-posts from
c.l.py, which I'm guessing J. doesn't read]

J. Romano said:
After all, Perl programmers have been known to "use Curses", as
well as hex(), bless(), and sin(). (Which might lead him to believe
that Perl programmers will eventually pack() their belongings, split()
from their families , and join an isolated community where there is
nothing to do but study() until you die() (or your mind goes
"pop()"!).

While Python programmers just import curses and hex(). We
also coerce() people into using indentation, which we
think is super() zip()py. When things get complex() we
like to help() each other out. To sum() it up, we're a
pretty open() bunch.
> (My apologies if I offended any Python programmers. It was not my
> intention to associate the Python community with the original poster.)

No offense taken, and thanks for your input(). I
didn't think it was raw_input() :)

But if you want to come round() our property() and object()
then zip() it. And you'ld better not wait for the locals()
to reload() else we'll slice() you and reduce() you to
hash() ... pow() !

[I hadn't realized how violent Python's __builtins__ could be.]

That took too long() to set() up and enumerate(). I'm
max()ed out on puns, but hey, whatever float()s my boat,
eh? 'Course maybe if I had an intern() type() to appease
my id() I could 'quit'.

Now that that's sorted(), I'll grab my 'license' and a
map() then 'exit' to the golf range() to work on my slice().
If I apply() my self I could compile() my scores, or more
likely just toss them into the circular file().

Andrew
(e-mail address removed)
 
C

CBFalconer

Alan said:
.... snip ...

Perhaps I'm misinterpreting John Thingstad's remarks, but I was
mostly objecting to the idea that Linus sat down with a copy of
the POSIX specifications and turned them into an OS. (Especially
since not all of the current POSIX standards existed at the time
:)

Considering the POSIX standard as a cookbook for an OS makes no
more sense than considering the C99 standard as a cookbook for a C
compiler.
 
C

CBFalconer

Alan said:
Linux Pauling? I know about Linus Torvalds and Linus Pauling . I
don't think the latter had much to do with Linux.

This has to do with the well known metamorphosis of the common
cold into an OS when treated with large doses of vitamin C. Those
viruses are smart.
 
J

jmfbahciv

# > Not exactly a typical editor function, agreed. I was feeling a little
# > whimsical at the time.
#
# i once did a random email/usenet signature with zippy/yow ... but i
# added two other files to it ... and then i had to fix a feature in
# yow. yow uses a 16bit random number to index a yow file ... it was ok
# as long as your sayings file was less than 64kbytes. i had to modify
# yow to handle files larger than 64kbytes ... the "sayings" file used
# for 6670 separater pages was 167k bytes and the jargon file was 413k
# bytes ... while a current zippy yow file is 52,800 bytes.

It's nice to know people still have time to work on
really important things.

Before you choke on your stuffiness, you should know that
playing uncovered an ungodly number of bugs that would
have never been exercised doing computing that had been
approved by PHBs.

/BAH


Subtract a hundred and four for e-mail.
 
J

jmfbahciv

You seeem misinformed.
Microsoft swallowed up a team from DEC.
The were developing a operating system called PRISM.

Which was Cutler's view of what VMS should be. Assuming
he hadn't change, this would not have delivered computing
system services to users.
When the project was cancelled they quit DEC in protest.
These peaple had more than a 100 years of experience in developing
muliuser /
mutitasking operating systems between them.

100 years total isn't much experience.
.. The fact that the NT kernel is
not
entirely stable yet really shouldn't supprise anyone. Afterall Unix has
messed with
it's kernel for 30 years.

PRISM is as old as Unix...actually older.


<snip>

/BAH

Subtract a hundred and four for e-mail.
 
J

jmfbahciv

I feel compelled to replay that Linux is based on the Posix standard which
is basically a recipie for writing unix. They did not write a new
operating system. They implemented a tested and proven one.

So was Cutler's. He had his own ideas about what an OS should
do. None of them delievered efficient computing services that
the customer wanted.

/BAH


Subtract a hundred and four for e-mail.
 
J

jmfbahciv

lol.. oops. No Pauling was a nobel prize winning chemist.
No idea why that came out. (assosiative memory can be a bich)
The guys figured it out. You have an interested associative
memory :).

/BAH

Subtract a hundred and four for e-mail.
 
J

jmfbahciv

The original NT (3.0) was well designed, but slow on the hardware
of the time. Then MS got to work increasing module connectivity
and reducing reliability.

V3? I thought V4 was their last good one before they started to
put apps into execmode.


<snip>

/BAH

Subtract a hundred and four for e-mail.
 
J

jmfbahciv

ISTR there was some tunnel NASA had to relate to if they wanted
to move the goods from production to launch. But that may have been
earlier products.

But rail tunnels are also descended from the same asses, so to speak.

There was a city getting restored in Turkey that JMF and I visited;
I cannot remember its name other than it's in the New Testament
written by Paul. It was one of most fascinating places I'd ever
been other than aquariums and zoos. There are ruts in the
stone-block pavements caused by running carts to/from harbor/city.
We were told that these ruts were worn down by usage. I always
wanted to get a big stone and spend 5 min/day rubbing it to see
if the claim was true.

/BAH

Subtract a hundred and four for e-mail.
 
V

Ville Vainio

John> lol.. oops. No Pauling was a nobel prize winning chemist.

Speaking of which, why are we still waiting for Linus Torvalds' Nobel
prize? I'm sure there are tons of less significant
inventions/achievements that have won the prize.

On related note, this thread is way off topic for most involved
newsgroups, and doesn't show any signs of ending either (and yes, I
wasn't helping ;-).
 
C

Christopher Browne

I feel compelled to point out that Linux achieved considerably
better stability after just a few years.

Perhaps, but Linus and crew didn't have to start from not knowing what
Unix "ought" to look like, and had the perspective of being able to
look back at 20-odd years of the things that went well and badly with
Unix.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,781
Messages
2,569,615
Members
45,296
Latest member
HeikeHolli

Latest Threads

Top