操作系统课程设计任务书

《操作系统》

课程设计任务书

 

 

指导教师:刘 

设计者:

班级:

学号:

 

 

 

 

 

山东建筑工程学院计算机系软件教研室

 

 


操作系统课程设计题目

   

.  混合索引模式下文件空间管理

设计要求:

编写一程序,模拟混合索引形式的文件系统。能接收建立、删除、读、写和查询属性的命令,并在模拟文件系统中进行操作。

 

例:

  create a1.doc 8000    //建立一个长度为8000字节的文件,文件名为a1.doc

  earse a1.doc    //删除文件

  read a1.doc 17 3    //a1.doc文件的第17个字节开始,显示3个字节的内容

  write a1.doc 8 ‘test’  //a1.doc文件的第8个字节开始,写入’test’字符串

  ask a1.doc    //显示文件属性  文件名,I节点编号,类型,长度,时间等。

 

建立文件:

从命令中得到文件名,得到该文件的文件长度,建立文件;

从模拟空闲索引表文件中找到一个空闲索引节点,填写相应信息;

查找模拟空闲盘块表文件,分配空闲盘块,并将分配的空闲盘块号写入所申请索引节点的地址项中(注意按混合索引方式);之后将产生的索引块(如果有的话)的内容、文件的内容(如’_’)等信息写入模拟磁盘镜像文件中;

在模拟目录表中建立一个目录项,填写文件名及申请的索引节点编号;

。。。

 

删除文件

回收文件占用的空间,修改模拟空闲盘块表文件;

回收索引节点空间,修改模拟空闲索引节点表文件;

修改模拟目录表文件。

。。。

 

读文件内容

。。。

 

写文件内容

。。。

 

显示文件属性

。。。

 

    模拟文件系统中使用4个文件模拟相应的系统环境:

 

模拟磁盘空间文件  à  模拟文件系统的磁盘 16字节一块  容量:100K  内容只包含数据和索引盘块。

例:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xyz _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

 

 

模拟空闲盘块表文件 -〉 模拟位示图法表示的空闲盘块数据结构  1个字节表示一个盘块  能表达:6400个盘块

例:00110100

 

 

模拟I节点表文件

容量:100个索引节点  42

每个I节点的结构:1 – 编号; 1 – 类型; 4 – 文件的长度; 14 – 文件建立/最后修改的时间(yyyymmddhhmmss); 22 – 物理地址(8个直接链接,1个一级,1个二级,1个三级链接);

例:3a….20030420101010…...

 

模拟目录表文件

容量:100

每项结构:11 – 文件名;1 – 所分配的I节点的编号。

例:_ _ _ _ _ _ a1docX

要求:

1、            设计的分析,解决方案

2、            执行每条指令都要有具体的提示内容

3、            画出程序的基本结构框图和流程图

4、            对程序的每一部分要有详细的设计分析说明,说明设计实现所用的原理,采用的数据结构

5、            各个函数的详细说明(如创建进程,销毁进程等)

6、            源代码格式规范,注释不少于三分之一

7、            对运行的结果要有结果的分析,

8、            设计中遇到的问题,设计的心得体会

9、            参考资料

10、        开发工具不限

 


二:  进程调度模拟程序

设计要求:

编写一程序,可以创建若干个虚拟进程,并对若干个虚拟进程进行调度,调度策略为时间片轮转。

虚拟程序的描述:

   虚拟指令的格式:   操作命令  操作时间

其中,操作命令有以下几种:

l        C : 表示在CPU上计算

l        I :表示输入

l        O:表示输出

l        W:表示等待

l        H:表示进程结束

操作时间代表该操作命令要执行多长时间

假设I/O设备的数量没有限制

IOW三条指令实际上是不占用CPU的,执行这三条指令就应将进程放入对应的等待队列(Input等待队列、Output等待队列、Wait等待队列)

 

例有一虚拟程序p1.prc描述如下:

c 30

o 12

c 9

i 14

h 0

该虚拟程序表示的含义是:先在CPU上计算30秒,再在输出设备上输出12秒,计算9 秒,在输入设备上输入14秒,程序结束。

 

实验方法:

先用文本编辑器写三个虚拟程序,可以分别命名为p1.prc  p2.prc  p3.prc。然后编一进程调度程序,将这三个虚拟程序创建成进程,并按各虚拟进程的指令要求执行和调度。用一个文本文件, 里面只能放一个整数,表示一个时间因子,用于调节设计程序OS.EXE的执行速度。

运行结果要求:

      要求在每个线程创建、占用处理机、开始输出、开始输入和结束操作时分别显示一行提示信息,以确定所有处理都遵守相应的进程调度规则。

要求:

1.        设计的分析,解决方案

2.        进程的创建要创建进程控制块(可参考UINX的进程控制块的设计,要求有进程的必要信息)

3.        要有运行队列、就绪队列、Input等待队列、Output等待队列、Wait等待队列

4.        要有进程切换时的上下文转换过程

5.        要动态显示每个进程的当前状态及指令执行情况,动态显示每个队列的当前状态

6.        画出程序的基本结构框图和流程图

7.        对程序的每一部分要有详细的设计分析说明,说明设计实现所用的原理,采用的数据结构

8.        进程的各个操作函数的详细说明(如创建进程,销毁进程等)

9.        源代码格式规范,注释不少于三分之一

10.    对运行的结果要有结果的分析,

11.    设计中遇到的问题,设计的心得体会

12.     参考资料

13.     开发工具不限

评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值