操作系统课程设计课

上传人:子 文档编号:51719404 上传时间:2018-08-16 格式:PPT 页数:31 大小:179.50KB
返回 下载 相关 举报
操作系统课程设计课_第1页
第1页 / 共31页
操作系统课程设计课_第2页
第2页 / 共31页
操作系统课程设计课_第3页
第3页 / 共31页
操作系统课程设计课_第4页
第4页 / 共31页
操作系统课程设计课_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《操作系统课程设计课》由会员分享,可在线阅读,更多相关《操作系统课程设计课(31页珍藏版)》请在金锄头文库上搜索。

1、操作系统课程设计操作系统课程设计内容 模拟采用多道程序设计方法的单用户操作 系统,该操作系统包括四部分内容:l文件管理和用户接口l存储管理l设备管理l进程管理操作系统课程设计目的 l通过模拟操作系统原理的实现,加深对操 作系统工作原理和操作系统实现方法的理 解;l通过模拟操作系统原理的实现练习编程课程设计具体内容和要求 l文件管理和用户接口l存储管理l设备管理l进程管理文件管理和用户接口文件管理和用户接口部分实现的主要是单 用户的磁盘文件管理部分,包括:l文件的逻辑结构l文件的物理结构l目录结构l磁盘分配回收l文件的保护l用户接口文件管理和用户接口此次课程设计中文件系统采用UNIX中混合 索引

2、文件结构、成组链接法l磁盘模拟磁盘是断电后内容不丢失的,因此用文件 模拟磁盘。要求模拟系统存在两块硬盘:l用一个文件disk1模拟磁盘cl磁盘的每个盘块128字节,模拟磁盘共有256块 。l磁盘中第0块存放专用块内容,第1、2块存放 根目录,其余存放子目录和文件。文件管理和用户接口l文件的逻辑结构l文件的逻辑结构采用流式结构;l文件的内容: 文件的内容均采用文本文件,系统中有两种文件:l一种是存放任意字符的文件l一种是可执行文件:可执行文件的内容就是系统内 进程的程序体。文件管理和用户接口文件中要有一种特定命令的“可执行”文件,文件中的 命令非常简单,仅仅包括以下几种指令:lx=?; 给i赋值

3、一位数lx+; x加1lx-; x减1l!?; 第一个?为A,B,C中某个设备,第二个?为 一位数,表示使用设备的时间(由于没有实际设备 ,所以无法知道设备何时工作完成,所以假定一个 数,这个数随着系统时间增加而递减,减到0时,认 为是设备工作完成);lend. 表示文件结束,同时将结果写入文件out,其 中包括文件路径名和i的值。文件管理和用户接口l目录结构目录结构采用树型目录结构。l目录项内容(16个字节):l目录名、文件名:6个字节;l扩展名:3个字节(可执行文件扩展名为exe,目录 没有扩展名);l目录、文件属性:1字节;l文件长度:2字节(目录没有长度,字节数)。l地址:直接地址项1

4、个,一级索引项1个;l预留1字节文件管理和用户接口l根目录根目录位置固定,占用磁盘2块,大小固 定,共16项,占用模拟磁盘第1、2块;l子目录位置不固定,大小不固定(至少建立一级 子目录,最好支持多级子目录)。l磁盘分配l磁盘的分配采用混合索引结构的分配方式。系统采 用成组链接法记录磁盘空间的使用情况。l空闲块每组登记10个空闲块,专用块占用第0块。l索引块中每个盘块号占用4字节,登记32块文件管理和用户接口l用户接口用户接口提供用户命令接口,要求文件名中既可以支持相对路 径的文件名,也可支持绝对路径的路径名。要求实现以下命令 :l创建文件:create 文件名建立新文件,如果原来存在同名文件

5、要提示是否覆盖。l拷贝文件:copy 源文件名 目标文件名拷贝文件可同名拷贝,也可更名拷贝l删除文件:delete文件名 l移动文件:move 源文件名 目标文件名注意:磁盘内和磁盘间文件移动的不同,磁盘内的移动实际只 是目录的改变,并不需要真的移动文件;磁盘间的文件移动实 际上是先拷贝文件到目标磁盘,然后再删除源文件。文件管理和用户接口l显示文件:type 文件名仅仅是显示文件内容。l编辑文件:edit 文件名要求此命令完成对文件的编辑,注意只读文件不可以修改。l改变文件属性:change 文件名 属性将文件在只读和非只读、隐藏和非隐藏之间转换。l磁盘格式化命令 format 盘符l建立目录

6、:makdir 目录建立目录,若同名目录存在则建立失败。l改变目录路径:chadir目录改变当前目录。文件管理和用户接口l删除空目录:rdir 目录当前目录、非空目录、根目录不能删除。l删除目录:deldir 目录既可删除空目录又可删除非空目录,对于非空目录,首先要删 除其下文件和目录然后才能删除其本身。l运行可执行文件:可执行文件的文件名(可创建进程 )。l上述命令在实际系统中都是需要建立进程才可以实现 的,这里由于模拟系统的能力达不到,所以除运行可 执行文件需要建立进程外,其他指令执行不必在模拟 系统中建立进程。l注意打开文件表。文件管理和用户接口l屏幕显示屏幕显示要求包括:l用户命令接口

7、,用于系统运行时用户输入命令 ;l磁盘目录显示,要求显示磁盘的树型目录结构 ;l磁盘使用情况,显示磁盘每一个磁盘块的空间 是否空闲。存储管理 l存储管理部分主要实现主存空间的分配和回收 、存储保护。l模拟系统中,采用页式存储管理方案(PCB区 域单独存放)l系统区包括pcb区域、位示图l用数组模拟其他内存区域,大小为512字节。存储管理l主存的模拟 l采用数组来模拟主存的用户区,每个数组元素占用一 个字节l实验中主存大小为512个字节,每个主存块16个字节 l数据结构本次实验采用页式管理策略对主存进行分配和回收策略 , 采用位示图记录主存使用情况存储管理l主存分配策略当有程序要存放入主存时,查

