操作系统课程设计具体要求
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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个。
⑵数据结构
因为模拟系统比较小,因此只要设备表设计合理既可。
⑶设备分配
采用先来先服务策略。