Linux环境高级程序设计
¥
29.7
5.0折
¥
59
全新
库存3件
作者黄茹;王小银;张丽丽
出版社清华大学出版社
出版时间2019-02
版次1
装帧其他
货号9787302520252
上书时间2024-12-25
商品详情
- 品相描述:全新
图书标准信息
-
作者
黄茹;王小银;张丽丽
-
出版社
清华大学出版社
-
出版时间
2019-02
-
版次
1
-
ISBN
9787302520252
-
定价
59.00元
-
装帧
其他
-
开本
16开
-
纸张
胶版纸
-
页数
327页
-
字数
491千字
- 【内容简介】
-
本书介绍使用C语言结合Linux API进行系统级程序设计的方法,主要包括Linux基础知识、C程序开发工具、文件及目录管理、进程管理、重定向与管道、信号、进程间通信、线程、线程间的同步机制、网络程序设计等10章,以及10个实验,全面而系统地介绍Linux操作系统各种机制的实现原理、经常使用的系统接口函数、系统接口和命令程序之间的关系以及命令程序的实现过程等。
本书结构清晰,适合于教学,为各类高等学校开设开源软件程序设计课程提供了一个切实可行的思路,同时也可作为培训教材在各类培训机构使用。书中各章节划分明确,各章突出不同的重点,有利于教师组织安排授课内容;同时提供设计精美、内容丰富的电子教案以及教学素材供授课教师使用,有效地减轻了授课教师备课的工作量和强度。
本书目标读者为具有一定C语言基础的读者,适合各类高等院校的计算机及相关专业学生、Linux培训机构、Linux API编程爱好者、Linux程序开发人员及爱好者学习使用。
- 【目录】
-
目录
第1章Linux基础知识/1
1.1Linux简介1
1.1.1Linux系统的发展1
1.1.2与Linux相关的一些知识3
1.2Linux系统编程5
1.2.1什么是系统编程5
1.2.2系统编程的学习内容及方法6
1.2.3一个例子7
1.2.4系统调用和库函数10
1.3常用工具及命令10
1.3.1命令格式10
1.3.2常用工具11
1.3.3常用命令15
1.3.4获取帮助17
1.4小结20
习题20
第2章C程序开发工具/22
2.1编辑工具22
2.1.1编辑工具介绍22
2.1.2vi和vim程序编辑器25
2.2gcc编译器34
2.3gdb调试器36
2.3.1启动和退出gdb37
2.3.2显示和查找程序源代码38
2.3.3执行程序和获取帮助39
2.3.4设置和管理断点40
2.3.5查看和设置变量的值45
2.3.6控制程序的执行46
2.4make和Makefile48〖1〗Linux环境高级程序设计目录[3]〖3〗2.4.1make命令48
2.4.2编写Makefile文件50
2.5小结54
习题55
第3章文件及目录管理/56
3.1文件和I/O操作分类56
3.1.1文件概念56
3.1.2文件操作分类56
3.2Linux文件系统概述58
3.2.1文件结构58
3.2.2文件系统模型59
3.2.3目录、索引结点和文件描述符60
3.2.4文件的分类63
3.2.5文件访问权限控制64
3.3文件的读写68
3.3.1文件打开、创建和关闭69
3.3.2文件的读写72
3.3.3文件读写指针的移动80
3.3.4标准I/O的文件流82
3.4文件属性及相关系统调用87
3.4.1获取文件属性87
3.4.2修改文件的访问权限91
3.4.3修改文件的用户属性93
3.4.4获取用户的信息94
3.4.5改变文件大小95
3.4.6获取文件的时间属性96
3.5目录操作97
3.5.1打开目录97
3.5.2读取目录项98
3.5.3关闭目录98
3.6实现自己的ls命令100
3.7小结105
习题106
第4章进程管理/107
4.1Linux可执行程序的存储结构与进程结构107
4.1.1Linux可执行程序的存储结构107
4.1.2Linux系统的进程结构109
4.1.3进程树110
4.2进程的环境和进程属性111
4.2.1进程的环境111
4.2.2进程的状态112
4.2.3进程的基本属性115
4.2.4进程的用户属性121
4.3进程管理124
4.3.1创建进程124
4.3.2在进程中运行新代码127
4.3.3vfork函数131
4.3.4进程退出133
4.3.5wait函数138
4.3.6Shell的实现流程142
4.4Linux中的特殊进程143
4.4.1孤儿进程143
4.4.2僵尸进程144
4.4.3守护进程145
4.4.4出错记录148
4.5小结150
习题150
第5章重定向与管道/151
5.1重定向和管道命令151
5.1.1重定向命令151
5.1.2管道命令152
5.2实现重定向153
5.2.1重定向的实施者153
5.2.2实现重定向的前提条件154
5.2.3dup和dup2154
5.2.4重定向的三种方法157
5.2.5ls l>list.txt159
5.3管道编程161
5.3.1匿名管道161
5.3.2命名管道165
5.3.3ls l|grep root168
5.3.4popen和pclose170
5.4小结173
习题174
第6章信号/175
6.1信号概述175
6.1.1什么是信号175
6.1.2信号的来源和处理过程177
6.1.3信号的处理方式177
6.2早期信号处理函数——signal178
6.2.1signal函数实现信号的三种处理方式178
6.2.2signal函数存在的问题182
6.3信号处理函数——sigaction183
6.3.1sigaction系统调用183
6.3.2sigaction函数参数的说明186
6.4信号其他相关函数190
6.4.1kill与raise190
6.4.2alarm与pause192
6.4.3实现sleep函数193
6.5小结194
习题195
第7章进程间通信/196
7.1选择进程间通信方式196
7.1.1文件实现进程间通信196
7.1.2命名管道实现进程间通信199
7.2共享内存201
7.2.1什么是共享内存201
7.2.2共享内存相关系统调用203
7.2.3共享内存实现进程间通信206
7.2.4三种通信方式的比较208
7.3信号量209
7.3.1信号量及相关系统调用209
7.3.2使用信号量控制对共享内存的访问214
7.3.3信号量机制总结221
7.4System V IPC222
7.4.1Linux中的进程通信机制222
7.4.2System V IPC概述223
7.4.3IPC的标识符和键224
7.5消息队列225
7.5.1消息队列的概念225
7.5.2消息队列相关系统调用226
7.5.3使用消息队列实现进程间通信229
7.6小结232
习题232
第8章线程/233
8.1线程概述233
8.1.1线程的定义233
8.1.2用户级线程和内核级线程234
8.1.3线程与进程的对比234
8.2线程基本操作235
8.2.1线程创建235
8.2.2线程退出/等待238
8.2.3线程终止244
8.2.4线程挂起247
8.2.5线程的分离249
8.2.6线程的一次性初始化251
8.2.7线程的私有数据253
8.3线程属性257
8.3.1线程属性对象258
8.3.2设置/获取线程detachstate属性260
8.3.3设置与获取线程栈相关属性261
8.4线程应用举例266
8.5小结273
习题273
第9章线程间的同步机制/275
9.1互斥锁275
9.1.1互斥锁基本原理275
9.1.2互斥锁基本操作275
9.1.3互斥锁应用实例278
9.2条件变量279
9.2.1条件变量基本原理279
9.2.2条件变量基本操作279
9.2.3条件变量应用实例281
9.3读写锁284
9.3.1读写锁基本原理284
9.3.2读写锁基本操作284
9.3.3读写锁应用实例287
9.4线程与信号289
9.4.1线程信号管理290
9.4.2线程信号应用实例291
9.5小结295
习题295
第10章网络程序设计/296
10.1网络知识基础296
10.1.1TCP/IP参考模型296
10.1.2Linux中TCP/IP网络的层结构296
10.1.3TCP协议297
10.1.4UDP协议298
10.2套接字299
10.2.1套接字概述299
10.2.2套接字编程接口300
10.2.3套接字通信流程303
10.3套接字基础307
10.3.1套接字地址结构307
10.3.2字节顺序309
10.3.3字节处理函数310
10.4套接字编程311
10.4.1基于TCP协议的网络通信311
10.4.2基于UDP协议的网络通信316
10.5小结319
习题319
附录实验/321
实验1Linux基础知识321
实验2C程序开发工具321
实验3文件I/O操作322
实验4进程管理及守护进程323
实验5重定向和管道编程323
实验6信号安装及处理方式324
实验7System V IPC进程通信325
实验8线程管理325
实验9线程间通信326
实验10套接字编程326
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价