《LINUX系统编程》讲述了:在某些时刻,几乎所有的程序员都要与其程序所处操作系统中的系统调用和程序库打交道。《LINUX系统编程》主要讨论如何编写Linux系统软件——代码位于底层,并且直接跟内核及核心系统程序库对话。《Linux系统编程》描述了使用标准接口包括使用Linux独有的高级接口时,在功能和性能之间如何进行权衡取舍的策略。
该书同样也是一本内行人士编写灵活高效代码的学习指南。作为内核黑客和《LINUX系统编程》的作者,Robert Love不仅阐释了系统接口应该如何工作,还介绍了它们实际上是如何工作的,以及怎样安全有效地使用它们。《Linux系统编程》包含了帮助你在任何层面编写更佳代码的实用技巧。
《LINUX系统编程》主题包括:
读写文件以及其他文件I/O操作,包括Linux内核如何实现和管理文件I/O,内存映射与优化
技术进程管理的系统调用,包括实时进程
文件与目录——创建、移动、复制、删除和管理
内存管理——内存分配接口,管理内存,以及优化内存访问
信号及其在Unix系统中的角色,以及基本和高级信号接口
时间、休眠和时钟管理,从基础开始讲述,并且涵盖POSIX时钟和高精度计时器拥有《Linux系统编程》,你将从理论和应用的角度深入了解Linux,可以最大限度地利用系统的潜能。
......(更多)
......(更多)
序
前言
第一章 介绍与基本概念
系统编程
API与ABI
标准
Linux编程的概念
向系统编程迈进
第二章 文件I/O
打开文件
以read()进行读取操作
以write()进行写入操作
同步化I/O
关闭文件
使用lseek()查找文件位置
针对特定位置的读取与写入
截短文件
多任务式I/O
内核内部
结束语
第三章 缓冲式I/O
用户缓冲式I/O
标准I/O
打开文件
经文件描述符打开流
关闭流
从流中读取
使用缓冲式I/O的简单程序
查找一个流
刷新一个流
错误与EOF
取得相应的文件描述符
控制与缓冲机制
线程安全
标准I/O的缺陷
结束语
第四章 高级文件I/O
分散一聚集I/O
事件轮询接口
将文件映射至内存
对一般文件I/0的用法提供建议
同步化、同步及异步操作
I/O调度程序与I/O性能
结束语
第五章 进程管理
进程ID
运行一个新进程
终止一个进程
等待已终止的子进程
用户与组
会话与进程组
守护进程
结束语
第六章 高级进程管理
进程的调度
让出处理器
进程优先级
实时系统
资源限制
第七章 文件和目录管理
文件与其元数据
目录
链接
文件的复制以及移动
设备节点
带外通信
第八章 内存管理
进程地址空间
分配动态内存
管理数据段
匿名内存映射
高级内存分配
调试内存分配
基于堆栈的分配
选择内存分配机制
操作内存
锁定内存
投机取巧的分配策略
第九章 信号
信号的概念
基本的信号管理
发送一个信号
可重人性
信号集
阻挡信号
高级信号管理
以payload送出信号
结束语
第十章 时间
时间的数据结构
POSIX时钟
取得当前时间
设定当前时间
操作时间
调整系统时钟
休眠与等待
定时器
附录GCC对C语言的扩展
参考书目
......(更多)
Linux 中的授权机制由用户(user)和组(group)提供。每个用户都会被分配一个独一无二的正整数,称为用户标识符(user ID,简称 uid)。每个进程恰好会被关联到一个 uid,用来识别运行进程的用户,这被称为进程的真实用户标识符(real uid)。
进程(process)是执行中的目标码(object code):正在运行的程序。但它不仅仅是目标码,进程由数据、资源、状态以及一个虚拟的计算机组成。
......(更多)