本课程采用理论与实践相结合的方式,选取具有代表性并且有着广泛实际应用的操作系统——Linux作为基础,对Linux下应用程序的设计思想、开发特点、开发手段进行介绍,锻炼学生在Linux下设计和开发原生应用程序的实践能力。本课程对Linux下应用程序的设计思想、开发特点、开发手段进行介绍,并重点讲述文件I/O、目录操作、进程控制、线程控制、多任务同步与通信等POSIX API的使用方法和编程技巧。本课程是《C语言程序设计》与《操作系统基础》课程的后行课程,是对这两门课程的相关知识的应用、延续和深化。
CO1:掌握Linux操作系统编程基础知识
Understand some basic knowledge of C programming on Linux system
CO2:掌握文件I/O操作以及目录与文件属性的操作
Understand how to access file and directory on Linux system
CO3:掌握常用的Linux进程控制操作与线程控制操作
Understand how to manipulate process and thread on Linux system
CO4:掌握常用的Linux线程同步机制与进程间通信机制
Understand the mechanism of thread synchronization and inter process communication
CO5:掌握在Linux应用开发环境中模拟操作系统经典同步互斥问题的方法
Understand how to simulate some classic theory about synchronization and inter process communication through application programming on Linux system
课程介绍
Linux操作系统编程-课程介绍
第一章 操作系统基本知识
1.1 从UNIX 到Linux的发展历程
1.2 UNIX/Linux体系结构
1.3 系统调用和库函数
1.4 常用Linux命令-文件目录类命令
1.5 常用Linux命令-进程控制类命令
1.6 常用Linux命令-用户及权限管理类命令
1.7 Linux程序编译调试方法
第二章 文件与目录操作
2.1 linux文件系统概述1
2.2 Linux文件系统概述2
2.3 linux的文件IO操作1
2.4 linux的文件IO操作2
2.5 Linux标准IO库
2.6 Linux文件定位
2.7 Linux文件共享1
2.8 Linux文件共享2
2.9 Linux目录操作1
2.10 Linux目录操作2
2.11 Linux文件属性管理1
2.12 Linux文件属性管理2
2.13 Linux文件权限管理1
2.14 Linux文件权限管理2
第三章 进程与线程
3.1 进程在内核中的组织
3.2 进程属性1
3.3 进程属性2
3.4 进程生命周期1
3.5 进程生命周期2
3.6 进程生命周期3
3.7 进程环境
3.8 创建进程
3.9 获知子进程运行状态改变
3.10 在进程中运行可执行文件
3.11 Linux线程控制1
3.12 Linux线程控制2
第四章 线程同步和进程间通信
4.1 Linux线程同步机制-互斥量
4.2 Linux线程同步机制-条件变量
4.3 Linux线程同步机制-读写锁
4.4 Linux进程间通信机制概述
4.5 Linux进程间通信机制-消息队列
4.6 Linux进程间通信机制-信号量集1
4.7 Linux进程间通信机制-信号量集2
4.8 Linux进程间通信机制-共享内存
第五章 实验
实验1 开发环境实验
实验2 文件IO实验
实验3 文件与目录操作实验
实验4 进程控制实验
实验5 线程控制实验
实验6 线程同步实验
实验7 综合实验1
实验7 综合实验2
综合单元测试
C语言程序设计知识;操作系统基础知识
通过单元测验和期末考试,总成绩合格可以获得证书。为了保障证书权威性,平台不再支持免费电子证书,只提供认证证书,请同学们注意!
(一)教材:
《UNIX环境高级编程》第二版,[美]史蒂文斯,拉戈等,人民邮电出版社,2006年5月。
(二)参考资料:
1. 深入理解 Linux 内核. [美] 博韦等著,中国电力出版社,2007.9
2. 嵌入式Linux应用开发完全手册. 韦东山著,人民邮电出版社,2008.8
(三)推荐网站:
1. https://oss.org.cn/ossdocs/gnu/linux/index.htm
2. https://www.ibm.com/developerworks/cn/linux/newto/