用C语言模拟实现操作系统的进程管理机制
《操作系统》实验报告实验一题目 用 C 语言模拟实现操作系统的进程管理机制
一、实验内容 使用顺序表模拟内存中的进程队列,实现对于进程的管理。进程的管理主要包括 进程的创建、进程的查询、进程的换出以及进程的删除等操作。 二、实验目的 进程是计算机操作系统的重要的核心概念,合理的管理进程是一个操作系统最核 心主要的功能之一,通过编写相应的进程程序,加强对进程概念的理解。 三、设计过程1 进程结构 PCB 的描述: typedef struct jincheng_type{ int pid; int priority; char state; int blocktime; }PCB; PCB 是对进程的描述,pid 代表进程号,priority 代表优先级,state 代表状态,blocktime 代 表阻塞时间。 2 进程队列的描述:使用顺序表 typedef struct queuelist{ PCB pro[MAXSIZE]; int length; }MEMORY; 内存的描述,系统创建的进程都保存在这里,MAXSIZE 是内存中允许存放最大的进程数目 3 本实验主要包含如下三个主要操作 (1)创建进程操作 void create(MEMORY *P,int count); 参数 P 是指向存放进程的内存指针(头指针),count 是指创建进程的数目。 (2)查询进程操作 int check(MEMORY *P,int pid); 参数 P 是指向存放进程的内存指针(头指针),pid 是指查询进程的进程号,若查询 到该进程则返回 OK(1),否则返回 ERROR(0)。 (3)置换进程操作 int exchange(MEMORY *P); 参数 P 是指向存放进程的内存指针(头指针),将换出的进程保存在 PCB pcb;中,若 换出某个进程则返回 OK(1),否则返回 ERROR(0)。 (4)删除进程操作 int kill(MEMORY *P,int i); 参数 P 是指向存放进程的内存指针(头指针),删除内存中第 i 个进程,若删除某个进
程则返回 OK(1),否则返回 ERROR(0)。 4 程序流程图: (1)主程序的流程图
程序开始
输入功能号:function=?
1 创 建 进 程
2 查 看 进 程
3 置 换 进 程
4 杀 死 进 程
(2)三个主要功能的的程序流程图 创建进程:void create(MEMORY *P,int count);
传入实参: 内存首地址, 创建进程数目
输入进程的相关信息: pid,priority,state,blocktime
将进程保存在内存中 查看进程:int check(MEMORY *P,int pid);
传入实参: 内存首地址, 查看的进程号
在内存中若查询到该进程则输 出该进程信息并反正 OK,否则 返回 ERROR
换出进程:int exchange(MEMORY *P);传入实参:内存首地址
在内存中查询某个进程的阻塞 时间,若进程的阻塞时间超出一 定的时间,则将它换到外存
返回换出进程成功与否的信息
删除进程:int kill(MEMORY *P,int i);传入实参:内存首地址,删除进程的序号
从内存中删除第 i 个进程
返回删除进程成功与否的信息
四、程序实现及运行结果源程序见:实验一程序
。Doc
实验结果:
五、实验总结在以前的学习中,我并没接触过 C 语言,更没有用 C 语言编过任何代码,所以一开始编写代 码时给我带来了很大的困难。不过通过查阅相关的书籍,我一步步地克服了这些困难。 进程是程序以及数据在处理机(即 CPU)上运行的过程,它是系统进行资源分配和调度的一 个独立单位。没有试验前,我对进程的了解只限于字面的意思,通过这次试验我对进程这一概念右 了跟深层次的了解。虽然是模拟进程的创建,我也对进程的创建过程有了更深层次的了解,创建一 个进程,首先应该为它分配内存空间,然后将进程的基本信息输入到进程控制快 PCB 中。同时将 创建好的进程插入到进程就绪队列中。而对进程的查阅和换出等功能的实现,只是简单地对就绪队 列进行检索,并将相关信息输出来。
相关推荐:
- [文秘资料]班长职务辞职报告
- [文秘资料]完美的辞职报告
- [文秘资料]经典的员工辞职报告
- [文秘资料]医院口腔医生辞职报告
- [文秘资料]总经理辞职报告范文四篇
- [文秘资料]超市职员个人辞职报告
- [文秘资料]村妇联主任的辞职报告
- [文秘资料]辞职报告书格式
- [文秘资料]酒店辞职报告简单范文
- [文秘资料]联通的辞职报告
- [文秘资料]2017最新私企员工辞职报告范文
- [文秘资料]2019年度医院基层党组织书记抓党建述职
- [文秘资料]工作时间长辞职报告
- [文秘资料]辞职报告怎么写出来
- [文秘资料]个人能力原因辞职报告
- [文秘资料]网络工程师辞职报告
- [文秘资料]项目部辞职报告
- [文秘资料]缝纫工辞职报告怎么写
- [文秘资料]XXX州委书记述职报告
- [文秘资料]抓基层党建工作述职报告
- (王虎应老师讲课记录)六爻理象思维
- 八个常见投影机故障排除法
- 质量专业综合知识(中级)第一章质量管理
- 煤矿班组建设实施意见
- 我国快餐业与肯德基经营模式的比较与分
- 汽车保险杠模具标准化模架技术工艺研究
- 汽车二级维护作业团体赛比赛规程
- 装卸搬运工安全操作规程
- 高效的工作方法-刘铁
- 依据《生产安全事故报告和调查处理条例
- 2015专业PS夜景亮化效果图制作教程
- 企业劳动定额定员浅析
- 中枢神经系统医学影像学本科五年制第五
- 长城汽车参观探营第三站:研发试验中心
- 小升初语文专项训练
- 建筑工程质量检测资质分类与等级标准
- 周燕珉-我国养老社区的发展现状与规划
- 《生命里最后的读书会》读后感
- 实验室管理评审报告
- CCNA思科网院教程精华之网络基础知识




