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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

操作系统pcb的组织与维护实验Word文件下载.docx

1、1、 系统利用PCB来描述进程的基本情况以及进程的运行变化过程。PCB是进程存在的唯一标志,当系统创建一个进程时,为进程设置一个PCB,再利用PCB对进程进行管理和控制。撤销进程时,系统收回它的PCB,进程也随之消亡。进程是由程序、数据和进程控制块PCB三部分组成.PCB是进程的“灵魂”,由于进程控制块中保存了进程的地址信息,通过PCB可以得到进程程序的存储位置,也可以找到整个进程。2、 为了便于管理,系统把所有的PCB用适当方式组织起来。一般来说,大致有以下三种组织方式:1、线性方式;2、索引方式;3、连接方式。通过这三种方式的组织进而对进程进行高效的管理。五、 算法设计与流程程序设计流程图

2、如下:1、 线性方式流程图:线性方式代码:#include stringusing namespace std;#define FALSE 0#define TRUE 1#define TASK_READY 3#define TASK_WAITE 4#define TASK_RUNNING 5struct task_struct string pname; /进程名 int pid;/进程号 int state;/进程当前状态/*3 就绪状态 4 等待状态 5运行状态*/ task_struct *next;/指向下一个的;/void showInput();void menu(task_st

3、ruct *pcb);/int inputNum()/提示输入进程数 int n; coutn;endl; return n;void CreateList(task_struct *pcb,int n) pcb-next=NULL; task_struct *p=new task_struct; p=pcb; for(int i=0;ipid=i+1; cout请输入第i+1q-pname;loop:请输入进程状态(3为就绪状态,4为等待,5为运行):tmp; if(tmp!=3&tmp!=4&=5) coutstate=tmp; if(p-next=NULL) p-next=q; /p=q

4、;Add a node else p=p-next;for Add void display(task_struct *pcb) task_struct *p;*进程号t进程名t当前状态 for(p=pcb-p!=NULL;p=p-next)p-pidtpnamestate) case 3:cout case 3: case 4: case 5: endlnext); /if(q- if(pcb- p-pid=1; elsepid=q-pid+1;请输入要添加的进程名:loop1: if(tmp! goto loop1; p- pcb-next=p; display(pcb);void Del

5、ete(task_struct *pcb)/删除 task_struct *p,*q;请输入要删除的进程号: for(p=pcb; q=p- if(q-pid=tmp)next=q- delete q; display(pcb);/void Destroy(task_struct *pcb)/销毁链表 while(p-=NULL) delete q; delete pcb;void menu(task_struct *pcb)/提示选择相应的操作 int m;1. 查询2. 添加3. 删除4. 返回首菜单选择:m; switch(m) case 1:Query(pcb); case 2:Add

6、(pcb);Delete(pcb);Destroy(pcb);showInput(); default:输入有误!重新输入 menu(pcb);void List()/线性方式 int n=inputNum(); task_struct *pcb=new task_struct; CreateList(pcb,n);void Hash()/索引方式/ int n=inputNum();void showInput() /提示选择输入1. 线性方式 /cout2. 索引方式请输入你的选择: switch(tmp)List(); /case 2:Hash();请重新输入。 showInput();void main() showInput();六、实验调试与结果分析(问题的发现、分析、解决方案与创新)实验结果展示:*进程号 进程名 当前状态1 a TASK_WAITE2 s TASK_READY3 d TASK_RUNNING1. 查询2. 添加3. 删除4. 返回首菜单2f54 f TASK_RUNNING341. 线性方式2. 索引方式

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2