As per Relevance of the word software, we have this rfc below:
NWG/RFC# 681 JBP 14-MAY-75 14:38 32157
3/18/75 NETWORK UNIX S.
NETWORK UNIX 1
RFC 681 NIC 32157 2
INTRODUCTION 3
THE UNIX TIME-SHARING SYSTEM [1] PRESENTS SEVERAL
CAPABILITIES AS AN ARPA NETWORK MINI-HOST. IT OFFERS
LOCAL PROCESSING FACILITIES IN TERMS OF USER PROGRAMS,
COMPILERS, AN EDITOR BASED ON QED, A VERSATILE
PREPARATION SYSTEM, AND AN EFFICIENT FILE SYSTEM
SOPHISTICATED ACCESS CONTROL, MOUNTABLE AND DE-
VOLUMES, AND A UNIFIED TREATMENT OF PERIPHERALS AS SPECIAL FILES. 3
THE NETWORK CONTROL PROGRAM (NCP), IS INTEGRATED WITHIN
UNIX FILE SYSTEM. NETWORK CONNECTIONS ARE TREATED AS
FILES WHICH CAN BE ACCESSED THROUGH STANDARD UNIX I/O CALLS; VIZ
READ, WRITE, OPEN, CLOSE. SPECIAL FILES HAVE DIRECTORY
SIMILAR TO NORMAL FILES EXCEPT THAT CERTAIN FLAG BITS ARE SET
THESE FLAG BITS CAUSE SYSTEM I/O ROUTINES TO TAKE SPECIAL ACTION
IN UNIX, SPECIAL FILES SIGNIFY PERIPHERAL DEVICES. FOR EXAMPLE
I/O TRANSACTION WITH MAGTAPE ZERO WOULD BE ACCOMPLISHED
ACCESSING THE SPECIAL FILE, "/DEV/MT0". FOR THE UNIX
SYSTEM, ADDITIONAL SPECIAL FILES WERE CREATED EACH OF
SPECIFIES A HOST ON THE ARPA NETWORK. FOR
"/DEV/NET/HARV" REPRESENTS THE PDP-10 AT HARVARD. THIS
ACCESS MECHANISM, THROUGH THE FILING SYSTEM, ALLOWS STANDARD
PROTOCOLS SUCH AS TELNET AND FTP TO BE IMPLEMENTED
SWAPPABLE USER PROGRAMS, RESIDENT ONLY WHEN NEEDED. FURTHERMORE
A USER MAY WRITE HIS OWN PROGRAMS TO COMMUNICATE WITH
SPECIAL FILES JUST AS THE TELNET PROGRAM DOES. THE
PROGRAM FOUND BELOW DEPICTS THE ESSENTIALS OF NETWORKING
UNIX. 3
STANDARD I/O 4
TO PRESENT THE BASIC PROPERTIES OF UNIX I/O, THE READ, WRITE
OPEN, AND CLOSE FUNCTION CALLS ARE SUMMARIZED BELOW. EACH
MAY RESULT IN AN ERROR CODE OF MINUS ONE. 4
TO MANIPULATE AN EXISTING FILE WITH READS OR WRITES, IT
FIRST BE OPENED WITH THE FOLLOWING CALL: 4b
NWG/RFC# 681 JBP 14-MAY-75 14:38 32157
3/18/75 NETWORK UNIX S.
FILEDES = OPEN( "ANYFILENAME",FLAG ) 4b
WHERE "ANYFILENAME" IS THE ARBITRARY NAME OF THE FILE TO
OPENED. THE SECOND PARAMETER INDICATES WHETHER THE FILE IS TO
READ, WRITTEN, OR UPDATED. THE RETURNED VALUE "FILEDES",
CALLED A FILE DESCRIPTOR. IT IS AN INTEGER USED TO IDENTIFY
FILE IN SUBSEQUENT CALLS TO READ AND WRITE. 4
ONCE A FILE HAS BEEN OPENED, THE FOLLOWING CALLS MAY BE USED: 4
NBYTES = READ( FILEDES,BUFFER,COUNT );
NBYTES = WRITE( FILEDES,BUFFER,COUNT ); 4d
COUNT IS THE NUMBER OF BYTES TO BE TRANSMITTED BETWEEN
FILE REPRESENTED BY 'FILEDES' AND THE BYTE ARRAY REPRESENTED
'BUFFER'. NBYTES IS THE NUMBER ACTUALLY TRANSMITTED. FOR
READ CALL, 'NBYTES' MAY BE ZERO TO INDICATE THE END OF FILE;
EITHER CASE, MINUS ONE WILL BE RETURNED IF THERE WAS AN ERROR. 4
FOR EACH OPEN FILE, THE SYSTEM MAINTAINS A POINTER TO THE
BYTE TO BE READ OR WRITTEN. IF N BYTES ARE TRANSMITTED,
POINTER ADVANCES N BYTES. DATA WRITTEN TO A FILE AFFECT
THOSE BYTES IN THE FILE WHICH ARE INDICATED BY THE POSITION
THE WRITE POINTER AND THE COUNT; NO OTHER PART OF THE FILE
CHANGED. IF THE SYSTEM POINTER INDICATES THAT ANY BYTES
WRITTEN WOULD LIE BEYOND THE END OF THE FILE, THE FILE
ENLARGED AS NEEDED. 4
ONCE THE USER HAS FINISHED PROCESSING A FILE, IT SHOULD
CLOSED. THIS IS AFFECTED WITH THE FOLLOWING CALL: 4
CLOSE( FILEDES ); 4g
ALTHOUGH IT IS NOT ABSOLUTELY NECESSARY TO DO A SPECIFIC
ON A FILE WHEN FINISHED, (THE SYSTEM CLOSES ALL FILES WHEN
PROGRAM EXITS), IT IS A GOOD PRACTICE, SINCE THE USER
ALLOWED ONLY SIXTEEN OPEN FILES. 4
THERE ARE SEVERAL ADDITIONAL SYSTEM CALLS RELATED TO I/O
WILL NOT BE DISCUSSED IN DETAIL. A FEW OF THE MORE NOTABLE
ALLOW THE USER TO: GET THE STATUS OF A FILE, CHANGE
PROTECTION OR OWNERSHIP OF A FILE, CREATE A FILE, CREATE
DIRECTORY, MAKE A LINK TO AN EXISTING FILE, AND DELETE A
NWG/RFC# 681 JBP 14-MAY-75 14:38 32157
3/18/75 NETWORK UNIX S.
FILE. FOR FURTHER INFORMATION CONCERNING THE DIFFERENT I/
CALLS THE READER IS DIRECTED TO THE UNIX PROGRAMMER'S MANUAL
FIFTH EDITION, K. THOMPSON, AND D. M. RITCHIE, JUNE 1974. 4
THE USER COMMUNICATES WITH THE NETWORK VIA THESE SAME
CALLS. FOR EXAMPLE, IF ONE WISHED TO CONNECT TO THE THE PDP-10
AT HARVARD, THE FOLLOWING SEQUENCE OF CALLS MIGHT BE USED. 4
FILEDES = OPEN( "/DEV/NET/HARV",2 );
IF( FILEDES < 0 )
PRINTF(" HARVARD IS DEAD");
WHILE( (NBYTES=READ(FILEDES,BUF,80)) > 0 )
WRITE( 0,BUF,NBYTES ); 4j
THE OPEN INSTRUCTS THE SYSTEM TO OPEN A TELNET CONNECTION
HARVARD, IF MINUS ONE IS RETURNED, THE PROGRAM PRINTS A
AND EXITS, OTHERWISE THE PROGRAM WILL READ ANY BYTES SENT
HARVARD AND PRINT THEM OUT ON THE CONTROLLING TELETYPE. THIS
GO ON UNTIL HARVARD CLOSES THE CONNECTION (READ WILL
MINUS ONE WHEN THE CONNECTION IS CLOSED). 4
UNIX TELNET 5
IN ORDER TO COMMUNICATE WITH REMOTE HOSTS ON THE
NETWORK, ONE FIRST LOGS IN TO UNIX AS A NORMAL USER. THE
THEN RUNS A PROGRAM, TELNET, WHICH AFTER ANNOUNCING ITSELF
HIM WITH SEVERAL OPTIONS. 5
HE MAY CONTINUE WITH HIS NORMAL UNIX ACTIVITIES. WHEN
SEES A UNIX COMMAND, IT WILL INITIATE THE REQUEST AS
PARALLEL TASK, IN THE SAME MANNER AS THE UNIX COMMAND
(THE SHELL). SINCE THIS MAY BE DONE REGARDLESS OF WHETHER OR
A NETWORK CONNECTION IS OPEN, THE USER MAY SIMULTANEOUSLY
OUTPUT FROM A FOREIGN HOST'S SERVER TELNET AND CONVERSE WITH
LOCAL UNIX SYSTEM. 5
WHEN THE TELNET-USER OPENS A CONNECTION, TELNET ACCEPTS
HOST NAME AND ANY SPECIAL PARAMETERS, AND DOES AN OPEN ON
SPECIAL FILE CORRESPONDING TO THAT HOST. WHEN CONTROL
RETURNED, THE CONNECTION IS OPEN. ANY FURTHER DATA
FROM THE TERMINAL NOT CONTAINING ESCAPE CHARACTER IS SENT TO
1
NWG/RFC# 681 JBP 14-MAY-75 14:38 32157
3/18/75 NETWORK UNIX S.
NETWORK FILE. ANY DATA RECEIVED IN RESPONSE TO A READ ON
NETWORK FILE, IS WRITTEN ON THE USER'S TYPEWRITER. 5
COMMUNICATION CONTINUES WITH THE HOST UNTIL THE USER
TO CLOSE THE CONNECTION. THE USER SIMPLY MAKES THIS KNOWN
TELNET VIA A COMMAND, AND TELNET DOES A STANDARD CLOSE ON
NETWORK FILE. THE NEGOTIATION OF CLOSING THE NETWORK
IS LEFT TO THE SYSTEM, FREEING THE USER FOR OTHER
WORK. 5
THERE IS SOME CHARACTER TRANSLATION AND INVISIBLE
INFORMATION PASSED BACK AND FORTH BETWEEN THE FOREIGN HOST
THE TELNET PROCESS. THIS INVOLVES RECOGNITION OF TELNET IACS
THE TRANSLATION OF CARRIAGE RETURN(CR) AND LINE FEED(LF) TO
FEED ON ALL DATA RECEIVED FROM THE NETWORK, AND THE
TRANSLATION OF LF TO CR LF ON ALL DATA SENT TO THE NETWORK. 5
NCP STRUCTURE 6
DUE TO THE STRUCTURE OF BOTH THE IMP TO HOST[2] AND HOST
HOST[3] NETWORK PROTOCOLS, DATA COMES FROM THE
DESTINED NOT ONLY FOR ONE OF MANY ACTIVE PROCESSES, BUT
THE INFORMATION OF THE LOCAL HOST AS A WHOLE. FOR EXAMPLE
NETWORK TRAFFIC SUCH AS A HOST TO HOST RESET, WHICH
SIGNALS THAT A FOREIGN HOST HAS COME "ALIVE" MUST BE
TO LET THAT HOST KNOW THAT THE LOCAL HOST ITSELF IS "ALIVE".
THEREFORE, THE LOCAL HOST MUST MONITOR DATA COMING FROM THE
TO PERFORM NOT ONLY A MESSAGE SWITCHING FUNCTION, WHICH IS
BULK OF NETWORK TRAFFIC, BUT TO PROVIDE A CONTROL AND
FUNCTION. 6
FURTHER, WHEN A PERSON ASSOCIATED WITH THE LOCAL HOST
TO CARRY ON A CONVERSATION WITH A NETWORK SERVER, THE
CONNECTION PROTOCOL[4] MUST BE USED TO PROVIDE A LOGICAL
AT EACH SITE FOR SUCCEEDING INFORMATION FLOW. 6
EXPERIENCE WITH THE ANTS MARK I[5] AND ANTS MARK II[6]
HAS SHOWN THAT THE ABOVE CLASSES OF NETWORK EVENTS
RELATIVELY INFREQUENT, AND THAT MOST NETWORK TRAFFIC IS IN
OF USER DATA FLOW AND THE ASSOCIATED FLOW CONTROL( HOST TO
ALLOCATES AND IMP TO HOST RFNMS). IT IS ALSO THE CASE THAT
SOFTWARE REQUIRED TO IMPLEMENT THE STATUS AND CONTROL FUNCTION
THE BULKIEST PART OF AN NCP. 6
2
NWG/RFC# 681 JBP 14-MAY-75 14:38 32157
3/18/75 NETWORK UNIX S.
IN UNIX, THE KERNEL OF THE OPERATING SYSTEM IS
AND NON-SWAPPABLE. A LARGE KERNEL REDUCES THE MEMORY
FOR USER PROGRAMS. THUS IT IS DESIRABLE TO MINIMIZE
AMOUNT OF CODE ADDED TO THE BASIC UNIX KERNEL FOR THE NCP.
THIS REASON, THE NCP IS IMPLEMENTED IN TWO PARTS. ONE PART
ROOTED IN THE KERNEL AND MAKES UP THE NON-SWAPPABLE SECTION
ABOUT 3.5K WORDS OF CORE. THE OTHER SECTION (CALLED THE
DAEMON) DEALS WITH USER REQUESTS TO OPEN AND CLOSE
AND HANDLES THE STATUS TRAFFIC DESCRIBED ABOVE. THE NCP
RUNS AS A SWAPPABLE USER PROCESS OF ABOUT 8.5K WORDS IN SIZE,
COMMUNICATES WITH THE KERNEL VIA A SPECIAL FILE. 6
HARDWARE AND SOFTWARE REQUIREMENTS 7
THE NETWORK SOFTWARE FOR UNIX WAS DEVELOPED ON
PDP-11/50, WITH MEMORY MANAGEMENT, TWO RK05 DISK PACKS, TWO
TRACK MAGTAPE DRIVES, FOUR DECTAPE DRIVES, 32K WORDS OF CORE,
THREE TERMINALS. PRESENTLY THIS HAS BEEN EXPANDED TO ENCOMPASS
DH11 TERMINAL MULTIPLEXOR, AN RP03 MOVING HEAD DISK, A
PLATTER RF11 FIXED HEAD DISK, FLOATING POINT, AND 48K OF CORE
USER FILES ARE STORED ON THE RP03. THE RF11 IS USED AS A
DISK AND FOR TEMPORARY FILE STORAGE; ONE RK05 PLATTER
THE SYSTEM FILES, AND THE SECOND CONTAINS LOGIN AND
INFORMATION. IN THE NEAR FUTURE, THE SYSTEM WILL BE EXPANDED
128K WORDS OF CORE MEMORY WITH 10 DIAL IN AND 10 HARD
TERMINAL LINES. 7
THE BASE OPERATING SYSTEM OCCUPIES 24.5K WORDS OF MEMORY.
SYSTEM INCLUDES A LARGE NUMBER OF DEVICE DRIVERS, AND ENJOYS
GENEROUS AMOUNT OF SPACE FOR I/O BUFFERS AND SYSTEM TABLES.
MINIMAL SYSTEM WOULD REQUIRE 40K WORDS OF HARDWARE MEMORY.
SHOULD BE NOTED THAT UNIX ALSO REQUIRES THE MEMORY
OPTION OFFERED BY DEC TO RUN AT ALL. 7
THE BASE OPERATING SYSTEM WAS DEVELOPED BY BELL
IN MURRAY HILL, NEW JERSEY. THE BELL INSTALLATION SUPPORTS
HIGH SPEED PAPER TAPE READER-PUNCH, NINE-TRACK MAGNETIC TAPE
AND DECTAPE. BESIDES THE CONSOLE TERMINAL, THERE ARE 14
VARIABLE SPEED COMMUNICATION DATASETS, AND A 201 SERIES
FOR SPOOLING PRINTOUT TO A COMMUNAL LINE PRINTER. THERE ARE
SEVERAL ONE-OF-A-KIND DEVICES INCLUDING A VOICE RESPONSE UNIT,
VOICE SYNTHESIZER, A PHOTOTYPESETTER, A DIGITAL
3
NWG/RFC# 681 JBP 14-MAY-75 14:38 32157
3/18/75 NETWORK UNIX S.
NETWORK, AND A SATELLITE PDP-11/20 WHICH GENERATES VECTORS
CURVES, AND CHARACTERS FOR A TEKTRONIX 611 STORAGE-TUBE DISPLAY. 7
RELIABILITY 8
AS OF THIS WRITING, NETWORK UNIX HAS BEEN RUNNING ON A
TIME BASIS FOR ABOUT FOUR WEEKS. DURING THAT PERIOD, THERE
BETWEEN THREE AND FOUR CRASHES A DAY. THIS IS NOT A
INDICATOR BECAUSE MANY OF THE FAILURES WERE DUE TO
COMPLICATIONS. MORE RECENTLY THE HARDWARE HAS BEEN RE-
TO IMPROVE RELIABILITY AND THE CRASH RATE HAS BEEN REDUCED TO
A DAY WITH A DOWN TIME OF 2-3 MINS. THIS IS EXPECTED
CONTINUE, BUT THE SAMPLING PERIOD HASNT BEEN LONG ENOUGH FOR
DEPENDABLE ANALYSIS. 8
AVAILABILITY 9
ALTHOUGH THE UNIX NETWORK SOFTWARE WAS DEVELOPED WITHOUT
SUPPORT, THE CENTER FOR ADVANCED COMPUTATION IS WILLING
PROVIDE IT GRATIS TO THE PEOPLE OF THE ARPA COMMUNITY. 9
HOWEVER BELL LABORATORIES MUST BE CONTACTED FOR A LISCENSE
THE BASE SYSTEM ITSELF. BELL'S POLICY IN THE PAST HAS BEEN
LISCENSE THE SYSTEM TO UNIVERSITIES FOR A NOMINAL FEE
$150.00, AND UNFORTUNATELY FOR A COST OF $20,000.00
"NONUNIVERSITY" INSTITUTIONS. 9
IN THIS LIGHT BELL WAS APPROACHED TO SEE WHAT THEIR
WOULD BE TO AN ARPA NETWORK WIDE LISCENSE, THEY SAID THEY
OPEN TO SUGGESTIONS IN THAT AREA. SO SHOULD ENOUGH
BECOME INTERESTED, PERHAPS A LESS EXPENSIVE FEE CAN
NEGOTIATED. 9
INTERESTED USERS WHO HAVE EITHER SOURCE LISTINGS OR
FILES INCLUDE: 9
THE RAND CORPORATION WHICH IS USING OUR IMPLEMENTATION AS A
FOR THEIR OWN VERSION. 9
LINCOLN LABORATORIES WHICH HAS A SOURCE LISTING TO BE USED
AN AID IN EVALUATION OF THE UNIX SYSTEM. 9
4
NWG/RFC# 681 JBP 14-MAY-75 14:38 32157
3/18/75 NETWORK UNIX S.
THE INCO CORPORATION OF MC LEAN VIR. HAS A LISTING TO HELP
THE INSTALLATION OF AN NCP INTO DEC'S RSTS OPERATING SYSTEM. 9
IN ANY CASE WE ARE WILLING TO HELP ANY GROUP WITH
OF A SYSTEM. 9
FOR FURTHER INFORMATION CONCERNING THE SYSTEM CONTACT: 9h
STEVE
210 ADVANCED COMPUTATION BLDG
UNIVERSITY OF
URBANA ILLINOIS 61801
(217)-333-8469
HOLMGREN AT
OUTLOOK AND FUTURE PLANS 10
WITH THE ADVENT OF TELNET IN UNIX, CURRENT PLANS ARE TO RUN
SYSTEM OVER THE NEXT ONE OR TWO MONTHS AND WORK OUT
REMAINING BUGS. WHILE THIS IS GOING ON, EXTENSIVE BANDWITH
LOAD TESTING IS GOING TO TAKE PLACE AND ANY
IMPROVEMENTS MADE. 10
AFTER TELNET HAS PROVED ITSELF RELIABLE, THE OPEN SYSTEM
WILL BE EXPANDED TO INCLUDE FURTHER PARAMETERIZATION.
PARAMETERIZATION WILL ENCOMPASS CONNECTIONS TO SPECIFIC SOCKETS
SIMPLEX CONNECTIONS BASED ON A SOCKET ALREADY IN USE, AND
ABILITY TO LISTEN ON A LOCAL SOCKET. 10
AFTER THOSE EXTENSIONS, NET MAIL, THEN NETWORK FTP AND
NETWORK RJE WILL BE IMPLEMENTED. ALL WILL RUN AS
PROGRAMS SO THE KERNEL SYSTEM SIZE WILL NOT INCREASE. 10
THERE IS ALSO INTEREST IN IMPLEMENTING SOME OF THE
CALL PROTOCOL BEING DEVELOPED BY THE NATIONAL SOFTWARE WORKS
BUT NO DEFINATE PLAN HAVE BEEN MADE. 10
ACKNOWLEDGEMENTS 11
I AM MUCH INDEBTED TO GARY GROSSMAN WHO PARTICIPATED IN
DESIGN AND WROTE THE NCP DAEMON; AND TO STEVE BUNCH WHO WAS
5
NWG/RFC# 681 JBP 14-MAY-75 14:38 32157
3/18/75 NETWORK UNIX S.
THE THIRD MEMBER OF OUR DESIGN GROUP AND WROTE THE
MESSAGE SOFTWARE. 11
THE THREE OF US ARE PARTICULARLY APPRECIATIVE OF THE
AND SUPPORT OF DR. HUGH FOLK, DR. PETER ALSBERG,
CHESSON, JOHN MULLEN, KARL KELLEY AND DAVE HEALY. 11
REFERENCES 12
1. UNIX TIME-SHARING
KEN THOMPSON AND DENNIS
COMMUNICATIONS OF THE
JULY 1974, VOL 17, NUMBER 7 12
2. SPECIFICATIONS FOR THE INTERCONNECTION OF
HOST TO AN
REPORT NO. 1822 BOLT BERANEK AND NEWMAN INC
CHAPTER 3, SYSTEM OPERATION 12
3. HOST/HOST PROTOCOL FOR THE ARPA
ALEX MCKENZIE,
NIC DOCUMENT 8246 12
4. OFFICIAL INITIAL CONNECIION
DOCUMENT #2
J. POSTEL, UCLA-
NIC DOCUMENT 7101 12
5. ANTS MARK I USER'S
KARL
CENTER FOR ADVANCED COMPUTATION 2/1/74 12
6. ANTS MARK TWO
KARL
CENTER FOR ADVANCED COMPUTATION 1/10/74 12
if you see any problems within the linking, don't worry be happy,
this is version 0.1 of the Relevance System and you gotta expect some crappy subroutines sometimes,
just be content we did not write this in Java, which would have made this "bigger and better" HAHAHHA.
RFC documents can be found at I.E.T.F.
Relevance System Copyright © 2002 Spectrum WorldResearch
other technical nosh by ServerMasters Corporation
collaboration of BobX