操作系统课程设计任务书

来源:互联网 发布:中文藏文翻译器软件 编辑:程序博客网 时间:2024/04/28 11:14

《操作系统》

课程设计任务书

 

 

指导教师:刘 

设计者:

班级:

学号:

 

 

 

 

 

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

 

 


操作系统课程设计题目

   

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

设计要求:

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

 

例:

  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.     开发工具不限

原创粉丝点击