操作系统_课程设计

操作系统_课程设计
操作系统_课程设计

操作系统课程设计

下面两个操作系统课程设计的难度相同、工作量相近,只是各个部分实现的具体要求和实现方法不同,可任选其中之一完成。

操作系统课程设计一

1.课程设计题目

实现一个模拟操作系统。

2.课程设计目的

通过模拟操作系统的实现,加深对操作系统工作原理理解,进一步了解操作系统的实现方法,并可练习合作完成系统的团队精神和提高程序设计能力。

3.小组人数

建议3~5人一组共同完成模拟系统的实现。

4.编程语言

建议使用VB、VC、CB等windows环境下的程序设计语言,以借助这些语言环境来模拟硬件的一些并行工作。

5.课程设计内容

模拟采用多道程序设计方法的单用户操作系统,该操作系统包括进程管理、存储管理、设备管理、文件管理和用户接口四部分。

6.课程设计具体内容和要求

一、文件管理和用户接口

文件管理和用户接口部分实现的主要是单用户的磁盘文件管理部分,包括文件的逻辑结构、物理结构、目录、磁盘分配回收、文件的保护和用户接口的实现。

⑴文件的逻辑结构

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

文件均采用文本文件;

系统中有两种文件,一种是存放任意字符的文件,一种是可执行文件。可执行文件的内容就是模拟系统内进程的程序体。

文件中要有一种特定命令的“可执行”文件,文件中的命令非常简单,包括:

x=?; 给x赋值一位数

x++; x加1

x--; x减1

!??;第一个?为A,B,C中某个设备,第二个?为一位数,表示使用设备的时间(由于没有实际设备,所以无法知道设备何时工作完成,所以假定一个数,这个数随着系统时间增加而递减,减到0时,认为是设备工作完成);

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

⑵磁盘模拟

用一个文件disk模拟磁盘,磁盘的每个盘块64字节,模拟磁盘共有128块。第0、1块存放文件分配表,第2块存放根目录,其余存放子目录和文件。

⑶目录结构

目录结构采用树型目录结构。

①目录项内容(8个字节):

目录名、文件名:3个字节;

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

目录、文件属性:1字节;

起始盘块号:1个字节;

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

②根目录

根目录位置固定,为磁盘第2块,大小固定,共8项,占用模拟磁盘第2块;

③子目录

位置不固定,大小不固定。

⑷磁盘分配

磁盘的分配采用链接结构(显式链接)的分配方式。系统采用文件分配表方式记录磁盘空间的使用情况和链接结构的指针。

因为磁盘有占用磁盘由128块,所以文件分配表中一项需要1字节,而磁盘由128块,因而需要128项,所以模拟磁盘空间中的第0、1块被用来存放文件分配表。

⑸用户接口

用户接口提供用户命令接口,要求实现以下命令:

创建文件:create

拷贝文件:copy

删除文件:delete

移动文件:move

显示文件:type

编辑文件:edit

改变文件属性:change

磁盘格式化命令format

建立目录:makdir

改变目录路径:chadir

删除空目录:rdir

删除目录:deldir(既可删除空目录又可删除非空目录)

磁盘分区命令:fdisk

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

上述命令在实际系统中都是需要建立进程才可以实现的,这里由于模拟系统的能力达不到,所以除运行可执行文件需要建立进程外,其他指令执行不必在模拟系统中建立进程,可直接执行。

注意打开文件表。

⑹屏幕显示

如图2.28,屏幕显示要求包括:

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

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

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

二、存储管理

存储管理部分主要实现主存空间的分配和回收、存储保护。

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

系统区包括pcb区域、主存空间分配表;

用户区用数组模拟,大小为512字节,存储管理采用可移动的动态分区存储管理方式。

⑵屏幕显示

如图2.28,屏幕显示要求包括:

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

图2.28 课程设计屏幕显示内容

三、设备管理

设备管理主要包括设备的分配和回收。

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

⑵采用死锁的预防方法来处理申请独占设备可能造成的死锁。

⑶屏幕显示

如图2.28,屏幕显示要求包括:每个设备是否被使用,哪个进程在使用该设备,哪些进程在等待使用该设备。

四、进程管理

进程管理主要包括进程调度,进程的创建和撤销、进程的阻塞和唤醒,中断作用的实现。

⑴硬件工作的模拟:

①中央处理器的模拟

用函数CPU( )(该函数不能有参数)模拟中央处理器。

该函数主要负责解释“可执行文件”中的命令。

x=?; 给x赋值一位数

x++; x加1

x--; x减1

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

end. 表示文件结束。

CPU只能解释指令寄存器IR中的指令。一个进程的运行时要根据进程执行的位置,将对应的指令存放到指令寄存器中。

②主要寄存器的模拟

用全局变量模拟重要寄存器,如cpu重要寄存器,程序状态寄存器PSW、指令寄存器IR,程序计数器PC,数据缓冲寄存器DR等。

③中断的模拟

I.中断的发现应该是硬件的工作,这里在函数CPU中加检测PSW的方式来模拟

在CPU()函数中,每执行一条指令之前,先检查PSW,判断有无中断,若有进行中断处理,然后再运行解释指令。

CPU函数应该不断循环执行的。

Ⅱ.模拟中断的种类和中断处理方式:

程序结束(执行指令end形成的中断,软中断):将结果写入文件out,其中包括文件路径名和x的值,调用进程撤销原语撤销进程,然后进行进程调度;

时间片到(当相对始终寄存器值减到0时):将正在运行进程的CPU现场保存在进程控制块中,然后进行进程调度;

I/O中断(设备完成输入输出):将输入输出完成的进程唤醒,将等待该设备的一个进程同时唤醒。

④时钟的模拟。

系统中的绝对时钟和相对时钟用全局变量模拟。系统时钟用来记录开机以后的时间,相对时钟用来存放进程可执行的时间片,在进程调度时设置初值,随系统时间的增值1而减值1,减到0时,发出时钟中断。

