模拟实现操作系统(进程管理、存储管理、文件管理)_第1页
模拟实现操作系统(进程管理、存储管理、文件管理)_第2页
模拟实现操作系统(进程管理、存储管理、文件管理)_第3页
模拟实现操作系统(进程管理、存储管理、文件管理)_第4页
模拟实现操作系统(进程管理、存储管理、文件管理)_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数学与信息工程学院操作系统软件工程系课程设计报告班 级: XXXXXXXX组长学号:XXXXXXXX组长姓名:XXXXXXXX指导教师:XXXXXXXX设计时间:XXXXXXXX摘要此次我们小组就之前在操作系统课上所学习到的知识以及原有的编程经验,并参考课本上各种算法模式,实现一个元素较为齐全的单用户操作系统。此次课程设计报告主要由以下四部分组成:概要部分:大体说明此次实现操作系统的作用以及性能课程设计任务及要求部分:主要阐述系统的主要功能模块以及每个模块计划 采用的实现方法和原理。系统设计:主要通过代码的展示以及算法描述(包括自然语言以及流程图) 描述主要模块的实现流程。程序设计及实现:该部

2、分需要结合此次实践周的尾声,由学生负责操作并交 由任课老师验收关键词:操作系统,文件系统,目录摘要 21 概要 42 课程设计任务及要求43 系统设计53.1 进程管理53.1.1 进程设置53.1.2 进程调度流程63.1.3 进程调度算法-优先级进程调度算法(抢占式)73.1.4 进程调度算法-时间片轮转调度算法(RR) 83.2 存储管理103.2.1 页的设置103.2.2 页查找流程113.2.3 页置换策略流程图123.2.4 页置换策略先进先出算法(FIFO ) 133.2.5 页置换策略最近最久未使用算法(LRU) 143.2.6 页置换策略最近最不常用算法(LFU) 163.

3、3 文件管理183.3.1 文件的设置183.3.2 创建文件和目录193.3.3 显示该目录下的所有文件203.3.4 修改文件类型203.3.5 打开文件或文件夹方法213.3.6 文件或文件夹重命名223.3.7 删除该目录下某个文件223.3.8 删除时释放FAT 表的空间233.3.9 返回上一层目录243.3.10 文件追加内容243.3.11 追加内容时修改FAT 表 253.3.12 打印 FAT 表内容 253.3.13 根据绝对路径寻找文件264 程序设计与实现271 概要操作系统是我们软件工程系学生所要学习的重要学科,操作系统对计算机系统资源的整合与管理也是具有举足轻重的

4、作用,是所有软件与计算机硬件的唯一接口,所有的用户在使用计算机时都会得到OS 提供的便捷服务。本次我们实现的操作系统无图形界面,需要输入相关指令进行操作,并以此实现我们对计算机中进程、存储、文件的管理。2 课程设计任务及要求1理解操作系统相关理论;2利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求,注意材料收集与整理;3 .总体设计(1)根据相应的题目及要求,设计合理、有效的数据结构。(2)模块设计。(3)算法设计清晰、正确,考虑算法的效率。4 .详细设计软件编码符合软件工程的规范。5 .测试结果及分析测试用例完整,测试结构正确3系统设计3.1 进程管理3.1.1 进程设

5、置设置进程的基本信息(进程号、到达时间、响应比、随机生成需要运行时间),设置初始化进程列表,设置进程数量为8个。代码实现:进程控制块PCB3.1.2 进程调度流程进程调度流程描述:小组实现的调度算法有:优先级进程调度、时间片轮转算法进程调度函数的主要工作:将正在运行的进程保存在该进程对应进程控制块中;从就绪队列中选择一个进程;将该进程中进程控制块中记录的各寄存器内容恢复到CPU各个寄存器内 以下为进程调度算法的总体算法描述(图表1):图表1进程调度框架图3.1.3 进程调度算法-优先级进程调度算法(抢占式)算法描述:进程调度采用抢占式优先级调度算法,只要系统中出现一个新的就绪进程,就进行优先权

