THE UNIX NEWSLETTER VULUME 3 NUMBER 1 NOTICE This document may contain information covered by one or more licenses, copyrights. | and non-disclosure agreements. Circulation of this document is restricted 10 holders | of a license for the UNIX*. PWB/UNIK*, or Mini-UNIX* sofware system from! Such license holders may reproduce this document for uses in, conformity with the Unix license. All other circulation or reproduction is prohibited Western Electric. HERE WE ARE Here at long last, with many apologies, is the “first” issue of jlogin: for 1978. The “March” issue will go to the printer within a week or so and then “May” will complete the catching-up on old correspondence. INVOICE Enclosed is an invoice for eighteen months for January 1978 - J. 1979. As was explained in the recently mailed report of the "UscNIX committee”, the annual dues starting July 1978 is $50.00 We feel honor bound to charge $10.00 per year for the period before duly 1, hence the invoice is for $5.00 for the first six months and for $25.00 for each of the next six month periods. By striking out the appropriate lines you may pay for 6, 12, or 18 months. If you can avoid processing purchase orders we will be most grateful. DECEMBER-JANUARY 1978 . ADDRESS CHANGE Page 1 Effective with receipt of this issue, all correspondence should be Address editorial material. payments. and software submission to Melvin Ferentz Box 8 The Rockefeller University 1230 York Avenue New York. NY 10021 Subscription requests and address changes should be addressed to Armand Gazes Box 8 The Rockefeller University 1230 York Avenue New Yor}, NY. 10021 adressed as indicated in the box below. We are trying to “get our act together". | “Trademark of Bell Laboratorves Institute of Animal Resource Ecology The University of British Columbia 2075 Wesbrook Mali Vancouver, 8.C.,Canada V6oT 1WS TEL. (604} 228-2731 December 7, 1977. Prof. Melvin Ferentz, c/o CUNY/UCC, 555 West S7th Street, New York, N.¥. 10019 Dear Professor Ferentz: Afcer frustrating experiences vith most of the available UNIX Fortran compilers (FC, DOS FORTRAN, RT-11 FIN) under UNIX, I finaily etarted writing wy own last July, Although not yet in a final documented form, I believe that {t 1s now in good enough shape (i.e., better than FC by all measures) to distribute it on a pre-release basis to university UNIX installations. The essential characteristics of the compiler are: 1, Ic implementa the proposed Fortran 77 language standard 2, compatible with existing compilers for Fortran IV, except where Buperceeded by the Fortran 77 standard 3. written ia € 4. implements optional length specifications (INTEGER #2, *4, REAL *4, “8, LOGICAL *1, *2, COMPLEX *8, *16) 5. -T evitch switches integers from 2 to 4 by default length 6. very fast compile times y UNIX "a.out™ format ".o" files are produced directly from the complier (no "as" etage!) a UNIX AR format archieve is produced containing the objects if the source file contains more than one routine 9. requires about 28K words (ite large!) 10. Good diagnostics and error messages (compiler and run time) 11. Subroutine calling sequence is DEC PC, and UNIX C compatible (at the same time!) 12, Threaded rather than executable code is produced. My main purpsoes in making the compiler available are: 1, Te will help me quickly locate remaining bugs 2. Others might be willing to work on those areas that are currently deficient in either the compiler or the run time support. 3, We are still stuck with Fortran, so we might as well have « reasonable compiler for it under UNIX. Areas requiring additional work? 1. the COMPLEX arithmetic routines for the routine. 2. The I/O eystem. Currently « modified version of the UNIX FC routines are being used, At minimum the format processor has to be improved. 3, Not all of the standard fortran library routines are provided. 4, Some threaded routines are probably missing or buggy. 5. User level documentation is virtually non-existant (but then the same holds true for UNIX FC). I expect to have a proper distributLon of thie compiler ready in about six months, Those who wish a pre-release copy should contact me at the above addrees or call me at 604 228-6527. CM wel: Bill Webb. BY/ee AUSTRALIAN GRADUATE SCHOOL OF MANAGEMENT IN THE UNIVERSITY OF NEW SOUTH WALES ?.0, BOX 1 + KENSINGTON » NEW SOUTH WALES « AUSTRALIA + 2033 TELEGRAPHIC ADDRESS: UNITECH, SYDNEY + TELEPHONE Samonsx 662 2600 9th December, 1977 Melvin Ferentz c/- CUNY/UCC 555 West 57 Street NEW YORK NY _ 10019. Dear Melvin, thie University haa been a UNIX licensee for close to three yeara and UNIX is now running on sight 11/408 and two 1)/70s on this campus. Pive of 11/40's function as Batch Stations to a CYBER 72 ~ the communications ia fairly primitive since it uses the USER-299 protocol which i “pre-historic* in origin. I have developed a simple batch system for use on these machines which allows for users to submit (via @ cardreader) jobs for the CYBER or local FORTRAN, MACRO or PASCAL jobs. This facility is proving very useful since large numbers of students are taught MACRO at the moment and local turnaround is considerably faater than using the CYBER. Aside from all this the 11/408 are also uned for normal timeshare in the best UNIX tradition. We have made a number of significant changes to UNIX which are of general applicability to all users. PARAH.H details the operating aystem changes/improvements that have been made. IN SUMMARY - see param.h for full documentation i. Pull Support for 11/70 cpus 2 ii. Shared pata Segrents - a group of programs may share a common data segment - done thru 4 '412' a,out. P and V system calls provide all needed synchronization, 1 iii, Eliminate all 1/0 from EXIT-WAIT sequence by storing post mortem information in the proc entry - uses no more core iv. Don’t wake init every time a process terminates v. CLKTIM and CPUTIM system calls implemented to provide a unique signal after a given period of elapsed or cpu time vi. Expand the available address space for the resident operating system on 11/408. KAS is used to address device drivers and the routines from SYS?¥.c. A new linker SYSLD is required vii. Fe-write of timeout routines to be efficient viii. Implement Stack Limit register ix. Re-write of sleep system cal} - no longer grossly inefficient Re Raw buffer pool used for all raw i/0 (including swapping) xi. Eliminate all unnecessary swap outs of text segments mii. Proper handling of write-behind blocks Changes iii, iv, xii reduced the number of swaps occuring by 90% on my 11/70. In addition a number of corrections have been made to the distributed code to fix 'bugs'. These changes are now ready for distribution. Please find enclosed one 2400 ft mag tape containing our sy&tem source and miscellaneous support. commands and/or files of interest. It would seem inadvisable to distribute all mods because of the enormous problems associated with evaluating same. The tape is recorded at 800 bpi and was produced by a standard TP (MDiRENT#=1200.) capable of handling 1200 files. The system as distributed haa been functioning on my School's 11/70 and several 11/40's for some months without problems, although many sections have been in use for longer periods. Recently a new 11/40 (small core) system has experienced problems (a ‘crash’ every two/three days). At this stage I am unable to ascertain what is causing them, In any event I will notify of any bugs we discover and supply fixes. You may distribute a copy on the tape to any UNIX licensee of your choice. Could you please place the THIRD SOFTWARE DISTRIBUTION on the enclosed tape and return it by AIR MAIL or AIR PARCEL POST. Enclosed is a bank draft for US$21.00 to defray your return mailing costs. knot Ian_ Johnstone Sincere 1a/4je encl. UNIVERSITY OF CALIFORNIA, SAN FRANCISCO BERKELEY DAVIE» AVINE © LOS ANCELRY + RIVERSIDE + SAN DIEGO + SAN FRANCISCO OCHOOL OF PHARMACY DEPARTMENT OF PHARMACEUTICAL CHEAGETRY SAN FRANCISCO, CALIFORNIA 9414) 9 December {977 Professor Melvin Ferentz Physics Ospartment Brooklyn Coltege of CUNY Brooklyn, New York 11210 The memory mensgement unit In the POP-11/45 and 11/70 computers offer several advantages over those found In the other PDP-11 family computers. Among fhe more powerful features Is the ablilty to separate programs Into Instruction segments and data sagments, sech segment having the ability to directly reference 64K bytes of memory. Four POP-11 Insteuctions facltIitate program communication between different addressing modes and Instruction/data areas in memory. These are "move to/from pravious Instruction/datea memory space” (mtpl, mfpl, mtpd, mfpd). These instructions are used extensively By UNIX to fetch and store data between user programs ond the opersting system, Because af DEC's desire to "...preserve the Integrity of proprietory programs", the 'mfpit instruction does not work correctly shen executed with a processor status word equal to t?xxxx (l.e. both current and previous modes are USER). This fact prevents the C subroutine ‘'margs.s'! trom operating as Intended when Instruction and date space are separated, There are several sclutions to this defilclency, among these ore: 1, Implement a system call which executes (correctly) the [nstructlon tmfpi' with source equal fo USER | space. 2. Modify the C complier to generate an argument count on each and every procedure call. 3. Hod!ty UNIX to use the supervisor modn memory management registers In a way different then it currentty does. 4. Hodify the hardware to work more “correctiy"™. Page | SANTA BARBARA + SANTA CHUE The first of these solutions proved unacceptable In terms of overhead time; each system coll on the PDP~11/70 consumes equal or greater than 320 microseconds, and 'nargs,s? has the potentia for making several of thease, tn our res! time environment this prohibited use of separate 1&0 space. The second and third soluffons were unattractive from a software standards polnt of view, After several telephone calis to DEC representatives and 2 few hours of looking at microcode and logic schematics, we have arrived at a simple modification to (at least) the POP-11/70 cpu to allow the '‘mfpit Instructton to ftunctton property. The modification takes about 15 minutes for an experienced person to Impltament end Involves cutting one foll etch and adding one Jumper «ire to the MB138-YA memory management odoard. The retevant, section of the POP-11/70 schematic, DEC #MB138-0-1, "SYS. STATUS REG. (SSRE)", Is enclosed. Please note this Is as tt appears on our KBII-C centra! processing unit and may vary with other processors. Also Inctuded Is o Jtsting of our modifted ‘nargs.s’ subroutine that utilizes the "new" Instruction, We have been running under the modified hardwore for several weeks now and have had no problems. In particular, absolutely no changes have been made to any other portion of the UNIX system other than the ‘nargs.s' routine, On our system the PDP-11/70 momory management diagnostic program, MAINDEC-11-DEKBE-B, was patched to* skip around the relevant portion of the dlagnostic which tests the "proprietary program" feature; thls Is optional. While this solutlon also has some drowbacks, It hos proved quite successtul for our application Involving real time Intoractlve computer graphics. { trust this Information wlitl be useful to others as well. Sincerely, Nttscbees Thomes Ferrin Computer Factlity Manager Computer Graphics Laboratory Enclosures Page 2? 4. Cot printed cireit fl heve. i SRB EVEL TE NOT U/U SYS.STATUS REG, (SSR8) Wow 2! 10:41 1977 nerga.s Page / C library -- nargs sflobl _narges afpi » 6500~tst —hergs: @: mor tetd bne ined elr mfpt omp beq negd or mov arpt amp beq negd or bit mor mow olr omp bne mov oap bne ada br omp dne add br onp bne ada be r5,-(9p) init? sr inate ro {ro) (opd+, (ro) iF initr ar $2,ro0 (ro) (ep)+, (ro) ar initf ar ar 2(r5),e1 aprS ro -A(rt), Jered er $2,r0 Cot), tata tg $2,r0 ar (re), capt if 4,0 2t (rt) adds (rt), jupd w 2Cetd,et auyrt 8 Hel) driel af ro,-~(ep) {rl),ro ro 4-7, ro ro,et $2,rt (ap)>,r0 8 1 / separate 14D / eeparate ItD 7" / po of oalter of caller Oviganal i Mov 21 10:41 1977 nargs.® Page 2 asr ro mov (apde eS rts be Wks t a ok aS ete snarky gee ey mov 2Cr5),ri mov ap.rs cle ra erp ~4Crt) cap (sp)o,Jarad bre er mov $2,r0 8: wfpt (rt) erp (sp) ,tati dne tf add $2.70 br ef Vt emp (sp),cmpl bne ie = add $4,r0 or 2 Vs cep (sp),addt bne ir tet Caps afpt 2¢rt) add Cap) ,r0 br ec ie cup (ap), jmp tne tr tee Caps sfpi 2Crt) edad Cope, rl add sayerl br Bb 13 oapb \fep),beiel bne 2¢ nov r0,~(sp) mov 2(ap),rd euad ro aah 9-7,7r0 adda ro,rl add $2,r1 mov (ep)+,ro tat (ap)s br ab 2: tat fep)e aor ro mor Cap)o,r§ rte pe date jsrsd: jer pe,#$o Usti: tat fap)s empl: cap (sp)e,(sple addi: add 90,5p jmpis jap ° bei: br . initf: aeeel 7 0 e2 mot initialized J Van tnttialized / 377 z= Init « JAD separated Dowiy + ADI ANIA ADOTI*IRA DW ANID IODA mI THE HEBREW UNIVERSITY-HADASSAH MEDICAL SCHOOL - JERUSALEM Experimental Medicine & Cancer Research azeret pooe-t172 ne ane een ro E/Md sn72— MR anerty Doe #1-000 NPD Professor M. Ferentz, December 14, 1977. CUNY/UCC, 555 West 57 Street, New York, N.Y. 10019, U.S.A, Dear Professor Ferentz: The Computer Science Laboratory of our Institute of Mathematics suggested I turn to you for help in finding a continuous system modelling programme for use with our POPI1/03 (24K, 2 diskettes, extended arithmetic chip for both fixed and floating point, ¥I55 graphics, teletype) under UNIX. Thank you for this courtesy. Yours sincerely, Tovar bine Professor N. B. Grover. UNIVERSITY OF WASHINGTON SEATTLE, WASHINGTON 98195 Department of Computer Sctence, FR-35 {Area Code 26) $43- 2637 December 19, 1977 Professor Melvin Ferentz Physics Department Brooklyn College of CUNY Brooklyn, KY 11210 Dear Professor Ferentz, I have developed a system that permite up to 81 UNIX processes to send Information to any other process {in the system using only 2 of the file descriptore allowed per UNIX process. IL, like E.G. Keizer (UNIX NEWS 2, 5 1977), had problems with intermixed messages when more than one proceas writes to the same pipe. Enclosed is a listing of a modified syatem pipe read/vrite routine that corrects the problem. I have also found it useful to be able to obtain certain information about a pipe. Does a file descriptor refer to a plpe? Is it the read or write end? How many characters are in a pipe? Do two file descriptors refer to opposite ends of the same pipe? A system call pstat has been added to provide this information. Enclosed are listings of the necessary routines and s manual for the system call. Do you know of anyone who has implemented pipes as true circular buffers? Sincerely, Tail Asde Daniel Lipkie Enclosures: pipe.c pstat.s pstat (iI) DL/kh Dec 1913120 1977 /uar/mource/sya/ken/pipe-c Page f i af include "../param-h" . finclude "../systm-h” Finclude "../user-h” finclude ".«-+/inode+h™ finclude "../file.h” Finclude "«./regsh” * Max allowable buffering per pipe. * This fe also the max aize of the * file created to implement the pipe- * If thie alze ie bigger chan 4096, * pipes will be implemented in LARC filea, which te probably not good. * me Wdefine PIPSIZ 40% ” * The eys-pipe entry. * Allocate m inode on the root device. * Allocate 2 file structures. * Put it all together with flags. Sf Pipa() 4 register “ip, “rf, *wf; int rj ip = falloc(rootdey); 4 (4p == NULL) return; rf = falloc(); 1£(rf == NULL) { ipuc(ip); return; y T = weu_ar0[RO}; wf © Eslloc(); L£(vf == NULL) ( rf->£ count = 0; u-u_ofile(r) « NULL; tput(ip); return; ) usu_srO(R1] © u-u_ar0 (RO); u-u_er0{RO) = 6; wi->f_flag = FWRITE|FPIPE; wf->f_inode = ip; rf->f_fleg = PREAD|FPIPE; r£->f_inode = 1p; ip->4_count * 2; ip->1_flag = IACCIIUPD; Dec 19 13:20 1977 /usr/source/sys/ken/pipe.c Page 2 ip~>i_mode = IALLOC; » i* * Read call directed to a pipe. af, readp(fp) int *fp; ¢ register *rp, *tp; rp = fp; ip = rp->f_inode; loop: j* * Very conservative locking+ ay plock(ip); { f* ; * If the head (read) has caught up with * the tail (write), reset both to 0. oF 1€(rp->f_offset{1] == ip->i_eizel) { ff (rp->f_offeet{1] f= 0) ¢ Tp->f_offeet{1] = 0; ip->{_sizel = 0; 4£(ip->4_modebIWRITE) { 7* removed 12 Dec 77 #e@ (x) * {p->4_mode 6 ~IWRITE; #48 end removal */ wakeup(iptl); * If there are not both reader and *® writer active, return without * satisfying read. a7 preie(ip); if(1p->i_count < 2) return; 1p->1_mode =| IREAD; pleep(ipt2, PPLPE); goto loop; } ie ® Read and return ay Dec 19 13:2 7 fuscfnource/sys/hen/pipe-c Fage 3 ) ia u-u_offset[0} = 0; ueu_offset(1] = rp->f_offoettl]; readi(ip); rp~>f_offset[1] © u.u_offeet(1}; prele(ip); * Write call directed to a pipe> = writep(fp) ( Loop: loop: loop2: register *rp, “tp, ci rp = fps ip = rp->f_inode; ¢ * uu_count; is * Only one writer at a time through here a Plock(ip}; while(1p->i_modebIWRITE) ( rp->i_flag =| IOTHER; prele(ip); sleep(ip+3, PPIPE); goto loopl; } ip->{_mode =| IWRITE; goto loop2; is * If all done, returo- a} plock(ip); 1f(c me 0) { ip->4_mode 6 ~IWRITE; A€Cep=>4_flagelOTHER) ¢ Tp~>i_flag <6 “IOTHER; prele(ip); wakeup (ipt+3); elee prele(ip); usu_count = 0; return; * If there are not both read and * write sides of the pipe active, * return error and signal too. af Dec 19 13:20 1977 /usrfrource/aya/ken/plpe-c Page 4 1f(ip->1_count < 2) { prele(ip); u-u_erroc = EPIPE; pelgnal(u-u_procp, SIGPIPE); return; ) is * Lf the pipe t= full, * watt for reads to deplete *& and truncate it. mf {£(ip->t_eizel w= PIPSIZ) { prele(ip); sleep(iptl, PPIPE); goto Loop; ) {* * Write what is possible and * Loop back. a/ usu_offaet(0} ~ 03 usu_offaet(1) = ip->i_aizet; u-u_count = min(c, PIPSIZ-u-u_offaet(1))s © = ueu_count; writet(ip); prele(tp); if (ip->1_modeGIREAD) ( ip->f_mode =& ~IREAD; wakeup(tp+2); goto loops , i * Get pipe status af pacar() ¢ regieter up,*fp,*ip; usu_arO(RO} = 0; /* u-u_arO(RO} up * usu_argiQ}; t£(fuvord(up) « 0) goto pstatd; fp = getf(fuvord(up)); if(fp == NULL) { usu_ertor = used for temporary atorage */ {* ~1 meena no file deacriptor */ 3 goto pacatO; } 1€(1CEpo>t_Clag&FREAD && Ep=>f_flaySPPLPE)) ¢ u-u_error * ip = fp->f_tnode; ueu_arO(RO) ~ ip; plock(1p); suvord(up+6, ip->{ eizel); suvord(upt4,fp->f of feec(i]); goto patatO; ) Dec 1913220 1977 fuar/wource/sye/ken/pipe+c Page 5 Dec 19.13:26 1977 /uer/aource/syr/ken/pipesc Page 6 patato: {fC ep->4_f lags IWant) ( {f(fuvord(upt2) <0) goto peteatl; rpo>t_flag *& ~IWANT; fp = petf(fuword(upt2)); : wakeup (rp) i if(fp *= NULL) { } uu_error = -3; goto petatl; } ; } 161 (fp=>f_flaghFWRITE Gb fp->f flagSPPIPE)) ( , usu_error = -4; goto patatl; ) 1f(usu_ar0 (RO) = 0) { tp = fp->£_inode; wiu_arO[RO) = ip; ALSO plock(1p); euvord (upt+6, ip->1_sizel); > : alee if(ip f= (fp->f_tnoder>1) ) ¢ add a fy bet o-eu_error © j goto petatl; } petacit puword(up+8,u-u_error); L {f(uru_etror < 0) uev_error © EBADF; ty coil ource fs / ifr y LE(usurarO[ROJ I= 9) ¢ see7 3: sys [ken [ (node, ele(ip)3 ueu_erO{RO] = 0; d & define ZoTHE R in * Lock a pipes “ If ite already locked, # set the WANT bit and aleep. i st plock(ip) int *ip; ( Tegiater “rp; tp = ing while(rp~>4_flag&ILOCK) { rp->{_flag of IWART; sleep(rp, PPIPE); } rp >i_flag =| ILOCK; ) ye * Unlock @ pipe> * Tf WANT bit 1s on, & wakeupe * This routine is slso used 4 to unlock inodes in general. a} prele(ip) int *ip; : { regierer *rp; mp = ips rp->i_flag *6 “LLOCK; Dec 19 133. fo f pacat(buf); 377 fuar/eource/s5/petat-« Page | 16 Dec 7? (Daniel Lipkie) / struct patatus *buf; sglobl _patat, cerror patat = 40, _petat: mov ays bec j=p rts -data ays Also 15,=(ep) sp,r5 A (25), 08 0; 9f le cerror (ep)+,r5 pe patet; Chery fas age) man Danone Fae] suere ehrys [kes [syserT I, 4 pstat 4¥ ¥e = pstet f/f PSTAT(II) 12/16/77 PSTAT(IL) NAME patat ~ get pipe statue SYNOPSIS (petat = 40.) ays petat; buf patat(buf); struct pstatus *buf; DESCRIPTION Buf ia the sddress of « 5 vord buffer into which information ia placed concerning the pipe. Apipe ie implemented a fixed-length non-circular buffer of $096 bytes. Two file descriptora for use in read and write operations are associ- ated with a pipe ( pipe (II)). Two indices (0 - 4096) are used to indicate the next character to be returned by a read or filled by « urite. When the indices are equal a read will reset both to 0 and suspend the process awaiting a write. When the indices are equal awrite will edd to the buffer starting at the current index. When the write index reaches 4096 the writing process is suspended until read opestions empty the pipe and « successive read resets the indices. The patat system call uses the following struc- ture: struct petat { int fildes {2}; /* [0] = the read fildea or -! #/ /* [1] = the write [1ldes or <1 4/ int r_index; 7* read index */ int “_index; /* write index */ int cmpl_cod /* completion code */ % The pipe read and/or write file descriptors are passed to pstat which returns the indices and a completion code. -1 ia used to indicate that the corresponding file descriptor is not being passed. If a read file descriptor is passed both indices are returned. If only the write file descrip- tor ie paesed only the write index ie returned. A comple- tion code ie always returned and hae the following meaning: O- normal return “l= fildes(0) not a vaild file descriptor “2 - fildes(0] not the read end of a pipe -3 - fildes[i] not a valid file descriptor -4 = fildee[1] not the write end of «# pipe -5 - fildes ere not opposite ends of same pipe SEE ALSO pipe(Il), ls (1), fetat (II), fs (¥) = i PSTAT(I1) DIAGNOSTICS 12/16/77 Error bit (c-bit) im set if the From C, a -l fe returned if the completion code ts < 0 and ercno is set to 9. coepletion code PSTAT(II) is «< o. Rochester institute of Technology Schoot of Computer Science end Tecnology ‘One Lomb Memorial Drive Rocheeter, New York 14623 716-464-2995 December 21, 1977 Professor Melvin Ferentz Department of Physics Brooklyn College of CUNY Brooklyn, N. ¥. 11210 Dear Professor Ferentz: A check for $20.00 has been sent to you for subscriptions to UNIX News, Volumes 1 and 2, f understand that Volume 1 will be sent upon receipt of payment since we only received issues 1-8 of Volume 1. Having received only Volume 2, however, I feel like a person who has joined a discussion which has been in progress for some time. Many of the articles and announcements are very intriguing, such as the hotline and items on the distribution tape, but I know I am missing some essential details. Perhaps Volume 1 contains the UNIX Rosetta Stone. I have noticed that several inquiries for floppy disk drivers have appeared in UNIX News. We have developed an RX11 driver as a matter of necessity, since we do not have magnetic tape backup. The driver depends on the fact that the buffers are in the kernel address space, ao it's not as general as one might like. It can support a file system, though, and that is sufficient for our purposes. We can only produce machine read- able information on RKOS disks and RX11 diskettes, which is probably use- less, but we are willing to distribute the listing. We think there is a bug in the use of mountable devices. The following sequence will result in the i-node for “directory” having g links to it but a reference count of 1: /etc/mkis /dev/whatever ... mkdir directory /etc/mount /dev/whatever directory rmdir directory /etc/umount /dev/whatever We just discovered this the other day and we have not had time to track down the cause, but we thought this might be informative to others. Michael 2. Lutz MIL:ba UNIVERSITY OF CALIFORNIA, SANTA BARBARA opt ge SANTA HARUARA COMPUTEN CENTER ae oe \ SANTA HASWAMA, CALIFORNIA 99100 January 11, 1978 Melvin Ferentz c/o CUNY/UCC SSS West S7th Street New York, New York 10019 Dear Mel, Three items which may be of interest to the Unix community: We have found a dramatic improvement in performance on our PDP 11/45 through the installation of 2K cache memory (ours is from Able Computer Technology). Installations trying to get more horsepower for their machines should investigate this alternative. We have been running a System Industries controller driving a CDC 300 meg disk drive for about four months and are very pleased with reliability and performance. We have had no hardware or software problems with this disk system which was operational within one day after installation. We have telecommunications between our 1!BM 360/75 under HASP-OS/MVT and Unix as well as muitiplexing of 16 virtual tty's on one physical dhll tine. Both of these features utilize part of an Interdata Mode] $0 with locally written software. We would be interested in dialogue with other installations regarding these facilities. It is about 70 degrees and sunny in Santa Barbara. let \, a wight~McCann Facilities Support Programmer Computer Center DM: bd -¥ THE UNIVERSITY OF NEW SOUTH WALES P.0. BOX 1 + KENSINGTON + NEW SOUTH WALES'+ AUSTRALIA + 2033 TELEPHONE 663 0351 EXTN. PLEASE QUOTE COMPUTING SLRVICES UNIT CH: jmg 78/01/16 Professor Melvin Ferentz, c/~ CUNY/UCC, S55 West 57 Street, NEW YORK, N.Y. 10019, U.S.A. Dear Professor Ferentz, Our unit operates a CDC Cyber under KRONOS, so we have developed a Source Library maintenance program, SLUP, similar to the CDC MODIFY utility, for our UNIX software. The program is « Line-oriented editor which holds source modules together with sets of modifications in one library file. The major virtue of the program is that it allows reconstruction of the several stages of a module, from the original unmodified source to the current version. Comment facilities allow one to record with the modification sets such information as date amended, why, and by whom, as well as the actual changes. We can supply source and user documentation on a 600 ft. tape for $30 nett, or for $15 plus postage if a tape is sent to us. ‘ Sincerely, Calin WA COLIN WEBB, Senior Analyst Programmer , THRvsy MWe ears t ia \. Cee ‘ af PROBE ” ‘45, a pxepe aso 2, bei: ison OPYO ~CUVPR ER PN HOI;O ¢ his Fee Pear SBosy “ 5 Baer. JO Swranwo APZ a aon eae ® MATER ome tt i tenn, tse @ CoKS SP FROA 1S Moumrie © In ENE 7D Geen A peas” we OP ne THs ote YAeCaw YO Ht MAFEL ASSY. COM Aerie oO SO RECA, ’ ” 5 Ov Jo CANGLATES ENS AL cA Por 1s AT Ae © RESISTANCE . FET SF yO ctowno, SR TO i . - wm NORMAL) METER Seon 2540 en Serre OW. +S§. = 2 1A NOT CuK pas anican sre, Now SET SR ac. * ait 2. if ic 7 TO Inver ANo AOIrsy- CAL oF wns OZSICN; « 4 PETRE REAPS 100 XY CFS.Q), RESET Swertenes PL. AAOAMS © es > TO NORMA woverrne coe a OPTO Covelto EweTAvOtR i} ‘ NS PIE Pe ae Te C.G Remoan, . RrGe° 4 Ss TO NORMA 7 FP % OR abe & PS77 be, ER tir Ns moos 1/9 frp Corser WASHINGTON STATE UNIVERSITY PULLMAN, WASHINGTON 99163 COMPUTER SCIENCE DEPARTMENT 29 January 1978 Bruce R. Hilditch Computer Science Dept. Washington State University Pullman, Washington 99163 Melvin Ferentz c/o CUNY/UCC 555 West 57th Street New York, NY 10019 Dear Mr. Ferentz, Can you (and would you?) kindly give me the address/telephone number of a member of the Unix User's Group that can supply me with a copy of PASCAL suitable for use under UNIX running on a PDP 11/60? ‘We will naturally pay for any nominal costs for copying and shipping and so forth. Almost any hard copy format will be acceptable. Your assistance will be greatly appreciated. Thank you, Bruce R. Hilditch UNIVERSITY OF CALIFORNIA, SAN FRANCISCO BENCELEY * DAVIS + INYINE > LOS ANUELEY + RIVERSIDE + SAN DIEGO + SAN FRANCISCO COMPUTER CENTER SAN FRANCISCO, CALIFORNIA 64143 January 18, 1978 Melvin Ferentz e/o Cuny/ucc 555 W. 57th Street New York, WY 10019 Dear Prof, Ferentz: we are currently investigating mathods for implementing data entry applications (Key-to-What?) at UCSF. Since UNIX is interesting to our community for other reasons anyway, ve are led to ask whether anyone has written data entry software under UNIX. In particular, doas anyone have experience with any UNIX based system which makes it easy to validate data as is is entered? The validation criteria which interest us tnelude both “must be numeric and “must be in this ten megabyte file of valid accounts". Please write: 8. H, Karpinski U-76 UCSF San Franoisco, CA 94143 or call collect; 415-666-4529 if you have relevant information, Sincerely yours, Richard H, Karpinski eS, University of Essex Deportment of Electricat Engineering Science Wivenhoe Park Colchester CO4 350 Tet: Colchester 44144 (STD Code 020 61 Telegraphic sddress: University Cotchanter Telex: 98440 (UNILIB COLCHSTR} 17 January 1978 Professor Ferentz c/o CUNY/UCC $55 West 57 Street New York RY 10019 USA Dear Professor Ferentz i Could you send us a copy of the "diff listing of changes/bug fixes to UNIX" which I've seen mentioned a couple of times in the Unix Newsletter/";login:". 2 We have a DZ driver (smaller than the Nijmegen one in the third distribution but not as good and no moderm control) and a DR-11C driver (seems to work, but anyway it's a reasonable place to start!) if anyone wants them. 3. Pete Madams here developed a "Thrust Meter" which shows Bus Busy {as a percentage) on a beautiful old 9" meter which {s labelled THRUSTS LBS x 1090 and is calibrated from 0 to 10. It's so useful as an indication of system loading that several users remote from the machine take the signal and have smaller meters in their offices! It doesn't work with DEC operating systems as they don't use the WAIT instruction but idle in a low-priority loop. The drawing should reproduce OK if it's done full-size, Keep up the good work with ";login:". Yours sincerely Brte. Ardurson D B Anderson