登录 注册
当前位置:主页 > 资源下载 > 50 > UNIX Network Programming Volume 2(Unix网络编程卷2英文版)下载

UNIX Network Programming Volume 2(Unix网络编程卷2英文版)下载

  • 更新:2024-09-25 14:43:26
  • 大小:6.13MB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:Unix - 操作系统
  • 格式:RAR

资源介绍

《UNIX Network Programming Volume 2》(Unix网络编程卷2英文版,djvu格式,带绿色小巧的阅读器) 原书名: UNIX Network Programming Volume 2:Interprocess Communications 2nd ed. 原出版社: Prentice Hall/Pearson 作者: W.Richard Stevens preface part 1. introduction chapter 1. introduction 1.1 introduction 3 1.2 processes, threads, and the sharing of information 5 1.3 persistence of ipc objects 6 1.4 name spaces 7 1.5 effect of fork, exec, and exit on ipc objects 9 1.6 error handling: wrapper functions 11 1.7 unix standards 13 1.8 road map to ipc examples in the text 15 1.9 summary 16 chapter 2. posix ipc 2.1 introduction 19 2.2 ipc names 19 2.3 creating and opening ipc channels 22 2.4 ipc permissions 25 2.5 summary 26 .chapter 3. system v ipc 3.1 introduction 27 3.2 key_t keys and ftok function 28 3.3 ipc_perm structure 30 3.4 creating and opening ipc channels 30 3.5 ipc permissions 32 3.6 identifier reuse 34 3.7 ipcs and ipcrm programs 36 3.8 kernel limits 36 3.9 summary 38 part 2. message passing chapter 4. pipes and fifos 4.1 introduction 43 4.2 a simple client--server example 43 4.3 pipes 44 4.4 full-duplex pipes 50 4.5 popen and pc1ose functions 52 4.6 fifos 54 4.7 additional properties of pipes and fifos 58 4.8 one server, multiple clients 60 4.9 iterative versus concurrent servers 66 4.10 streams and messages 67 4.11 pipe and fifo limits 72 4.12 summary 73 chapter 5. posix message oueues 5.1 introduction 75 5.2 mq_open, mq_c1ose, and mq_un1ink functions 76 5.3 mq_getattr and mq_setattr functions 79 5.4 mq_send and mq_receive functions 82 5.5 message queue limits 86 5.6 mq_notify function 87 5.7 posix realtime signals 98 5.8 implementation using memory-mapped i/o 106 5.9 summary 126 chapter 6. system v message queues 6.1 introduction 129 6.2 msgget function 130 6.3 msgsnd function 131 6.4 msgrcv function 132 6.5 msgctl function 134 6.6 simple programs 135 6.7 client-server example 140 6.8 multiplexing messages 142 6.9 message queues with se1ect and poll 151 6.10 message queue limits 152 6.11 summary 155 part 3. synchronization chapter 7. mutexes and condition v8riables 7.1 introduction 159 7.2 mutexes: locking and unlocking 159 7.3 producer-consumer problem 161 7.4 locking versus waiting 165 7.5 condition variables: waiting and signaling 167 7.6 condition variables: timed waits and broadcasts 171 7.7 mutexes and condition variable attributes 172 7.8 summary 174 chapter 8. read-write locks 8.1 introduction 177 8.2 obtaining and releasing read-write locks 178 8.3 read--write lock attributes 179 8.4 implementation using mutexes and condition variables 179 8.5 thread cancellation 187 8.6 summary 192 chapter 9. record locking 9.1 introduction 193 9.2 record locking versus file locking 197 9.3 posix fcntl record locking 199 9.4 advisory locking 203 9.5 mandatory locking 204 9.6 priorities of readers and writers 207 9.7 starting only one copy of a daemon 213 9.8 lock files 214 9.9 nfs locking 216 9.10 summary 216 chapter 10. posix semaphores 10.1 introduction 219 10.2 sem_open, sem_close, and sem_unlink functions 225 10.3 sem_wait and sem_trywait functions 226 10.4 sem_post and semgetva1ue functions 227 10.5 simple programs 228 10.6 producer-consumer problem 233 10.7 file locking 238 10.8 sem_init and sem_destroy functions 238 10.9 multiple producers, one consumer 242 10.10 multiple producers, multiple consumers 245 10.11 multiple buffers 249 10.12 sharing semaphores between processes 256 10.13 semaphore limits 257 10.14 implementation using fifos 257 10.15 implementation using memory-mapped i/o 262 10.16 implementation using system v semaphores 271 10.17 summary 278 chapter 11 system v semaphores 11.1 introduction 281 11.2 semget function 282 11.3 semop function 285 11.4 semct1 function 287 11.5 simple programs 289 11.6 file locking 294 11.7 semaphore limits 296 11.8 summary 300 part 4. shared memory chapter 12. shared memory introduction 12.1 introduction 303 12.2 mmap, munmap, and msync functions 307 12.3 increment counter in a memory-mapped file 311 12.4 4.4bsd anonymous memory mapping 315 12.5 svr4/dev/zero memory mapping 316 12.6 referencing memory-mapped objects 317 12.7 summary 322 chapter 13. posix shared memory 13.1 introduction 325 13.2 shm_open and shm_un1ink functions 326 13.3 ftruncate and fstat functions 327 13.4 simple programs 328 13.5 incrementing a shared counter 333 13.6 sending messages to a server 336 13.7 summary 342 chapter 14. system v shared memory 14.1 introduction 343 14.2 shmget function 343 14.3 shmat function 344 14.4 shmdt function 345 14.5 shmct1 function 345 14.6 simple programs 346 14.7 shared memory limits 349 14.8 summary 351 part 5. remote procedure calls chapter 15. doors 15.1 introduction 355 15.2 door_cal1 function 361 15.3 door_create function 363 15.4 door_return function 364 15.5 door_cred function 365 15.6 door_info function 365 15.7 examples 366 15.8 descriptor passing 379 15.9 door server create function 384 15.10 door_bind, door_unbind, and door_revoke functions 390 15.11 premature termination of client or server 390 15.12 summary 397 chapter 16. sun rpc 16.1 introduction 399 16.2 multithreading 407 16.3 server binding 411 16.4 authentication 414 16.5 timeout and retransmission 417 16.6 call semantics 422 16.7 premature termination of client or server 424 16.8 xdr: external data representation 426 16.9 rpc packet formats 444 16.10 summary 449 epilogue appendix a. performance measurements a.1 introduction 457 a.2 results 458 a.3 message passing bandwidth programs 467 a.4 message passing latency programs 480 a.5 thread synchronization programs 486 a.6 process synchronization programs 497 appendix b. a threads primer b.1 introduction 501 b.2 basic thread functions: creation and t6rmination 502 appendix c. miscellaneous source code c.1 unpipc. h header 505 c.2 config. h header 509 c.3 standard error functions 510 appendix d. solutions to selected exercises bibliography