著名的开源软件——Linux操作系统,由于其出色的稳定性、安全性和高性能,逐渐成为各大厂商服务器的首选,学习Linux环境下的系统编程有助于学习者继续向嵌入式系统开发、Linux企业级服务器设计等方向发展。
本课程以Linux系统命令设计与实现为主线,引入大量的系统调用和库函数,引导学习者通过查阅在线手册,分析解决问题。以编写命令程序为驱动,促使学习者了解Linux操作系统的结构,培养其系统程序编写能力,逐步具备Linux应用程序的编写能力,帮助学习者掌握Linux平台下软件的设计开发方法。
第一章 Linux基础知识
1.1 Linux操作系统概述
1.2 本课程学习方法
单元作业1
单元测试1
第二章 文件及目录管理
2.1 文件I/O操作
2.2 Linux文件系统的常用接口——上
2.3 Linux文件系统的常用接口——下
2.4 Linux的文件系统概述
单元测试2
单元作业2
第三章 进程管理
3.1 进程概述
3.2 创建进程
3.3 执行进程
3.4 进程退出和等待
3.5 进程属性、守护进程
单元测试3
单元作业3
第四章 管道与重定向
4.1 重定向和管道命令
4.2 实现重定向(1)
4.3 实现重定向(2)
4.4 匿名管道
4.5 命名管道
单元测试4
单元作业4
第五章 信号
5.1 信号概述
5.2 早期信号处理函数
5.3 信号处理函数sigaction
5.4 其他信号处理函数
单元测试5
单元作业5
第六章 SYSTEM V IPC
6.1 共享内存
6.2 不同通信方式的比较
6.3 创建、操作信号量集合
6.4 信号量协调进程同步
6.5 SYSTEM V IPC
6.6 消息队列
单元测试6
单元作业6
第七章 线程管理
7.1 线程概述
7.2 线程基本操作(1)
7.3 线程基本操作(2)
7.4 线程属性
单元测试7
单元作业7
第八章 线程间的同步机制
8.1 互斥锁
8.2 条件变量
8.3 读写锁
8.4 信号
单元作业8
单元测试8
第九章 网络编程
9.1 网络编程原理
9.2 套接字
单元测试9
单元作业9
掌握C程序设计语言
对操作系统有一定了解
[1] 黄茹 王小银 张丽丽.Linux环境高级程序设计.北京:清华大学出版社.2019.1.
[2] W.Richard Stevens. UNIX环境高级编程(第3版). 北京:人民邮电出版社.2019.10.
[3]K.C.王.Unix/Linux系统编程.北京:机械工业出版社.2020.6