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

更新时间:2023-06-08 12:22:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

目录

1

进程创建模拟实现 .......................................................................................................................... 6 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 2

实验类型 ................................................................................................................................. 6 实验目的 ................................................................................................................................. 6 实验描述 ................................................................................................................................. 6 实验内容 ................................................................................................................................. 6 实验要求 ................................................................................................................................. 6 测试要求 ................................................................................................................................. 6 相关知识 ................................................................................................................................. 7 实验设备 ................................................................................................................................. 9 实验指导 ................................................................................................................................. 9 实验成绩评定 ......................................................................................................................... 9 实验报告 ................................................................................................................................. 9 实验思考 ................................................................................................................................. 9

P、V原语的模拟实现 ................................................................................................................... 10 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12

实验类型 ............................................................................................................................... 10 实验目的 ............................................................................................................................... 10 实验描述 ............................................................................................................................... 10 实验内容 ............................................................................................................................... 10 实验要求 ............................................................................................................................... 10 测试要求 ............................................................................................................................... 10 相关知识 ............................................................................................................................... 11 实验设备 ............................................................................................................................... 11 实验指导 ............................................................................................................................... 11 实验成绩评定 ....................................................................................................................... 12 实验报告 ............................................................................................................................... 12 实验思考 ............................................................................................................................... 12

3 进程撤销模拟实现 ........................................................................................................................ 13 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11

实验类型 ............................................................................................................................... 13 实验目的 ............................................................................................................................... 13 实验描述 ............................................................................................................................... 13 实验内容 ............................................................................................................................... 13 实验要求 ............................................................................................................................... 13 测试要求 ............................................................................................................................... 14 相关知识 ............................................................................................................................... 14 实验设备 ............................................................................................................................... 15 实验成绩评定 ....................................................................................................................... 15 实验报告 ............................................................................................................................... 16 实验思考 ............................................................................................................................... 16

4 FCFS进程调度模拟实现 ............................................................................................................... 17

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

4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 5

实验目的 ............................................................................................................................... 17 实验描述 ............................................................................................................................... 17 实验内容 ............................................................................................................................... 17 实验要求 ............................................................................................................................... 17 测试要求 ............................................................................................................................... 18 相关知识 ............................................................................................................................... 18 实验设备 ............................................................................................................................... 18 实验成绩评定 ....................................................................................................................... 19 实验报告 ............................................................................................................................... 19 实验思考 ............................................................................................................................... 19

银行家算法实现 ............................................................................................................................ 20 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11

实验类型 ............................................................................................................................... 20 实验目的 ............................................................................................................................... 20 实验描述 ............................................................................................................................... 20 实验内容 ............................................................................................................................... 20 实验要求 ............................................................................................................................... 20 测试要求 ............................................................................................................................... 21 相关知识 ............................................................................................................................... 21 实验设备 ............................................................................................................................... 22 实验成绩评定 ....................................................................................................................... 22 实验报告 ............................................................................................................................... 22 实验思考 ............................................................................................................................... 22

6 改进型CLOCK页面置换算法实现 ................................................................................................ 23 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10 6.11

实验类型 ............................................................................................................................... 23 实验目的 ............................................................................................................................... 23 实验描述 ............................................................................................................................... 23 实验内容 ............................................................................................................................... 23 实验要求 ............................................................................................................................... 23 测试要求 ............................................................................................................................... 24 相关知识 ............................................................................................................................... 24 实验设备 ............................................................................................................................... 24 实验成绩评定 ....................................................................................................................... 25 实验报告 ............................................................................................................................... 25 实验思考 ............................................................................................................................... 25

7 SCAN磁盘调度模拟实现 ............................................................................................................... 26 7.1 7.2 7.3 7.4 7.5 7.6

实验类型 ............................................................................................................................... 26 实验目的 ............................................................................................................................... 26 实验描述 ............................................................................................................................... 26 实验内容 ............................................................................................................................... 26 实验要求 ............................................................................................................................... 26 测试要求 ............................................................................................................................... 27

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

7.8 7.9 7.10 7.11 8

