- 3
- 0
- 约7.56千字
- 约 12页
- 2017-08-09 发布于湖北
- 举报
东北大学 操作系统实验二报告
操作系统实验报告
班 级 物联网1302班 学 号 姓 名
实验2 进程状态转换及其PCB的变化
1.目的:
自行编制模拟程序,通过形象化的状态显示,深入理解进程的概念、进程之间的状态转换及其所带来的PCB内容 、组织的变化,理解进程与其PCB间的一一对应关系。
2. 内容及要求:
设计并实现一个模拟进程状态转换及其相应PCB内容、组织结构变化的程序。
独立编写、调试程序。进程的数目、进程的状态模型(三状态、五状态、七状态或其它)以及PCB的组织形式可自行选择。
合理设计与进程PCB相对应的数据结构。PCB的内容要涵盖进程的基本信息、控制信息、资源需求及现场信息。
设计出可视性较好的界面,应能反映出进程状态的变化引起的对应PCB内容、组织结构的变化。
代码书写要规范,要适当地加入注释。
6) 认真进行预习,完成预习报告。
7) 实验完成后,要认真总结,完成实验报告。
3.使用的数据结构及说明:
在本实验中,主要用到的数据结构是PCB的结构,其中PCB的数据结构如下:enum Status
{
Running,
Ready,
Blocked,
Exit
};
struct PCB
{
int id; //进程号
int priority; //优先级
enum Status status; //进程状态
char name; //进程名称
};
struct Running
{
struct PCB pcb;
struct Running *pcbnext;
};
struct Running *header_running;
struct Ready
{
struct PCB pcb;
struct Ready *pcbnext;
};
struct Ready *header_ready, *tail_ready;
struct Blocked
{
struct PCB pcb;
struct Blocked *pcbnext;
};
struct Blocked *header_blocked, *tail_blocked;
struct Exit
{
int id;
char name;
struct Exit *pcbnext;
};
struct Exit *header_exit,*tail_exit;
流程图
程序源代码,注释及说明文字:
Main.c
#includestdio.h
#includestdlib.h
#includeprocess.h
#includeerrno.h
int main()
{
int i = 1;
int choice = -1;
header_running = (struct Running *) malloc(sizeof(struct Running)); //创建运行状态队列头
if (NULL == header_running)
{
perror(error);
exit(1);
}
header_running-pcbnext = NULL;
header_ready = (struct Ready *) malloc(sizeof(struct Ready)); //创建就绪队状态列头
if (NULL == header_ready)
{
perror(error);
exit(1);
}
header_ready-pcbnext = NULL;
header_blocked = (struct Blocked *) malloc(sizeof(struct Blocked)); //创建阻塞队状态列头
if (NULL == header_blocked)
{
perror(error);
exit(1);
}
header_blocked-pcbnext = NULL;
header_exit = (struct Exit *) malloc(sizeof(struct Exit)); //创建僵死状态队列头
if (NULL == header_exit)
{
perror(error);
exit(1);
}
header_exit-pcbnext = NULL;
tail_ready = header_ready;
tail_blocked = header_blocked;
tail_exit = header_exit;
printf(请输入要创建的进程个数\n);
您可能关注的文档
- 世界儿童文学史概述.ppt
- 世界十大地质景观.doc
- 世界历史——中古南亚.doc
- 世界十大艺术区.doc
- 世界上古中古史复习梳理.ppt
- 专题:没有共产党就没有新中国与习题.doc
- 世界及中国古代史复习.ppt
- 世界历史第7课课件.ppt
- 世界十类跑车介绍.ppt.ppt
- 世界古代文明(PPT).pptx
- 2025广东广州市天河区拟招聘英语实习老师1人备考题库附答案.docx
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人笔试备考试卷附答案解析.docx
- 2025广东广州市越秀区流花街道办事处招聘综合事务中心辅助人员1人笔试历年题库附答案解析.docx
- 2025广东广州市花都区新雅街清初级中学招聘临聘教师1人备考历年题库带答案解析.docx
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人笔试备考试卷带答案解析.docx
- 江苏省盐城市东台市三仓镇区中学2026届八年级数学第一学期期末教学质量检测试题含解析.doc
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人备考题库带答案解析.docx
- 江苏省盐城市亭湖区2026届数学八上期末考试试题含解析.doc
- 安徽省蚌埠市淮上区2026届数学八年级第一学期期末达标检测模拟试题含解析.doc
- 2025广东广湛城旅游轮有限公司招聘备考历年题库附答案解析.docx
最近下载
- 一次函数竞赛试题0.doc VIP
- 公司经营班子会议议事规则.pdf VIP
- 2025年全国中考历史真题分类汇编.docx VIP
- 医用控温仪产品技术要求参考版.pdf
- 2025年中考历史全国真题分类汇编:世界现代史.doc VIP
- 14G443:预制带肋底板混凝土叠合楼板 .docx VIP
- 高考调频考点(圆锥曲线)7、椭圆、双曲线的坐标版焦半径公式.pdf VIP
- 2023年山东水利职业学院单招综合素质考试试题及答案解析.docx VIP
- 2023年山东水利职业学院单招考试综合素质模拟试题及答案解析.docx VIP
- 福建省宁德市2024-2025学年八年级上学期期末考试历史试题.pdf VIP
原创力文档

文档评论(0)