Find solutions to all your problems related to Linux system programming using practical recipes for developing your own system programs. Key Features - Develop a deeper understanding of how Linux system programming works - Gain hands-on experience of working with different Linux projects wi
Linux system programming
β Scribed by Love, Robert M
- Publisher
- O'Reilly Media
- Year
- 2013
- Tongue
- English
- Leaves
- 456
- Edition
- 2nd edition
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
Introduction and essential concepts -- File I/O -- Buffered I/O -- Advanced file I/O -- Process management -- Advanced process management -- Threading -- File and directory management -- Memory management -- Signals -- Time.;1. Introduction and essential concepts : System programming ; APIs and ABIs ; Standards ; Concepts of Linux programming -- 2. File I/O : Opening files ; Reading via read () ; Writing with write () ; Synchronized I/O ; Direct I/O ; Closing files ; Seeking with lseek () ; Positional reads and writes ; Truncating files ; Multiplexed I/O ; Kernel internals -- 3. Buffered I/O : User-buffered I/O ; Standard I/O ; Opening files ; Opening a stream via file descriptor ; Closing streams ; Reading from a stream ; Writing to a stream ; Sample program using buffered I/O ; Seeking a stream ; Flushing a stream ; Errors and end-of-file ; Obtaining the associated file descriptor ; Controlling the buffering ; Thread safety ; Critiques of standard I/O -- 4. Advanced file I/O : Scatter/gather I/O ; Event poll ; Mapping files into memory ; Advice for normal file I/O ; Synchronized, synchronous, and asynchronous operations ; I/O schedulers and I/O performance -- 5. Process management : Programs, processes, and threads ; The process ID ; Running a new process ; Terminating a process ; Waiting for terminated child processes ; Users and groups ; Sessions and process groups ; Daemons -- 6. Advanced process management : Process scheduling ; The completely fair scheduler ; Yielding the processor ; Process priorities ; Processor affinity ; Real-time systems ; Resource limits -- 7. Threading : Binaries, processes, and threads ; Multithreading ; Threading models ; Threading patterns ; Concurrency, parallelism, and races ; Synchronization ; Pthreads -- 8. File and directory management : Files and their metadata ; Directories ; Links ; Copying and moving files ; Device nodes ; Out-of-band communication ; Monitoring file events -- 9. Memory management : The process address space ; Allocating dynamic memory ; Managing the data segment ; Anonymous memory mappings ; Advanced memory allocation ; Debugging memory allocations ; Stack-based alocations ; Choosing a memory allocation mechanism ; Manipulating memory ; Locking memory ; Opportunistic allocation -- 10. Signals : Signal concepts ; Basic signal management ; Sending a signal ; Reentrancy ; Signal sets ; Blocking signals ; Advanced signal management ; Sending a signal with a payload ; A flaw in Unix? -- 11. Time : Time's data structures ; POSIX clocks ; Getting the current time of day ; Setting the current time of day ; Playing with time ; Tuning the system clock ; Sleeping and waiting ; Timers -- Appendix A. GCC extensions to the C language.
β¦ Table of Contents
Introduction and essential concepts --
File I/O --
Buffered I/O --
Advanced file I/O --
Process management --
Advanced process management --
Threading --
File and directory management --
Memory management --
Signals --
Time.
β¦ Subjects
C;LINUX;Systemprogrammierung;Operating systems (Computers);Linux
π SIMILAR VOLUMES
This book is about writing software that makes the most effective use of the system youβre running on β code that interfaces directly with the kernel and core system libraries, including the shell, text editor, compiler, debugger, core utilities, and system daemons. The majority of both Unix and Lin
Introduction and essential concepts -- File I/O -- Buffered I/O -- Advanced file I/O -- Process management -- Advanced process management -- Threading -- File and directory management -- Memory management -- Signals -- Time.;1. Introduction and essential concepts : System programming ; APIs and ABIs