Linux编程白皮书


请输入要查询的词条内容:

Linux编程白皮书




简介


《Linux编程白皮书》是由一群Linux高手所写的,它由五个部分组成——是Linux文档工程的一个印刷版本。该书描述了关键的设计概念,以及系统和Linux内核子系统的概念系统结构和具体的系统结构。全书是从Linux操作系统的心脏——内核开始进行深入介绍的。所介绍的知识包括Linux硬件和软件基础、内核机制、进程、模块、结构及源代码、Linux内核模块编程指南,把应用程序移植到Linux下,以及对网络的讨论等等。

目录


目录

第二部分 Linux内核模块编程指南

致谢

关于版本1.0.1

关于版本1.1.0

前言

适合阅读本书的对象

一点说明

第1章 HELLO, WORLD

1.1 内核模块的MAKEFILES文件

1.2 多重文件内核模块

第2章 字符设备文件

2.1 多内核版本源文件

第3章 /PROC文件系统

第4章 把/PROC用于输入

第5章 把设备文件用于输入(写和IOCTL)

第6章 启动参数

第7章 系统调用

第8章 阻塞处理

第9章 替换PRINTK

第10章 任务调度

第11章 中断处理程序

11.1 INTEL体系结构的键盘

第12章 对称多处理

第13章 常见错误

第三部分 Linux程序员指南

第1章 LINUX操作系统

第2章 LINUX内核

第3章 LINUX LIBC包

第4章 系统调用

第5章 "瑞士军刀":IOCTL

第6章 LINUX进程间通信

6.1 介绍

6.2 半双工UNIX管道

6.2.1 基本概念

6.2.2 用C语言创建管道

6.2.3 简便方法

6.2.4 管道的原子操作

6.2.5 关于半双工管道需要注意的几个问题

6.3 命名管道(FIFO:先进先出)

6.3.1 基本概念

6.3.2 创建FIFO

6.3.3 FIFO操作

6.3.4 FIFO上的阻塞动作

6.3.5 SIGPIPE信号

6.4 系统V IPC

6.4.1 基本概念

6.4.2 消息队列

6.4.3 信号量

6.4.4 共享内存

第7章 声音编程

7.1 内部扬声器编程

7.2 声卡编程

第8章 字符单元图形

8.1 LIBC中的I/O函数

8.1.1 格式化输出

8.1.2 格式化输入

8.2 TERMCAP库

8.2.1 前言

8.2.2 获得终端描述

8.2.3 查看终端描述

8.2.4 termcap权能

8.3 NCURSES简介

8.4 初始化

8.5 窗口

8.6 输出

8.6.1 格式化输出

8.6.2 插入字符/行

8.6.3 删除字符/行

8.6.4 方框和直线

8.6.5 背景字符

8.7 输入

8.7.1 格式化输入

8.8 选项

8.8.1 输出选项

8.8.2 输入选项

8.8.3 终端属性

8.8.4 使用选项

8.9 更新终端

8.10 视频属性与颜色

8.11 光标和屏幕坐标

8.12 滚动

8.13 小键盘

8.14 软标签

8.15 杂项

8.16 低级访问

8.17 屏幕转储

8.18 TERMCAP模拟

8.19 TERMINFO函数

8.20 调试函数

8.21 TERMINFO权能

8.21.1 布尔型权能

8.21.2 数值型权能

8.21.3 字符串型权能

8.22 [N]CURSES函数概述

第9章 I/O端口编程

9.1 鼠标编程

9.2 调制解调器编程

9.3 打印机编程

9.4 游戏杆编程

第10章 把应用程序移植到LINUX上

10.1 介绍

10.2 信号处理

10.2.1 SVR4、BSD和POSIX.1下的信号

10.2.2 Linux信号选项

10.2.3 Linux下的信号

10.2.4 Linux支持的信号

10.3 终端I/O

10.4 进程信息和控制

10.4.1 kvm过程

10.4.2 ptrace和/proc文件系统

10.4.3 Linux下的进程控制

10.5 可移植条件编译

10.6 补充说明

附录 以字母顺序排列的系统调用

第四部分 Linux内核的概念系统结构

摘要

前言

目标

本部分的难点

本文的组织

第1章 系统结构

1.1 系统概述

1.2 内核的目标

1.3 内核结构的概述

1.4 支持多个开发人员

1.5 系统数据结构

1.5.1 任务列表

1.5.2 内存映射

1.5.3 索引节点

1.5.4 数据连接

第2章 子系统的系统结构

2.1 进程调度程序系统结构

2.1.1 目标

2.1.2 模块

2.1.3 数据表达

2.1.4 依赖性、数据流和控制流

2.2 内存管理程序系统结构

2.2.1 目标

2.2.2 模块

2.2.3 数据表示

2.2.4 数据流、控制流和依赖性

2.3 虚拟文件系统系统结构

2.3.1 目标

2.3.2 模块

2.3.3 数据表示

2.3.4 数据流、控制流和依赖性

2.4 网络接口系统结构

2.4.1 目标

2.4.2 模块

2.4.3 数据表示

2.4.4 数据流、控制流和依赖性

2.5 进程间通信系统结构

第3章 结论

第五部分 Linux内核的具体系统结构

摘要

第1章 前言

1.1 目标

1.2 LINUX介绍

1.3 软件系统结构的背景知识

1.4 方法与途径

1.5 适用本书的读者

1.6 本部分的章节安排

第2章 系统结构

第3章 子系统结构

3.1 进程调度程序

3.1.1 目标

3.1.2 外部接口

3.1.3 子系统描述

3.1.4 数据结构

3.1.5 子系统结构

3.1.6 子系统依赖性

3.2 内存管理程序

3.2.1 目标

3.2.2 外部接口

3.2.3 子系统描述

3.2.4 数据结构

3.2.5 子系统结构

3.2.6 子系统依赖性

3.3 虚拟文件系统

3.3.1 目标

3.3.2 外部接口

3.3.3 子系统描述

3.3.4 设备驱动程序

3.3.5 逻辑文件系统

3.3.6 模块

3.3.7 数据结构

3.3.8 子系统结构

3.3.9 子系统依赖性

3.4 进程间通信

3.4.1 目标

3.4.2 外部接口

3.4.3 子系统描述

3.4.4 数据结构

3.4.5 子系统结构

3.4.6 子系统依赖性

3.5 网络接口

3.5.1 目标

3.5.2 外部接口

3.5.3 子系统描述

3.5.4 数据结构

3.5.5 子系统结构

3.5.6 子系统依赖性

第4章 结论

4.1 将来的工作

第六部分 附录

附录A Linux文档工程拷贝许可证

附录B GNU通用公共许可证

相关分词: Linux 编程 白皮书 白皮 皮书