《操作系统》实验指导书

2020-03-03 12:31:36 来源:范文大全收藏下载本文

《操作系统》实验指导书

(适用于计科、网络工程、软件工程、信计专业)

计算机科学与技术学院

2010-5

前言 ..................................................................................................................................................3 实验

一、进程管理与进程同步 .......................................................................................................4 实验

二、存储器管理 .......................................................................................................................6 实验

三、磁盘调度算法的设计 .......................................................................................................7 实验

四、文件系统原理与模拟实现 ...............................................................................................8

本课程将系统学习操作系统的基本概念和常用算法以及其发展情况和应用情况。通过本课程的学习,学生应达到如下要求:

1、加深理解操作系统原理。

2、熟悉操作系统的常用算法并完成算法的程序设计。

3、理解当前操作系统的应用前景和新的进展。

本课程主要讲解操作系统的实现原理,如进程管理、进程同步、存储器管理、设备管理和文件系统等。要求学生理解操作系统的基本原理并完成其中多种典型的操作系统的算法的模拟序设计。

学生可以采用任何一种自己熟悉的编程语言完成算法的程序设计,如C/C++、Delphi、VB、VC、C#等。

实验

一、进程管理

实验目的:

理解和掌握进程管理中死锁处理和进程同步的方法。

实验内容:

实现银行家算法、进程调度过程的模拟、读者-写者问题的写者优先算法。

实验步骤:

 理解安全性算法和银行家算法的核心机制:

针对3类资源、5个进程的情况,设计相应的数据结构,分别表示每个进程占用各类资源的情况;

编程实现安全性算法函数,编制主函数,动态输入资源的占用情况,进程的资源申请,调用安全性函数,实现银行家算法;

测试:输入可分配和不可分配的请求,测试系统的正确性。

 理解进程的三状态调度过程,及各状态间的转换关系;

模拟若干个进程的运行过程,将其存入进程文件中。如:进程1:运行5秒后有3秒的I/O操作,之后有10秒的运行,结束。可以写成:”p1:r5,io3,r3 e;” ;

编程实现调度算法函数,定义时间片大小和并发进程个数,不断从进程文件中读出进程信息,模拟进程的运行及调度过程;

测试:针对进程文件里面的数据为正常、缺项、格式不正确等各种情况,检测程序的执行结果。

 设计读者--写者问题的写者优先算法;

学习Windows平台下信号量的API函数的使用;编制读写进程的模拟信息文件,里面包含多个读写进程的运行描述:编制读者--写者问题的写者优先算法,从进程模拟信息文件中取出进程信息,按要求启动对应的进程模拟程序,决定出读者/写者进程的运行次序。

实验结果:

银行家算法程序提供一个用户界面,可以在上边发出资源申请命令,系统应能给出是否可以接受申请,并且有结论输出;

进程调度模拟程序根据一个进程调度文件,模拟进程的各种调度过程,用适合的表达方式表示出来。

写者优先同步控制程序根据一个读写进程模拟信息文件,按照写者优先同步控制过程,用适合的表达方式表示出各读写进程的执行次序。

实验

二、存储器管理

实验目的:

理解各类置换算法的原理和虚拟存储器管理的方法。

实验内容:

编程实现LRU算法或CLOCK/改进算法等置换算法(二选一),模拟实现虚拟存储器的地址变换过程。

实验步骤:

 理解LRU或CLOCK改进算法等置换算法;

设计与算法相关的数据结构,如:LRU的堆栈或CLOCK改进算法中的循环结构;

按照最多5块的内存分配情况,编程实现所选算法,动态输入访问内存的块号序列,输出置换结果;

测试:输入合法、非法的访问序列数据,检查程序的正确性和健壮性。

 理解虚拟存储器的地址变换过程;

设计用于模拟快表、页表、地址变换所用的寄存器的数据结构; 编制页表的初始信息文件,举例说明文件中具有的信息:共有5块,每块的状态、在内存和外存的起始地址等。

编程实现虚拟存储器地址变换算法程序,动态输入所要访问的逻辑地址,变换过程文字描述以及变换后的物理地址;

测试:输入有效、无效地址,测试程序的正确性和错误处理能力。

实验结果:

置换算法程序提供内存访问序列的输入界面,输出正确的置换过程描述和置换结果;

虚拟地址变换程序提供逻辑地址输入界面,形象地表示出变换成物理地址的过程与最后变换成的物理地址。

实验

三、磁盘调度算法的设计

实验目的:

通过对磁盘调度算法的设计,深入理解提高磁盘访问速度的原理。

实验内容:

模拟实现磁盘调度算法:最短寻道时间优先(SSTF)和扫描(SCAN)算法。

要求:

可以对给出的任意的磁盘请求序列、计算平均寻道长度; 要求可定制磁盘请求序列长度、磁头起始位置、磁头移动方向。

测试:假设磁盘访问序列:98,183,37,122,14,124,65,67;读写头起始位置:53,方向:磁道增加的方向。

实验

四、文件系统原理与模拟实现

实验目的:

了解操作系统中文件系统的结构和管理过程,掌握经典的算法:混合索引与成组链接法等方法。

实验内容:

编程模拟实现混合索引和成组链接法算法;

实验步骤:

 模拟混合索引的原理;

假设每个盘块16字节大小,每个盘块号占2字节:

设计支持混合索引算法的索引节点的数据结构;编程模拟实现混合索引算法。

测试:输入一个文件的长度,给出模拟分配占用的磁盘块的情况;输入一个需要访问的地址,计算该地址所在的盘块号。

 模拟成组链接法的原理;

设系统具有7个可用磁盘块,每组3块。

编程模拟实现成组链接法。输入请求的磁盘块数,模拟成组链接分配;输入回收的磁盘块号,模拟成组链接回收。

测试:输入请求的磁盘块数,给出分配后的链接情况。输入回收的磁盘块号,给出回收后的链接情况。

2嵌入式操作系统实验指导书(5月更新)

操作系统实验

《操作系统课程设计》指导书分析

《操作系统》实验教学指导书2.1

操作系统实验十

操作系统实验体会

操作系统实验六

操作系统实验总结

底盘实验指导书

VB实验指导书

《《操作系统》实验指导书.doc》
《操作系统》实验指导书
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文