《东北大学操作系统第一次实验报告313.pdf》由会员分享,可在线阅读,更多相关《东北大学操作系统第一次实验报告313.pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 实验 1:熟悉 Linux 系统 一、题目:熟悉 Linux 系统 二、目的:熟悉和掌握 Linux 系统基本命令,熟悉 Linux 编程环境,为以后的实验打下基础。1、启动、退出、ls(显示目录内容)、cp(文件或目录的复制)、mv(文件、目录更名或移动)、rm(删除文件或目录)、mkdir(创建目录)、rmdir(删除空目录)、cd(改变工作目录)2、C 语言编辑、编译 三、内容及要求:1、熟练掌握 Linux 基本文件命令;2、掌握 Linux 编辑程序、对源代码进行编译、连接、运行及调试的过程;3、认真做好预习,书写预习报告;4、实验完成后要认真总结、完成实验报告。四、内容及要求:在
2、 Linux 环境下编制、调试源程序的实际过程(每一步的具体说明)。实验 2:进程状态 一、题目:进程状态 二、目的:自行编制模拟程序,通过形象化的状态显示,使学生理解进程的概念、进程之间的状态转换及其所带来的 PCB 内容、组织的变化,理解进程与其 PCB 间的一一对应关系。三、内容及要求 1、设计并实现一个模拟进程状态转换及其相应 PCB 组织结构变化的程序;2、独立设计、编写、调试程序;3、程序界面应能反映出在模拟条件下,进程之间状态转换及其对应的 PCB组织的变化。4、进程的状态模型(三状态、五状态、七状态或其它)可自行选择,5、代码书写要规范,要适当地加入注释;6、鼓励在实验中加入新
3、的观点或想法,并加以实现;7、认真进行预习,完成预习报告;8、实验完成后,要认真总结,完成实验报告。四、程序流程图 开始输入添加进程数(sum)num0依次输入各进程信息Y主界面初始化变量调度(Dispatch)时间片到(Timeout)创建进程(New)等待事件(Event Wait)事件发生(Event Occur)退出进程(Exit)输出各进程(Print)执行while循环体语句,进行选择数字的输入利用switch语句计算输入的选择数字NN?T?W?C?D?P?E?O?输入一个数NNNNNYYYYYYYYNNN结束 图 进程转换流程 五、使用的数据结构及其说明 struct PCB n
4、;else ptr=next;while(ptr!=NULL)coutttProcesss name:next;void Print_State(LinkQueue&Q_Ready,LinkQueue&Q_Running,LinkQueue&Q_Blocked)coutt-n;coutntStatus_Ready:n;Print_Queue(Q_Ready);coutntStatus_Running:n;Print_Queue(Q_Running);coutntStatus_Blocked:n;Print_Queue(Q_Blocked);coutnt-n;void Transision_Tw
5、o(LinkQueue&Q1,LinkQueue&Q2)ElemType e;if(Empty_Queue(Q1)coutnERROR!前一个队列为空!.n;return;Delete_Queue(Q1,e);Insert_Queue(Q2,e);int main()int num;char choose;ElemType e;LinkQueue Q_Ready,Q_Running,Q_Blocked;Init_Queue(Q_Ready);Init_Queue(Q_Blocked);Init_Queue(Q_Running);coutnum;coutendl;for(int i=1;i=nu
6、m;i+)coutt 第i个进程-;cout;cout;cout;Insert_Queue(Q_Ready,e);coutt*进 程 状 态 转 换 分 割 线*n;couttN=创建进程(New),D=调度(Dispatch),T=时间片到(Timeout),W=等待事件(Event Wait),;coutntC=事件发生(Event Occur),E=退出进程(Exit),P=输出各进程(Print),O=退出程序(Overgame)endl;coutchoose;while(choose!=O)switch(choose)case N:n;Print_State(Q_Ready,Q_Ru
7、nning,Q_Blocked);break;Delete_Queue(Q_Running,e);Print_State(Q_Ready,Q_Running,Q_Blocked);break;case P:/P=输出各进程(Print)Print_State(Q_Ready,Q_Running,Q_Blocked);break;case O:/O=退出程序(Overgame)exit(1);default:cout输出不符合规则,请重新输入!endl;/操作异常处理 break;coutt*进程状态转换分割线*n;couttN=创 建 进 程(New),D=调 度(Dispatch),T=时 间 片 到(Timeout),W=等待事件(Event Wait),;coutntC=事件发生(Event Occur),E=退出进程(Exit),P=输出各进程(Print),O=退出程序(Overgame)endl;coutchoose;return 0;六、运行结果及其说明 运行结果如下截图所示,在截图中相继调用了N=创建进程(New),D=调度(Dispatch),T=时间片到(Timeout),W=等待事件(Event Wait),C=事件发生(Event Occur),E=退出进程(Exit),P=输出各进程(Print),O=退出程序(Overgame)命令。七、程序使用说明