操作系统课程设计具体要求

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

操作系统课程设计

一、操作系统课程设计要求

模拟采用多道程序设计方法的单用户操作系统,该操作系统包括四部分内容:

●文件管理和用户接口

●存储管理

●设备管理

●进程管理

二、操作系统课程设计目的

●通过模拟操作系统原理的实现,加深对操作系统工作原理和操作系统实现方法的理

解;

●通过模拟操作系统原理的实现练习编程

三、课程设计具体内容和要求

1.文件管理和用户接口

⑴磁盘模拟

磁盘是断电后内容不丢失的,因此用文件模拟磁盘。用一个文件disk1模拟磁盘,要求模拟系统至少存在一个磁盘逻辑分析,建议实现两个磁盘逻辑分区;

磁盘的每个盘块128字节,模拟磁盘共有256块。

磁盘中第0块存放专用块内容,第1、2块存放根目录,其余存放子目录和文件。

⑵文件的逻辑结构

文件的逻辑结构采用流式结构;

文件的内容均采用文本文件,系统中有两种文件:

●一种是存放任意字符的文件

●一种是可执行文件:可执行文件的内容就是系统内进程的程序体:文件中要有一种

特定命令的“可执行”文件,文件中的命令非常简单,仅仅包括以下几种指令:

x=?; 给x赋值一位数

x++; x加1

x--; x减1

!??;第一个?为A,B,C中某个设备,第二个?为一位数,表示使用设备的时

间(由于没有实际设备,所以无法知道设备何时工作完成,所以假定一个数,这

个数随着系统时间增加而递减,减到0时,认为是设备工作完成),建议将这个

数乘以某个倍数或者做为随机数的种子;

end. 表示文件结束,同时将结果写入文件out,其中包括文件路径名和i的值。

文件管理和用户接口

⑶物理结构:采用混合索引结构

⑷目录结构

目录结构采用树型目录结构,每个目录项占16个字节,目录项内容包括:

●目录名、文件名:6个字节(当名小于6字节时可以补空格之类特殊字符到6个);

●扩展名:3个字节(可执行文件扩展名为exe,目录没有扩展名);

●目录、文件属性:1字节;(1字节8位,每一位可以代表不同的属性,比如第0

位为1表示该目录项为目录(文件夹)的登记项,为0表示是文件的登记项(FCB);

第1位表示是否隐藏,第2位表示是否为只读文件)

●文件长度:2字节(目录没有长度,字节数)。

●地址:直接地址项1个,一级索引项1个;

●预留2字节(建议实现2级索引)

根目录:根目录位置固定,占用磁盘2块,大小固定,共16项,占用模拟磁盘第1、2块;

子目录:位置不固定,大小不固定(至少建立一级子目录,最好支持多级子目录,子目录任意长)。

注:删除一个目录项可以采用将目录项的第一个字符改成特殊字符,例如“#”,即目录项第一个字符为“#”则表示这是一个空目录项

⑸磁盘分配

磁盘的分配采用混合索引结构的分配方式。空闲块每组登记10个空闲块,专用块占用第0块。索引块中每个盘块号最多登记32个磁盘块

⑹用户接口

用户接口提供用户命令接口和图形接口(至少提供一种接口),要求文件名中既可以支持相对路径的文件名,也可支持绝对路径的路径名。要求实现以下命令:

●创建文件:create 文件名

建立新文件,如果原来存在同名文件要提示是否覆盖。建立新文件,可以只建立一个目录项,等编辑文件时再分配文件所需磁盘块。

●拷贝文件:copy 源文件名目标文件名

拷贝文件可同名拷贝,也可更名拷贝;如果目标位置存在同名文件要提示是否覆盖。

拷贝文件首先找到源文件的目录项,然后确认目标位置可以存放文件的拷贝(即无同名文件,有同名文件若同意覆盖,则先删除同名文件即可),然后根据源文件目录项建立目标文件的目录项;根据源文件目录项指示的文件索引块和文件内容所在位置,一边为目标文件申请磁盘块,一边将源文件索引块和文件内容读出、复制。

●删除文件:delete文件名

知道要删除的文件,回收其文件所占磁盘块,删除目录项。

●移动文件:move 源文件名目标文件名

注意:磁盘内和磁盘间文件移动的不同,磁盘内的移动实际只是将文件目录项复制

到目标处,然后将原始的文件目录删除,并不需要真的移动文件;磁盘间的文件移

动实际上是先拷贝文件到目标磁盘,然后再删除源文件。

●显示文件:type 文件名

仅仅是显示文件内容。

●编辑文件:edit 文件名

注意只读文件不可以修改。

在修改文件过程中,文件的长短在变化,注意磁盘块分回收和分配。

●改变文件属性:change 文件名属性

将文件在只读和非只读、隐藏和非隐藏之间转换。

●磁盘格式化命令format 盘符

格式化即将所有磁盘块回收,即认为除0、1、2外磁盘块均为空闲,将根目录所有

目录项置为空目录项。

●建立目录:makdir 目录

建立目录,若同名目录存在则建立失败。建立对应目录(文件夹)的目录项。

●改变目录路径:chadir目录

改变当前工作目录,命令接口上要提示当前工作目录。

●删除空目录:rdir 目录

当前目录、非空目录、根目录不能删除,只删除空目录项。

●删除目录:deldir 目录

既可删除空目录又可删除非空目录,对于非空目录,首先要删除其下文件和目录然后才能删除其本身。采用树的后序遍历算法,对目录树进行遍历,遍历中的访

问换成删除,文件则调用文件删除,空目录则调用空目录删除。

●运行可执行文件:可执行文件的文件名(可创建创建进程)。

上述命令在实际系统中都是需要建立进程才可以实现的,这里由于模拟系统的能力

达不到,所以除运行可执行文件需要建立进程外,其他指令执行不必在模拟系统中

建立进程。

屏幕显示

屏幕显示要求包括:

用户命令接口,用于系统运行时用户输入命令;

磁盘目录显示,要求显示磁盘的树型目录结构;

磁盘使用情况,显示磁盘每一个磁盘块的空间是否空闲。

2.存储管理

存储管理部分主要实现主存空间的分配和回收、存储保护。模拟系统中,采用虚拟页式储管理方案(PCB区域、位示图等单独存放),模拟系统中只管理用户区。

模拟系统中,主存部分分为两部分,一部分是系统区,这里只存放进程控制块和主存分配表,一部分是用户区,这里主要是对用户区的管理:

●系统区包括pcb区域、位示图

●用数组模拟其他内存区域,大小为512字节,每个主存块16个字节。

⑴数据结构

采用位示图记录主存使用情况,实现主存空间的分配和回收、存储保护。

⑵页表可以占用内存用户区,也可以放在另外区域或pcb

⑶可以采用预调入策略

⑷页面局部置换算法

⑸初始主存块分配数量自行决定方法,不能分配太多,也不能太少

⑹模拟系统中,缺页中断发生在根据根据pc取指令时

⑺屏幕显示

主存使用情况示意图,哪些主存已经分配,哪些主存未分配,以不同的颜色表示(例如,红色表示已分配,蓝色表示未分配)。

正在运行的进程对应指令存放的位置以特殊颜色显示。

3. 设备管理

⑴设备的模拟

模拟系统中有A、B、C三种独占型设备,A设备3个,B设备2个,C设备1个。

⑵数据结构

因为模拟系统比较小,因此只要设备表设计合理既可。

⑶设备分配

采用先来先服务策略。

相关文档
最新文档