当前位置:文档之家› 计算机操作系统原理实验指导书

计算机操作系统原理实验指导书

目录1进程创建模拟实现 (6)1.1实验类型 (6)1.2实验目的 (6)1.3实验描述 (6)1.4实验内容 (6)1.5实验要求 (6)1.6测试要求 (6)1.7相关知识 (7)1.8实验设备 (9)1.9实验指导 (9)1.10实验成绩评定 (9)1.11实验报告 (9)1.12实验思考 (9)2P、V原语的模拟实现 (10)2.1实验类型 (10)2.2实验目的 (10)2.3实验描述 (10)2.4实验内容 (10)2.5实验要求 (10)2.6测试要求 (10)2.7相关知识 (11)2.8实验设备 (11)2.9实验指导 (11)2.10实验成绩评定 (12)2.11实验报告 (12)2.12实验思考 (12)3进程撤销模拟实现 (13)3.1实验类型 (13)3.2实验目的 (13)3.3实验描述 (13)3.4实验内容 (13)3.5实验要求 (13)3.6测试要求 (14)3.7相关知识 (14)3.8实验设备 (15)3.9实验成绩评定 (15)3.10实验报告 (16)3.11实验思考 (16)4FCFS进程调度模拟实现 (17)4.2实验目的 (17)4.3实验描述 (17)4.4实验内容 (17)4.5实验要求 (17)4.6测试要求 (18)4.7相关知识 (18)4.8实验设备 (18)4.9实验成绩评定 (19)4.10实验报告 (19)4.11实验思考 (19)5银行家算法实现 (20)5.1实验类型 (20)5.2实验目的 (20)5.3实验描述 (20)5.4实验内容 (20)5.5实验要求 (20)5.6测试要求 (21)5.7相关知识 (21)5.8实验设备 (22)5.9实验成绩评定 (22)5.10实验报告 (22)5.11实验思考 (22)6改进型CLOCK页面置换算法实现 (23)6.1实验类型 (23)6.2实验目的 (23)6.3实验描述 (23)6.4实验内容 (23)6.5实验要求 (23)6.6测试要求 (24)6.7相关知识 (24)6.8实验设备 (24)6.9实验成绩评定 (25)6.10实验报告 (25)6.11实验思考 (25)7SCAN磁盘调度模拟实现 (26)7.1实验类型 (26)7.2实验目的 (26)7.3实验描述 (26)7.4实验内容 (26)7.5实验要求 (26)7.6测试要求 (27)7.8实验设备 (27)7.9实验成绩评定 (27)7.10实验报告 (27)7.11实验思考 (27)8基于时间片的高优先级调度模拟实现 (29)8.1实验类型 (29)8.2实验目的 (29)8.3实验描述 (29)8.4实验内容 (29)8.5实验要求 (29)8.6测试要求 (30)8.7相关知识 (30)8.8实验设备 (31)8.9实验成绩评定 (31)8.10实验报告 (31)8.11实验思考 (31)9连续动态内存管理模拟实现 (32)9.1实验类型 (32)9.2实验目的 (32)9.3实验描述 (32)9.4实验内容 (32)9.5实验要求 (32)9.6测试要求 (33)9.7相关知识 (33)9.8实验设备 (34)9.9实验成绩评定 (34)9.10实验报告 (34)9.11实验思考 (34)10EXE文件装载实现 (35)10.1实验类型 (35)10.2实验目的 (35)10.3实验描述 (35)10.4实验内容 (35)10.5实验要求 (35)10.6测试要求 (35)10.7相关知识 (36)10.8实验设备 (37)10.9实验成绩评定 (37)10.10实验报告 (37)10.11实验思考 (37)11附录: (38)11.2实验二代码: (43)11.3BASIC.H文件 (48)1进程创建模拟实现1.1 实验类型验证型(2学时)。

1.2 实验目的1)理解进程创建相关理论;2)掌握进程创建方法;3)掌握进程相关数据结构。

1.3 实验描述本实验针对操作系统中进程创建相关理论进行实验。

要求实验者输入实验指导书提供的代码并进行测试。

代码简化了进程创建的多个步骤和内容。

进程的树形结构采用广义表的方式进行存储。

1.4 实验内容1)输入给定代码;2)进行功能测试并得出正确结果。

1.5 实验要求1)分析进程创建函数createpc程序模块;2)画出createpc函数程序流程图;3)撰写实验报告。

1.6 测试要求1)至少创建10个进程;2)创建进程树中4层以上的数型结构。

1.7 相关知识1.7.1进程控制块为了描述和控制进程的运行,系统为每个进程定义了一个进程控制块(PCB),它是进程实体的一部分,是操作系统管理进程最重要的数据结构。

其主要包含四类信息:1)进程标识符它唯一地标识一个进程。

通常包括进程号pid,父进程号ppid和用户号uid。

2)处理机状态处理器的状态通常由处理机的各种寄存器中的内容组成。

PCB存放中断(阻塞,挂起)时的各寄存器值,当该进程重新执行时,可以从断点处恢复。

主要包括:a)通用寄存器;b)指令计数器;c)程序状态字PSW;d)用户栈指针;3)进程调度信息包括:a)进程状态;b)进程优先级(用于描述优先使用cpu级别的一个整数,高优先级的进程先得到cpu,通常情况下,值越小优先级越高);c)其它信息(等待时间、总执行时间等);d)事件(等待原因)。

