图书介绍

unix环境高级编程 英文版·第2版PDF|Epub|txt|kindle电子书版本网盘下载

unix环境高级编程 英文版·第2版
  • 出版社:
  • ISBN:
  • 出版时间:未知
  • 标注页数:0页
  • 文件大小:133MB
  • 文件页数:948页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

unix环境高级编程 英文版·第2版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

Chapter 1.UNIX System Overview1

1.1 Introduction1

1.2 UNIX Architecture1

1.3 Logging In2

1.4 Files and Directories4

1.5 Input and Output8

1.6 Programs and Processes10

1.7 Error Handling14

1.8 User Identification16

1.9 Signals18

1.10 Time Values20

1.11 System Calls and Library Functions21

1.12 Summary23

Chapter 2.UNIX Standardization and Implementations25

2.1 Introduction25

2.2 UNIX Standardization25

2.2.1 ISO C25

2.2.2 IEEE POSIX26

2.2.3 The Single UNIX Specification29

2.2.4 FIPS33

2.3 UNIX System Implementations33

2.3.1 UNIX System V Release 433

2.3.2 4.4BSD34

2.3.3 FreeBSD35

2.3.4 Linux35

2.3.5 Mac OS X35

2.3.6 Solaris35

2.3.7 Other UNIX Systems36

2.4 Relationship of Standards and Implementations36

2.5 Limits36

2.5.1 ISO C Limits38

2.5.2 POSIX Limits38

2.5.3 XSI Limits40

2.5.4 sysconf, pathconf, and fpathconf Functions41

2.5.5 Indeterminate Runtime Limits48

2.6 Options52

2.7 Feature Test Macros55

2.8 Primitive System Data Types56

2.9 Conflicts Between Standards56

2.10 Summary58

Chapter 3. File I/O59

3.1 Introduction59

3.2 File Descriptors59

3.3 open Function60

3.4 creat Function62

3.5 close Function63

3.6 lseek Function63

3.7 read Function67

3.8 write Function68

3.9 I/O Efficiency68

3.10 File Sharing70

3.11 Atomic Operations74

3.12 dup and dup2 Functions76

3.13 sync, fsync, and fdatasync Functions77

3.14 fcntl Function78

3.15 ioctl Function83

3.16 /dev/fd84

3.17 Summary85

Chapter 4. Files and Directories87

4.1 Introduction87

4.2 stat, fstat, and lstat Functions87

4.3 File Types88

4.4 Set-User-ID and Set-Group-ID91

4.5 File Access Permissions92

4.6 Ownership of New Files and Directories95

4.7 access Function95

4.8 umask Function97

4.9 chmod and fchmod Functions99

4.10 Sticky Bit101

4.11 chown, fchown, and lchown Functions102

4.12 File Size103

4.13 File Truncation105

4.14 File Systems105

4.15 link, unlink, remove, and rename Functions108

4.16 Symbolic Links112

4.17 symlink and readlink Functions115

4.18 File Times115

4.19 utime Function116

4.20 mkdir and rmdir Functions119

4.21 Reading Directories120

4.22 chdir, fchdir, and getcwd Functions125

4.23 Device Special Files127

4.24 Summary of File Access Permission Bits130

4.25 Summary130

Chapter 5. Standard I/O Library133

5.1 Introduction133

5.2 Streams and FILE Objects133

5.3 Standard Input, Standard Output, and Standard Error135

5.4 Buffering135

5.5 Opening a Stream138

5.6 Reading and Writing a Stream140

5.7 Line-at-a-Time I/O142

5.8 Standard I/O Efficiency143

5.9 Binary I/O145

5.10 Positioning a Stream147

5.11 Formatted I/O149

5.12 Implementation Details153

5.13 Temporary Files155

5.14 Alternatives to Standard I/O159

5.15 Summary159

Chapter 6. System Data Files and Information161

6.1 Introduction161

6.2 Password File161

6.3 Shadow Passwords165

6.4 Group File166

6.5 Supplementary Group IDs167

6.6 Implementation Differences169

6.7 Other Data Files169

6.8 Login Accounting170

6.9 System Identification171

6.10 Time and Date Routines173

6.11 Summary177

Chapter 7. Process Environment179

7.1 Introduction179

7.2 main Function179

7.3 Process Termination180

7.4 Command-Line Arguments185

7.5 Environment List185

7.6 Memory Layout of a C Program186

7.7 Shared Libraries188

7.8 Memory Allocation189

7.9 Environment Variables192

7.10 setjmp and longjmp Functions195

7.11 getrlimit and setrlimit Functions202

7.12 Summary206

Chapter 8. Process Control209

8.1 Introduction209

8.2 Process Identifiers209

8.3 fork Function211

8.4 vfork Function216

8.5 exit Functions218

8.6 wait and waitpid Functions220

8.7 waitid Function226

8.8 wait3 and wait4 Functions227

8.9 Race Conditions227

8.10 exec Functions231

8.11 Changing User IDs and Group IDs237

8.12 Interpreter Files242

8.13 system Function246

8.14 Process Accounting250

8.15 User Identification256

8.16 Process Times257

8.17 Summary259

Chapter 9. Process Relationships261

9.1 Introduction261

9.2 Terminal Logins261

9.3 Network Logins266

9.4 Process Groups269

9.5 Sessions270

9.6 Controlling Terminal272

9.7 tcgetpgrp, tcsetpgrp, and tcgetsid Functions273

9.8 Job Control274

9.9 Shell Execution of Programs278

9.10 Orphaned Process Groups282

9.11 FreeBSD Implementation285

9.12 Summary287

