:




            UNIX.  
       -    V
 UNIX. ,  ,    , 
   ,   .
     ,   ,   -
  ,       , -
  .        -
,  -1,          errno,  
  external.           ,
 0.         -
    :  ,    
     .    -
  ,       UNIX,
  ,   ,      
       ,    -
.


    access
      ______________________________

      access(filename,mode)
      char *filename;
      int mode;

      access ,      , 
   (       
mode).    mode     4 ( ), 2
( )  1 ( ).    
     .


    acct
      ______________________________

      acct(filename)
      char *filename;

     acct    ,      filename
,   -   .



      ______________________________

      unsigned alarm(seconds)
      unsigned seconds;

      alarm       
    (seconds).       ,
       .


                                    400


      ______________________________

      int brk(end_data_seg)
      char *end_data_seg;

     brk    ( )  
       end_data_seg.   -
, sbrk,           
   .



      ______________________________

      chdir(filename)
      char *filename;

      chdir         ,
   filename.



      ______________________________

      chmod(filename,mode)
      char *filename;

     chmod          
      mode,      (
 ):
      04000        
      02000        
      01000     sticky bit
      00400     
      00200     
      00100     
      00040      
      00020      
      00010      
      00004      
      00002      
      00001      



      ______________________________

      chown(filename,owner,group)
      char *filename;
      int owner,group;

     chown        -
   ,    owner  group.



      ______________________________


                                    401

      chroot(filename)
      char *filename;

     chroot       -
    filename.



      ______________________________

      close(fildes)
      int fildes;

     close   ,    -
  open, creat, dup, pipe  fcntl,     -
 fork.



      ______________________________

      creat(filename,mode)
      char *filename;
      int mode;

      creat         .
 mode    ,     access,     
sticky-bit  ,  ,   umask, . -
         -
.



      ______________________________

      dup(fildes)
      int fildes;

     dup     ,   -
        .    -
        ,      -
 .



      ______________________________

      execve(filename,argv,envp)
      char *filename;
      char *argv[];
      char *envp[];

     execve     filename,    
   .  argv   -
  ,   ,  envp  -
 ,     .




                                    402

      ______________________________

      exit(status)
      int status;

      exit      ,     8
     .       
      .



      ______________________________

      fcntl(fildes,cmd,arg)
      int fildes,cmd,arg;

      fcntl       
   ,      fildes.
  cmd  arg    ( -
     "/usr/include/fcntl.h"):

      F_DUPFD       ,  
                     arg
      F_SETFD      "close-on-exec"   -
                  arg (    exec)
      F_GETFD       "close-on-exec"
      F_SETFL      ,    
                 (O_NDELAY -     -
                  -,   O_APPEND - 
                     )
      F_GETFL      ,  
                 

      struct flock
              short l_type;   /* F_RDLCK -      ,
                                 F_WRLCK -      ,
                                 F_UNLCK -   */
              short l_whence; /*    -
                                       -
                                    (0), -
                                     -
                                  (1),      
                                  (2) */
              long l_start;   /*   , -
                                     
                                 l_whence */
              long l_len;     /*        
                                 .   0,  -
                                    l_start  
                                  */
              long l_pid;     /*  , -
                                   */
              long l_sysid;   /*    -
                                 ,   */

      F_GETLK        ,    -
                   arg     .   
                  ,   l_type
                  arg  F_UNLCK

                                    403

      F_SETLK           -
                    arg.      
                    -1
      F_SETLKW          
                         arg.  
                      -
                  

      ,      ,    -
. ,   ,   .



      ______________________________

      fork()

     fork   .    -
   -.      --
    ,  -  .



      ______________________________

      getpid()

      getpid       .  
   : getpgrp,    ,
      ,  getppid,  
,     .



      ______________________________

      getuid()

     getuid      -
 .      : geteuid,  -
      , getgid, 
 ,  getegid,      -
  .



      ______________________________

      ioctl(fildes,cmd,arg)
      int fildes,cmd;

     ioctl        -
 ,      fildes.  ,
      ,   cmd,  -
 arg   .



      ______________________________

                                    404

      kill(pid,sig)
      int pid,sig;

     kill  ,      -
 pid, ,   sig.

      pid               -
      -         pid
       
      pid = 0               ,  
                              -
                          
      pid = -1            -  
                          ,  -
                            ,  -
                          ,   ,
                             -
                              -
                          
      pid < -1              ,  
                             pid

         - -
   ,   ,    -
       -
  -.



      ______________________________

      link(filename1,filename2)
      char *filename1,*filename2;

      link   filename1   filename2.  -
      .



      ______________________________

      lseek(fildes,offset,origin)
      int fildes,origin;
      long offset;

     lseek     -      
 fildes    .   
   origin:

      0       ,   -
                 
      1            
           
      2       ,   -
                 



      ______________________________

                                    405

      mknod(filename,modes,dev)
      char *filename;
      int mode,dev;

      mknod   ,    
