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