《Linux应用开发》实验大纲 一、课程基本信息 课程代码:16238402 课程名称:Linux应用开发 英文名称:Linux application development 课程类别:专业课 时:32 学分:2 适用对象:计算机科学与技术 考核方式:考试 先修课程:《程序设计基础》、《数据结构》、 《操作系统》 二、实验教学的总体目的和要求 1、对学生的要求:有一定的动手能力和c、python语言编程的相关知识。 2、对教师的要求:熟练掌握1inux和python开发各项技术,以及专业实验室的实验 环境 3、对实验条件的要求 系统要求:winl064位,内存>=4G 软件:vmware centos?7 securecrt vscode 四、实验教学内容 实验一Li加ux基本命令的使用 1、实验目的 (1)学习和掌握Linux的基本命令和vi编辑器的使用 (2)增强学生对Linux的学习兴趣 (3).熟悉Linr下常用的操作指令
1 《Linux 应用开发》实验大纲 一、课程基本信息 课程代码:16238402 课程名称:Linux 应用开发 英文名称:Linux application development 课程类别:专业课 学 时:32 学 分:2 适用对象:计算机科学与技术 考核方式:考试 先修课程:《程序设计基础》、《数据结构》、《操作系统》 二、实验教学的总体目的和要求 1、对学生的要求:有一定的动手能力和 c、python 语言编程的相关知识。 2、对教师的要求:熟练掌握 linux 和 python 开发各项技术,以及专业实验室的实验 环境 3、对实验条件的要求 系统要求:win10 64 位,内存>=4G 软件:vmware centos7 securecrt vscode 四、实验教学内容 实验一 Linux 基本命令的使用 1、实验目的 (1)学习和掌握 Linux 的基本命令和 vi 编辑器的使用 (2)增强学生对 Linux 的学习兴趣 (3).熟悉 Linux 下常用的操作指令
(4)·加深对文件,目录,文件系统等概念的理解 2、实验内容 (1)linx的登录操作 (2)常用文件、目录基本命令的使用 (3)进程管理、用户管理命令的使用 (4).M编辑器的使用。 在介绍linux系统的发展历史,引入习总书记的讲话,没有网络安全就没有国家 安全,没有信息化就没有现代化。建设网络强国,要有自己的技术,要有过硬的技术: 要有良好的信息基础设施,形成雄厚的信息经济:要有高素质的网络安全和信息化人 才队伍。并介绍国产操作系统的开发进程和现状,鼓励同学们积极使用国产操作系统 和国产软件,将国产操作系统和应用生态做大做强。 实验二常用服务器软件安装与配置 1、实验目的 (1)·熟悉Linux下常用的文件目录操作指令。 (2),熟悉vi编辑器、yum包管理软件的使用。 (3),掌握Linux常用服务器软件的安装和配置。 (5).了解Iinx环境变量配置 2、实验内容 (1)JDK1.8的安装 (2)tomeat服务器的安装 (3)myql服务器的安装 (4)将数据库和tomcat服务器设为开机自启动。 实验三文件VO (2)·加深对文件0的理解。 (3).掌据有关Liux文件系统操作的常用命令。 2、实验内容 (1)tal-n程序的原理及实现
2 (4).加深对文件,目录,文件系统等概念的理解。 2、实验内容 (1)linux 的登录操作 (2)常用文件、目录基本命令的使用 (3)进程管理、用户管理命令的使用 (4).Vi 编辑器的使用。 在介绍 linux 系统的发展历史,引入习总书记的讲话,没有网络安全就没有国家 安全,没有信息化就没有现代化。建设网络强国,要有自己的技术,要有过硬的技术; 要有良好的信息基础设施,形成雄厚的信息经济;要有高素质的网络安全和信息化人 才队伍。并介绍国产操作系统的开发进程和现状,鼓励同学们积极使用国产操作系统 和国产软件,将国产操作系统和应用生态做大做强。 实验二 常用服务器软件安装与配置 1、实验目的 (1).熟悉 Linux 下常用的文件目录操作指令。 (2).熟悉 vi 编辑器、yum 包管理软件的使用。 (3).掌握 Linux 常用服务器软件的安装和配置。 (5).了解 linux 环境变量配置。 2、实验内容 (1)JDK1.8 的安装 (2)tomcat 服务器的安装 (3)mysql 服务器的安装 (4)将数据库和 tomcat 服务器设为开机自启动。 实验三 文件 I/O 1、实验目的 (1).熟悉 Linux 下常用的文件和目录 API 函数。 (2).加深对文件 I/O 的理解。 (3).掌握有关 Linux 文件系统操作的常用命令。 2、实验内容 (1)tail -n 程序的原理及实现
(2)通过递归实现文件查找程序 (3)getopt和fnmatch包的使用 实验四进程控制 1、实验目的 (I)·熟悉进程控制相关API函数。 (2).掌握multiprocessing库的使用。 (3)·了解僵死进程和守护进程的概念 2、实验内容 (1)僵死程序的设计 (2)开发一个简单的守护进程 (3)开发一个简单的模拟shl命令程序 (4)用multiprocessing库实现创建两个进程,并在子进程都执行结束后退出 实验五进程间通信 1、实验目的 (1),熟悉进程间通信的手段:管道、消息队列、共享内存。 (2)·掌握进程同步的手段:信号量、锁。 (2)用信号量实现两个程序交替执行,在屏幕交替打印A、B (3)用共享内存实现多生产者、多消费者模型 在介绍现代操作系统对高并发访问的应当方法时,介绍阿里的飞天操作系统,该 系统可将遍布全球的百万级服务器连成一台超级计算机,单集群可达1万台规模,10 万个进程达毫秒级响应,十亿级文件数,B级别存储空间,填补了中国大规模操作 系统历史上的空白,打破了欧美长达40多年的技术垄断。告诉学生自主研发才是中 国崛起的中坚力量!如果中兴不依赖他人,就没有今日的“狼狈”,一条禁令出来, 直接让科技巨头进入“休克”状态,可见独立自主的重要性! 实验六线程及线程同步 1、实验目的 (I)·熟悉线程相关API和Threading库的使用。 (2),掌握线程同步的手段:信号量、锁和Event
3 (2)通过递归实现文件查找程序 (3)getopt 和 fnmatch 包的使用 实验四 进程控制 1、实验目的 (1).熟悉进程控制相关 API 函数。 (2).掌握 multiprocessing 库的使用。 (3).了解僵死进程和守护进程的概念。 2、实验内容 (1)僵死程序的设计 (2)开发一个简单的守护进程 (3)开发一个简单的模拟 shell 命令程序 (4)用 multiprocessing 库实现创建两个进程,并在子进程都执行结束后退出 实验五 进程间通信 1、实验目的 (1).熟悉进程间通信的手段:管道、消息队列、共享内存。 (2).掌握进程同步的手段:信号量、锁。 2、实验内容 (1)用管道实现两个进程之间通过管道进行通信 (2)用信号量实现两个程序交替执行,在屏幕交替打印 A、B (3)用共享内存实现多生产者、多消费者模型 在介绍现代操作系统对高并发访问的应当方法时,介绍阿里的飞天操作系统,该 系统可将遍布全球的百万级服务器连成一台超级计算机,单集群可达 1 万台规模,10 万个进程达毫秒级响应,十亿级文件数,EB 级别存储空间,填补了中国大规模操作 系统历史上的空白,打破了欧美长达 40 多年的技术垄断。告诉学生自主研发才是中 国崛起的中坚力量!如果中兴不依赖他人,就没有今日的“狼狈”,一条禁令出来, 直接让科技巨头进入“休克”状态,可见独立自主的重要性! 实验六 线程及线程同步 1、实验目的 (1).熟悉线程相关 API 和 Threading 库的使用。 (2).掌握线程同步的手段:信号量、锁和 Event
2、实验内容 (I)用EVENT实现一个模拟的红绿灯程序 (2)用消总队列实现一个线程池 实验七网络程序设计 1、实验目的 (1).理解Socket概念: (2),理解并掌握Socket模型下获得本机IP信息的方法: (3),理解并发服务器模型,掌握通用套接字开发技术: (4).掌握Linux平台数据结构的传送方法 2、实验内容 (1)·编写获得本机P信息的程序: (2),编写基于并发TCP、UDP服务器和客户端的网络通信原型系统: (3)·用Poll和Epo实现多路复用程序 (4)基于fok的多路并发TCP服务器程序 (5)基于线程的并发服务器设计 学生通过学习网络编程相关的技术,可以做到攻入他人计算机,从而窃取计算机 中资源,或控制该台计算机。因此,对学生的正确引导非常重要。在网络安全领域中, 有“白帽”和“黑客”之分,前者是拥有网络安全技术,从事的是合法的操作,如在 相关企业的授权下,对企业的安防进行渗透测试,提高企业网络的安全防护,这是正 当的用途。而后者是运用学习的技术,在别人未授权情况下,进入他人计算机,窃取 有价值的信息或夺取该计算机的控制权限,从而给他人带来一定的经济损失。因此, 选择做“白帽”还是“黑客”,需要引导,需要从思想意识形态上去规范。在学习阶 段就告诉学生,在网络虚拟环境下,也有国家的法律法规存在,不要认为所学习的技 术可以让我们隐身,可以肆无忌惮地做违法的事情,给国家、社会带来危害。 实验八综合设计 1、实验目的 (1).初步掌握qt designer设计的使用: (2)·理解并掌握UDP服务器客户端的开发: (3).掌握qt的QMainWindow、QLineEdit、.QPushButton等控件的使用:
4 2、实验内容 (1)用 EVENT 实现一个模拟的红绿灯程序 (2)用消息队列实现一个线程池 实验七网络程序设计 1、实验目的 (1).理解 Socket 概念; (2).理解并掌握 Socket 模型下获得本机 IP 信息的方法; (3).理解并发服务器模型,掌握通用套接字开发技术; (4).掌握 Linux 平台数据结构的传送方法。 2、实验内容 (1).编写获得本机 IP 信息的程序; (2).编写基于并发 TCP、UDP 服务器和客户端的网络通信原型系统; (3).用 Poll 和 Epoll 实现多路复用程序 (4)基于 fork 的多路并发 TCP 服务器程序 (5)基于线程的并发服务器设计 学生通过学习网络编程相关的技术,可以做到攻入他人计算机,从而窃取计算机 中资源,或控制该台计算机。因此,对学生的正确引导非常重要。在网络安全领域中, 有“白帽”和“黑客”之分,前者是拥有网络安全技术,从事的是合法的操作,如在 相关企业的授权下,对企业的安防进行渗透测试,提高企业网络的安全防护,这是正 当的用途。而后者是运用学习的技术,在别人未授权情况下,进入他人计算机,窃取 有价值的信息或夺取该计算机的控制权限,从而给他人带来一定的经济损失。因此, 选择做“白帽”还是“黑客”,需要引导,需要从思想意识形态上去规范。在学习阶 段就告诉学生,在网络虚拟环境下,也有国家的法律法规存在,不要认为所学习的技 术可以让我们隐身,可以肆无忌惮地做违法的事情,给国家、社会带来危害。 实验八 综合设计 1、实验目的 (1).初步掌握 qt designer 设计的使用; (2).理解并掌握 UDP 服务器客户端的开发; (3).掌握 qt 的 QMainWindow、QLineEdit、QPushButton 等控件的使用;
(4)。掌握如何设计网络协议。 2、实验内容 (1)·编写聊天室服务器端程序: (2),编写聊天室客户端程序: 四、考核方式与标准 由指导教师根据学生完成任务的情况、课程设计说明书的质量和课程设计过程中 的工作态度等综合打分。课程设计结束时,要求学生写出课程设计报告,可运行的软 件系统(包括源程序)。成绩评定实行优、良、中、及格和不及格五个等级。即:优 秀一90~100分:良好一80~89分:中等一70~79分;及格一60~69分:不及格-60 分以下。优秀者人数一般不得超过总人数的20%。不及格者不能得到相应的学分,需 重新做课程设计。 具体的评分细节如下: 1.平时表现(10%) 课程设计期间表现良好,无违纪:(10分) 2。课程设计过程中表现的动手与创新能力,程序设计的实用性、扩充性和通用 性(50%) (1)课程设计方案先进,设计符合规范要求,创新部分合理,说明书叙述透彻, 图面整洁、明确:(46分~50分) (2)完成了规定的功能但创新不明显,只限于界面布局的调整,但程序编写规 范、清晰,有一定的通用性:(36分一45分)。 (3)完成了规定的功能但没有任何创新,程序编写的基本符合规范、较清晰: (30分~35分) (4)基本上完成了规定的功能,但存在一些小的Bug:(21分~29分) (5)只完成一部分规定的功能且系统存在严重的缺陷:(10分~20分) 3.结论与问题讨论:系统在开发过程中出现的问题进行详细说明、讨论及总结, (30%) (1)结论与问题讨论完整,表达清晰:(28分~30分) (2)结论与问题讨论较完整,表达较清晰,存在少许错误:(20分~27分) (3)结论与问题讨论较完整,表达基本清晰,存在一些错误:(11分一19分) (4)结论与问题讨论不完整,表达不清晰:(5分一10分) 5
5 (4).掌握如何设计网络协议。 2、实验内容 (1).编写聊天室服务器端程序; (2).编写聊天室客户端程序; 四、考核方式与标准 由指导教师根据学生完成任务的情况、课程设计说明书的质量和课程设计过程中 的工作态度等综合打分。课程设计结束时,要求学生写出课程设计报告,可运行的软 件系统(包括源程序)。成绩评定实行优、良、中、及格和不及格五个等级。即:优 秀—90~100分;良好—80~89分;中等—70~79分;及格—60~69分;不及格-60 分以下。优秀者人数一般不得超过总人数的20%。不及格者不能得到相应的学分,需 重新做课程设计。 具体的评分细节如下: 1. 平时表现(10%) 课程设计期间表现良好,无违纪;(10分) 2. 课程设计过程中表现的动手与创新能力,程序设计的实用性、扩充性和通用 性(50%) (1)课程设计方案先进,设计符合规范要求,创新部分合理,说明书叙述透彻, 图面整洁、明确;(46分~50分) (2)完成了规定的功能但创新不明显,只限于界面布局的调整,但程序编写规 范、清晰,有一定的通用性;(36分~45分)。 (3)完成了规定的功能但没有任何创新,程序编写的基本符合规范、较清晰; (30分~35分) (4)基本上完成了规定的功能,但存在一些小的Bug;(21分~29分) (5)只完成一部分规定的功能且系统存在严重的缺陷;(10分~20分) 3. 结论与问题讨论:系统在开发过程中出现的问题进行详细说明、讨论及总结。 (30%) (1)结论与问题讨论完整,表达清晰;(28分~30分) (2)结论与问题讨论较完整,表达较清晰,存在少许错误;(20分~27分) (3)结论与问题讨论较完整,表达基本清晰,存在一些错误;(11分~19分) (4)结论与问题讨论不完整,表达不清晰;(5分~10分)
4.结束语:通过此次课程设计,你有何感想,学到了什么?(10%) 五、推荐实验教材和教学参考书 课程教材: 《Liux编程基础》,李养群,王攀,周梅(编著),人民邮电出版社。 参考书: 《UNIX环境高级编程》,界.Richard Stevens著,尤晋元等译,机械工业出版社。 《NIX进程间通信》,John Shapley Gray著,张宁等译,电子工业出版社。 六、其他说明 教学方法采用理论教学配合实验教学的方式。 考核要求如下: 平时成绩30%(出勤、作业、小实验,要求学生必须为整个软件项目的实现过程 提供实验报告,并参加项目答辩)。 理论课程期终考试(闭卷)70%。 大纲修订人:谢蝶 修订日期:2020年12月 大纲审定人:许波 审定日期:2022年1月
6 4. 结束语:通过此次课程设计,你有何感想,学到了什么?(10%) 五、推荐实验教材和教学参考书 课程教材: 《Linux 编程基础》,李养群 , 王攀 , 周梅(编著),人民邮电出版社。 参考书: 《UNIX 环境高级编程》,W. Richard Stevens 著,尤晋元等译,机械工业出版社。 《UNIX 进程间通信》,John Shapley Gray 著,张宁等译,电子工业出版社。 六、其他说明 教学方法采用理论教学配合实验教学的方式。 考核要求如下: 平时成绩 30% (出勤、作业、小实验,要求学生必须为整个软件项目的实现过程 提供实验报告,并参加项目答辩)。 理论课程期终考试(闭卷)70%。 大纲修订人:谢嵘 修订日期:2020 年 12 月 大纲审定人:许波 审定日期:2022 年 1 月