(   "  -  ")    -
  modes:

      010000    
      020000      - 
      040000   
      060000      - 

    12    modes     ,      
  chmod.     ,  dev  -
    .



      ______________________________

      mount(specialfile,dir,rwflag)
      char *specialfile,*dir;
      int rwflag;

     mount    ,   -
  specialfile,   dir.     rwflag
,      .



      ______________________________

      #include 
      #include 
      #include 

      msgctl(id,cmd,buf)
      int id,cmd;
      struct msgid_ds *buf;

       ,    cmd,  msgctl -
         
     id,      .
 msquid_ds   :

    struct ipc_perm {
         ushort  uid;  /*    */
         ushort  gid;  /*    */
         ushort cuid;  /*  - */
         ushort cgid;  /*    */
         ushort mode;  /*   */
         short  pad1;  /*   */
         long   pad2;  /*   */
    };

    struct msquid_ds {
          struct ipc_perm   msg_perm; /* ,   
                                           */

                                    406

          short             pad1[7];  /*   */
          ushort            msg_qnum; /*     
                                          */
          ushort            msg_qbytes; /*     
                                              */
          ushort            msg_lspid; /*  ,
                                             
                                            */
          ushort            msg_lrpid; /*  ,
                                             
                                            */
          time_t            msg_stime; /*   
                                           */
          time_t            msg_rtime; /*    -
                                            */
          time_t            msg_ctime; /*    -
                                           */
    };

     :

    IPC_STAT        , -
                  id
    IPC_SET             msg_perm.uid,
               msg_perm.gid, msg_perm.mode  (9    
                msg_perm)  mgr_qbytes   
               ,   
    IPC_RMID         -
                id


    sgget

______________________________ #include #include #include msgget(key,flag) key_t key; int flag; msgget , key. key , - (IPC_PRIVATE), . flag (IPC_CREAT), , - (IPC_EXCL). , - , msgget .

    sgsnd msgrcv

______________________________ #include #include #include msgsnd(id,msgp,size,flag) 407 int id,size,flag; struct msgbuf *msgp; msgrcv(id,msgp,size,type,flag) int id,size,type,flag; struct msgbuf *msgmp; msgsnd (size) msgp id. msgbuf - : struct msgbuf { long mtype; char mtext[]; }; flag IPC_NOWAIT , msgsnd - , . IPC_NOWAIT - , msgsnd . msgrcv id. type , , ; , ; , , , type. size , . flag MSG_NOERROR, , - , size, - . , - . flag IPC_NOWAIT , msgrcv , , - type , . - , . msgrcv ( ).

    i

______________________________ nice(increment) int increment; nice , - , increment. nice - .

    pe

______________________________ #include open(filename,flag,mode) char *filename; int flag,mode; open - 408 flag. flag ( ): O_RDONLY O_WRONLY O_RDWR O_NDELAY - , , - ; - , ( , O_WRONLY ), - O_APPEND O_CREAT , ; - (mode) , creat; , - O_TRUNC 0 O_EXCL O_CREAT , ; " " open .

    aus

______________________________ pause() pause .

    ip

______________________________ pipe(fildes) int fildes[2]; pipe (, fildes[0] fildes[1]) . ; .

    lock

______________________________ #include plock(op) int op; plock - op: 409 PROCLOCK TXTLOCK DATLOCK UNLOCK

    rofil

______________________________ profil(buf,size,offset,scale) char *buf; int size,offset,scale; profil . buf , , . size buf, offset - - , scale - .

    tra

______________________________ ptrace(cmd,pid,addr,data) int cmd,pid,addr,data; ptrace , pid, cmd: 0 ( ) 1,2 , addr - pid 3 , - addr 4,5 addr - 6 addr 7 - 8 - 9 - - -

    read

______________________________ read(fildes,buf,size) int fildes; char *buf; int size; read fildes - buf size . - . open O_NDELAY, read 410 .

    semctl

