《计算机操作系统》课程设计指导书

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《计算机操作系统》课程设计指导书

河海大学文天学院

2013年10月

《计算机操作系统》课程设计说明

计算机操作系统是计算机科学与技术专业的主要专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。计算机操作系统课程设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握操作系统的基本原理,加深对操作系统基本方法的理解,加深对课堂知识的理解,为学生综合运用所学知识,在Linux环境下编写功能较简单的程序来实现操作系统的基本方法、并在实践应用方面打下一定基础。要求学生在指导教师的帮助下自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个实验解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,并且能够进行简单分析和判断;能够熟练使用Linux 用户界面;掌握操作系统中进程管理概念和控制方法;了解进程的并发,进程之间的通信方式,了解虚拟存储管理的基本思想,了解设备管理的功能,了解文件系统的功能。同时培养学生进行分析问题、解决问题的能力;培养学生完成实验分析、实验方法、实验操作与测试、实验过程的观察、理解和归纳能力。

为了收到良好的实验效果,编写了这本课程设计指导书。在指导书中,每一个课程设计任务按照该课程设计大纲的要求编写,力求紧扣理论知识点、突出设计方法、明确设计思路,通过多种形式引导学生有目的、有方向地完成课程设计任务,得出实验结果。任课教师在课程设计前对课程设计的任务进行一定的分析和讲解,要求学生按照课程设计任务的具体要求提前做准备工作,如:查找资料等,做到有准备地上机。进行课程设计时,指导教师应检查学生的预习情况,并对设计过程给予积极指导。课程设计完毕后,学生应根据课程设计情况,实验数据及结果,完成课程设计报告,由班长统一收齐后交指导教师审阅评定。

任务1 进程管理系统

一、课程设计目的

加深对进程概念及进程管理各部分内容的理解;熟悉进程管理中主要数据结构的设计及进程调度算法、进程控制机构、同步机构及通讯机构的实施。

二、课程设计内容

设计一个允许n个进程并发运行的进程管理模拟系统。该系统包括有简单的进程控制、同步与通讯机构,其进程调度算法可任意选择(优先级调度,时间片轮转,短进程优先中的一种)。每个进程用一个PCB表示,其内容根据具体情况设置。各进程之间有一定的同步关系(可选)。系统在运行过程中应能显示或打印各进程的状态及有关参数的变化情况,以便观察诸进程的运行过程及系统的管理过程。

三、课程设计指导

1)实验中使用的数据结构:

1)PCB进程控制块

其中包括参数①进程名name;②要求运行时间runtime;③优先级prior;④状态state;

⑤已运行时间runedtime等。

2)为简单起见,只设运行队列,就绪队列,阻塞队列三种数据结构,进程的调度在这三个队列中切换,如图1.1所示

图1.1 PCB链表

2)进程管理的流程图

进程管理的流程图如图1.2所示,采取时间片原则来进行调度。

图1.2 进程管理流程图

2)运行结果,包括各个进程的运行顺序,每次占用处理机的运行时间,可以参考下列输出如图1.3

图1.3 输出结果示意图

3)每个进程运行时间随机产生,为1~20之间的整数。

4)时间片的大小由实验者自己定义,可为3或5,优先级也可以随机产生。5)各进程之间有一定的同步关系(可选),注意进程状态转换的时机。

任务2 存储管理系统设计

一、课程设计目的

使学生熟悉存储器管理系统的设计方法;加深对所学各种存储器管理方案的了解。

二、课程设计内容

采用一些常用的存储器分配算法,设计一个请求页式存储管理模拟系统并调试运行。

三、课程设计指导

(1)通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成(可选,也可随机产生):

①50%的指令是顺序执行的;

②25%的指令是均匀分布在前地址部分;

③25%的指令是均匀分布在后地址部分;

具体的实施方法是:

①在[0,319]的指令地址之间随机选取一起点m;

②顺序执行一条指令,即执行地址为m+1的指令;

③在前地址[0,m+1]中随机选取一条指令并执行,该指令地址为m’;

④顺序执行一条指令,其地址为m’+1;

⑤在后地址[m’+2,319]中随机选取一条指令并执行;

⑥重复上述步骤①~⑤,直到执行320次指令。

(2)将指令序列变成为页地址流

设:①页面大小为1k;

②用户内存容量为4页到32页;

③用户虚量容量为32k。

在用户虚存中,按每k存放10条指令排列虚存地址,即320条指令在虚存中的存放方式为:第0条~第9条指令为第0页(对应虚存地址为[0,9]);

第10条~第19条指令为第1页(对应许存地址为[10,19]);

……

第310条~第319条指令为第31页(对应许存地址为[310,319]);

按以上方式,用户指令可组成32页。

(3)计算并输出下述各种算法在不同内存容量下的命中率。

①先进先出的算法(FIFO);

页面失效次数

命中率= 1—————————

页地址流长度

在本次实验中,页地址长度为320,页面失效次数为每次访问相应指令时,该指令所对应的页不内存的次数。

3.随机数产生办法

关于随机数产生法,系统提供函数srand()和rand(),分别进行初始化和产生随机数。例如:

srand();

语句可初始化一个随机数;

a[0]=10*rand()/32767*320;

a[0]=10*rand()/32767*a[0];

……

语句可用来产生a[0]与a[1]中的随机数。

(4)请求页式管理的程序流程图如图2.1

图2.1请求页式管理的程序流程图

相关文档
最新文档