下载此文档

操作系统pcb的组织与维护实验.doc


文档分类:通信/电子 | 页数:约14页 举报非法文档有奖
1/14
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/14 下载此文档
文档列表 文档介绍
****大学计算机科学系
实验报告书
实验题目: pcb的组织与维护
课程名称: 操作系统
主讲教师:
辅导教师:
课程编号:
班级:
实验时间:
实验目的:
1、通过编写和调试pcb组织与维护的模拟程序以加深对pcb组织与维护方案的理解。
2、通过编写和调试pcb组织与维护的模拟程序以加强对进程的基本情况以及进程的运行变化过程的进一步理解。 
实验环境:
VC ++
实验内容
1、通过线性方式对以pcb为唯一标志的进程进行创建、查询、添加、删除等操作。
2、通过索引方式对以pcb为唯一标志的进程进行创建、查询、添加、删除等操作。
3、通过链接方式对以pcb为唯一标志的进程进行创建、查询、添加、删除等操作。
实验设计原理
系统利用PCB来描述进程的基本情况以及进程的运行变化过程。PCB是进程存在的唯一标志,当系统创建一个进程时,为进程设置一个PCB,再利用PCB对进程进行管理和控制。撤销进程时,系统收回它的PCB,进程也随之消亡。进程是由程序、“灵魂”,由于进程控制块中保存了进程的地址信息,通过PCB可以得到进程程序的存储位置,也可以找到整个进程。
为了便于管理,系统把所有的PCB用适当方式组织起来。一般来说,大致有以下三种组织方式:1、线性方式;2、索引方式;3、连接方式。通过这三种方式的组织进而对进程进行高效的管理。
算法设计与流程
程序设计流程图如下:
线性方式流程图:







开始
读入选择选择输入
输入是否是1

线性方式
是否是2
索引方式
输出:输入有误!请重新输入
请输入进程的个数
读入进程的个数n
保存这n个进程的信息,并创建n个进程
选择相应的操作
查询
添加
删除
返回首菜单
在已有的进程信息中查找对应进程号的进程信息
是否存在
输出进程信息
无该进程
把新的进程信息保存
在已有的进程信息中查找对应进程号的进程信息
是否存在
删除该进程
无该进程
线性方式代码:
#include <iostream>
#include <string>
using namespace std;
#define FALSE 0
#define TRUE 1
#define TASK_READY 3
#define TASK_WAITE 4
#define TASK_RUNNING 5
struct task_struct
{
string pname; //进程名
int pid;//进程号
int state;//进程当前状态/*3 就绪状态 4 等待状态 5运行状态*/
task_struct *next;//指向下一个的
};
/////////////////////////////////////
void showInput();
void menu(task_struct *pcb);
////////////////////////////////
int inputNum()//提示输入进程数
{
int n;
cout<<"请输入进程数:";
cin>>n;
cout<<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;i<n;i++)
{
task_struct *q=new task_struct;
int tmp;
q->pid=i+1;
cout<<"请输入第"<<i+1<<"个进程名:";
cin>>q->pname;
loop: cout<<"请输入进程状态(3为就绪状态,4为等待,5为运行):";
cin>>tmp;
if(tmp!=3&&tmp!=4&&tmp!=5)
{
cout<<"输入错误!"<<endl;
goto loop;
}
else
q->state=tmp;
if(p->next==NULL)
{
q->next=NULL;
p->next=q;
//p=q;
cout<<"Add a node"<<endl;
}
else
{
q->next=NULL;
p=p->next;
p->next=q;
//p=q;
cout<<"for Add"<<endl;
}

操作系统pcb的组织与维护实验 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数14
  • 收藏数0 收藏
  • 顶次数0
  • 上传人511709291
  • 文件大小72 KB
  • 时间2019-01-10