Chapter 10. Signals289

10.1 Introduction289

10.2 Signal Concepts289

10.3 signal Function298

10.4 Unreliable Signals301

10.5 Interrupted System Calls303

10.6 Reentrant Functions305

10.7 SIGCLD Semantics308

10.8 Reliable-Signal Terminology and Semantics310

10.9 kill and raise Functions311

10.10 alarm and pause Functions313

10.11 Signal Sets318

10.12 sigprocmask Function320

10.13 s igpending Function322

10.14 sigaction Function324

10.15 sigsetjmp and siglongjmp Functions329

10.16 sigsuspend Function333

10.17 abort Function340

10.18 system Function342

10.19 sleep Function347

10.20 Job-Control Signals349

10.21 Additional Features352

10.22 Summary353

Chapter 11. Threads355

11.1 Introduction355

11.2 Thread Concepts355

11.3 Thread Identification356

11.4 Thread Creation357

11.5 Thread Termination360

11.6 Thread Synchronization368

11.7 Summary385

Chapter 12. Thread Control387

12.1 Introduction387

12.2 Thread Limits387

12.3 Thread Attributes388

12.4 Synchronization Attributes393

12.5 Reentrancy401

12.6 Thread-Specific Data406

12.7 Cancel Options410

12.8 Threads and Signals413

12.9 Threads and fork416

12.10 Threads and I/O420

12.11 Summary420

Chapter 13. Daemon Processes423

13.1 Introduction423

13.2 Daemon Characteristics423

13.3 Coding Rules425

13.4 Error Logging428

13.5 Single-Instance Daemons432

13.6 Daemon Conventions434

13.7 Client-Server Model439

13.8 Summary439

Chapter 14. Advanced I/O441

14.1 Introduction441

14.2 Nonblocking I/O441

14.3 Record Locking444

14.4 STREAMS460

14.5 I/O Multiplexing472

14.5.1 select and pselect Functions474

14.5.2 poll Function479

14.6 Asynchronous I/O481

14.6.1 System V Asynchronous I/O481

14.6.2 BSD Asynchronous I/O482

14.7 readv and writev Functions483

14.8 readn and writen Functions485

14.9 Memory-Mapped I/O487

14.10 Summary492

Chapter 15. Interprocess Communication495

15.1 Introduction495

15.2 Pipes496

15.3 popen and pclose Functions503

15.4 Coprocesses510

15.5 FIFOs514

15.6 XSI IPC518

15.6.1 Identifiers and Keys518

15.6.2 Permission Structure520

15.6.3 Configuration Limits521

15.6.4 Advantages and Disadvantages521

15.7 Message Queues522

15.8 Semaphores527

15.9 Shared Memory533

15.10 Client-Server Properties541

15.11 Summary543

Chapter 16. Network IPC: Sockets545

16.1 Introduction545

16.2 Socket Descriptors546

16.3 Addressing549

16.3.1 Byte Ordering549

16.3.2 Address Formats551

16.3.3 Address Lookup553

16.3.4 Associating Addresses with Sockets560

16.4 Connection Establishment561

16.5 Data Transfer565

16.6 Socket Options579

16.7 Out-of-Band Data581

16.8 Nonblocking and Asynchronous I/O582

16.9 Summary583

Chapter 17. Advanced IPC585

17.1 Introduction585

17.2 STREAMS-Based Pipes585

17.2.1 Naming STREAMS Pipes589

17.2.2 Unique Connections590

17.3 UNIX Domain Sockets594

17.3.1 Naming UNIX Domain Sockets595

17.3.2 Unique Connections597

17.4 Passing File Descriptors601

17.4.1 Passing File Descriptors over STREAMS-Based Pipes604

17.4.2 Passing File Descriptors over UNIX Domain Sockets606

17.5 An Open Server, Version 1615

17.6 An Open Server, Version 2620

17.7 Summary629

Chapter 18. Terminal I/O631

18.1 Introduction631

18.2 Overview631

18.3 Special Input Characters638

18.4 Getting and Setting Terminal Attributes643

18.5 Terminal Option Flags643

18.6 stty Command651

18.7 Baud Rate Functions652

18.8 Line Control Functions653

18.9 Terminal Identification654

18.10 Canonical Mode660

18.11 Noncanonical Mode663

18.12 Terminal Window Size670

18.13 termcap, terminfo, and curses672

18.14 Summary673

Chapter 19. Pseudo Terminals675

19.1 Introduction675

19.2 Overview675

19.3 Opening Pseudo-Terminal Devices681

19.3.1 STREAMS-Based Pseudo Terminals683

19.3.2 BSD-Based Pseudo Terminals686

19.3.3 Linux-Based Pseudo Terminals689

19.4 pty_fork Function691

19.5 pty Program694

19.6 Using the pty Program698

19.7 Advanced Features705

19.8 Summary706

Chapter 20. A Database Library709

20.1 Introduction709

20.2 History709

20.3 The Library710

20.4 Implementation Overview712

20.5 Centralized or Decentralized?716

20.6 Concurrency718

20.7 Building the Library719

20.8 Source Code719

20.9 Performance747

20.10 Summary752

Chapter 21. Communicating with a Network Printer753

21.1 Introduction753

21.2 The Internet Printing Protocol753

21.3 The Hypertext Transfer Protocol756

21.4 Printer Spooling757

21.5 Source Code758

21.6 Summary805

Appendix A. Function Prototypes807

Appendix B. Miscellaneous Source Code843

B.1 Our Header File843

B.2 Standard Error Routines846

Appendix C. Solutions to Selected Exercises853

Bibliography885

Index891

热门推荐