The changes to UNIX programming that have taken place since 1985 are extensive to say the least. The first edition of Advanced UNIX Programming is still used and considered to be a must have book on any UNIX programmer's shelf. With this new edition UNIX programmers now have a one-volume, comprehens
Advanced UNIX programming
โ Scribed by Rochkind, Marc J
- Publisher
- Addison-Wesley Professional
- Year
- 2004;2008
- Tongue
- English
- Leaves
- 737
- Series
- Addison-Wesley professional computing series
- Edition
- 2nd ed., 6th pr
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
The changes to UNIX programming that have taken place since 1985 are extensive to say the least. The first edition of Advanced UNIX Programming is still used and considered to be a must have book on any UNIX programmer's shelf. With this new edition UNIX programmers now have a one-volume, comprehensive, in-depth guide to the essential system-level services provided to them by the UNIX family of operating systems - now including Linux, FreeBSD, and the Mac OS X kernel (Darwin). All UNIX application programs, regardless of what language they are written in, run on top of these services, so mastering them is essential for successful UNIX programming. And, with a movement towards open-source systems, programmers will appreciate the book's emphasis on portability.
โฆ Table of Contents
Cover......Page 1
Contents......Page 8
Preface......Page 12
1.1 A Whirlwind Tour of UNIX and Linux......Page 16
1.2 Versions of UNIX......Page 31
1.3 Using System Calls......Page 34
1.4 Error Handling......Page 39
1.5 UNIX Standards......Page 53
1.6 Common Header File......Page 70
1.7 Dates and Times......Page 71
1.8 About the Example Code......Page 82
1.9 Essential Resources......Page 83
2.1 Introduction to File I/O......Page 86
2.2 File Descriptors and Open File Descriptions......Page 87
2.3 Symbols for File Permission Bits......Page 90
2.4 open and creat System Calls......Page 91
2.6 unlink System Call......Page 101
2.7 Creating Temporary......Page 103
2.8 File Offsets and O_APPEND......Page 105
2.9 write System Call......Page 107
2.10 read System Call......Page 111
2.11 close System Call......Page 112
2.12 User Buffered I/O......Page 113
2.13 lseek System Call......Page 120
2.14 pread and pwrite System Calls......Page 123
2.15 readv and writev System Calls......Page 125
2.16 Synchronized I/O......Page 129
2.17 truncate and ftruncate System Calls......Page 134
3.2 Disk Special Files and File Systems......Page 138
3.3 Hard and Symbolic Links......Page 152
3.4 Pathnames......Page 159
3.5 Accessing and Displaying File Metadata......Page 162
3.6 Directories......Page 173
3.7 Changing an I-Node......Page 196
3.8 More File-Manipulation Calls......Page 200
3.9 Asynchronous I/O......Page 204
4.1 Introduction......Page 218
4.2 Reading from a Terminal......Page 219
4.3 Sessions and Process Groups (Jobs)......Page 239
4.4 ioctl System Call......Page 247
4.5 Setting Terminal Attributes......Page 248
4.6 Additional Terminal-Control System Calls......Page 260
4.7 Terminal-Identification System Calls......Page 263
4.8 Full-Screen Applications......Page 265
4.9 STREAMS I/O......Page 270
4.10 Pseudo Terminals......Page 271
5.2 Environment......Page 292
5.3 exec System Calls......Page 299
5.4 Implementing a Shell (Version 1)......Page 307
5.5 fork System Call......Page 311
5.6 Implementing a Shell (Version 2)......Page 315
5.7 exit System Calls and Process Termination......Page 316
5.8 wait, waitpid, and waitid System Calls......Page 319
5.9 Signals, Termination, and Waiting......Page 328
5.10 Implementing a Shell (Version 3)......Page 329
5.11 Getting User and Group IDs......Page 330
5.12 Setting User and Group IDs......Page 332
5.14 chroot System Call......Page 334
5.15 Getting and Setting the Priority......Page 335
5.16 Process Limits......Page 337
5.17 Introduction to Threads......Page 344
5.18 The Blocking Problem......Page 365
6.1 Introduction......Page 376
6.2 Pipes......Page 377
6.3 dup and dup2 System Calls......Page 386
6.4 A Real Shell......Page 391
6.5 Two-Way Communication with Unidirectional Pipes......Page 405
6.6 Two-Way Communication with Bidirectional Pipes......Page 414
7.1 Introduction......Page 420
7.2 FIFOs, or Named Pipes......Page 421
7.3 An Abstract Simple Messaging Interface (SMI)......Page 429
7.4 System V IPC (Interprocess Communication)......Page 443
7.5 System V Message Queues......Page 449
7.6. POSIX IPC......Page 457
7.7 POSIX Message Queues......Page 460
7.8 About Semaphores......Page 473
7.9 System V Semaphores......Page 475
7.10 POSIX Semaphores......Page 484
7.11 File Locking......Page 492
7.12 About Shared Memory......Page 503
7.13 System V Shared Memory......Page 504
7.14 POSIX Shared Memory......Page 519
7.15 Performance Comparisons......Page 530
Chapter 8 Networking and Sockets......Page 534
8.1 Socket Basics......Page 535
8.2 Socket Addresses......Page 548
8.3 Socket Options......Page 559
8.4 Simple Socket Interface (SSI)......Page 564
8.5 Socket Implementation of SMI......Page 578
8.6 Connectionless Sockets......Page 582
8.7 Out-of-Band Data......Page 592
8.8 Network Database Functions......Page 593
8.9 Miscellaneous System Calls......Page 608
8.10 High-Performance Considerations......Page 612
9.1 Signal Basics......Page 616
9.2 Waiting for a Signal......Page 639
9.3 Miscellaneous Signal System Calls......Page 649
9.4 Deprecated Signal System Calls......Page 650
9.5 Realtime Signals Extension (RTS)......Page 652
9.6 Global Jumps......Page 663
9.7 Clocks and Timers......Page 666
Appendix A: Process Attributes......Page 682
Appendix B: Ux: A C++ Wrapper for Standard UNIX Functions......Page 688
Appendix C: Jtux: A Java/Jython Interface to Standard UNIX Functions......Page 692
Appendix D: Alphabetical and Categorical Function Lists......Page 700
References......Page 718
C......Page 720
E......Page 721
F......Page 722
G......Page 724
L......Page 725
O......Page 726
P......Page 727
S......Page 728
T......Page 733
W......Page 734
โฆ Subjects
Computer Science;Programming;Computers;Reference;Technical;Science;Nonfiction
๐ SIMILAR VOLUMES
1. Fundamentals concepts 2. Basic file I/O 3. Advanced file I/O 4. Terminal I/O 5. Processes and threads 6. Basic interprocess communication 7. Advanced interprocess communication 8. Networking and sockets 9. signals and timers.
1. Fundamentals concepts 2. Basic file I/O 3. Advanced file I/O 4. Terminal I/O 5. Processes and threads 6. Basic interprocess communication 7. Advanced interprocess communication 8. Networking and sockets 9. signals and timers.
Advanced UNIX Programming goes beyond the fundamentals of UNIX programming and presents information and techniques the readers needs to expand their knowledge base. Designed for professional UNIX programmers, this book builds on the skills and knowledge the reader already possesses. It includes cove
The changes to UNIX programming that have taken place since 1985 are extensive to say the least. The first edition of Advanced UNIX Programming is still used and considered to be a must have book on any UNIX programmer's shelf. With this new edition UNIX programmers now have a one-volume, comprehens
The changes to UNIX programming that have taken place since 1985 are extensive to say the least. The first edition of Advanced UNIX Programming is still used and considered to be a must have book on any UNIX programmers shelf. With this new edition UNIX programmers now have a one-volume, comprehensi