这里的系统时钟并不是计算机的真正的时钟,这里所说的时间只是一个单位,例如使用vb中的时钟控件实现,每触发一次timer事件,绝对时钟增1,表示增加一个时间单位,绝对时钟减1,表示时间片消耗一个。

⑵进程控制块

进程控制块内容包括进程标识符、主要寄存器内容、进程状态、阻塞原因等等。本模拟系统最多容纳10个进程块。

pcb区域用数组模拟。

进程控制块根据内容的不同组成不同的队列,空白进程控制块链、就绪队列和阻塞队列,正在运行的进程只有一个,系统初始时只有空白进程控制块链。

⑶进程调度

①采用时间片轮转调度算法时间片为5。

②进程调度函数的主要工作是:

将正在运行的进程保存在该进程对应进程控制块中;

从就绪队列中选择一个进程;

将这个进程中进程控制块中记录的各寄存器内容恢复到CPU各个寄存器内。

③闲逛进程

建立一个闲逛进程,当就绪对列为空时,系统调用该进程运行。当有进程就绪时,就调度就绪进程运行。

闲逛进程什么也不做,只是起到系统能正常运转的作用。例如windows中的idle进程。

⑷进程控制

建立四个函数模拟进程创建、撤销、阻塞和唤醒四个原语。

①进程创建create

进程创建的主要工作是:

第一步,申请空白进程控制块;

第二步,申请主存空间,申请成功,装入主存;

第三步,初始化进程控制块;

第四步,将进程链入就绪队列。

②进程撤销destory

进程撤销的主要工作是:

第一步,回收进程所占内存资源;

第二步,回收进程控制块;

第三步,在屏幕上显示进程执行结果,进程撤销

③进程阻塞block

进程阻塞的主要工作是:

第一步,保存运行进程的CPU现场;

第二步,修改进程状态;

第三步,将进程链入对应的阻塞队列,然后转向进程调度。

④进程的唤醒

进程唤醒的主要工作是将进程由阻塞队列中摘下,修改进程状态为就绪,然后链入就绪队列。

⑷屏幕显示

如图2.28,屏幕显示要求包括:显示系统时钟;

显示正在运行的进程的进程名、运行的指令、中间结果、相对时钟寄存器内容;

显示就绪队列中进程名;

显示阻塞队列中进程名。

操作系统课程设计二

1.课程设计题目

实现一个模拟操作系统。

2.课程设计目的

通过模拟操作系统的实现,加深对操作系统工作原理理解,进一步了解操作系统的实现方法,并可练习合作完成系统的团队精神和提高程序设计能力。

3.小组人数

建议3~5人一组共同完成模拟系统的实现。

4.编程语言

建议使用VB、VC、CB等windows环境下的程序设计语言,以借助这些语言环境来模拟硬件的一些并行工作。

5.课程设计内容

模拟采用多道程序设计方法的单用户操作系统,该操作系统包括进程管理、存储管理、设备管理、文件管理和用户接口四部分。

6.课程设计具体内容和要求

一、文件管理和用户接口

文件管理和用户接口部分实现的主要是单用户的磁盘文件管理部分,包括文件的逻辑结构、物理结构、目录、磁盘分配回收、文件的保护和用户接口的实现。

⑴文件的逻辑结构

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

文件的内容均采用文本文件;

系统中有两种文件,一种是存放任意字符的文件,一种是可执行文件。可执行文件的内容就是系统内进程的程序体。

文件中要有一种特定命令的“可执行”文件,文件中的命令非常简单,包括:

i=?; 给i赋值一位数

i++; i加1

i--; i减1

!??;第一个?为A,B,C中某个设备,第二个?为一位数,表示使用设备的时间(由于没有实际设备,所以无法知道设备何时工作完成,所以假定一个数,这个数随着系统时间增加而递减,减到0时,认为是设备工作完成);

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

⑵磁盘模拟

用一个文件disk1模拟磁盘c,用一个文件disk2模拟磁盘d。两个磁盘一样大小,磁盘的每个盘块64字节,模拟磁盘共有128块。第0、1块存放文件分配表,第2块存放根目录,其余存放子目录和文件。

⑶目录结构

目录结构采用树型目录结构。

①目录项内容(8个字节):

目录名、文件名:2个字节;

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

目录、文件属性:1字节;

起始盘块号:1个字节;

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

②根目录

根目录位置固定,为磁盘第2块,大小固定,共8项,占用模拟磁盘第2块;

③子目录

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

⑷磁盘分配

磁盘的分配采用链接结构(显式链接)的分配方式。系统采用文件分配表方式记录磁盘空间的使用情况和链接结构的指针。

因为磁盘有占用磁盘由128块,所以文件分配表中一项需要1字节,而磁盘由128块,因而需要128项,所以模拟磁盘空间中的第0、1块被用来存放文件分配表。

⑸用户接口

用户接口提供用户命令接口,要求实现以下命令:

创建文件:create

拷贝文件:copy

删除文件:delete

移动文件:move(注意磁盘内和磁盘间文件移动的不同)

显示文件:type

编辑文件:edit

改变文件属性:change

磁盘格式化命令format

建立目录:makdir

改变目录路径:chadir

删除空目录:rdir

删除目录:deldir(既可删除空目录又可删除非空目录)

磁盘格式化命令:fdisk

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

上述命令在实际系统中都是需要建立进程才可以实现的,这里由于模拟系统的能力达不到,所以除运行可执行文件需要建立进程外,其他指令执行不必在模拟系统中建立进程,可立即执行。

注意打开文件表。

⑹屏幕显示

如图2.28,屏幕显示要求包括:

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

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

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

二、存储管理

存储管理部分主要实现主存空间的分配和回收、存储保护。

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

系统区包括pcb区域、主存空间分配表(位示图);

用户区用数组模拟,大小为512字节,存储管理采用页式存储管理方式。

⑵主存用户区主存块大小为16字节,页表放在用户区内;

⑶屏幕显示

如图2.28,屏幕显示要求包括:

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

三、设备管理

设备管理主要包括设备的分配和回收。

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

⑵采用死锁的避免方法来处理申请独占设备可能造成的死锁。

⑶屏幕显示

如图2.28,屏幕显示要求包括:每个设备是否被使用,哪个进程在使用该设备,哪些进程在等待使用该设备。

四、进程管理

同课程设计一。

操作系统课程设计

课程设计报告 2015~2016学年第一学期 操作系统综合实践课程设计 实习类别课程设计 学生姓名李旋 专业软件工程 学号130521105 指导教师崔广才、祝勇 学院计算机科学技术学院 二〇一六年一月

- 1 -

- 2 -

一、概述 一个目录文件是由目录项组成的。每个目录项包含16B,一个辅存磁盘块(512B)包含32个目录项。在目录项中,第1、2字节为相应文件的外存i节点号,是该文件的内部标识;后14B为文件名,是该文件的外部标识。所以,文件目录项记录了文件内、外部标识的对照关系。根据文件名可以找到辅存i节点号,由此便得到该文件的所有者、存取权、文件数据的地址健在等信息。UNIX 的存储介质以512B为单位划分为块,从0开始直到最大容量并顺序加以编号就成了一个文件卷,也叫文件系统。UNIX中的文件系统磁盘存储区分配图如下: 本次课程设计是要实现一个简单的模拟Linux文件系统。我们在内存中开辟一个虚拟磁盘空间(20MB)作为文件存储器,并将该虚拟文件系统保存到磁盘上(以一个文件的形式),以便下次可以再将它恢复到内存的虚拟磁盘空间中。文件存储空间的管理可采用位示图方法。 二、设计的基本概念和原理 2.1 设计任务 多用户、多级目录结构文件系统的设计与实现。可以实现下列几条命令login 用户登录 logout 退出当前用户 dir 列文件目录 creat 创建文件 delete 删除文件 open 打开文件 close 关闭文件 - 3 -

read 读文件 write 写文件 mkdir 创建目录 ch 改变文件目录 rd 删除目录树 format 格式化文件系统 Exit 退出文件系统 2.2设计要求 1) 多用户:usr1,usr2,usr3,……,usr8 (1-8个用户) 2) 多级目录:可有多级子目录; 3) 具有login (用户登录)4) 系统初始化(建文件卷、提供登录模块) 5) 文件的创建:create (用命令行来实现)6) 文件的打开:open 7) 文件的读:read8) 文件的写:write 9) 文件关闭:close10) 删除文件:delete 11) 创建目录(建立子目录):mkdir12) 改变当前目录:cd 13) 列出文件目录:dir14) 退出:logout 新增加的功能: 15) 删除目录树:rd 16) 格式化文件系统:format 2.3算法的总体思想 - 4 -

操作系统课程设计报告书

题目1 连续动态内存管理模拟实现 1.1 题目的主要研究内容及预期达到的目标 (1)针对操作系统中内存管理相关理论进行设计,编写程序并进行测试,该程序管理一块虚拟内存。重点分析三种连续动态内存分配算法,即首次适应算法、循环首次适应算法和最佳适应算法。 (2)实现内存分配和回收功能。 1.2 题目研究的工作基础或实验条件 (1)硬件环境:PC机 (2)软件环境:Windows XP,Visual C++ 6.0 1.3 设计思想 首次适应算法的实现:从空闲分区表的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,这种方法的目的在于减少查找时间。为适应这种算法,空闲分区表中的空闲分区要按地址由低到高进行排序。该算法优先使用低址部分空闲区,在低址空间造成许多小的空闲区,在高址空间保留大的空闲区。 循环首次适应算法的实现:在分配内存空间时,不再每次从表头开始查找,而是从上次找到空闲区的下一个空闲开始查找,直到找到第一个能满足要求的的空闲区为止,并从中划出一块与请求大小相等的内存空间分配给作业。该算法能使内存中的空闲区分布得较均匀。 最佳适应算法的实现:从全部空闲区中找到能满足作业要求的、且最小的空闲分区,这种方法能使碎片尽量小。为适应此算法,空闲分区表中的空闲分区要按从小到大进行排序,从表头开始查找第一个满足要求的自由分配。 1.4 流程图 内存分配流程图,如图1-1所示。

图1-1 内存分配流程图内存回收流程图,如1-2所示。

图1-2 内存回收流程图 1.5 主要程序代码 (1)分配内存 void allocate(char z,float l) { int i,k; float ad; k=-1; for(i=0;i= l && free_table[i].flag == 1) if(k==-1 || free_table[i].length

《操作系统原理》课程设计--银行家算法程序设计

信息与计算科学 操作系统原理 课程设计报告 题目:银行家算法程序设计 班级: 姓名: 专业:

银行家算法程序设计 目录 1.绪论 (2) 2.需求分析 (2) 2.1功能需求 (2) 2.2数据需求 (2) 3. 总体设计 (2) 3.1功能模块设 (2) 3.2系统设计方案 (3) 3.3开发工具 (4) 4. 详细设计 (4) 4.1银行家算法中的数据结构 (4) 4.2银行家算法 (5) 4.3安全性算法 (6) 5. 调试与测试 (8) 6. 结论 (8) 结束语 (8) 参考文献 (9) 附录1-用户手册 (10) 附录2-源程序清单 (11)

1.绪论 20世纪末,随着计算机科学的发展,C语言的应用越来越广泛,很多程序都需要使用C语言来编写。C语言使用方便快捷,它已经成为计算机编程中不可缺少的一部分,而且它也被用于各个方面。例如:政府部门,银行,学校等等。 银行家算法是判断系统是否安全,并且允许其它进程来申请这里的资源,任何一个进程来申请资源时,必须先登记该进程对资源的申请要求然后由系统检查当前资源的状况,并用银行家算法和安全性算法来检查是否允许分配资源给进程。通过课程设计,加深我们对利用银行家算法避免死锁的理解。在设计中主要的难点是用语言编写银行家算法和安全性算法,使系统资源分配能安全进行,避免系统死锁。 2.需求分析 2.1 功能需求 1.添加进程的可用资源,最大资源,已分配资源; 2.判断系统是否安全; 3.申请资源; 4.申请资源后如何分配; 5.进行安全检查。 2.2 数据需求 主要数据包括:可用资源,最大资源,已分配资源,申请资源数。 3. 总体设计 3.1 功能模块设

操作系统课程设计报告

操作系统课程设计报告

东莞理工学院 操作系统课程设计报告 学院:计算机学院 专业班级: 13软件工程1班 提交时间: 2015/9/14 指导教师评阅意见: . 项目名称:进程与线程管理功能 一、设计目的 用语言来模拟进程和线程管理系统,加深对进程和线程的理解,掌握对进程和线程各种状态和管理的算法原理。

二、环境条件 系统: WindowsXP、VMWare、Ubuntu Linux 语言:C/C++ 开发工具:gcc/g++、Visual C++ 6.0 三、设计内容 1. 项目背景 计算机的硬件资源有限,为了提高内存的利用率和系统的吞吐量,就要根据某种算法来管理进程和线程的状态从而达到目的。 进程与线程管理功能完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 进程与线程管理功能 基本要求:完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 提高要求:(增加1项就予以加分) (1) 实现多种线程调度算法; (2)通过“公共信箱”进行通信的机制,规定每一封信的大小为128字节,实现两个用户进程之间通过这个“公共信箱”进行通信。 (3) 实现多用户进程并发的虚拟内存管理功能。

(4) 实现用户进程间通信功能,并用生产者/消费者问题测试进程间通信功能的正确性。 (5) 实现改进型Clock页面置换算法。 (6) 实现Cache功能,采用FIFO替换算法。 2. 扩展内容 实现多种线程调度算法:时间片轮转调度算法 四、人员分工 优先级调度算法:钟德新,莫友芝 时间片轮转调度算法:张德华,袁马龙 设计报告由小组队员共同完成。小组成员设计的代码分工如下:钟德新编写的代码:void Prinft(){ PCB *p; system("cls");//清屏 p=run; //运行队列 if(p!=NULL) { p->next=NULL; } cout<<"当前正在运行的进程:"<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<

操作系统课程设计完整版内含代码

操作系统课程设计LRU页面调度算法 学号: 姓名: 学院: 专业: 班级: 指导老师: 日期:

目录 一、实验题目 (1) 二、课程设计的目的 (1) 三、设计内容 (1) 四、设计要求 (1) 五、设计思想 (1) 六、主要数据结构及其说明 (2) 七、硬件支持 (3) 八、源程序文件 (3) 九、程序运行结果 (7) 十、实验体会 (8)

一实验题目 LRU页面调度算法 二课程设计的目的 操作系统课程设计是计算机专业重要的教学环节,它为学生提供了一个既动手又动脑,将课本上的理论知识和实际有机的结合一起,独立分析和解决实际问题的机会。 1.进一步巩固和复习操作系统的基础知识。 2. 培养学生结构化程序、模块化程序设计的方法和能力。 3.提高学生调试程序的技巧和软件设计的能力。 4.提高学生分析问题、解决问题以及综合利用C语言进行程序设计的能力。 三设计内容 程序应模拟实现LRU算法思想,对n个页面实现模拟调度。 四设计要求 1.不同的功能使用不同的函数实现(模块化),对每个函数的功能和调用接口要注释清楚。对程序其它部分也进行必要的注释。 2.对系统进行功能模块分析、画出总流程图和各模块流程图。 3.用户界面要求使用方便、简洁明了、美观大方、格式统一。所有功能可以反复使用,最好使用菜单。 4.通过命令行相应选项能直接进入某个相应菜单选项的功能模块。 5.所有程序需调试通过。 五设计思想 最近最久未使用(LRU)页调度算法是选择最近最久未使用的页面予以淘汰。 算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间,当所要访问的页面在内存块中时,就不淘汰页面,否则,淘汰页面中时间最长的,即淘汰最近最久未使用的页面。

计算机操作系统原理课程设计

上海电力学院 课程设计报告 课程名称:操作系统原理 题目名称:采用可变分区存储管理,模拟主存空间的分配和回收 姓名: xxx 学号: xxx 班级: 2013054 同组姓名: xxx 课程设计时间: 2015.7.6~2015.7.10 评语: 成绩:

课程设计题目 一、设计内容及要求 可变分区存储管理模拟 设计内容:编写程序模拟实现可变分区存储管理。 具体要求: 编写程序模拟实现可变分区存储管理,实现存储管理的基本功能,包括内存的分配、内存的回收、地址变换等。 输入:1、输入新进程名称及使用内存的大小(可创建多个进程); 2、撤销某个指定的进程; 3、某个进程的逻辑地址; 输出:显示每次创建进程或者撤销进程后内存使用的状况,包括每一个进程占据的内存的位置和大小; 计算并输出给定逻辑地址对应的物理地址。 必须分别使用以下分配算法完成模拟: 1、首次适应算法; 2、最佳适应算法; 3、最差适应算法; 小组分工: 程序设计讨论: 程序主体设计: 程序调试及修改: 实验报告设计: 总结: (要求注明小组分工情况) 二、详细设计 1)原理概述 对于可变分区存储管理的内存分配与回收,主要为设计以下几个部分: 1、设计动态输入空闲分区表的程序 2、设计内存分配的程序 3、设计内存回收的程序 首次适应算法: FF算法要求空闲分区表或空闲分区链以地址递增的次序链接。在分配内时,从链首开始查找,直至找到一个大小能满足要求分区为止;然后再按照作业大小,从该分区中划一块内存空间分配给请求者,余下的空闲分区仍留在空闲链中。如从链首直至链尾都不能找到一个能满足要求的分区,则此次分配失败,返回 最佳适应算法: BF算法是指每次为作业分配内存,总是把满足要求、又是最小的空闲分区分配给作业,避免“大材小用”。为了加速寻找,该算法要求所有的空闲分区按其容量以从小到大的顺序形成一空闲分区链。这样,第一次找到能满足要求的空闲区,

操作系统课程设计报告

上海电力学院 计算机操作系统原理 课程设计报告 题目名称:编写程序模拟虚拟存储器管理 姓名:杜志豪.学号: 班级: 2012053班 . 同组姓名:孙嘉轶 课程设计时间:—— 评语: 成绩: 目录 一、设计内容及要求 (4) 1. 1 设计题目 (4) 1.2 使用算法分析: (4)

1. FIFO算法(先进先出淘汰算法) (4) 1. LRU算法(最久未使用淘汰算法) (5) 1. OPT算法(最佳淘汰算法) (5) 分工情况 (5) 二、详细设计 (6) 原理概述 (6) 主要数据结构(主要代码) (6) 算法流程图 (9) 主流程图 (9) Optimal算法流程图 (10) FIFO算法流程图 (10) LRU算法流程图 (11) .1源程序文件名 (11) . 2执行文件名 (11) 三、实验结果与分析 (11) Optimal页面置换算法结果与分析 (11) FIFO页面置换算法结果与分析 (16) LRU页面置换算法结果与分析 (20) 四、设计创新点 (24) 五、设计与总结 (27)

六、代码附录 (27) 课程设计题目 一、设计内容及要求 编写程序模拟虚拟存储器管理。假设以M页的进程分配了N

块内存(N

操作系统课程设计报告

课程设计说明书 设计题目:操作系统课程设计 班级:信息学管理与信息系统2011级 学号: 2 姓名:克乾

山东科技大学2013年12 月11 日

课程设计任务书 学院信息科学与工程专业信息学管理与信息系统班级2011-2 克乾 一、课程设计题目:操作系统课程设计 二、课程设计主要参考资料 (1)Abraham Silberschatz & Peter Baer Galvin & Greg Gagne. Operating System Concepts(第七版影印版). 高等教育. 2007.3. (2)c++面向对象程序设计电子工业 (3)计算机操作系统(第三版)电子科技大学 三、课程设计应解决的主要问题: (1)CPU调度算法的模拟实现 (2)死锁相关算法的实现 (3)磁盘调度算法的实现 四、课程设计相关附件(如:图纸、软件等): (1)程序源代码 (2) 五、任务发出日期:2013-10-1 课程设计完成日期:2014-1-1

指导教师签字:

指导教师对课程设计的评语成绩: 指导教师签字: 年月日

设计1 CPU调度算法的模拟实现一、设计目的 利用C++编写CPU调度算法,实现先来先服务调度算法FCFS、优先级调度算法PS、短作业优先调度算法SJF、时间片轮转调度算法RR的运行过程和实现的结果,针对模拟进程,利用编写的CPU调度算法对需要运行的进程进行调度。进行算法评价,计算平均周转时间和平均等待时间。 二、设计要求 针对模拟进程,利用CPU调度算法进行调度,最后要进行算法评价,计算平均周转时间和平均等待时间,并且输出调度结果和输出算法评价指标。 调度所需的进程参数由输入产生(手工输入或者随机数产生)。 三、设计说明 时间片轮转算法需要输入相应的时间片,所以独立编写一个程序,系统主体结构如下:

操作系统课程设计

计算机科学技术学院 操作系统原理课程设计报告 题目:进程管理系统 专业: 班级: 姓名: 学号: 指导老师: 年月日

《操作系统原理》课程设计任务书 一、课程设计题目(任选一个题目) 1.模拟进程管理 2.模拟处理机调度 3.模拟存储器管理 4.模拟文件系统 5.模拟磁盘调度 二、设计目的和要求 1.设计目的 《操作系统原理》课程设计是网络工程专业实践性环节之一,是学习完《操作系统原理》课程后进行的一次较全面的综合练习。其目的在于加深对操作系统的理论、方法和基础知识的理解,掌握操作系统结构、实现机理和各种典型算法,系统地了解操作系统的设计和实现思路,培养学生的系统设计能力,并了解操作系统的发展动向和趋势。 2.基本要求: (1)选择课程设计题目中的一个课题,独立完成。 (2)良好的沟通和合作能力 (3)充分运用前序课所学的软件工程、程序设计、数据结构等相关知识 (4)充分运用调试和排错技术 (5)简单测试驱动模块和桩模块的编写 (6)查阅相关资料,自学具体课题中涉及到的新知识。 (7)课题完成后必须按要求提交课程设计报告,格式规范,内容详实。 三、设计内容及步骤 1.根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么。

2.根据实现的功能,划分出合理的模块,明确模块间的关系。 3.编程实现所设计的模块。 4.程序调试与测试。采用自底向上,分模块进行,即先调试低层函数。能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果; 5.结果分析。程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。 6.编写课程设计报告; 设计报告要求:A4纸,详细设计部分主要叙述本人的工作内容 设计报告的格式: (1)封面(题目、指导教师、专业、班级、姓名、学号) (2)设计任务书 (3)目录 (4)需求分析 (5)概要设计 (6)详细设计(含主要代码) (7)调试分析、测试结果 (8)用户使用说明 (9)附录或参考资料 四、进度安排 设计在学期的第15、16周进行,时间安排如下:

操作系统课程设计报告

东莞理工学院 操作系统课程设计报告学院:计算机学院 专业班级:13软件工程1班 提交时间:2015/9/14 指导教师评阅意见: . 项目名称:进程与线程管理功能 一、设计目的 用语言来模拟进程和线程管理系统,加深对进程和线程的理解,掌握对进程和线程各种状态和管理的算法原理。 二、环境条件 系统:WindowsXP、VMWare、Ubuntu Linux 语言:C/C++ 开发工具:gcc/g++、Visual C++ 6.0 三、设计内容 1. 项目背景

计算机的硬件资源有限,为了提高内存的利用率和系统的吞吐量,就要根据某种算法来管理进程和线程的状态从而达到目的。 进程与线程管理功能完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 进程与线程管理功能 基本要求:完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 提高要求:(增加1项就予以加分) (1) 实现多种线程调度算法; (2)通过“公共信箱”进行通信的机制,规定每一封信的大小为128字节,实现两个用户进程之间通过这个“公共信箱”进行通信。 (3) 实现多用户进程并发的虚拟内存管理功能。 (4) 实现用户进程间通信功能,并用生产者/消费者问题测试进程间通信功能的正确性。 (5) 实现改进型Clock页面置换算法。 (6) 实现Cache功能,采用FIFO替换算法。 2. 扩展内容 实现多种线程调度算法:时间片轮转调度算法 四、人员分工 优先级调度算法:钟德新,莫友芝 时间片轮转调度算法:张德华,袁马龙 设计报告由小组队员共同完成。小组成员设计的代码分工如下: 钟德新编写的代码:void Prinft(){ PCB *p; system("cls");//清屏 p=run; //运行队列 if(p!=NULL) { p->next=NULL; } cout<<"当前正在运行的进程:"<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<

操作系统课程设计

湖南科技大学计算机科学与工程学院 操作系统课程设计报告 ******** *** 目录 实验一 Windows 进程管理 实验二 Linux 进程管理 实验三 互斥与同步 实验四 银行家算法的模拟与实现 实验五 内存管理 指导老师: *** 完成时间: **** ** **

实验六磁盘调度 实验七进程间通信 实验一 Windows进程管理 一、实验目的 1 )学会使用VC编写基本的Win3 2 Consol Application (控制台应用程序)。 2)2)通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟 悉操作系统的进程概念,理解Windows进程的"一生”。 3)3)通过阅读和分析实验程序,学习创建进程、观察进程、终止进程以及父子进程同步 的基本程序设计方法。 二、实验内容和步骤 (1)编写基本的 Win32 Consol Application 步骤1:登录进入 Windows系统,启动VC++ 6.0。 步骤2:在“ FILE”菜单中单击“ NEW”子菜单,在“ projects ”选项卡中选择 “Win32 ConsolApplication ”,然后在“ Project name 处输入工程名,在“Location ”处输入工程目录。创建一个新的控制台应用程序工程。 步骤3:在“ FILE”菜单中单击“ NEW”子菜单,在“ Files ”选项卡中选择“ C++ Source File ” ,然后在“ File ”处输入C/C++源程序的文件名。 步骤4:将清单1-1所示的程序清单复制到新创建的C/C++源程序中。编译成可执行文件。 步骤5 :在“开始”菜单中单击“程序” -“附件”-“命令提示符”命令,进入Windows“命令提示符”窗口,然后进入工程目录中的 debug子目录,执行编译好的可执行程序,列出运行结果(如果运行不成功,则可能的原因是什么?) 如果运行不成功可能是路径有问题或者没有通过编译。

操作系统课程设计报告

东莞理工学院 操作系统课程设计报告 学院:计算机学院 专业班级:13软件工程1班 提交时间:2015/9/14 指导教师评阅意见: . 项目名称:进程与线程管理功能 一、设计目的 用语言来模拟进程和线程管理系统,加深对进程和线程的理解,掌握对进程和线程各种状态和管理的算法原理。 二、环境条件

系统:WindowsXP、VMWare、Ubuntu Linux 语言:C/C++ 开发工具:gcc/g++、Visual C++ 6.0 三、设计内容 1. 项目背景 计算机的硬件资源有限,为了提高内存的利用率和系统的吞吐量,就要根据某种算法来管理进程和线程的状态从而达到目的。 进程与线程管理功能完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 进程与线程管理功能 基本要求:完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 提高要求:(增加1项就予以加分) (1) 实现多种线程调度算法; (2)通过“公共信箱”进行通信的机制,规定每一封信的大小为128字节,实现两个用户进程之间通过这个“公共信箱”进行通信。 (3) 实现多用户进程并发的虚拟内存管理功能。 (4) 实现用户进程间通信功能,并用生产者/消费者问题测试进程间通信功能的正确性。 (5) 实现改进型Clock页面置换算法。 (6) 实现Cache功能,采用FIFO替换算法。

2. 扩展内容 实现多种线程调度算法:时间片轮转调度算法 四、人员分工 优先级调度算法:钟德新,莫友芝 时间片轮转调度算法:张德华,袁马龙 设计报告由小组队员共同完成。小组成员设计的代码分工如下:钟德新编写的代码:void Prinft(){ PCB *p; system("cls");//清屏 p=run; //运行队列 if(p!=NULL) { p->next=NULL; } cout<<"当前正在运行的进程:"<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<

操作系统原理课程设计实践报告

操作系统原理课程设计 实践报告 题目: 仿真多进程并发环境中死锁的预防、避免、检测与解除 姓名: 学院: 信息科技学院 专业: 计算机科学技术系 班级: 学号: 指导教师: 职称: 20010年4月8日 仿真多进程并发环境中死锁的预防、避免、检测与解除 摘要:在多道程序系统中,多个程序并发执行时可能造成死锁。所谓死锁是指多

个进程在运行过程中因争夺资源而造成的一种僵局。当进程处于这种僵局状态时若无外力作用,它们都将无法再向前推进,造成资源的浪费。该程序将模拟多进程并发时死锁现象的产生、避免、检测与解除。死锁避免用最著名的银行家算法,用银行家安全性算法类似的死锁检测算法来检测进程状况,又用资源剥夺法来实现死锁的解除。该程序实现操作简易,表示清晰并且形象描述多进程并发环境中死锁的预防、避免、检测与解除。 关键字:死锁;避免死锁;安全状态;银行家算法 引言:在操作系统、数据库系统以及网络通信中,由于进程并发和资源共享,当系统中资源分配顺序或者进程推进顺序不当就会造成系统死锁[1]。处于死锁状态的系统中,进程之间互相等待资源而永远不能继续向前推进,严重地影响了系统的可靠性。因而有时需要合理的对资源进行分配必要的时候加以限制保证系统安全、高效、稳定的运行。 1理论分析 1.1 死锁的概念 如果一个进程集合中的每个进程都在等待只能由此集合中的其他进程才能引发的事件,而无限期陷入僵持的局面称为死锁[2]。 1.2 产生死锁的条件: 1、互斥使用(资源独占):一个资源每次只能给一个进程使用。 2、不可强占(不可剥夺):资源申请者不能强行的从资源占有者手中夺取资 源,资源只能由占有者自愿释放。 3、请求和保持(部分分配,占有申请):一个进程在申请新的资源的同时保 持对原有资源的占有(只有这样才是动态申请,动态分配)。 4、循环等待:存在一个进程等待队列{P1,P2,…,Pn},其中P1等待P2占 有的资源,P2等待P3占有的资源,…,Pn等待P1占有的资源,形成一个进程等待环路[3]。 1.3死锁的预防 在系统设计时确定资源分配算法,保证不发生死锁。具体的做法是破坏产生死锁的四个必要条件之一。 ①破坏“不可剥夺”条件 在允许进程动态申请资源前提下规定,一个进程在申请新的资源不能立即得到满足而变为等待状态之前,必须释放已占有的全部资源,若需要再重新申请。 ②破坏“请求和保持”条件 要求每个进程在运行前必须一次性申请它所要求的所有资源,且仅当该进程所要资源均可满足时才给予一次性分配。 ③破坏“循环等待”条件 采用资源有序分配法:把系统中所有资源编号,进程在申请资源时必须严格按资源编号的递增次序进行,否则操作系统不予分配。

操作系统(一个小型操作系统的设计与实现)课程设计

南通大学计算机科学与技术学院操作系统课程设计报告 专业: 学生姓名: 学号: 时间:

操作系统模拟算法课程设计报告 设计要求 将本学期三次的实验集成实现: A.处理机管理; B.存储器管理; C.虚拟存储器的缺页调度。 设计流程图 主流程图 开始的图形界面 处理机管理存储器管理缺页调度 先来先服务时 间 片 轮 转 首 次 适 应 法 最 佳 适 应 法 先 进 先 出 L R U 算 法

A.处理机调度 1)先来先服务FCFS N Y 先来先服务算法流程 开始 初始化进程控制块,让进程控制块按进程到达先后顺序让进程排队 调度数组中首个进程,并让数组中的下一位移到首位 计算并打印进程的完成时刻、周转时间、带权周转时间 其中:周转时间 = 完成时间 - 到达时间 带权周转时间=周转时间/服务时间 更改计时器的当前时间,即下一刻进程的开始时间 当前时间=前一进程的完成时间+其服务时间 数组为空 结束

2)时间片轮转法 开始 输入进程总数 指针所指的进程是 否结束 输入各进程信息 输出为就绪状态的进程的信息 更改正在运行的进程的已运行时间 跳过已结束的程序 结束 N 指向下一个进程 Y 如果存在下一个进程的话 Y N 输出此时为就绪状态的进程的信息 时间片轮转算法流程图

B.存储器管理(可变式分区管理) 1)首次适应法 分配流程图 申请xkb内存 由链头找到第一个空闲区 分区大小≥xkb? 大于 分区大小=分区大小-xkb,修改下一个空闲区的后向指针内容为(后向指针)+xkb;修改上一个空闲区的前向指针为(前向指针)+xkb 将该空闲区从链中摘除:修改下一个空闲区的后向地址=该空闲区后向地址,修改上一个空闲区的前向指针为该空闲区的前向指针 等于 小于延链查找下 一个空闲区 到链尾 了? 作业等待 返回是 否 登记已分配表 返回分配给进程的内存首地址 开始

操作系统课程设计报告

操作系统课程设计实验报告 实验名称:进程控制 姓名/学号: 一、实验目的 学习、理解和掌握Linux与windows的进行控制系统调用的功能,熟悉主要的几个系统调用命令的格式和如何利用系统调用命令进行编程。通过学习,理解如何创建一个进程、改变进程执行的程序、进程和线程终止以及父子进程的同步等,从而提高对进程和线程控制系统调用的编程能力。 二、实验内容 设计并实现Unix的“time”命令。“mytime”命令通过命令行参数接受要运行的程序,创建一个独立的进程来运行该程序,并记录程序运行的时间。 三、实验环境 CPU: Inter ×2 2.10GHz RAM: 3.00GB Windows 7 旗舰版 Linux Ubuntu 10.04 编译: VS2010 四、程序设计与实现 4.1进程控制系统的调用 4.1.1 windows进程控制调用程序中使用的数据结构及主要符号说明 SYSTEMTIME starttime,endtime; //进程开始时间和结束时间 PROCESS_INFORMATION pi //该结构返回有关新进程及 //其主线程的信息 STARTUPINFO si //该结构用于指定新进程的主窗口特性4.1.2 linux进程控制调用程序中使用的数据结构及主要符号说明 struct timeval starttime,endtime //进程开始时间和结束时间 pid_t pid //进程标志符

4.2 程序流程图 图1 windows进程控制调用图2 linux进程控制调用程序运行流程图程序运行流程图 五、实验结果和分析 5.1 windows实验结果和分析

操作系统课程设计1要点

操作系统原理 课程设计报告题目:采用二级目录实现文件管理 所在学院: 班级: 学号: 姓名: 指导教师: 2013年1月15日

目录 一、课程设计目的 (1) 二、课题内容 (1) 三、总体路线 (1) 四、概要设计 (2) 1.数据结构 (2) 2.所使用函数及其功能 (3) 五、详细设计 (4) 1.主函数流程图 (4) 2.创建文件函数流程图 (5) 3.删除文件函数流程图 (7) 4.分解命令函数流程图 (10) 六、测试、修改及运行结果 (10) 七、结束语 (13) 八、参考文献 (14)

一、课程设计目的 文件系统是现代OS用来存储和管理信息机构,具有按名存取的功能,不仅能方便用户对信息的使用,也有效提高了信息的安全性。本课题模拟文件系统的目录结构,并在此基础上实现文件的各种操作方法。 通过本课题,深入理解文件文件目录的作用和功能,掌握文件打开结构,熟悉与文件有关的系统调用,从而更好地掌握文件系统概念。 二、课题内容 1.文件目录采用二级目录结构,第一级为主文件目录master_file_directory;第二级为用户文件目录user_file_directory。 图1 master_file_directory 结构 图2 user_file_directory 结构 2.为加速文件存取,为每个用户建立一张用户打开表fileTable,用以记录该 3.为该系统提供6条操作命令:创建、打开、读、写、关闭、删除等。 4.在该模拟系统中,应先建立主文件目录、用户目录和用户打开文件表,然后接受合法用户,给出一个菜单,按用户选择执行相关操作。 三、总体路线 1.在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个简单的单用户文件系统。在退出这个简单的文件系统时,应将该虚拟文件系统保存到磁盘上,以便下次可以再将它恢复到内存的虚拟磁盘空间中。 2.文件存储空间的分配采用显式链接分配。为了实现创建和删除文件必

计算机操作系统课程设计

计算机操作系统课程设计 班级:计091-1 姓名: 学号: 使用语言:C++ 指导老师: 学院:

一、系统要求 1、实验目的 通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。 2、实验内容 为linux系统设计一个简单的二级文件系统。要求做到以下几点: (1)可以实现下列几条命令(至少4条); login 用户登陆 dir 列文件目录 create 创建文件 delete 删除文件 open 打开文件 close 关闭文件 read 读文件 write 写文件 (2)列目录时要列出文件名、物理地址、保护码和文件长度; (3)源文件可以进行读写保护。

二、系统分析 1、设计思想 本文件为二级文件系统,即要实现对文件的增删改查,同时又具备登陆系统、注册用户的功能,各个用户之间的文件系统互不干扰。 本文件系统采用两级目录,其中第一级对应于用户账号,第二级对应于用户帐号下的文件。另外,为了简便文件系统未考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容。 系统采用结构体来存储用户、文件目录、文件数据内容: 0 48*5 48*5+44*50 48*5+44*50+264*200 每个分区都是由结构体组成,每个个去的结构体的个数由格式化系统是决定。

整个系统的编码构成主要分为: Allstruct.h 定义了每个分区的结构体; Mysys.h 声明了对系统操作的各种方法;Myuserfile.h 声明了对文件操作的各种方法; Mymain.cpp 整个系统的主函数,操作入口; Mysys.cpp 包含了mysys.h,实现了操作系统的各种方法;Myuserfile.cpp 包含了myuserfile.h,实现了操作文件的各种方法; 2、主要数据结构 Allstruct.h文件的内容: struct s_user //用户区结构体 { long isuse; //是否使用 char name[20]; //用户名 char psd[20]; //密码 long address; //目录地址 };

