ImageVerifierCode 换一换
格式:DOC , 页数:19 ,大小:272KB ,
资源ID:2241953      下载积分:8 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2241953.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(操作系统实验报告.doc)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

操作系统实验报告.doc

1、_学生学号0121210680225实验课成绩武汉理工大学学 生 实 验 报 告 书实验课程名称 操作系统 开 课 学 院 计算机科学与技术学院 指导老师姓名 刘军 学 生 姓 名 李安福 学生专业班级 软件sy1201 2014 2015 学年 第 一 学期操作系统实验教学大纲课程编号:课程名称:操作系统/Operating System实验总学时数:12学时适应专业:计算机科学与技术、软件工程承担实验室:计算机科学与技术学院实验中心一、实验教学的目的和任务通过实验掌握Linux系统下常用键盘命令、系统调用、SHELL编程、后台批处理和C程序开发调试手段等基本用法。二、实验项目及学时分配序号

2、实验项目名称实验学时实验类型开出要求01Linux键盘命令和vi2设计必开02Linux下C编程2设计必开03SHELL编程和后台批处理2设计必开04Linux系统调用(time)2设计必开05Linux进程控制(fork)4设计必开三、每项实验的内容和要求:1、 Linux键盘命令和vi要求:掌握Linux系统键盘命令的使用方法。内容:见教材p4, p9, p40, p49-53, p89, p1002、 Linux下的C编程要求:掌握vi编辑器的使用方法;掌握Linux下C程序的源程序编辑方法;编译、连接和运行方法。内容:设计、编辑、编译、连接以及运行一个C程序,其中包含键盘输入和屏幕输出

3、语句。3、 SHELL编程和后台批处理要求:掌握Linux系统的SHELL编程方法和后台批处理方法。内容: (1) 将编译、连接以及运行上述C程序各步骤用SHELL程序批处理完成,前台运行。(2) 将上面SHELLL程序后台运行。观察原C程序运行时输入输出情况。 (3) 修改调试上面SHELL程序和C程序,使得在后台批处理方式下,原键盘输入内容可以键盘命令行位置参数方式交互式输入替代原键盘输入内容,然后输出到屏幕。 4、Linux系统调用使用方法。要求:掌握Linux系统调用使用方法。内容:学习使用time, ctime, sleep, exit等Linux系统调用使用方法。5、Linux系统

4、进程控制要求:掌握Linux系统中进程控制原语fork的使用方法。内容:设计C程序,其中主进程创建一个子进程,以特定次序各自执行规定操作后退出。以上每项实验均要求每人一个Linux联机终端独立完成。四、实验改革与特色完成多用户分时系统Linux下的基本使用级观察级实验。五、教材及实验指导书教材:孟静,操作系统教程题解与实验指导, 高等教育出版社 2002.6 执笔:杨铭熙 审阅:陈天煌 日期2014年12月6审定:徐东平 日期2014年12月6实验课程名称: 操作系统 实验项目名称Linux键盘命令和vi实验成绩实验者李安福专业班级软件sy1201组别同组者实验日期第一部分:实验分析与设计(可

5、加页)一、 实验内容描述(问题域描述)Linux键盘命令和vi要求:掌握Linux系统键盘命令的使用方法。二、 实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)进入vi的命令:vifilename: 打开或新建文件,并将光标置于第一行首vi+nfilename:打开文件,并将光标置于第n行首 vi+filename:打开文件,并将光标置于最后一行首 vi+/patternfilename:打开文件,并将光标置于第一个与pattern匹配的串处 vi-rfilename:在上次正用vi编辑时发生系统崩溃,恢复filename vifilename.fil

6、ename:打开多个文件,依次进行编辑 键盘命令:1.cat命令、more命令、less命令:cat命令是将单个或多个文件的内容显示到屏幕上;more命令和less命令与cat命令相似,以分页形式显示文件内容。2. ls命令:将某一个目录或文件的内容显示出来3. cp命令:文件或目录的复制4. rm命令:删除文件或目录5. mv命令:将文件从一个位置移动到另一个位置6. mkdir命令:创建目录7. rmdir:删除空目录三、主要仪器设备及耗材安装Linux系统的计算机一台。第二部分:实验调试与结果分析(可加页)一、 调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等

