linux基础实验报告含代码

linux基础实验报告含代码

ID:38909578

大小:429.05 KB

页数:19页

时间:2019-06-21

linux基础实验报告含代码_第1页
linux基础实验报告含代码_第2页
linux基础实验报告含代码_第3页
linux基础实验报告含代码_第4页
linux基础实验报告含代码_第5页
资源描述:

《linux基础实验报告含代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Linux基础实验目录实验一3实验二4实验三6实验四9实验五11实验六14实验七16实验一螺旋矩阵一、实验目的1.熟悉linux下c程序编写。2.掌握Makefile编写方法。二、实验环境和工具RedHatLinux三、实验流程1.编写螺旋矩阵程序2.编写Makefile文件四、实验结果五、实验心得通过这次实验,我熟悉了linux下c语言程序的编写,掌握了vi的一些常用操作,学会了使用gcc命令和makefile文件两种方法编译程序。同时也使我熟悉了linux里常用命令的使用,还有,学会了挂载U盘的方

2、法,可以很方便的往linux里传送文件。六、关键代码Makefile文件CC=gccEXEC=juzhenOBJS=juzhen.oall:$(EXEC)$(EXEC):$(OBJS)$(CC)-o$@$(OBJS)clean:-rm-f$(EXEC)$(OBJS)实验二添加、删除用户一、实验目的1.设计一个shell程序,分组批量添加用户。2.再设计一个批量删除用户的shell程序。二、实验环境和工具RedHatLinux三、实验流程1.编写shell程序2.修改文件权限chmod+xadduser

3、s3.运行脚本四、实验结果添加用户:删除用户:一、实验心得通过本次实验,我了解了shell脚本编程的方法和其语法规则。掌握了使用shell脚本程序添加、删除用户的方法。需要注意的是:shell脚本直接用vi编写,要特别注意空格。二、关键代码添加用户:删除用户:实验三驱动螺旋矩阵一、实验目的1.掌握驱动模块的建立、插入和删除。2.利用驱动模块实现测试程序输入矩阵的行和列,驱动程序生成相应的字母螺旋矩阵。二、实验环境和工具RedHatLinux三、实验流程1.编写驱动程序。2.编写测试程序。3.编写Mak

4、efile文件。4.编译程序,插入驱动模块,运行驱动程序,观察运行结果,删除驱动模块,再次运行测试程序,观察运行结果。四、实验结果1.插入驱动模块后测试程序运行结果:2.删除驱动模块后测试程序运行结果:一、实验心得通过这次实验,我对linux下驱动程序的工作原理有了一定的了解,认识了内核态和用户态的区别。Linux以文件的形式定义系统的驱动程序,驱动程序不仅仅是内核的一部分,也是连接用户态和内核态之间的桥梁。我学会了简单的驱动程序的开发和测试方法。本次实验我遇到的难点有以下几点:1.实验要求输出一个字

5、母螺旋矩阵,测试程序应当定义一位数组还是二维数组。解决方法:使用一维数组,编程简单,在输出是将一维数组以二维形式输出即可。2.驱动程序中如何实现螺旋矩阵。解决方法:在驱动程序中另写一个螺旋矩阵函数,在ssize_t_evan_write函数里调用。二、关键代码1.驱动程序:staticchardrv_buf[1024];staticssize_tevan_write(structfile*filp,char*buffer,size_tcount){introw;intcol;copy_from_use

6、r(drv_buf,buffer,count);row=(int)(drv_buf[0]);col=(int)(drv_buf[1]);printk("userwritedatatodrivers!");solve(row,col);}3.测试程序:intmain(){……printf("pleaseinputtwointeger:");scanf("%d%d",&row,&col);buf[0]=(char)(row);buf[1]=(char)(col);write(fd,buf,2);p

7、rintf("Read%dbytesdatafrom/dev/evan",row*col);read(fd,buf,row*col);showbuf(buf,row,col);ioctl(fd,1,NULL);close(fd);return0;}voidshowbuf(char*buf,introw,intcol){inti;for(i=0;i

8、");}实验四哲学家进餐问题一、实验目的1.理解linux多线程机制。2.使用多线程机制编程实现哲学家进餐模型,诠释死锁和避免死锁的办法。二、实验环境和工具RedHatLinux三、实验流程1.明确哲学家进餐问题。2.编程实现。3.编写Makefile文件。4.运行调试。四、实验结果五、实验心得通过本次实验,我了解了Linux下多线程机制,线程是系统能够独立调度和分配的最基本单位,可以理解为是进程基础上的进一步细化。一个程序中同时运行多个线程来完成不

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。