______________________________ #include #include #include semctl(id,num,cmd,arg) int id,num,cmd; union semun { int val; struct semid_ds *buf; ushort *array; } arg; semctl cmd id. GETVAL , - num SETVAL , - num, arg.val GETPID , - semop - , num GETNCNT , , GETZCNT , , GETALL arg.array SETALL arg.array IPC_STAT - id arg.buf IPC_SET sem_perm.uid, sem_perm.gid sem_perm.mode ( 9 sem_perm) arg.buf IPC_RMID , id, num . semid_ds : struct semid_ds { struct ipc_perm sem_perm; /* , - - */ int * pad; /* - */ ushort sem_nsems; /* - */ time_t sem_otime; /* */ 411 time_t sem_ctime; /* */ }; ipc_perm , msgctl.

    semget

______________________________ #include #include #include semget(key,nsems,flag) key_t key; int nsems,flag; semget , key. key flag , msgget.

    se

______________________________ semop(id,ops,num) int id,num; struct sembuf **ops; semop , ops, , id. num - , ops. sembuf - : struct sembuf { short sem_num; /* */ short sem_op; /* */ short sem_flg; /* */ }; sem_num , - , sem_flg - . sem_op : sem_op >= 0, sem_op; , , sem_op 0, - ; , - , - sem_flg IPC_NOWAIT, semop , . SEM_UNDO, 412 (sem_op ). , . semop .

    setpgr

______________________________ setpgrp() setpgrp , , - .

    setuid

______________________________ setuid(uid) int uid; setgid(gid) int gid; setuid - . , . , , uid, setuid - . , uid , setuid-, exec. setgid .

    shmctl

______________________________ #include #include #include shmctl(id,cmd,buf) int id,cmd; struct shmid_ds *buf; shmctl - , id. shmid_ds : struct shmid_ds { struct ipc_perm shm_perm; /* , - */ int shm_segsz; /* */ int * pad1; /* - */ ushort shm_lpid; /* - , 413 */ ushort shm_cpid; /* - - */ ushort shm_nattch; /* - */ short pad2; /* - */ time_t shm_atime; /* */ time_t shm_dtime; /* */ time_t shm_ctime; /* - */ }; : IPC_STAT buf - , id IPC_SET shm_perm.uid, shm_perm.gid shm_perm.mode (9 - ) - buf IPC_RMID , id

    shmget

______________________________ #include #include #include shmget(key,size,flag) key_t key; int size,flag; shmget . size . key flag , msgget.

    sh

______________________________ #include #include #include shmat(id,addr,flag) int id,flag; char *addr; shmdt(addr) char *addr; 414 shmat , id, . addr , - . , addr . flag SHM_RND, . shmat , . shmdt , - addr.

    signal

______________________________ #include signal(sig,function) int sig; void (*func)(); signal . sig : SIGHUP "" SIGINT SIGQUIT SIGILL SIGTRAP , SIGIOT IOT SIGEMT EMT SIGFPE SIGKILL SIGBUS SIGSEGV SIGSYS SIGPIPE SIGALRM SIGTERM SIGUSR1 , SIGUSR2 , SIGCLD SIGPWR function : SIG_DFL . - , - SIGPWR SIGCLD. SIGQUIT, SIGILL, SIGTRAP, SIGIOT, SIGEMT, SIGFPE, SIGBUS, SIGSEGV SIGSYS, "core", SIG_IGN . - . , - SIGILL, SIGTRAP SIGPWR, - SIG_DFL. SIGKILL 415 .te1 stat ______________________________ stat(filename,statbuf) char *filename; struct stat *statbuf; fstat(fd,statbuf) int fd; struct stat *statbuf; stat () - . fstat , - fd. statbuf : struct stat { dev_t st_dev; /* , - */ ino_t st_ino; /* */ ushort st_mode; /* (. mknod) (. chmod) */ short st_nlink; /* , */ ushort st_uid; /* */ ushort st_gid; /* */ dev_t st_rdev; /* */ off_t st_size; /* */ time_t st_atime; /* */ time_t st_mtime; /* */ time_t st_ctime; /* */ };

    sti

______________________________ stime(tptr) long *tptr; stime , tptr. 00:00:00 1 1970 .

    sy

______________________________ sync() sync (- ) .

    ti

______________________________ time(tloc) 416 long *tloc; time 00:00:00 1 1970 .

    times

______________________________ #include #include times(tbuf) struct tms *tbuf; times , , tbuf : struct tms { time_t tms_utime; /* - */ time_t tms_stime; /* - */ time_t tms_cutime; /* tms_utime tms_cutime */ time_t tms_sutime; /* tms_stime tms_sutime */ };

    limit

