Brantley Coile:
The fact that a pointer of zero generates a hardware trap is not
defined in the language, whereas a 0 is is defined to be a null pointer.
=====
The language doesn't require that dereferencing a null pointer
cause a trap, either. There's no way to guarantee that behaviour
in all environments unless every pointer dereference must include
instructions to check for the null-pointer value, because C can
run in environments in which any pointer value might be a valid
address.
On modern machines it's conventional for the null-pointer value
in C, what you get when you assign 0 to a pointer, to be all-zeroes;
and for operating systems to arrange that that address is unmapped.
But that wasn't always so (on the PDP-7 there was no memory map;
on the PDP-11 once memory-mapping was added, address space was
too dear to throw away an eighth of it just to block null-pointer
dereferencing), and it may still not be (consider a C program
on an embedded system running without a memory map).
It's good that modern systems usually whap you in the head if you
deference a null pointer, but it's not required, and those who
rely on it are as foolish as those who used to rely on the
accident that the byte at address 0 on early VAX UNIX was a zero.
Norman Wilson
p&p6 and f(
> Thanks so much for your reply.
That's what we're here for... :-)
> I have an 11/23+ does that make a difference?
No. The KDF11-B of the 23+:
http://gunkies.org/wiki/KDF11-B_CPU
is the same CPU as all the other KDF11 CPUs; it just has a couple of extra
peripherals on the board (2 asyn serial lines, and some PROMs, IIRC).
> From the manual it seems to have an MMU
Like all KDF11 CPUs, it has a socket for an MMU chip, but the chip may or may
not be there (I don't know if it was standard on the 23+; and in any event, it
may have been pulled - the CPU will work without it). The main CPU is a DIP
carrier which holds two chips; the optional KTF11-A MMU has one (see the
image, above); the optional KEF11-A FPU is also a carrier with two chips. (The
KDF11-B can also hold the large 6-chip carrier of the optional KEF11-B CIS
chip - a rara avid indeed, if you'relucky enough to have it.)
If yours doesn't have the MMU chip, you're probably SOL; those are very rare.
KEF11-A FPU chips are avilable on eBay for modest amounts.
> I'm not sure if it's split I/D.
None of the KDF11 CPUs support splite I/D.
Noel
You're a bit harsh on the developers but I think in most cases it was
the marketing/finance part of companies which decided on such mundane
matters as licensing.
My 2-1/2 cents.
Cheers,
uncle rubl
>Date: Sat, 19 Sep 2020 12:42:39 -0700
>From: John Gilmore <gnu(a)toad.com>
>To: Clem Cole <clemc(a)ccc.com>
>Cc: "Nelson H. F. Beebe" <beebe(a)math.utah.edu>, tuhs
> <tuhs(a)minnie.tuhs.org>
>Subject: Re: [TUHS] Unix on DEC AlphaServer 4000
>Message-ID: <32401.1600544559(a)hop.toad.com>
... snip ...
>License managers now count as DRM, under the Digital Millennium
>Copyright Act (though no such laws had been passed when the license
>managers were first created). So: is it worth breaking the law in many
>countries, to maintain a historical curiosity?
>Personally, I would throw DRM-encrusted software, and the hardware that
>is dependent on it, into the dustbin of history. Its creators had fair.
>warning that they were making their products unusable after they stopped
>caring to maintain them. They didn't care about their place in history,
>nor about their users. They did it anyway, for short-term profit and to
>harass those people foolish enough to be their customers. Their memes
>should not be passed to future generations. As Sir Walter Scott
>suggested in another context, they "doubly dying, shall go down, to the.
>vile dust, from whence [they] sprung, unwept, unhonour'd, and unsung".
John
I have an MVME121 that I’d like to run some stuff on. I’m planning what I’ll need to do to port MINIX 1.5 but since this has a 68451 segmented MMU, I’d like to actually make use of it.
Have any historical sources been published for UNIX on the various 68010 + 68451 systems from the early-mid 1980s? I’m curious how they used segmented MMUs.
I figure at minimum I could have several segments set up to enforce protections and a stable per-process address space, but it’d be good to have an example.
— Chris
Chris Hanson asks about historical sources for Unix on the Motorola
68K processor.
>From my bibliography at
http://www.math.utah.edu/pub/tex/bib/unix.bib
I find these Motorola contributions
The Dynamics of a Semi-Large Software Project with Specific
Reference to a UNIX System Port
USENIX Conference Proceedings, Summer, 1984. Salt Lake City, UT
pp. 332--342
[I think that I have a printed copy in my campus office, but
won't be there for another 10 days or so.]
Latent Source Bugs and UNIX System Portability
Proceedings: USENIX Association Winter Conference, January
23--25, 1985, Dallas, Texas, USA
pp. 125--130
Co-Resident Operating System: UNIX and Real-Time Distributed
Processing
Fifth Real-Time Software and Operating Systems Workshop
Proceedings, May 12--13, 1988. Washington, DC
pp 47--53
Co-Resident Operating System: UNIX and Real-Time Distributed Processing
[Fifth RTOS... as above]
pp. 47--53
A Faster fsck for BSD UNIX
Proceedings of the Winter 1989 USENIX Conference: January
30--February 3, 1989, San Diego, California, USA
pp. 173--185
Also take a look at the 200 entries in
http://www.math.utah.edu/pub/tex/bib/minix.bib
I have made attempts to install Debian 10 on the MC68K on QEMU from an
ISO image at
https://cdimage.debian.org/cdimage/ports/2020-05-30/
Source code is, of course, available, so it could be useful resource
in porting Minix to the MC68K.
However, while I can get the ISO image to boot, I get grub update
failures and when I try run the installer, I get "No PCI buses
available", For now, I have given up on that platform until new ideas
for workarounds appear.
I have similar emulated VMs for ARM64, RISC-V64, PowerPC (big and
little endian), and IBM System 390x, all of which run nicely, have
up-to-date O/Ses and binary software package repositories, and are
used for routine software build testing. My attempts for other VMs
for HPPA, Alpha, and SPARC64 CPUs have failed with install or network
problems.
Debian ISO images are available for IA-64, but QEMU has no support for
the Itanium CPU family. We have a single phyical IA-64 system that
runs fine, but is currently powered off due to machine-room
air-conditioning issues that will be resolved in a couple of months.
-------------------------------------------------------------------------------
- Nelson H. F. Beebe Tel: +1 801 581 5254 -
- University of Utah FAX: +1 801 581 4148 -
- Department of Mathematics, 110 LCB Internet e-mail: beebe(a)math.utah.edu -
- 155 S 1400 E RM 233 beebe(a)acm.org beebe(a)computer.org -
- Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
- Nelson H. F. Beebe Tel: +1 801 581 5254 -
- University of Utah FAX: +1 801 581 4148 -
- Department of Mathematics, 110 LCB Internet e-mail: beebe(a)math.utah.edu -
- 155 S 1400 E RM 233 beebe(a)acm.org beebe(a)computer.org -
- Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------
Hi,
Is there a repository of historical versions of Eric Allman's -me macro
set for troff?
(For some context: the macro set has been forked to operate with two
modern troff implementations: GNU groff and Heirloom troff. According
to the header blocks of the respective files, groff's -me macros are
forked from version 2.31 of Allman's, and Heirloom's from version 2.14.
For help in debugging -me problems in these troff implementations,
I'm trying to locate at least these versions of the -me package as they
existed before forking. I posted this query on the troff email list,
but no one there knew the answer, and one person suggested I ask here.)
Thanks for any pointers.