操作系统实验报告_第1页
操作系统实验报告_第2页
操作系统实验报告_第3页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学生学号学生学号实验课成绩武汉理工大学学 生 实 验 报 告 书实验课程名称操作系统开 课学院计算机科学与技术学指导老师姓名刘军学 生姓名李 安 福 学生专业班级软件2014 2015 学年 第 一 学期操作系统实验教学大纲课程编号:课程名称:操作系统/Operating System 实验总学时数:12 学时适应专业:计算机科学与技术、软件工程承担实验室:计算机科学与技术学院实验中心一、实验教学的目的和任务LinuxSHELLC二、实验项目及学时分配序号实验项目名称实验学时实验类型开出要求01Linux 键盘命令和 vi2设计必开02LinuxC2设计必开03SHELL 编程和后台批处理2设

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、 SHELL 编程和后台批处理要求:掌握Linux 系统的SHELL 编程方法和后台批处理方法。内容: (1) 将编译、连接以及运行上

3、述C 程序各步骤用SHELL 前台运行。将上面SHELLL程序后台运行。观察原C 程序运行时输入输出情况。修改调试上面SHELL C 盘输入内容可以键盘命令行位置参数方式交互式输入替代原键盘输入内容, 然后输出到屏幕。4、Linux 系统调用使用方法。退出。要求:掌握Linux 系统调用使用方法。内容:学习使用time, ctime, sleep, exit 等 Linux 系统调用使用方法。5、Linux 系统进程控制要求:掌握Linux 系统中进程控制原语fork 的使用方法。内容:设计C 以上每项实验均要求每人一个Linux 联机终端独立完成。四、实验改革与特色完成多用户分时系统 Lin

4、ux 下的基本使用级观察级实验。五、教材及实验指导书教材:孟静,操作系统教程题解与实验指导, 高等教育出版社 2002.6执笔:杨铭熙审阅:陈天煌日期2014年12月6审定:徐东平日期2014年12月6实验课程名称:操作系统实验项目名称实验者Linux 键盘命令和 vi李安福专业班级软件sy1201实验成绩组别同组者第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)Linux 键盘命令和 vi要求:掌握Linux 系统键盘命令的使用方法。实验日期二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)进入 vi 的命令:vifilename

5、:打开或新建文件,并将光标置于第一行vi+nfilename :打开文件,并将光标置于第n行首vi+filename :打开文件,并将光标置于最后一行首vi+/pattern filename:打开文件,并将光标置于第一个与pattern的串处vi-rfilename :在上次正用vi编辑时发生系统崩溃,恢复filename vifilename.filename :打开多个文件,依次进行编辑键盘命令:catmoreless:catlesscat容。lscprmmvmkdirrmdir:删除空目录三、主要仪器设备及耗材安装 Linux 系统的计算机一台。第二部分:实验调试与结果分析(可加页)一

6、、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)使用mkdirsubdir使用cat 或more 命令查看file1将date 命令的用法附加到文件file1利用ls -l file1file1利用rm fafals -l运行mv file1 file_a 命令,然后用ls显然,只有file_afile1vi 共分为三种模式命令模式:命令模式为 viESC】 键可换回命令模式。i, I, o, O, a, A, r, 】等字母之后才会进入编辑模式。按下上述的字母时,在画面的左下方会出现【 -INSERT- 或 -插入- 】的字样, 才可以做文字数据输入。指令列模

7、式:在命令模式当中,输入 【:】或【 / 】就可以将光标移动到最底下那一行,进入指令列模式。在这个模式当中,可以存盘、结束vi 、显示行号等操作。二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等) Free 显示系统中已用空闲内存数量top:查看系统进程情况三、实验小结、建议及体会viLinuxLinuxLinuxDOSviLinux。实验课程名称:操作系统实验项目名称LinuxC实验成绩实验者李安福专业班级软件sy1201组别同组者第一部分:实验分析与设计(可加页)实验日期一、实验内容描述(问题域描述)Linux 下的 C 编程要求:掌握vi 编辑器的使用方法;

8、掌握Linux C 接和运行方法。内容:设计、编辑、编译、连接以及运行一个C 程序,其中包含键盘输入和屏幕输出语句。二、实验基本原理与设计(者算法描述)#include int main()int a, b;printf(shu ru liang ge shu:n);scanf(%d,%d,&a,&b); if(ab)b = a;printf(max = %dn,b); return 0;Linuxgcc 编译第二部分:实验调试与结果分析(可加页)一、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)二、实验小结、建议及体会viLinuxLinux C linux 的

9、印象,linux 的兼容性很强。C/C+仍旧可以在上面编译成功。在以后的学习中会加大努力加强自己的编程能力。实验课程名称:操作系统实验项目名称实验者SHELL 编程和后台批处理李安福专业班级软件sy1201实验成绩组别同组者第一部分:实验分析与设计(可加页)实验日期三、实验内容描述(问题域描述)SHELL 编程和后台批处理要求:掌握Linux 系统的SHELL 编程方法和后台批处理方法。内容: (1) 将编译、连接以及运行上述C SHELL 台运行。将上面SHELLL程序后台运行。观察原C 程序运行时输入输出情况。修改调试上面SHELL C 输入内容可以键盘命令行位置参数方式交互式输入替代原键