4)进程控制信息包括:a)程序和数据的地址(程序在内存和外存中的首址);b)进程同步和通信机制;c)资源列表(进程除CPU以外的所有资源);d)链接指针(进程队列中指向下一个进程的PCB首址)。

1.7.2进程创建流程1)申请空白PCB为新进程申请获得唯一的数字标识符,并从PCB集合中索取一个空白PCB。

如果无空白PCB,可以新创建一个PCB。

在本实验中,每次动态创建PCB。

2)为新进程分配资源为新进程分配内存空间和栈空间。

3)初始化进程控制块●初始化标识信息●初始化处理机状态信息●初始化处理机控制信息4)将新进程插入就绪队列1.7.3进程树图1-1进程树进程树用于描述进程家族关系,如图1-1中可以看出,进程P1创建了进程P2、P3、P4、P5,而P2又创建了P6、P7、P8 ……。

在进程创建过程中,需要对每一个新增加的进程加入到进程树中,有了清晰的父子关系,可以使资源继承或进程删除等操作很方便。

1.8 实验设备PC机1台,要求安装DOS7.1、Turbo C3.0、Windows2000。

1.9 实验指导输入实验提供的代码后,可以输入createpc命令创建进程,输入showdetail显示每个进程及其子进程的信息,测试命令解释如下:1)createpc 创建进程命令。

参数: 1 pid(进程id)、 2 ppid(父进程id)、3 prio(优先级)。

示例:createpc(2,1,2) 。

创建一个进程,其进程号为2,父进程号为1,优先级为2。

2)showdetail 显示进程信息命令。

3)exit 退出命令行。

1.10 实验成绩评定实验成绩评定方式包含实验报告成绩、实验过程成绩两个部分,其中实验过程成绩占60%、实验报告成绩占40%,如果其中任何一个部分成绩不及格,则总成绩按不及格处理。

1.11 实验报告按照实验目的、实验内容、实验要求、实验设备、测试等部分进行组织。

1.12 实验思考1)进程创建的核心内容是什么?2)该设计和实际的操作系统进程创建相比,缺少了哪些步骤?2P、V原语的模拟实现2.1 实验类型设计型(2学时)。

2.2 实验目的1)理解信号量相关理论;2)掌握记录型信号量结构;3)掌握P、V原语实现机制。

2.3 实验描述本实验针对操作系统中信号量相关理论进行实验,要求实验者输入实验指导书提供的代码并进行测试。

代码主要模拟信号量的P操作(wait)和V操作(signal)。

2.4 实验内容1)输入给定代码;2)进行功能测试并得出正确结果。

2.5 实验要求1)分析signal和wait函数功能模块;2)画出signal和wait函数流程图;3)撰写实验报告。

2.6 测试要求1)至少进行10次以上的wait和signal操作;2)要求wait操作出现进程等待队列;3)对有等待队列的信号量进行signal操作。

2.7 相关知识2.7.1信号量信号量也称为信号锁,主要应用于进程间的同步和互斥,在用于互斥时,通常作为资源锁。

信号量通常通过两个原子操作wait(P)和signal(V)来访问。

wait操作使信号量的值+1,signal操作使信号量的值-1。

2.7.2记录型信号量记录型信号量采用了“让权等待”的策略,存在多个进程等待访问同一临界资源的情况,所以记录型信号量需要一个等待链表来存放等待该信号量的进程控制块或进程号。

在本实验中,使用记录型信号量。

2.8 实验设备PC机1台,要求安装DOS7.1、Turbo C3.0、Windows2000。

2.9 实验指导实验中提供了5个信号量(s0-s4)和20个进程(pid 0-19)。

在程序运行过程中可以键入wait命令,signal命令和showdetail命令显示每个信号量的状态。

具体输入解释如下:1)wait 获取信号量操作(P操作)。

参数: 1 sname 2 pid 。

示例:wait(s1,2) 。

进程号为2的进程申请名字为s1的信号量。

2)signal 释放信号量操作(V操作)。

参数 1 sname。

示例:signal(s1)。

释放信号量名字为s1的信号量。

3)showdetail 显示各信号量状态及其等待队列。

4)exit 退出命令行。

2.10 实验成绩评定实验成绩评定方式包含实验报告成绩、实验过程成绩两个部分,其中实验过程成绩占60%、实验报告成绩占40%,如果其中任何一个部分成绩不及格,则总成绩按不及格处理。

2.11 实验报告按照实验目的、实验内容、实验要求、实验设备、测试等部分进行组织。

2.12 实验思考1)如果修改wait操作,使之能一次申请多个信号量?2)该设计和实际的P、V操作有什么异同点?3进程撤销模拟实现3.1 实验类型设计型(4学时)。

3.2 实验目的1)理解进程撤销相关理论;2)掌握进程撤销流程。

3.3 实验描述本实验针对操作系统中进程撤销相关理论进行实验。

要求实验者设计一个程序,该程序可模拟撤销多个进程。

3.4 实验内容1)采用动态或静态方法生成一颗进程树(进程数目≥20);2)设计进程撤销算法;3)实现进程撤销函数,采用级联方式撤销;4)可动态撤销进程;5)可动态观察进程树的情况;6)测试程序并得到正确结果。

3.5 实验要求1)编写程序完成实验内容;2)画出撤销函数流程图;3)撰写实验报告。

相关主题