课程编码:043248
课程类别: 专业课(必修),
先修课程:程序设计基础
适用专业:计算机科学与技术,
开课院部:计算机与网络安全学院
课程负责人:
本课程定位为《操作系统原理》的实验环节,在学习了解Linux系统基本概念和Linux基本操作基础上,讲授Linux常用函数库、UNIX系统I/O、Linux多进程并发、Linux信号机制、进程间通信、进程同步与互斥、多线程并发的基本概念和编程技术,建立计算机系统观,学会在Linux平台上编写应用程序,培养学生的分析问题和解决问题的实际能力,为后续学习《操作系统原理》、《嵌入式Linux》等课程打下良好的基础。
课程教学目标
1.理解逻辑流、进程、线程基本概念及其并发的基本特征
2.综合课程知识,将实际问题映射到合适的模型,设计多进程/多线程并发与同步算法
3.运用Linux API函数编写多进程/多线程并发系统程序,测试和评价算法程序性能优劣
理论教学进程表
周次
教学主题
教学时长
教学的重点与难点
教学方式
作业安排
1
Linux操作系统基本知识和文件操作
2
重点:Linux系统目录结构;Linux系统文件与目录操作
难点:Linux文件权限;文件索引节点
课堂讲授
操作练习
Linux C编程环境
重点:Linux C程序编译和执行过程;字符串处理函数使用;Linux编程错误诊断和处理、命令行参数
难度:系统调用失败处理;自定义库函数的创建与链接
课后编程作业
3、4
系统级I/O
4
重点:打开文件内核数据结构及应用;文件读写编程方法;打开函数open使用
难点:标准输入/输出;dup和I/O重定向、文件共享原理
5、6、7
Linux进程控制
6
重点:进程、逻辑控制流、并发概念;进程结构;调用fork创建进程,调用exec函数加载程序;Linux信号机制及应用
难点:进程并发特征;大量子进程回收方法;信号处理带来的竞争与消除方法
8、9、10、11
线程管理与同步
重点:线程概念;多线程编程基本方法;共享变量分析与识别;临界区、临界资源与信号量;线程同步与互斥;经典同步问题;使用多线程提高并发性;用于Pthreads同步量和互斥量编写同步程序
难点:信号量模型与P、V操作;线程同步与互斥编程;线程安全;竞争
12、13、14
Linux进程间通信
重点:管道、消息队列、共享内存概念和通信编程方法
难点:利用IPC信号量实现进程间同步
合计:
实践教学进程表
实验项目名称
学时
重点与难点
项目类型(验证/综合/设计)
教学
方式
Linux文件操作
重点、难点:Linux文件权限
验证
操作演示
Linux C库函数使用
重点:字符串处理编程
难点:编译错误处理、算法流程设计
课后讲解
小组讨论
Linux I/O实验
重点:将任意类型数据读出、写入文件的编程;文本数据的输入/输出与处理编程
难点:采用文本型数据还是结构体类型的选择
讲授
Linux进程控制实验室
3
重点:多进程并发编程;信号处理
难点:子进程回收编程与验证
设计
8、9、10、11、12
Linux多线程编程实验
5
重点:编写多线程程序;线程同于互斥编程实现;
难点:多线程应用程序性能测量、使用多线程技术解决实际应用问题
综合
13、14
重点:利用管道、消息队列、共享内存编写进程间通信程序
难点:利用IPC信号量编写同步程序;编写大型客户/服务器通信程序
成绩评定方法及标准
考核内容
评价标准
权重
期末考试
试卷参考答案
0.5
作业
态度、及时性、工整性、规范性、正确性
0.1
课堂测验与期中考试
参考答案
0.15
实验
态度、及时性、正确性、报告规范性
0.2
考勤
缺课1学时扣1分,迟到、早退2次计缺课1学时
0.05
课前预习,坚持上课,认真听讲,做不做笔记根据个人情况,积极参与教学互动,主动与老师探讨问题;课后认真复习,独立完成作业,至少每章要独立完成一个作业,这一点非常重要!一定要培养出独立思考的能力。勤于动脑,适量动笔,形成完整的方案后再开机检验而不是一上来就依靠计算机来验证(都没想好,验证什么?),培养自己的分析问题与解决问题的能力;必须参加实验课,亲自动手独立完成规定的实验内容,并提交合格的实验报告。
本站 所有信息归:东莞理工学院 版权所有
技术支持: 北京文华在线教育科技股份有限公司 建议在IE8以上浏览器1024*768分辨率下浏览本站