7、)1 使用mkdir命令建立一个子目录subdir 2 使用cat或more命令查看file1文件的内容。3 将date命令的用法附加到文件file1的后面:4 利用ls -l file1命令列出文件file1的较详细的信息。5 利用rm fa命令将文件fa删除。再利用ls -l命令查看工作目录内容。6 运行mv file1 file_a命令,然后用ls命令查看这两个文件是否都还在工作目录中?显然,只有file_a在工作目录中,而file1不在工作目录中vi 共分为三种模式(1)命令模式:命令模式为vi的初始模式,可以使用“上下左右”按键来移动光标,您可以使用“删除字符”或“删除整行”来处理文

8、档。在编辑模式或指令列模式中按【ESC】键可换回命令模式。(2)编辑模式:在命令模式中按下【i, I, o, O, a, A, r, R】等字母之后才会进入编辑模式。按下上述的字母时,在画面的左下方会出现【 -INSERT- 或 -插入- 】的字样,才可以做文字数据输入。 (3)指令列模式:在命令模式当中,输入 【:】或【 / 】就可以将光标移动到最底下那一行,进入指令列模式。在这个模式当中,可以存盘、结束vi 、显示行号等操作。 二、 实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)Free 显示系统中已用空闲内存数量 top:查看系统进程情况三、 实验小结、建议

9、及体会vi编辑器是Linux系统下标准的编辑器,它的强大不逊色于任何文本编辑器。初次实验对Linux常用命令及编辑器的使用操作都不熟悉,但对Linux很好奇。通过实验,学会了如何在现有操作系统的基础上再打开一个操作系统,并对新的窗口进行操作。开始进入的界面有点像DOS环境下的界面,接着可以输入一些语句命令来创建和查看文件、查看根目录及根目录下的内容,以及如何进入文件夹、如何编译并推出编译等。学会vi有助于我们学习Linux。实验课程名称: 操作系统 实验项目名称Linux下C编程实验成绩实验者李安福专业班级软件sy1201组别同组者实验日期第一部分:实验分析与设计(可加页)一、 实验内容描述(

10、问题域描述) Linux下的C编程要求:掌握vi编辑器的使用方法;掌握Linux下C程序的源程序编辑方法;编译、连接和运行方法。内容:设计、编辑、编译、连接以及运行一个C程序,其中包含键盘输入和屏幕输出语句。二、 实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述) #include intmain() inta,b; printf(shurulianggeshu:n); scanf(%d,%d,&a,&b); if(ab) b=a; printf(max=%dn,b); return0; 三、主要仪器设备及耗材Linux操作系统Vi编辑器gcc编译第二部

11、分:实验调试与结果分析(可加页)一、 实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)二、 实验小结、建议及体会 通过这次实验vi编辑器有了进一步的应用,同时学会了在Linux进行简单的C语言编程,掌握Linux下C程序的源程序编辑方法;编译、连接和运行方法。加深了对linux的印象,linux的兼容性很强。C/C+仍旧可以在上面编译成功。在以后的学习中会加大努力加强自己的编程能力。实验课程名称: 操作系统 实验项目名称SHELL编程和后台批处理实验成绩实验者李安福专业班级软件sy1201组别同组者实验日期第一部分:实验分析与设计(可加页)三、 实验内容描述(问题域

12、描述)SHELL编程和后台批处理要求:掌握Linux系统的SHELL编程方法和后台批处理方法。内容: (1) 将编译、连接以及运行上述C程序各步骤用SHELL程序批处理完成,前台运行。(2) 将上面SHELLL程序后台运行。观察原C程序运行时输入输出情况。 (3) 修改调试上面SHELL程序和C程序,使得在后台批处理方式下,原键盘输入内容可以键盘命令行位置参数方式交互式输入替代原键盘输入内容,然后输出到屏幕。四、 实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)C程序文件如下#include intmain() inta,b; printf(shuru