6、比较。若出现优先权更高的进程,则立即停止当前执行,并将处理机分配给新到的优先 权最高的进程。从而娜皿下扶百诩程放入罟砌打图表2优先级进程调度算法代码实现:3.1.4 进程调度算法-时间片轮转调度算法(RR)算法描述:进程采用时间片轮转调度算法,根据先来先服务的原则, 将需要执行的所有进程按照到达时间的大小排成一个升序的序列,每次都给一个进程同样大小的时间片,在这个时间片内如果进程执行结束了, 那么把进程从进程队列中删去,如果进程没有结束, 那么把该进程停止然后改为等待状态,放到进程队列的尾部,直到所有的进程都已执行完毕代码实现:nu口建啊度 从被造从“H下一鹤泉甘达座址人答特队同图表3时间片轮

7、转调度算法流程图3.2存储管理3.2.1页的设置3.2.2页查找流程页查找流程描述:采用页式管理存储方案,系统区包括 PCB区域、数组模拟内存等执行条指令调收,躅令中遛悔地址拆分为段号小段内地址是c段保护中吟是If(段赳界中断-将门内邨词拆分力瓦”和小:内地址Ci'll偿在快表是居L统段II'断处理3.2.3页置换策略流程图存储管理流程描述:法同内在中日号川丧否调朝更新Ml表c缺页中断二)奥在内存?阻塞请求进程保护CPU现花年收问位和除改位后岐物理J也址访问内存完成祓指令取F一条指令图表4页查找流程图从外存找我该缺处选项跳阳 从外作注人该缺收修改更兼段内存分配表唤醒清城进程tK

8、feCPU存储管理部分主要实现主存空间的分配和回收、存储保护。算法包括:先来先服务算法、最少使用算法、最近最不常用算法3.2.5页置换策略一最近最久未使用算法(LRU)3.2.6页置换策略一最近最不常用算法(LFU)3.3文件管理图表5文件管理流程图文件管理流程描述:文件管理主要实现以下功能: 文件设置 文件和目录的创建 修改文件类型 打开文件 或文件夹功能删除目录下的文件删除空目录、修改、添加、释放 FAT表3.3.1 文件的设置方法描述:建立一个fileModel方法用来记录文件以及目录的相关属性,相关属性见以下代码及注 释:3.3.2 创建文件和目录方法描述:用“createFile”方

9、法创建一个文件。首先需要判断该路径下是否有多余的空间建立目标文件,其次需要判定在该路径下是否有相同扩展名的同名文件,如若存在同名文件,则系统提示该文件创建失败;如若没有同名文件, 则文件添加继续,记录上层目录并于父目录添加 文件判断是否存在所建路径的函数如下:3.3.3 显示该目录下的所有文件方法描述:用showFile方法显示指定目录下的所有文件,显示的目录文件格式如下:3.3.4 修改文件类型方法描述:判断要更改的文件的所在路径是否存在,再判断要更改的文件是否存在,判断语句如下:3.3.5打开文件或文件夹方法方法描述:首先判断该文件或文件夹所在路径是否正确,如若路径正确,则打开对应文件或文

10、件夹,反之系统显示未找到该文件3.3.6 文件或文件夹重命名方法描述:写一个reName方法对指定文件或文件夹进行重命名。重命名前进行一次判断,判断该 路径下是否存在相同名称同格式的文件存在,存在则命名失败,反之,判断文件或文件夹是否存在,若不存在,则重命名失败,反之,输入新名字并提交,且提示重命名成功。 3.3.7 删除该目录下某个文件方法描述:通过deleteFile方法执行删除文件操作。首先先要判断路径是否存在、该路径下所要删 除的文件是否存在若要删除的文件存在,则修改 FAT表,再将FAT表写入磁盘 具体执行代码如下:3.3.8 删除时释放FAT表的空间方法描述:当执行deleteFi

11、le函数时开始进行 FAT表释放操作,具体函数如下:3.3.9 返回上一层目录方法描述:写一个backFile方法,执行时进行一次判断,若文档没有上级目录,则提示无法返回, 反之成功返回上一层目录。3.3.10 文件追加内容方法描述:写一个reName方法,进行三次判断:如果内存空间充足、且要追加的该文件存在,则追 加内容成功并重新打开追加内容后的文件;若输入文件名指令不正确,提示附加内容失败; 若内存空间不足,提示附加内容失败。3.3.11 追加内容时修改FAT表算法描述:在执行文件追加内容时执行 AddFAT方法。以下为向文件追加内容的 AddFAT方法,在 执行添加文件内容函数时执行,以下为修改FAT表的代码:3.3.1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论