实验设备 ............................................................................................................................... 27 实验成绩评定 ....................................................................................................................... 27 实验报告 ............................................................................................................................... 27 实验思考 ............................................................................................................................... 27

基于时间片的高优先级调度模拟实现 ........................................................................................ 29 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 8.10 8.11

实验类型 ............................................................................................................................... 29 实验目的 ............................................................................................................................... 29 实验描述 ............................................................................................................................... 29 实验内容 ............................................................................................................................... 29 实验要求 ............................................................................................................................... 29 测试要求 ............................................................................................................................... 30 相关知识 ............................................................................................................................... 30 实验设备 ............................................................................................................................... 31 实验成绩评定 ....................................................................................................................... 31 实验报告 ............................................................................................................................... 31 实验思考 ............................................................................................................................... 31

9 连续动态内存管理模拟实现 ........................................................................................................ 32 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 9.10 9.11

实验类型 ............................................................................................................................... 32 实验目的 ............................................................................................................................... 32 实验描述 ............................................................................................................................... 32 实验内容 ............................................................................................................................... 32 实验要求 ............................................................................................................................... 32 测试要求 ............................................................................................................................... 33 相关知识 ............................................................................................................................... 33 实验设备 ............................................................................................................................... 34 实验成绩评定 ....................................................................................................................... 34 实验报告 ............................................................................................................................... 34 实验思考 ............................................................................................................................... 34

10 EXE文件装载实现 ......................................................................................................................... 35 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 10.10 10.11 11

实验类型 ............................................................................................................................... 35 实验目的 ............................................................................................................................... 35 实验描述 ............................................................................................................................... 35 实验内容 ............................................................................................................................... 35 实验要求 ............................................................................................................................... 35 测试要求 ............................................................................................................................... 35 相关知识 ............................................................................................................................... 36 实验设备 ............................................................................................................................... 37 实验成绩评定 ....................................................................................................................... 37 实验报告 ........................................................................................................................... 37 实验思考 ........................................................................................................................... 37

附录: ....................................................................................................................................... 38

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

11.2 11.3

实验二代码: ....................................................................................................................... 43

BASIC.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) 该设计和实际的操作系统进程创建相比,缺少了哪些步骤?

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

2 P、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) 撰写实验报告。

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

3.6 测试要求

1) 构建1棵进程树,该树至少包含4层;

2) 对该树中的多个进程进行删除,至少对一个含有孙子进程的进程进行删除。

3.7 相关知识 3.7.1 进程创建流程

1) 从PCB链中找到该进程的PCB,从中读出该进程的状态; 2) 如果该进程处于执行状态,则终止该进程并置调度标志为真; 3) 若该进程有子孙进程,需要撤销其子孙进程; 4) 释放该进程占有的资源; 5) 从PCB链中移出该进程的PCB。

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

3.7.2 进程树

图3-1进程树

进程树用于描述进程家族关系,如图1-1中可以看出,进程P1创建了进程P2、P3、P4、P5,而P2又创建了P6、P7、P8 。在进程创建过程中,需要对每一个新增加的进程加入到进程树中,有了清晰的父子关系,可以轻松地撤销其子孙进程。

3.8 实验设备

PC机1台,要求安装DOS7.1、Turbo C3.0、Windows2000。

3.9 实验成绩评定

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

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

3.10 实验报告

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

3.11 实验思考

1) 进程撤销的核心内容是什么? 2) 可否采用其它的撤销方法?

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

4 FCFS进程调度模拟实现

4.1 实验类型

设计型(4学时)。

4.2 实验目的

1) 理解进程调度相关理论; 2) 掌握FCFS进程调度方法。

4.3 实验描述

本实验是一个模拟实验,模拟操作系统中进程调度过程。要求实验者设计一个程序,该程序可模拟对10个以上的进程进行FCFS的方式进行调度。

4.4 实验内容

1) 设计可用于该实验的进程控制块,进程控制块至少包括进程号、到达时间和要求服

务时间;

2) 动态或静态创建多个(≥10)进程; 3) 实现FCFS调度算法; 4) 可动态修改进程到达时间; 5) 调度所创建的进程并显示调度结果。

4.5 实验要求

