1、Linux程序设计实验指导书Linux程序设计实 验 指 导 书前 言根据教学大纲与实验大纲的安排,本课程计划进行8课时上机试验。由于所有实验均涉及操作系统、程序设计等课程的多个知识点,希望各位同学认真准备。 上机实验前应充分做好以下准备工作:1. 复习和掌握与本次实验有关的教学内容。2. 根据本次实验的内容,在纸上编写好准备上机调试的程序,并初步检查无误。3. 准备好对程序进行测试的数据。4. 对每种测试数据,给出预期的程序运行结果。5. 预习实验步骤,对实验步骤中提出的一些问题进行思考。 上机实验后,应及时写出实验报告,实验报告应包括以下内容:1. 实验目的和内容。2. 程序说明,包括程序
2、结构、各模块的算法。3. 调试正确的源程序。4. 程序运行记录(包括对不同测试数据的运行结果)。5. 针对实验中出现的问题,写出解决办法及对运行结果的分析。本指导书适用于物联网工程专业学生学习“Linux程序设计”课程时实验使用。实验一:熟悉Linux实验学时:2实验类型:(验证)实验要求:(必修)一、实验目的Linux操作系统是多任务操作系统,对进程与线程提供完整支持。本次实验意图通过实践掌握进程的基本概念,理解进程控制、进程同步、经典进程的同步问题 、管程机制、进程通信、线程;初步熟悉多进程/多线程编程的特点。Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和U
3、NIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。本次实验意图通过实践了解Linux环境中常见的终端命令;熟悉文本编辑器leafpad的使用。二、实验内容本次实验的实验内容包括:1)熟悉man、cd、mkdir、rmdir、chmod、chown、ps、cat、ls命令;2) 练习使用文本编辑器leafpad。三、实验组织运行要求根据本实验的特点、要求和具体条件,宜采用“以学生自主训练为主的开放模式组织教学”。相关材料可以以书面
4、资料(或电子版本)的形式分发给学生。学生自主练习、提问;教师针对性的辅导。四、实验条件- 硬件环境:曙光服务器学生自带笔记本;- 操作系统:Fedora 24(服务器);- 编程环境:编辑器leafpad编译器gcc五、实验步骤具体实验步骤如下:1. 首先练习使用man命令;2. 练习cd、mkdir、rmdir、chmod、chown、ps、cat、ls命令,并使用man命令获取相关命令的帮助;3. 练习使用leafpad编辑文本文件;六、思考题1. 什么是文件?什么事目录?什么是路径? 2. Linux系统文件权限是怎么规定的?3. 如何查看一个文件的i节点信息?4. 如何查看一个进程的信
5、息?5. 如何查看系统的CPU、内存配置信息?七、实验报告学生在实验结束后必须完成实验报告。实验报告必须包括实验预习、实验记录、思考题三部分内容。实验记录应该忠实的描述操作过程,并提供操作步骤以及调试程序的源代码。对思考题应该能够初步认识。具体实验报告的书写按照实验报告纸的要求逐项完成。八、其它说明要求学生在实验过程中遵循如下的要求:1. 准时到达实验室,严格签名方式的考勤制度。不允许代签;2. 遵循实验室的各种管理规定;3. 服从教师和实验员的管理;实验二:文件操作(系统调用)实验学时:2实验类型:(设计)实验要求:(必修)一、实验目的本实验要求使用c语言编程,采用系统调用方式对文件进行打开
6、、关闭、读、写操作,以其加深了解通过系统调用操作文件的方法与典型流程。二、实验内容1) 使用cat命令和重定向操作将/proc/cpuinfo和/proc/meminfo两个文件的内容合并到1个名称为test1.txt的中;2)编程实现将test1.txt的内容重复4096遍写入到文件test2.txt中;3) 编程实现将test2.txt复制到test3.txt文件的操作; 要求所有编程使用的文件操作均使用系统调用的方式。三、实验组织运行要求根据本实验的特点、要求和具体条件,宜采用“以学生自主训练为主的开放模式组织教学”。相关材料可以以书面资料(或电子版本)的形式分发给学生。学生自主练习、提
7、问;教师针对性的辅导。四、实验条件- 硬件环境:曙光服务器学生自带笔记本;- 操作系统:Fedora 24(服务器);- 编程环境:编辑器leafpad编译器gcc五、思考题1. 采用系统调用方式进行文件的打开与关闭操作时,操作系统会执行哪些动作?2. 如何采用系统调用的方式删除一个文件?3. 如在程序中需要使用系统调用,需要在编程时包括哪些头文件?六、实验报告学生在实验结束后必须完成实验报告。实验报告必须包括实验预习、实验记录、思考题三部分内容。实验记录应该忠实的描述操作过程,并提供操作步骤以及调试程序的源代码。对思考题应该能够初步认识。具体实验报告的书写按照实验报告纸的要求逐项完成。七、其
8、它说明要求学生在实验过程中遵循如下的要求:1. 准时到达实验室,严格签名方式的考勤制度。不允许代签;2. 遵循实验室的各种管理规定;3. 服从教师和实验员的管理;实验三:文件操作(库函数)实验学时:2实验类型:(设计)实验要求:(必修)一、实验目的本实验要求使用c语言编程,采用库函数方式对文件进行打开、关闭、读、写操作,以其加深了解通过库函数操作文件的方法与典型流程。二、实验内容1) 使用cat命令和重定向操作将/proc/cpuinfo和/proc/meminfo两个文件的内容合并到1个名称为test1.txt的中;2)编程实现将test1.txt的内容重复4096遍写入到文件test2.t
9、xt中;3) 编程实现将test2.txt复制到test3.txt文件的操作; 要求所有编程使用的文件操作均使用库函数的方式。三、实验组织运行要求根据本实验的特点、要求和具体条件,宜采用“以学生自主训练为主的开放模式组织教学”。相关材料可以以书面资料(或电子版本)的形式分发给学生。学生自主练习、提问;教师针对性的辅导。四、实验条件- 硬件环境:曙光服务器学生自带笔记本;- 操作系统:Fedora 24(服务器);- 编程环境:编辑器leafpad编译器gcc五、思考题1. 通过对比实验二中实现复制程序与本次实验实现的复制程序的运行时间,阐述采用库函数方式对文件进行操作与采用系统调用方式进行文件
10、操作的差异性。2. 如何采用库函数的方式删除一个文件?3. 如在程序中需要使用库函数,需要在编程时包括哪些头文件?六、实验报告学生在实验结束后必须完成实验报告。实验报告必须包括实验预习、实验记录、思考题三部分内容。实验记录应该忠实的描述操作过程,并提供操作步骤以及调试程序的源代码。对思考题应该能够初步认识。具体实验报告的书写按照实验报告纸的要求逐项完成。七、其它说明要求学生在实验过程中遵循如下的要求:1. 准时到达实验室,严格签名方式的考勤制度。不允许代签;2. 遵循实验室的各种管理规定;3. 服从教师和实验员的管理;实验四:套接字编程实验学时:2实验类型:(综合)实验要求:(必修)一、实验目
11、的本次实验旨在通过实践了解TCP套接字编程的基本原理和流程,重点加深对基于TCP套接字的服务器端和客户端程序架构的了解。二、实验内容1) 编制基于TCP套接字的服务器端程序。服务器端程序的功能是将客户端通过TCP套接字传递过的某个ASCII编码字符的ACSII码加2后返还给客户端;2) 编制基于TCP套接字的客户端程序。客户端程序的功能是将从键盘接收的一个字符发送给服务端后从服务端接收返回值回显到显示器后退出。三、实验组织运行要求根据本实验的特点、要求和具体条件,宜采用“以学生自主训练为主的开放模式组织教学”。相关材料可以以书面资料(或电子版本)的形式分发给学生。学生自主练习、提问;教师针对性
12、的辅导。四、实验条件- 硬件环境:曙光服务器学生自带笔记本;- 操作系统:Fedora 24(服务器);- 编程环境:编辑器leafpad编译器gcc五、思考题1. 套接字通信编程中,accept函数和connect函数的功能是是什么?2. 如何理解套接字通信编程中,listent函数的backlog参数的作用?六、实验报告学生在实验结束后必须完成实验报告。实验报告必须包括实验预习、实验记录、思考题三部分内容。实验记录应该忠实的描述操作过程,并提供操作步骤以及调试程序的源代码。对思考题应该能够初步认识。具体实验报告的书写按照实验报告纸的要求逐项完成。七、其它说明要求学生在实验过程中遵循如下的要求:1. 准时到达实验室,严格签名方式的考勤制度。不允许代签;2. 遵循实验室的各种管理规定;3. 服从教师和实验员的管理;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1