______________________________ ulimit(cmd,limit) int cmd; long limit; ulimit - cmd: 1 ( 512 ), 2 - limit 3 ( )

    ask

______________________________ umask(mask) int mask; umask , (mask), . - , mask, - . 417

    ount

______________________________ umount(specialfile) char *specialfile umount , - specialfile.

    a

______________________________ #include uname(name) struct utsname *name; uname , - : struct utsname { char sysname[9]; /* */ char nodename[9]; /* */ char release[9]; /* */ char version[9]; /* */ char machine[9]; /* */ };

    link

______________________________ unlink(filename) char *filename; unlink .

    stat

______________________________ #include #include ustat(dev,ubuf) int dev; struct ustat *ubuf; ustat , dev ( ). - ustat : struct ustat { daddr_t f_tfree; /* */ ino_t f_tinode; /* */ char f_fname[6]; /* */ char f_fpack[6]; /* () 418 */ };

    ti

______________________________ #include utime(filename,times) char *filename; struct utimbuf *times; utime , - times. , - . : struct utimbuf { time_t axtime; /* */ time_t modtime; /* */ }; 00:00:00 1 1970 .

    wait

______________________________ wait(wait_stat) int *wait_stat; wait . wait_stat , , - . - 16 . , 8 0, 8 - () exit. - , exit . , - - "core", 0200. - , 8 wait , 8 - 0177.

    writ

______________________________ write(fd,buf,count) int fd,count; char *buf; write count - , buf, fd. 419