1) 编写程序完成实验内容; 2) 画出FCFS调度函数流程图; 3) 撰写实验报告。

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

4.6 测试要求

1)要求测试结果包含进程号、到达时间、服务时间、开始执行时间,示例如下:

2)可多次修改进程到达时间,进行多次调度并显示结果。

4.7 相关知识 4.7.1 CPU调度

一个进程通常需要进行高级、低级调度才能获得CPU,而一些进程在整个执行周期可能还需要中程调度,在该实验中,我们仅考虑低级调度。

低级调度通常有以下2种方式:

非抢占式:采用这种方式时,一旦CPU分配给某个进程后,便让该进程一直执行,直至该进程完成或等待某事件而阻塞时,才把CPU分配给其他进程。

抢占式:允许调度程序根据某些原则,去暂停某个正在执行的进程,把CPU重新分配给另一个进程。抢占的原则有:优先权、时间片等。

4.7.2 先来先服务(FCFS)调度算法

每次从就绪队列中选择一个最先进入该队列的进程,为之分配CPU,使之运行。该进程一直运行道完成或被某事件阻塞后,才放弃CPU。

4.8 实验设备

PC机1台,要求安装DOS7.1、Turbo C3.0、Windows2000。

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

4.9 实验成绩评定

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

4.10 实验报告

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

4.11 实验思考

1) FCFS调度的优缺点是什么? 2) 短程调度还有哪些调度算法?

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

5 银行家算法实现

5.1 实验类型

设计型(4学时)。

5.2 实验目的

1) 理解死锁避免相关内容; 2) 掌握银行家算法主要流程; 3) 掌握安全性检查流程。

5.3 实验描述

本实验主要对操作系统中的死锁预防部分的理论进行实验。要求实验者设计一个程序,该程序可对每一次资源申请采用银行家算法进行分配。

5.4 实验内容

1) 设计多个资源(≥3); 2) 设计多个进程(≥3);

3) 设计银行家算法相关的数据结构;

4) 动态进行资源申请、分配、安全性检测并给出分配结果。

5.5 实验要求

1) 编写程序完成实验内容; 2) 画出安全性检测函数流程图; 3) 撰写实验报告。

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

5.6 测试要求

1) 进行Request请求,输入参数为进程号、资源号和资源数; 2) 进行3次以上的Request请求;

3) 至少进行1次资源数目少于可用资源数,但不安全的请求。

5.7 相关知识

5.7.1 银行家算法的数据结构

1) 可利用资源向量Available。其中每个元素代表每类资源的数目。

2) 最大需求矩阵Max。其中每个元素代表每个进程对于每类资源的最大需求量。

Max[i,j]=K表示i进程对于j类资源的最大需求量为K。

3) 分配矩阵Allocation。其中每个元素代表每个进程已得到的每类资源的数目。 4) 需求矩阵Need。其中每个元素代表每个进程还需要的每类资源的数目。

5.7.2 银行家算法

Request i [j]=K表示进程Pi需要K个j类资源。

1) 如果Request i [j]≤Need[i , j],便转向步骤2,否则认为出错。

2) 如果Request i [j]≤Available[j],便转向步骤3,否则表示无足够资源,Pi需

等待;

3) 系统尝试分配资源给Pi;

4) 系统进行安全性检查,检查此次资源分配后,系统是否安全。如果安全,则正式分

配资源,否则撤销此次分配。

5.7.3 安全性算法

1) 设置两个向量:工作向量Work和Finish。算法开始时Work=Available;Finish

表示系统是否有足够的资源分配给进程,使之运行完成,开始时,令Finish[i]=False;如果有足够的资源分配给进程,则令Finish[i]=True。

2) 从进程集合中找到一个能满足下列条件的进程:Finish[i]=False;Need[i,j] ≤

Work[j],若找到,执行步骤3),否则,执行步骤4);

3) Pi获得所需资源后,可顺利执行指导完成,并释放它占有的资源。并执行:

Work[j]=Work[j]+Allocation[i , j]; Finish[i] = True; 到第2)步。

本文来源:https://www.bwwdw.com/article/ayf1.html

Top