下载后可任意编辑模拟进程创建、终止、堵塞、唤醒原语操作系统原理 操作系统原理 题 目:模拟进程创建、终止、堵塞、唤醒原语院(部): 管理工程学院专 业: 信息管理与信息系统班 级: 信管姓 名: 学 号: 实验题目一:模拟进程创建、终止、堵塞、唤醒原语一、题目类型:必做题目。 二、实验目的:通过设计并调试创建、终止、堵塞、唤醒原语功能,有助于对操作系统中进程控制功能的理解,掌握操作系统模块的设计方法和工作原理。 三、实验环境: 1、硬件:pc 机及其兼容机。 2、软件:WindowsOS,TurboC 或 C++、VC++、VS.net、Java 等。 四、实验内容: 1、设计创建、终止、堵塞、唤醒原语功能函数。 2、设计主函数,采纳菜单结构(参见后面给出的流程图)。 3、设计“显示队列”函数,目的能将就绪、堵塞队列中的进程信息显示在屏幕上,以供随时查看各队列中进程的变化情况。 五、算法流程图 开始 1下载后可任意编辑 系统主菜单 1…创建 2…堵塞 3…唤醒 4…终止 5…显示 0…退出请输入您需要的功能(0-5): 输入选择=? 543210 退出创建堵塞唤醒终止显示 结束 六、程序清单#include#includestructpcb{ charname[10]; intstatus; intorder; inttime; intwtime; intytime;}pcb[11];//该结构体用于存储已经输入的进程 structghost{ charname[10]; intstatus; intorder; inttime;}ghost[11];//该结构体用于优先级调度时,进程的优先级排序chara_name[10];inti=0,y,a=0,x,z,jilu;voidinsert();voidblock();voidrouse();voidstop();voidoutPut();voidcontrol();// 实 验 二 添 加 函 数voidorder_control();//实验二添加函数 voidtime_control();//实验二添加函数 voidinsert(){ jilu=0;//jilu 是一个用于推断的变量,在重复时进行推断跳过 if(i>=10) printf(“进程已经存在 10 个,无法继续添加进程\n“); else { printf(“请输入插入 pcb 的数据:\n“); printf(“1、进程名:“); scanf(“%s“,&pcb[i].name); 2下载后可任意编辑 printf(“2、该进程的优先级(1-10):“); scanf(“%d“,&pcb[i].order); printf(“3、运行时间“); scanf(“%d“,&pcb[i].time); for(y=0;y0)jilu=0; else { printf(“输入已经完成\n 您输入的数据为:\n 进程名: %s\n 优先级: %d\n 运行时间: %d\n“,pcb[i].name,pcb[i].order,pcb[i].time); printf(“-----------...