Jonathan Engdahl:
Consider lcc, the Princeton C compiler. It's much smaller than gcc, and ANSI
compliant.
lcc's a good compiler; it has become cc in my own peculiar Ancient UNIX
environment. But my environment is on VAXes, not PDP-11s; the lcc I use
probably cannot be compiled to a core compiler binary of less than about
180KB, of which 136KB is text, and that is without any real code generators.
(For those who know lcc: I am using a slightly-hacked-up lcc 3.6; the
180KB binary includes just the symbolic and null code generators, not
the enormous one I ended up with for the VAX.)
On the other hand, it is probably easier to split lcc into overlays or
multiple passes to make it fit on a PDP-11 than to do the same to gcc;
and lcc works fine as a cross-compiler. And it's a good solid ANSI
compiler; enough so that it is a little annoying to use it on heritage
code (it grumbles, correctly, if a function returns no value and wasn't
declared void), and helpful or very painful (depending on your point of
view) when used on really old code that is sleazy about mixing types of
pointers in procedure arguments, or reusing one structure as part of another,
or the like. I had an interesting time a few months ago getting an old
version of tbl to compile cleanly and produce correct results under lcc;
the program contained some ancient constructs that are truly remarkable
to look back on, especially for those of us who started out programming
that way and learned better the hard way ...
If I were going to work with PDP-11s, I would probably use lcc as a
cross-compiler myself, after writing or snitching a code generator of
course.
Norman Wilson
Does anyone know how many of the V5, V6, V7, 2BSD, 2.11BSD, etc. filesystems are
implemented in some current unix implementations, NetBSD, Linux, etc. Seems like
that could be useful when playing with simh.
-chuck
On Mon, 6 May 2002 tuhs-request(a)minnie.tuhs.org wrote:
> From: Warren Toomey <wkt(a)minnie.tuhs.org>
>
> Sven, you might want to look at this:
> http://minnie.tuhs.org/cgi-bin/pups.cgi?article=2170
>
> From: Stuart Norris <norris(a)euler.mech.eng.usyd.edu.au>
>
> I have hacked together a version of a Unix 5th (and 6th)
> Edition filesystem for Linux. It is read only, and was written for
> Linux 2.0 on an x86 and so will require a little work to install on
> other systems and newer kernels, but it is fun to be able to mount
> old disk images.
The source code is sitting on
http://www.esc.auckland.ac.nz/People/Staff/Norris/src/u5e-0.2.tar.gz
and the INTRO file contains a description of the filesystem. I don't think
it works with current Linux kernels (I havn't touched it for a long while),
so it might be easiest to start afresh using the minix filesystem module
as a start.
Briefly, the filesystem is like
--
* Block size: 512
* General layout:
Block 0 boot block
Block 1 super block
Blocks 2 -> isize-1 inodes
Blocks isize -> fsize-1 data blocks
* Byte ordering of "short" (16 bit entities) is little endian 0 1
* Byte ordering of "long" (32 bit entities) is PDP-11 2 3 0 1
* Inode on disk: "short"
0 means non-existent
1 root dir
* Maximum number of hard links to a file: 256
* Super-block location: bytes 512-1023
* Super-block layout:
unsigned short s_isize; /* size in blocks of I list */
unsigned short s_fsize; /* size in blocks of entire volume */
unsigned short s_nfree; /* number of in core free blocks (0-100) */
unsigned short s_free[100]; /* in core free blocks */
unsigned short s_ninode; /* number of in core I nodes (0-100) */
unsigned short s_inode[100];/* in core free I nodes */
char s_flock; /* lock during free list manipulation */
char s_ilock; /* lock during I list manipulation */
char s_fmod; /* super block modified flag */
char s_ronly; /* mounted read-only flag */
unsigned long s_time; /* current date of last update */
* Inode layout:
unsigned short i_mode; /* access permissions */
unsigned char i_nlink; /* number of links to file */
unsigned char i_uid; /* owner */
unsigned char i_gid; /* group */
unsigned char i_size0; /* size of file */
unsigned short i_size1;
unsigned short i_addr[8];/* address of blocks */
unsigned long i_atime; /* time of last access */
unsigned long i_mtime; /* time of last modification */
* Regular file data blocks are organized as
if (010000 bit set)
the file is large:
i_addr[] contains indirect blocks
else
the file is small:
* Inode size 32, 16 inodes per block
* Directory entry on disk
unsigned short inode;
char name[14];
* Dir entry size 16, 32 dir entries per block
* There are no symbolic links
--
Stuart Norris s.norris(a)auckland.ac.nz
Bioengineering Institute, University of Auckland hm: +(64 9) 307 0006
http://www.esc.auckland.ac.nz/People/Staff/Norris wk: +(64 9) 373 7599 x3055
I've just obtained a box of tapes, some of which might be of interest here.
- UNIX/32V V1.0 (w/ typed Bell Labs label): one 2400' 800bpi tape
- Ultrix-32M V1.1 distribution: one 2400' dump tape
- Ultrix-32 & 32M V1.1 Sources: two 2400' 1600bpi tar tapes (2 copies each)
- BSD4.1 distribution: one 2400' 1600bpi tape
- UNIX V5 (handwritten label dated Feb 7 1977): one 2400' tape
- one 400' tape with missing identification label but a typed Bell
Labs notice
- backup of 2 RKs: V6 UNIX master and V6 UNIX additional source:
one 400' 800bpi tape
- C Release 29/9/80 (handwritten): one 2400' tape
- several backup tapes from a V7 system
- several other tapes that appear to be other UNIX system backups
I don't have a 9-track drive, so I can't say that these will be readable (or
even that they haven't been bulk-erased), but I do believe that they have at
least been stored well so far. If any of these look like they could contain
things currently missing from the archives, then I do of course want to make
them available to someone who can try to read them.
--
Kevin Schoedel
schoedel(a)kw.igs.net
Hi,
I'm currently working on an implementation of the Unix 6th Edition's
filesystem for Linux. I think earlier Unix filesystems should be very
similar to it. I would like to implement them, too, but I don't have
exact descriptions of them (for the 6th Edition I've the Lions Book;
there is not much about the actual filesystem architecture in it, but
it should be enough - together with the code ;-).
Please send me descriptions, specifications and everything else
you've about the early Unix filesystems. Also filesystem images are
very welcome as I can use them to test my implementation.
My e-mail account can only handle attachments <3000KB. Please
compress or split the files if they are bigger than 3000KB.
Thank you
Sven
>exact descriptions of them (for the 6th Edition I've the Lions Book;
>there is not much about the actual filesystem architecture in it, but
>it should be enough - together with the code ;-).
You might want to run V6 or V5 on a simulator. For one you can "see"
the filesystem and you can read the man pages, especially fs(5).
Wolfgang
> From: Mike Haertel <mike(a)ducky.net>
> To: tuhs(a)tuhs.org
> Subject: Re: [TUHS] Some tapes
> Date: Fri, 3 May 2002 01:13:55 -0700 (PDT)
>
> I'd also like to point out that the 4.1BSD distribution tape would
> be a nice addition to the TUHS archive. Right now 4.0, 4.1, and
> 4.1[abc] distributions are still missing.
These are available from Kirk McKusick on his 4-CD collection, no?
It'd be good to have them in w/the other stuff all in one place, but
it's not like they aren't available...
Arnold
I'd also like to point out that the 4.1BSD distribution tape would
be a nice addition to the TUHS archive. Right now 4.0, 4.1, and
4.1[abc] distributions are still missing.
Hi,
rsync doesn't seem to work anymore for some time, now, any idea ?
$ rsync -avz --password-file=.passwd au2496@minnie.tuhs.org::UA_Root .
rsync: connection unexpectedly closed (0 bytes read so far)
rsync error: error in rsync protocol data stream (code 12) at io.c(151)
same results w/ rsync -avz minnie.tuhs.org::UA_Root .
Cyrille.
--
Cyrille Lefevre mailto:cyrille.lefevre@laposte.net
In article by Dave Horsfall
> On Thu, 18 Apr 2002, Wolfgang Helbig wrote
>
> > I tried the latest simulator from Bob Supnik, Simh V2.9-6.
> > It simulates DZ11 multiline controllers. Are they supported in UNIX V6.
>
> Not natively, no. Back at Uni of NSW, we did several drivers, getting
> better each time, but I think the sources are lost to antiquity (unless
> someone happens to have those old tapes).
Would AUSAM have any DZ11 drivers? There are several AUSAM tapes in
the Unix Archive, and AUSAM was a deriative of V6.
How about
PDP-11/Distributions/unsw/1/record0.gz dz.c 12999 1978 01 24
PDP-11/Distributions/unsw/4/record0.gz dz.c 13416 1979 08 01
PDP-11/Distributions/unsw/6/record0.gz dz.c 6532 1979 10 30
PDP-11/Distributions/unsw/81/record0.gz dz.c 4761 1979 12 20
PDP-11/Distributions/unsw/83/record0.gz dz.c 4761 1979 08 22
PDP-11/Distributions/unsw/92/92.gz dz.c 7457 1981 09 16
Cheers all,
Warren