ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:125.57KB ,
资源ID:10968280      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(操作系统实验一.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

操作系统实验一.docx

1、操作系统实验一黑龙江大学实 验 报 告课程名称计算机操作系统实验项目名称进程控制实验时间(日期及节次)2016年3月28 日 8-10节专业软件工程学生所在学院软件学院年级2014学号姓名指导教师实验室名称实验成绩预习情况操作技术实验报告附加:综合创新能力实验综合成绩教师签字 黑龙江大学教务处实验名称:进程控制实验目的为配合计算机操作系统(第三版)课程的教学,通过在WINDOWS环境下,利用高级语言模拟操作系统的实现。模拟操作系统原理的实现进程控制,能更深刻地领会操作系统工作原理和操作系统实现方法,并提高程序设计能力。1、利用简单的结构和控制方法模拟进程结构、进程状态和进程控制,掌握作为操作系

2、统分配资源的基本单位的进程相关的概念。定义PCB(可以采用静态结构或动态结构),在实验中只需建立PCB,用它代表完整的进程。2、定义进程状态转换方式:进程的状态转换是由进程内部操作或操作系统的控制引起,由于无法实现这些功能,可以采用随机数方法或键盘控制方法模拟,并实现对应的控制程序。随机方法指产生16的随机数,分别代表创建进程、结束进程、进程阻塞、激活进程、调度进程、时间片到等事件;键盘模拟方法指定义6种按键代表以上6种事件。实验类型计算机操作系统课程设计实验环境编程环境:Visual C+ 6.0运行环境:Windows XP主要数据结构及说明利用数据结构的线性表链式存储结构,C+语言描述数

3、据结构算法,先声明个头指针,头结点,利用C+语言函数定义节点,指针来控制变量,利用C+语言函数来,控制每个方法的执行,用数组模拟内存,用数组的地址模拟内存地址,用数组的大小模拟内存进程大小。主要设计思想与算法(流程)通过学习计算机操作系统(第三版)课程,通过在WINDOWS环境下,本次课程设计的主要思想就是利用高级语言C+模拟操作系统的实现。模拟操作系统原理的实现进程控制,能更深刻地领会操作系统工作原理和操作系统实现方法,系统流程图如图所示:代码:#includeusing namespace std;typedef struct Link int data; Link *next;*Link

4、list;void show(Linklist l) Linklist ll=l; while(ll-next) coutnext-datanext; void datashow(int m) if(m=0)cout无endl; else coutmdata=t; s-next=NULL; if(ll-next=NULL) ll-next=s; else while(ll-next!=NULL) ll=ll-next; ll-next=s; void print() cout请选择执行的操作:endl; cout1.创建进程endl; cout2.时间片到endl; cout3.进程阻塞end

5、l; cout4.唤醒进程endl; cout5.结束进程endl;void showall(Linklist l1,Linklist l2,int m) coutendl; cout就绪态为:; show(l1); coutendl; cout执行态为:; datashow(m); cout阻塞态为:; show(l2); coutendl; coutnext=NULL; Linklist l2=new Link; l2-next=NULL; Linklist l11=l1; Linklist la=l2; Linklist lll1=l1; Linklist lll2=l2; showal

6、l(l1,l2,m); print(); cinn; while(true) switch(n) case 1: coutt; tail(l1,t); if(m=0) if(l1-next!=NULL) nn=l1-next-data; l1-next=l1-next-next; m=nn; showall(l1,l2,m); else showall(l1,l2,m); break; case 2: if(m!=0) tail(l1,m); m=0; if(l1-next!=NULL) nn=l1-next-data; l1-next=l1-next-next; m=nn; showall(

7、l1,l2,m); else cout没有正在进行的进程endl; break; case 3: if(m=0) cout没有正在进行的进程next!=NULL) nn=l1-next-data; l1-next=l1-next-next; m=nn; showall(l1,l2,m); break; case 4: if(la-next=NULL) cout没有正在阻塞的进程endl; else coutc; while(la-next-data!=c) la=la-next; tail(l1,la-next-data); la-next=la-next-next; if(m=0) if(l

8、1-next!=NULL) nn=l1-next-data; l1-next=l1-next-next; m=nn; showall(l1,l2,m); else showall(l1,l2,m); break; case 5: coutq; while(lll1-next!=NULL) if(lll1-next-data=q) lll1-next=lll1-next-next; showall(l1,l2,m); break; else lll1=lll1-next; while(lll2-next!=NULL) if(lll2-next-data=q) lll2-next=lll2-next-next; showall(l1,l2,m); break; else lll2=lll2-next; if(m=q) m=0; if(l1-next!=NULL) nn=l1-next-data; l1-next=l1-next-next; m=nn; showall(l1,l2,m); cinn;4、利用函数C+标准输入输出iostream.h头文件、cin标准输入、cout标准输出。实验结果(测试用例、实验结果)实验总结掌握并进一步熟悉操作系统进程的各种状态以及转换。掌握利用高级语言模拟进程的执行,提高了编程设计能力。学会使用最基本C+函数

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1