13、lianggeshu:n); scanf(%d,%d,&a,&b); if(ab) b=a; printf(max=%dn,b); return0; test.sh文件如下#!/bin/bashgcc -o tchmod u+x test.out./test.out三、主要仪器设备及耗材linux操作系统Vi编辑器GccBash第二部分:实验调试与结果分析(可加页)四、 调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等) 调试过程中未发现任何问题 五、 实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)六、 实验小结、建议及体会在实验中,我

14、学习了Linux中的shell编程语法。其实在shell中可以实现许多用C语言或者其他语言编写的程序功能,并且用shell更加快捷,因为它无需编译,是解释性语言。此次实验让我对Linux下的编程有了进一步的了解。实验课程名称: 操作系统 实验项目名称Linux系统调用(time)实验成绩实验者李安福专业班级软件sy1201组别同组者实验日期第一部分:实验分析与设计(可加页)一、 实验内容描述(问题域描述)Linux系统调用使用方法。要求:掌握Linux系统调用使用方法。内容:学习使用time, ctime, sleep, exit等Linux系统调用使用方法。二、 实验基本原理与设计(包括实验

15、方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)#include#include#include#includeusing namespace std;int main()while(1) char timebuf100; time_t t; time(&t); strftime(timebuf, sizeof(timebuf),%Y 年 %m 月 %d 日 %H: %M: %S,localtime(&t); couttimebufendl; fflush(stdout); sleep(1);return 0;三、主要仪器设备及耗材Ubuntu操作系统Vi编辑器G+编译器第二部分

16、:实验调试与结果分析(可加页)一、 调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)ctime(将时间和日期以字符串格式表示)表头文件#include定义函数char*ctime(consttime_t*timep);函数说明ctime()将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回。此函数已经由时区转换成当地时间,字符串格式为“WedJun3021:49:081993n”。若再调用相关的时间日期函数,此字符串可能会被破坏。返回值返回一字符串表示目前当地的时间日期。time(取得目前的时间)表头文

17、件#include定义函数time_ttime(time_t*t);函数说明此函数会返回从公元1970年1月1日的UTC时间从0时0分0秒算起到现在所经过的秒数。如果t并非空指针的话,此函数也会将返回值存到t指针所指的内存。返回值成功则返回秒数,失败则返回(time_t)-1)值,错误原因存于errno中。sleep(让进程暂停执行一段时间)表头文件#include定义函数unsignedintsleep(unsignedintseconds);函数说明sleep()会令目前的进程暂停,直到达到参数seconds所指定的时间,或是被信号所中断。返回值若进程暂停到参数seconds所指定的时间则

18、返回0,若有信号中断则返回剩余秒数。 二、 实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)三、 实验小结、建议及体会通过这次实验学习使用time, ctime, sleep, exit等Linux系统调用使用方法,加深了对Linux下编程的理解,在以后会多多了解Linux系统调用的更多方法,并多加练习。实验课程名称: 操作系统 实验项目名称Linux进程控制(fork)实验成绩实验者李安福专业班级软件sy1201组别同组者实验日期第一部分:实验分析与设计(可加页)一、 实验内容描述(问题域描述)Linux系统进程控制要求:掌握Linux系统中进程控制原语fork的

19、使用方法。内容:设计C程序,其中主进程创建一个子进程,以特定次序各自执行规定操作后退出。二、 实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)#include#include#includeusing namespace std;int main()coutParent process id:getpid()endl;pid_t iRet = fork();if(iRet0) coutCreate child process fail!endl;else if(iRet = 0) coutIm child process, and id isgetpi