[Babaoglu 81] Babaoglu, O., and W.Joy, "Converting a Swap-Based System to do Paging in an Architecture Lacking Page-Referenced Bits", Proceedings of the 8th Symposium on Operating Systems Principles, ACM Operating Systems Review, Vol. 15(5), Dec. 1981, pp. 78-86. [Bach 84] Bach, M.J., and S.J.Buroff, "Multiprocessor UNIX Systems", AT&T Bell Laboratories Technical Journal, Oct. 1984, Vol. 63, No. 8, Part 2, pp. 1733-1750. [Barak 80] Barak, A.B. and Aapir, "UNIX with Satellite Processors", Software - Practice and Experience, Vol. 10, 1980, pp. 383-392. [Beck 85] Beck, B. and B.Kasten, "VLSI Assist in Building a Multiprocessor UNIX System", Proceedings of the USENIX Association Summer Conference, June 1985, pp. 255-275. [Berkeley 83] UNIX Programmer's Manual, 4.2 Berkeley Software Distribution, Virtual VAX-11 Version, Computer Science Division, Department of Electrical Engineering and Computer Science, University of California at Berkeley, August 1983. [Birrell 84] Birrell, A.D. and B.J.Nelson, "Implementing Remote Procedure Calls", ACM Transactions on Computer Systems, Vol. 2, No. 1, Feb. 1984, pp. 39-59. [Bodenstab 84] Bodenstab, D.E., T.F.Houghton, K.A.Kelleman, G.Ronkin, and E.P.Schan, "UNIX Operating System Porting Experiences", AT&T Bell Laboratories Technical Journal, Vol. 63, No. 8, Oct. 1984, pp. 1769-1790. [Bourne 78] Bourne, S.R., "The UNIX Shell", The Bell System Technical Journal, July-August 1978, Vol. 57, No. 6, Part 2, pp. 1971-1990. [Bourne 83] Bourne, S.R., The UNIX System, Addison-Wesley, Reading, MA, 1983. [Brownbridge 82] Brownbridge, D.R., L.F.Marshall, and B.Randell, "The Newcastle Connection or UNIXes of the World Unite!" in Software - Practice and Experience, Vol. 12, 1982, pp. 1147-1162. [Bunt 76] Bunt, R.B., "Scheduling Techniques for Operating Systems", Computer, Oct. 1976, pp. 10-17. [Christian 83] Christian, K., The UNIX Operating System, John Wiley & Sons Inc., New York, NY, 1983. [Coffman 73] Coffman, E.G., and P.J.Denning, Operating Systems Theory, Prentice-Hall Inc., Englewood Cliffs, NJ, 1973. [Cole 85] Cole, C.T., P.B.Flinn, and A.B.Atlas, "An Implementation of an Extended File System for UNIX", Proceedings of the USENIX Conference, Summer 1985, pp. 131-149. [Denning 68] Denning, P.J., "The Working Set Model for Program Behavior, Communications of the ACM, Volume 11, No. 5, May 1968, pp. 323-333. [Dijkstra 65] Dijkstra, E.W., "Solution of a Problem in Concurrent Program Control", CACM, Vol. 8, No. 9, Sept. 1965, p. 569. [Dijkstra 68] Dijkstra, E.W., "Cooperating Sequential Processes", in Programming Languages, ed. F.Genuys, Academic Press, New York, NY, 1968. [Felton 84] Felton, W.A., G.L.Miller, and J.M.Milner, "A UNIX Implementation for System/370", AT&T Bell Laboratories Technical Journal, Vol. 63, No. 8, Oct. 1984, pp. 1751- 1767. [Goble 81] Goble, G.H. and M.H.Marsh, "A Dual Processor VAX 11/780", Purdue University Technical Report, TR-EE 81-31, Sept. 1981. [Henry 84] Henry, G.J., "The Fair Share Scheduler", AT&T Bell Laboratories Technical Journal, Oct. 1984, Vol. 63, No. 8, Part 2, pp. 1845-1858. 420 [Holley 79] Holley, L.H., R.P421rmelee, C.A.Salisbury, and D. N.Saul, "VM/370 Asymmetric Multiprocessing", IBM Systems Journal, Vol. 18, No. 1, 1979, pp. 47-70. [Holt 83] Holt, R.C., Concurrent Euclid, the UNIX System, and Tunis, Addison-Wesley, Reading, MA, 1983. [Horning 73] Horning, J.J., and B.Randell, "Process Structuring", Computing Surveys, Vol. 5, No. 1, March 1973, pp. 5-30. [Hunter 84] Hunter, C.B. and E.Farquhar, "Introduction to the NSI16000 Architecture", IEEE Micro, April 1984, pp. 26- 47. [Johnson 78] Johnson, S.C. and D.M.Ritchie, "Portability of C Programs and the UNIX System", The Bell System Technical Journal, Vol. 57, No. 6, Part 2, July-August, 1978, pp. 2021-2048. [Kavaler 83] Kavaler, P. and A.Greenspan, "Extending UNIX to Local-Area Networks", Mini-Micro Systems, Sept. 1983, pp. 197-202. [Kernighan 78] Kernighan, B.W., and D.M.Ritchie, The C Programming Language, Prentice-Hall, Englewood Cliffs, NJ, 1978. [Kernighan 84] Kernighan, B.W., and R.Pike, The UNIX Programming Environment, Prentice-Hall, Englewood Cliffs, NJ, 1984. [Killian 84] Killian, T.J., "Processes as Files", Proceedings of the USENIX Conference, Summer 1984, pp. 203-207. [Levy 80] Levy, H.M., and R.H.Eckhouse, Computer Programming and Architecture: The VAX-11, Digital Press, Bedford, MA, 1980. [levy 82] Levy, H.M., and P.H.Lipman, "Virtual Memory Management in the VAX/VMS Operating System", Computer, Vol. 15, No. 3, March 1982, pp. 35-41. [Lu 83] Lu, P.M., W.A.Dietrich, et. al., "Architecture of a VLSI MAP for BELLMAC-32 Microprocessor", Proc. of IEEE Spring Compcon, Feb. 28, 1983, pp. 213-217. [Luderer 81] Luderer, G.W.R., H.Che, J.P.Haggerty, P.A.Kirslis, and W.T.Marshall, "A Distributed UNIX System Based on a Virtual Circuit Switch", Proceedings of the Eighth Symposium on Operating Systems Principles, Asilomar, California, December 14-16, 1981. [Lycklama 78a] Lycklama, H. and D.L.Bayer, "The MERT Operating System", The Bell System Technical Journal, Vol. 57, No. 6, Part 2, July-August 1978, pp. 2049-2086. [Lycklama 78b] Lycklama, H. and C.Christensen, "A Minicomputer Satellite Processor System", The Bell System Technical Journal, Vol. 57, No. 6, Part 2, July- August 1978, pp. 2103-2114. [McKusick 84] McKusick, M.K., W.N.Joy, S.J.Leffler, and R.S. Fabry, "A Fast File System for UNIX", ACM Transactions on Computer Systems, Vol. 2(3), August 1984, pp. 181-197. [Mullender 84] Mullender, S.J. and A.S.Tanenbaum, "Immediate Files", Software - Practice and Experience, Vol. 14(4), April 1984, pp. 365-368. [Nowitz 80] Nowitz, D.A. and M.E.Lesk, "Implementation of a Dial-Up Network of UNIX Systems", IEEE Proceedings of Fall 1980 COMPCON, Washington, D.C., pp. 483-486. [Organick 72] Organick, E.J., The Multics System: An Examination of Its Structure", The MIT Press, Cambridge, MA, 1972. [Peachey 84] Peachey, D.R., R.B.Bunt, C.L.Williamson, and T.B.Brecht, "An Experimental Investigation of Scheduling Strategies for UNIX", Performance Evaluation Review, 1984 SIGMETRICS Conference on Measurement and Evaluation of Computer Systems, Vol. 12(3), August 1984, pp. 158-166. [Peterson 83] Peterson, James L. and A.Silberschatz, Operating System Concepts, Addison-Wesley, Reading, MA, 1983. [Pike 84] Pike, R., "The Blit: A Multiplexed Graphics Terminal", AT&T Bell Laboratories Technical Journal, Oct. 1984, Vol. 63, No. 8, Part 2, pp. 1607-1632. 421 [Pike 85] Pike, R., and P.Weinberger, "The Hideous Name", Proceedings of the USENIX Conference, Summer 1985, pp. 563-568. [Postel 80] Postel, J. (ed.), "DOD Standart Transmission Control Protocol", ACM Computer Communication Review, Vol. 10, No. 4, Oct. 1980, pp. 52-132. [Postel 81] Postel, J., C.A.Sunshine, and D.Cohen, "The ARPA Internet Protocol", Computer Networks, Vol. 5, No. 4, July 1981, pp. 261-271. [Raleigh 76] Raleigh, T.M., "Introduction to Scheduling and Switching under UNIX", Proceedings of the Digital Equipment Computer Users Society, Atlanta, Ga., May 1976, pp. 867-877. [Richards 69] Richards, M., "BCPL: A Tool for Compiler Writing and Systems Programming", Proc. AFIPS SJCC 34, 1969, pp. 557-566. [Ritchie 78a] Ritchie, D.M. and K.Thompson, "The UNIX Time-Sharing System", The Bell System Technical Journal, July-August 1978, Vol. 57, No. 6, Part 2, pp. 1905-1930. [Ritchie 78b] Ritchie, D.M., "A Retrospective", The Bell System Technical Journal, July-August 1978, Vol. 57, No. 6, Part 2, pp. 1947-1970. [Ritchie 81] Ritchie, D.M. and K.Thompson, "Some Further Aspects of the UNIX Time-Sharing System", Mini-Micro Software, Vol. 6, No. 3, 1981, pp. 9-12. [Ritchie 84a] Ritchie, D.M., "The Evolution of the UNIX Time- sharing System", AT&T Bell Laboratories Technical Journal, Oct. 1984, Vol. 63, No. 8, Part 2, pp. 1577-1594. [Ritchie 84b] Ritchie, D.M., "A Stream Input Output System", AT&T Bell Laboratories Technical Journal, Oct. 1984, Vol. 63, No. 8, Part 2, pp. 1897-1910. [Rochkind 85] Rochkind, M.J., Advanced UNIX Programming, Prentice-Hall, 1985. [Saltzer 66] Saltzer, J.H., Traffic Control in a Multiplexed Computer System, Ph.D. Thesis, MIT, 1966. [Sandberg 85] Sandberg, R., D.Goldberg, S.Kleiman, D.Walsh, and B.Lyon, "Design and Implementation of the Sun Network Filesystem", Proceedings of the USENIX Conference, Summer 1985, pp. 119-131. [SVID 85] System V Interface Definition, Spring 1985, Issue 1, AT&T Customer Information Center, Indianapolis, IN. [System V 84a] UNIX System V User Reference Manual. [System V 84b] UNIX System V Administrator's Manual. [Thompson 74] Thompson, K. and D.M.Ritchie, "The UNIX Time-Sharing System", Communications of the ACM, Vol. 17, No. 7, July, 1974, pp. 365-375 ( [Ritchie 78a]). [Thompson 78] Thompson, K., "UNIX Implementation", The Bell System Technical Journal, Vol. 57, No. 6, Part 2, July- August, 1978, pp. 1931-1946. [Weinberger 84] Weinberger, P.J., "Cheap Dynamic Instruction Counting", The AT&T Bell Laboratories Technical Journal, Vol. 63, No. 6, Part 2, October 1984, pp. 1815-1826. 422

Last-modified: Thu, 12 Feb 1998 07:21:04 GMT
: