greg@isrnix.UUCP (Gregory Travis) (07/04/85)
Well, I am ready to release the 'ISR' 2.9 UNIX distribution. Sorry for the delay, I was waiting on an 11/60 to test it on a non-I/D machine. The ISR distribution is the culmination of about 2 years of on/off hacking on V7/2.8/2.9 UNIX kernels for PDP-11s. I have fixed many, many bugs in the generic 2.9 kernel and have added what I believe to be some major functional improvements. The code is offered as-is with no warranty implied. I do believe the code to be quite stable, however I have not been able to test it on many configurations. I have tested it our PDP-11/44 with the following configuration: 2.5 Meg ram 2 Able DH/DM 1 DEC DZ 2 RL02's 2 RK07's 1 RM05 (SI 6100 controller) 1 Kennedy 9100 (tm11) 1 SMS FWT floppy drive (rx01/02) And on an 11/60 with: 256k 2 RK07's Both systems work fine. Using this distribution we are able to comfortably support 22-28 users on our 11/44. Included in the distribution are: 1. A greatly reworked RL02 driver which does overlapping seeks (as much as the hardware will allow) 2. A fixed RX01/02 driver 3. A fixed ttynew.c driver (for networking, select, etc...) 4. A fixed and operational pty driver (it's huge!) (see note below) 5. Fixed DZ and DH drivers (for emulations like ABLE's). 6. Mods to the kernel and a daemon to do tty timeouts very gracefully. 7. Many, many improvement to user-level programs (ps, w, etc...) 8. Some debugging on the network code. I have NOT gotten it running however. I think it would take an afternoon or two to get it running though. I simply have no networking need, and thus no motivation however. Additionally, the following compilation flags are provided for the kernel: ISR_FMAP Faster (inline) mapin/mapout. ISR_CPASS Assembly language versions of cpass/passc. ISR_COPY Faster version (assembly) of bcopy. ISR_CBUF Use floating point unit (if available) for memory/buffer clears (100% speedup) ISR_MAPS Quick, bug-free, assembly versions of Savemap and Restormap. ISR_FKC Maps the kernel into user space to do buffer copies, avoids the slow copyin/copyout routines. ISR_SBUFS More than 2 swap buffers, speeds up swapping. ISR_SCHED Minor scheduling mods. ISR_CLEAR Exec only clears BSS space, since DATA is read from disk. ISR_NAP A 'nap' system call. ISR_MEM Use the FKC routines when programs read from /dev/kmem, greatly speeds up ps, w, etc... ISR_NEWSCHED Use the new scheduler provided on the 2.9 tape. I have implemented & debugged this for 2.9 ISR_AUTOTO Kernel mods for the tty timeout daemon. ISR_STAT Control-T status reporting in the tty driver. ISR_SELECT Enables the SELECT system call, even if you don't compile the network code. This is used by Emacs and script (to name a few). ISR_FRAM A neat (and very fast) RAMDISK driver (if you've got lots of memory (we mount /tmp on it)) ISR_GPC Assembly getc/putc. ISR_ICHRS Assembly schar/uchar ISR_WAKEUP Assembly wakeup to be used with ISR_NEWSCHED ISR_NSRCH Assembly language directory search, speeds up nami about 200%. ISR_EXFIX Bug fix to exec for write-behind blocks. ISR_RWUW Faster fu/subyte routines. ISR_RWSEL Faster switches to read/write code. ISR_PXREAD Code to do DMA directly to user space and bypass the cache. Exec uses this when loading programs - cuts system time in exec by half. Additionally there are many bug fixes/speedups which are not conditionally compiled. The distribution consists of: 1. All system sources/include files. 2. Sources to all libraries (libc.a) - there have been many bugfixes here also. 3. All of our local sources and the sources to programs which need to be modified for our kernel. 4. Some manual pages. I will also include a copy of our Emacs if so requested. It is almost a full Emacs implementation, supports subshells, mlisp, process communication, etc. If you desire a copy you must also send me, or have sent to me, permission from James Gosling to send you the source to his Emacs. To obtain a copy send: A check for $45 (US) made out to "Institute of Social Research". A copy of your 2.9 license. A copy of your 4.1/4.2 license for the pty code and a better disk sorting algorithm. Permission from James Gosling to distribute Emacs to you if you want a copy of Emacs. You may also send confirmation directly to my electronic address. The check covers the cost of processing, a tape and mailing. The address is: Gregory Travis Institute for Social Research Indiana University 1022 E. Third St. Bloomington, In 47405 ATTN: ISR UNIX DIST. My mail address is: ihnp4!inuxc!isrnix!greg My office phone is: (812)-335-0892 (usually in the afternoons) I can be reached for general questions, or bug reports/fixes. Unless the problem is immediate, please send all messages through email. As I am the only one here who is working on this type of thing, please keep in mind that the documentation is not quite up to snuff. I have tried to comment everything so that it is understandable. However, I simply do not have the time or the resources to fully document everything I have done. It should be clear from the sources however. Therefore, distribution may not be as 'clean' as some would like. As a metric, I would place it between 2.8 and 2.9 (closer to 2.8) in terms of polish. However, I wouldn't release it if I thought it would be more trouble than it's worth. Greg -- Gregory R. Travis Institute for Social Research - Indiana University - Bloomington, In ihnp4!inuxc!isrnix!greg {pur-ee,allegra,qusavx}!isrnix!greg