20、d()ppid is:getppid()endl;else coutCreate child process success childthe id is:iRetendl;return 0;三、主要仪器设备及耗材Ubuntu操作体统Vi编辑器G+编译第二部分:实验调试与结果分析(可加页)一、 调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)(1)【进程的创建】 编写一段程序,使用系统调用fork()创建两个子进程,当此进程运行时,在系统中有一个父进程和两个子进程活动,让每一个进程在屏幕上显示一个字符,父进程显示字符“a”;子进程分别显示字符“b”和字符“c”。

21、【源程序】:#includeint main() int p1, p2; while (p1 = fork() = -1); if (p1 = 0) /第一子进程 putchar(b); else while (p2 = fork() = -1); if (p2 = 0) putchar(c); /第二子进程 else putchar(a); /父进程 return 0;运行多次:主要输出有bca,偶尔输出cab和cba,abc,bac,acb会有如此多种不同输出,主要是因为fork()生成的子进程和父进程是并行运行的,所以先运行哪个进程是由系统的调度算法决定的,ubuntu9.04很大概率系

22、统会先输出bca是因为ubuntu 9.04在fork()运行之后很大概率先运行子进程,再运行父进程。当然也有可能先运行父进程后子进程,再加上进程间的并发性;导致了输出的多样性。输出次序带有随机性。(2)【进程的控制】 修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话。【源代码】:#includeint main() int p1, p2; while (p1 = fork() = -1); if (p1 = 0) ;第一个子进程 printf(Child1 is running!n); else while (p2 = fork() = -1); if (p2 = 0) ;第二

23、子进程 printf(Child2 is running!n); else ;父进程 printf(Father is running!n); return 0;运行多次,大部分运行后输出:Child1 is running!Child2 is running!Father is running!少数输出:Child2 is running!Child1 is running!Father is running!Father is running!Child1 is running!Child2 is running!理论上是有6种不同的结果,还是由于系统的调度算法,程序的并发性影响;但由于函

24、数printf( )在输出字符串时不会被中断,因此,字符串内部字符顺序输出不变。所以与打印单字符的结果相同。 (3)【进程信号处理】 编写程序使用系统调用 fork()创建两个子进程,再用系统调用 singal()让父进程捕捉键盘上来的中断信号(即按 Ctrl+c 键);当捕捉到中断信号后,父进程用系统调用 Kill()向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止:Child Process11 is Killed by Parent!Child Process12 is Killed by Parent!父进程等待两个子进程终止后,输出如下的信息后终止:Parent Pro

25、cess is Killed!【源代码】:#include#includeint wait_mark;void waiting() while (wait_mark = 1);void stop() wait_mark = 0;int main() int p1, p2; while (p1 = fork() = -1);if (p1 = 0) ;第一个子进程 wait_mark = 1; signal(SIGINT, SIG_IGN); signal(16, stop); waiting(); lockf(1, 1, 0); ;加锁 printf(Child Process11 is Kil

26、led by Parent!n); lockf(1, 0, 0); ;解锁 exit(0); Else while (p2 = fork() = -1); if (p2 = 0) ;第二个子进程 wait_mark = 1; signal(SIGINT, SIG_IGN); signal(17, stop); waiting(); lockf(1, 1, 0); ;加锁 printf(Child Process12 is Killed by Parent!n); lockf(1, 0, 0); ;解锁 exit(0); Else ;父进程 wait_mark = 1; signal(SIGIN

27、T, stop); waiting(); kill(p1, 16); kill(p2, 17); wait(0); wait(0); printf(Parent Process is Killed!n); exit(0); 输出结果有两种:Child Processll is Killed by Parent!Child Processl2 is Killed by Parent!Parent process is Killed!Child Processl2 is Killed by Parent!Child Processll is Killed by Parent!Parent process is Killed!二、 实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)三、 实验小结、建议及体会在本实验中,我学习了在Linux中利用fork来创建子进程的过程。加深了对进程、子进程、进程号等概念的直观认识。通过实验掌握Linux系统中进程控制原语fork的使用方法。同时发现自己对Linux有很多的不熟悉的地方,在以后会进一步加强。Welcome ToDownload !欢迎您的下载,资料仅供参考!精品资料

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服