10、盘输入内容,然后 输出到屏幕。四、实验基本原理与设计(者算法描述)C程序文件如下#include int main()int a, b;printf(shu ru liang ge shu:n);scanf(%d,%d,&a,&b); if(ab)b = a;printf(max = %dn,b); return 0;test.sh文件如下#!/bin/bash gcc -otchmod u+x test.out./test.out三、主要仪器设备及耗材linux 操作系统Vi 编辑器Gcc Bash第二部分:实验调试与结果分析(可加页)四、调试过程(包括调试方法描述、实验数据记录,实验现象记

11、录,实验过程发现的问题等) 调试过程中未发现任何问题五、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)六、实验小结、建议及体会Linux 中的shellshell 中可以实现许多用Cshell次实验让我对Linux实验课程名称:操作系统实验项目名称实验者Linux 系统调用(time)李安福专业班级软件sy1201实验成绩组别同组者第一部分:实验分析与设计(可加页)实验日期一、实验内容描述(问题域描述)Linux 系统调用使用方法。要求:掌握Linux 系统调用使用方法。内容:学习使用time, ctime, sleep, exit 等 Linux 系统调用使用方

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

13、 编辑器G+编译器第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等) ctime(将时间和日期以字符串格式表示)表头文件#include 定义函数char *ctime(const time_t *timep); 函数说明ctime()将参数timeptime_t“Wed Jun 30 21 :49:08 1993返回值返回一字符串表示目前当地的时间日期。time(取得目前的时间) 表头文件#include定义函数time_t time(time_t 函数说明197011UTC000数。如果t 并非空指针的话,此函数也会将返

14、回值存到t返回值成功则返回秒数,失败则返回(time_t)-1)值,错误原因存于errno 中。sleep(让进程暂停执行一段时间表头文件#include 定义函数unsigned int sleep(unsigned int seconds); 函数说明sleep()会令目前的进程暂停,直到达到参数 seconds 所指定的时间,或是被信号所中断。返回值若进程暂停到参数seconds 所指定的时间则返回 0,若有信号中断则返回剩余秒数。二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)三、实验小结、建议及体会time, ctime, sleep, exitLin

15、uxLinuxLinux并多加练习。实验课程名称:操作系统实验项目名称Linux 进程控制(fork)实验成绩实验者李安福专业班级软件sy1201组别同组者第一部分:实验分析与设计(可加页)实验日期一、实验内容描述(问题域描述)Linux系统进程控制要求:掌握Linux 系统中进程控制原语fork 的使用方法。内容:设计C 程序,其中主进程创建一个子进程,以特定次序各自执行规定操作后退出。二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)#include#include #includeusing namespace std; int main()c

16、outParent process id:getpid()endl; pid_t iRet = fork();if(iRet0)coutCreate child process fail!endl; else if(iRet = 0)coutImchildprocess,andidis:getppid()endl;elsecoutCreate child process success childthe id is:iRetendl;return 0;三、主要仪器设备及耗材Ubuntu 操作体统Vi 编辑器G+编译第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记

17、录,实验现象记录,实验过程发现的问题等)(1【进程的创建】编写一段程序,使用系统调用 fork()创建两个子进程,当此进程运行时,在系a”;子进程分别显示字符“b”和字符“c:#include int main()int p1, p2;while (p1 = fork() = -1);if (p1 = 0)第一子进程putchar(b); else while (p2 = fork() = -1); if (p2 = 0)putchar(c);第二子进程elseputchar(a);父进程return 0;运行多次:主要输出有bca,偶尔输出cabcba,abc,bac,acb会有如此多种不同

18、输出,主要是因为 fork()生成的子进程和父进程是并行运行的,所以先bca ubuntu9.04fork()【进程的控制】修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话。【 源 代 码 】: #include int main() int p1, p2;while (p1 = fork() = -1);if (p1 = 0)printf(Child1 is running!n);else while (p2 = fork() = -1);if (p2 = 0)printf(Child2 is running!n);else;父进程printf(Father is runnin

19、g!n);return 0;Child1 is running!Child2 is Father is 少数输出:Child2 is Child1 is Father is Father is Child1 is Child2 is 6printf(变。所以与打印单字符的结果相同。【进程信号处理】编写程序使用系统调用 fork()创建两个子进程,再用系统调用 singal()让父进程捕捉键盘上来的中断信号 (即按 Ctrl+c 键);当捕捉到中断信号后,父进程用系统调用 Kill()向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止:Child Process11 is Kille

20、d by Parent! Child Process12 is Killed by Parent!父进程等待两个子进程终止后,输出如下的信息后终止: Parent Process is Killed! 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);;加

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论