西北农林科技大学操作系统实习

来源:互联网 发布:工业数据采集难点 编辑:程序博客网 时间:2024/04/27 23:59

源码见:实习2-4源码

实验二 作业调度实验
一. 目的要求:
用高级语言编写和调试一个或多个作业调度的模拟程序,以加深对作业调度算法的理解。
二.实验环境:
三.实验题:
1、编写并调试一个单道处理系统的作业等待模拟程序。
  作业等待算法:分别采用先来先服务(FCFS),最短作业优先(SJF)、响应比高者优先(HRN)的调度算法。
对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间,以比较各种算法的优缺点。

2、编写并调度一个多道程序系统的作业调度模拟程序。
  作业调度算法:采用基于先来先服务的调度算法。可以参考课本中的方法进行设计。
对于多道程序系统,要假定系统中具有的各种资源及数量、调度作业时必须考虑到每个作业的资源要求。

实验三 存储管理实验
一.目的要求:
1、通过编写和调试存储管理的模拟程序以加深对存储管理方案的理解。熟悉虚存管理的各种页面淘汰算法。
2、通过编写和调试地址转换过程的模拟程序以加强对地址转换过程的了解。
二.运行环境
该实验使用c和c++编写,编译器为gcc,所选IDE为codeblocks。
三 .实验题:
1、设计一个固定式分区分配的存储管理方案,并模拟实现分区的分配和回收过程。
  可以假定每个作业都是批处理作业,并且不允许动态申请内存。为实现分区的分配和回收,可以设定一个分区说明表,按照表中的有关信息进行分配,并根据分区的分配和回收情况修改该表。
2、设计一个可变式分区分配的存储管理方案。并模拟实现分区的分配和回收过程。
对分区的管理法可以是下面三种算法之一:
首次适应算法
循环首次适应算法
最佳适应算法

3、编写并调试一个段页式存储管理的地址转换的模拟程序。
  首先设计好段表、页表,然后给出若干个有一定代表性的地址,通过查找段表页表后得到转换的地址。
要求打印转换前的地址,相应的段表,页表条款及转换后的地址,以便检查。

实验四 文件系统实验
一 .目的要求
1、用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。
2、要求设计一个 n个用户的文件系统,每次用户可保存m个文件,用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有Create、delete、open、close、read、write等命令。
二.实验环境
实验使用语言为c++,编译器为g++,运行在codeblocks下。
三 .例题:
1、设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件。
2、程序采用二级文件目录(即设置主目录[MFD])和用户文件目录(UED)。另外,为打开文件设置了运行文件目录(AFD)。
3、为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读写指针,并不进行实际的读写操作。
4、算法与框图:
①因系统小,文件目录的检索使用了简单的线性搜索。
②文件保护简单使用了三位保护码:允许读写执行、对应位为 1,对应位为0,则表示不允许读写、执行。
③程序中使用的主要设计结构如下:
主文件目录和用户文件目录( MFD、UFD)
打开文件目录( AFD)(即运行文件目录)

M D F U F D A F D
用户名 文件名 打开文件名
文件目录指针 保护码 打开保护码
用户名 文件长度 读写指针
文件目录指针 文件名
·
·

文件系统算法的流程图如下:
四 .实验题:
1、增加 2~3个文件操作命令,并加以实现。(如移动读写指针,改变文件属性,更换文件名,改变文件保护级别)。
2、编一个通过屏幕选择命令的文件管理系统,每屏要为用户提供足够的选择信息,不需要打入冗长的命令。
3、设计一个树型目录结构的文件系统,其根目录为 root,各分支可以是目录,也可以是文件,最后的叶子都是文件。
4、根据学校各级机构,编制一文件系统。

0 0