《linux操作系统》实验报告模板

《linux操作系统》实验报告模板

ID:14431634

大小:3.30 MB

页数:21页

时间:2018-07-28

《linux操作系统》实验报告模板_第1页
《linux操作系统》实验报告模板_第2页
《linux操作系统》实验报告模板_第3页
《linux操作系统》实验报告模板_第4页
《linux操作系统》实验报告模板_第5页
资源描述:

《《linux操作系统》实验报告模板》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、课程编号:B080103040Linux操作系统实验报告姓名姚柯杰学号20126266班级软工1212指导教师石凯实验名称Linux操作系统实验开设学期2014-2015第一学期开设时间第11周——第18周报告日期评定成绩评定人石凯评定日期东北大学软件学院实验一熟悉Linux环境一、举例列出常用的shell命令使用方法1.目录操作(1)mkdirabc创建一个目录abc(2)cd/abc将工作目录改变到abc(3)cd改变当前目录到主目录(4)ls列出当前目录的内容(5)ls-l输出当前目录内容的长列表,每个目录或文件占一行(6)pwd显示当前目录

2、的全路径2.文件显示实用程序(1)catmx.c显示mx.c文件内容(2)moremx.c分屏显示mx.c内容(3)catfile1file2连接file1和file23文件管理实用程序(1)cpfile1file2将文件1复制到文件2(2)mvfile1file2将文件重命名为file2(3)rmfilename删除文件filename二、通过实例写出Linux下C程序编辑运行过程。在终端命令下输入vifilename命令,这里我输入vihelloworld.c创建并打开helloworld.c文件按i进入编辑模式,输入下列code:#inclu

3、devoidmain(void){Printf(“helloworld!”);}输入:wq保存退出输入cchelloworld.c编译,在输入./a.out运行二、实验总结在实验一中,我初步对linux有了初步的了解,能熟练目录和文件进行操作,并且能用linux进行基本简单的基于c的编程。师傅领进门,修行在个人,算是通过这个实验进入了linux的门。实验二文件操作一、实现CP命令实现思路:提取出源路径和目标路径到函数中,放于定义的两个int变量,定义缓冲区buf,对两个变量进行判断,如果符合要求打开读取源文件信息存于缓冲区,然

4、后写到目标文件中,关闭两个文件以实现等同cp效果。此处以hello。C文件为源文件,目标文件1.c。在调试cp命令中,由于一开始并未定义缓冲区,导致程序出错,后假如缓冲区,程序得以正常运行。一、实现ls命令实现思路:调用dirent.h来实现打开目录流,定义变量,随后对变量进行判定用opendir、readdir打开并读取目录流,将值传递给另一个变量,打印出来。编译源程序并运行:在实现ls命令中使用man手册查找需要的dir等目录流信息,man是个强大的命令,在编程的过程中由于疏忽一开始并未假如判断条件,有些突发情况会难以处理,最后通过课件修过过来

5、。一、设备文件操作鼠标对应的设备文件是 /dev/input/mice实验三进程间通信(一)进程的创建(必做题)编写一段程序,使用系统调用fork()创建两个子进程,在系统中有一个父进程和两个子进程活动。让每个进程在屏幕上显示一个字符;父进程显示字符“a”,子进程分别显示字符“b”和“c”。试观察记录屏幕上的显示结果,并分析原因。创建一个新的子进程。其子进程会复制父进程的数据与堆栈空间。Fork成功则在父进程会返回新建立的子进程pid,而在新建立的子进程中则返回0。如果fork失败则直接返回-1。所以在循环条件上出现上述情况。修改已编写的程序,将每

6、个进程的输出由单个字符改为一句话,再观察程序执行时屏幕上出现的现象,并分析其原因。(必做题)子进程创建成功,到下一个while,第二个子进程成功到最后循环,输入parents1-500,随后返回继续上面子进程的循环输出。【思考题】1.系统是怎样创建进程的?答:在UNIX系统中,只有0进程是在系统引导时被创建的,在系统初启时由0进程创建1进程,以后0进程变成对换进程,1进程成为系统中的始祖进程。UNIX利用fork()为每个终端创建一个子进程为用户服务,每个终端进程又可利用fork()来创建其子进程,从而形成一棵进程树。2.当前运行的程序(主进程)的

7、父进程是什么?建立如下的c文件来获取pid得到这三个进程pid,可见父进程的pid是5182。(二)信号量机制实验【实验内容】1.编写一段程序,使用系统调用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号(即按ctrl+c键),当捕捉到中断信号后,父进程用系统调用kill()向两个子进程发出信号,子进程捕捉到父进程发来的信号后,分别输出下列信息后终止:Childprocess1iskilledbyparent!Childprocess2iskilledbyparent!父进程等待两个子进程终止后,输出以下信息后

8、终止:Parentprocessiskilled!实验要求:⑴运行程序并分析结果。⑵如果把signal(SIGINT,st

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

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

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