8、看空闲块总数是否够用, 如果够用,先分配一块用来存放页表,然后查位示图 中为“0”的位,根据查到的位所在的字号和位号可计算 出对应的块号,同时在该位填上占用标志“1”,并填写 页表;不够用,分配失败。块号=字号*字长+位号l主存回收策略 根据页表归还存储空间时,可以根据归还块的块号推算出 在位示图中的位置:字号=块号/位示图中字长位号=块号mod位示图中字长然后把这一位的“1”清成“0”,表示该块成为空闲块了最后回收页表所占用空间 存储管理l屏幕显示l主存使用情况示意图,哪些主存已经分配,哪 些主存未分配,以不同的颜色表示(例如,红 色表示已分配,蓝色表示未分配)。l正在运行的进程对应指令存放

9、的位置以特殊颜 色显示。设备管理 设备管理主要包括设备的分配和回收。l设备的模拟模拟系统中有A、B、C三种独占型设备,A设备3个,B设 备2个,C设备1个。l数据结构因为模拟系统比较小,因此只要设备表设计合理既可。l设备分配采用先来先服务策略。l设备回收回收设备后,要注意唤醒等待设备的进程。l屏幕显示屏幕显示要求包括:每个设备是否被使用,哪个进程在使 用该设备,哪些进程在等待使用该设备。进程管理 进程管理主要包括进程调度,进程的创建和 撤销、进程的阻塞和唤醒,中断作用的实现。l硬件工作的模拟:l中央处理器的模拟l用函数CPU( )(该函数不能有参数)模拟中央处理器。l该函数主要负责解释“可执行

10、文件”中的命令。x=?; x+; x-; !?; end. l注意:CPU只能解释指令寄存器IR中的指令。一个进程的运行 时要根据进程执行的位置,将对应的指令存放到指令寄存器中 。进程管理l主要寄存器的模拟用全局变量模拟重要寄存器,如cpu重要寄存 器,程序状态寄存器PSW、指令寄存器IR,程 序计数器PC,数据缓冲寄存器DR等。l中断的模拟l中断的发现应该是硬件的工作,这里在函数CPU中 加检测PSW的方式来模拟l在CPU()函数中,每执行一条指令之前,先检 查PSW,判断有无中断,若有进行中断处理, 然后再运行解释指令。lCPU函数应该不断循环执行的。进程管理l模拟中断的种类和中断处理方式

11、:l程序结束(执行指令end形成的中断,软中断):将结果 写入文件out,其中包括文件路径名和x的值,调用进程撤 销原语撤销进程,然后进行进程调度;lI/O中断(设备完成输入输出):将输入输出完成的进程唤 醒,将等待该设备的一个进程同时唤醒。l时钟的模拟。系统中的绝对时钟和相对时钟用全局变量模拟 。系统时钟用来记录开机以后的时间。这里的系统时钟并不是计算机的真正的时钟, 这里所说的时间只是一个单位,例如使用vb中的时 钟控件实现,每触发一次timer事件,绝对时钟增1 ,表示增加一个时间单位。进程管理l进程控制块l进程控制块内容包括进程标识符、主要寄存器内容、 进程状态、阻塞原因等等。本模拟系

12、统最多容纳10个 进程块。lpcb区域用数组模拟。l进程控制块根据内容的不同组成不同的队列,空白进 程控制块链、就绪队列和阻塞队列,正在运行的进程 只有一个,系统初始时只有空白进程控制块链。l进程调度l采用抢占式优先级调度算法。l进程调度函数的主要工作是:l将正在运行的进程保存在该进程对应进程控制块中;l从就绪队列中选择一个进程;l将这个进程中进程控制块中记录的各寄存器内容恢复到CPU各 个寄存器内。进程管理l进程控制 建立四个函数模拟进程创建、撤销、阻塞和唤醒四个原语。l进程创建create 进程创建的主要工作是:l第一步,申请空白进程控制块;l第二步,申请主存空间,申请成功,装入主存;l第

13、三步,初始化进程控制块;l第四步,将进程链入就绪队列,根据情况决定是否 转向进程调度。进程管理l进程撤销destory 进程撤销的主要工作是:l第一步,回收进程所占内存资源;l第二步,回收进程控制块;l第三步,在屏幕上显示进程执行结果,进程撤销l进程阻塞block 进程阻塞的主要工作是:l第一步,保存运行进程的CPU现场;l第二步,修改进程状态;l第三步,将进程链入对应的阻塞队列,然后转向进程 调度。进程管理l进程的唤醒进程唤醒的主要工作是l第一步,将进程由阻塞队列中摘下;l第二步,修改进程状态为就绪;l第三步,链入就绪队列,根据情况决定是否转向进程调度。l屏幕显示 屏幕显示要求包括:l显示系统时钟;l显示正在运行的进程的进程名、运行的指令、中间结果、相对时 钟寄存器内容;l显示就绪队列中进程名;l显示阻塞队列中进程名。屏幕显示正在运行进程CPU 时间片就绪队列 进程名等待队列 进程名, 等待时间正在执行的指令主存用户区使用情 况设备使用情况:是否分 配,占用进程,等待进 程用户命令接口磁盘目录结构磁盘使用情况执行进程 中间结果进程 执行 完, 显示 结果系统时间备注: 用数组,文件等模拟存储器、硬盘 、内存、设备等。先确定N个资源,再用程 序去管理和调度!模拟的虚拟机,注意机理。开机时的计算机做的一些事情及其顺序

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号