操作系统课程设计报告模板

中国石油大学(华东)操作系统课程设计报告 姓名: 学号: 成绩: 目录

实验一、螺旋矩阵 (3) 实验二、用Shell程序实现文件的批量管理 (4) 实验三、驱动下的螺旋矩阵程序 (7) 实验四、哲学家进餐问题 (10) 实验五、NCURSE程序框架 (14) 实验一、螺旋矩阵

一、实验任务 用C语言编写一个螺旋矩阵程序,实现输入行数和列数即可形成A~Z的螺旋矩阵,并用Makefile完成编译。 二、实验环境和工具 VMware Workstation红帽子 Linux-2.4.20-8 三、关键代码 1、螺旋矩阵实现代码(SpiralMatrix.c) #include #define N 10 int main() { int row,col,i,j,x,y,startNum; int dx[4]={0,1,0,-1};//方向 int dy[4]={1,0,-1,0}; int Matrix[N][N]; printf("请输入行数和列数:"); scanf("%d %d",&row,&col); for (i=0;i=0&&x=0&&y

新操作系统课程设计

江苏大学京江学院 JIANGSU UNIVERSITY 操作系统课程设计 文件管理系统 学院名称:京江学院 专业班级:J计算机1401 学号:4141110020 学生姓名:潘庆 指导教师:林琳 2017年 1 月

一、课设目的 操作系统是计算机专业的一门专业课,也是计算机专业考研课程,但操作系统比较抽象,有的同学一学期完了都还很难理解进程、内存管理等一些概念和原理,操作系统课程设计的目的就是通过设计的实验,让同学们真正理解进程的实现,内存管理的机制,达到理解概念,了解实现原理。同时也进一步巩固程序设计与数据结构的实践技能,实现整个大学阶段实践技能不断线的目的。 二、课设题目 实现一个简单的文件管理系统 (1)具有文件目录(一级或者多级) (2)对指定大小的磁盘(设共1GB,每个块为1MB),建立位示图进行管理 (3)文件操作,包括新建、查看属性、删除 新建文件:给出文件名、大小、建立时间等信息,系统为其分配硬盘空间,并记录在文件目录中 查看属性:给出文件名,可以输出该文件的所有属性,以及该文件所占用的物理块号。 删除文件:给出文件名,实现文件的删除 (4)文件系统操作:显示文件列表、显示磁盘空间剩余大小、输出位示图。 三、系统功能结构

四、主要数据结构 创建文件:creatfile<文件名>,即创建一个指定名字的新文件,在目录中增加一 项,不考虑文件的内容,对于重名文件,给出错误信息。 删除文件:deltefile<文件名>,即删除一个指定名字的已创建文件,若文件不存在 则给出错误信息。 输出文件列表:disp(),即显示指定目录下的全部文件和第一级子目录,若无指定 目录,则显示当前目录下的相应内容。 输出文件属性:disp2(),即给出文件名,可以输出该文件的所有属性,以及该文件所占用的物理块号。 输出位示图:bit_map(),即输出当前状态下磁盘盘块的使用情况。 五、系统使用说明 文件管理系统主菜单界面(通过输入对应数字进入相应功能子菜单)

相关文档
最新文档