操作系统课程设计课件1.ppt_第1页
操作系统课程设计课件1.ppt_第2页
操作系统课程设计课件1.ppt_第3页
操作系统课程设计课件1.ppt_第4页
操作系统课程设计课件1.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

操作系统课程设计,操作系统课程设计内容,模拟采用多道程序设计方法的单用户操作系统,该操作系统包括四部分内容: 文件管理和用户接口 存储管理 设备管理 进程管理,操作系统课程设计目的,通过模拟操作系统原理的实现,加深对操作系统工作原理和操作系统实现方法的理解; 通过模拟操作系统原理的实现练习编程,课程设计具体内容和要求,文件管理和用户接口 存储管理 设备管理 进程管理,文件管理和用户接口,文件管理和用户接口部分实现的主要是单用户的磁盘文件管理部分,包括: 文件的逻辑结构 文件的物理结构 目录结构 磁盘分配回收 文件的保护 用户接口,文件管理和用户接口,此次课程设计中文件系统采用UNIX中混合索引文件结构、成组链接法 磁盘模拟 磁盘是断电后内容不丢失的,因此用文件模拟磁盘。要求模拟系统存在两块硬盘: 用一个文件disk1模拟磁盘 磁盘的每个盘块128字节,模拟磁盘共有256块。 磁盘中第0块存放专用块内容,第1、2块存放根目录,其余存放子目录和文件。,文件管理和用户接口,文件的逻辑结构 文件的逻辑结构采用流式结构; 文件的内容: 文件的内容均采用文本文件,系统中有两种文件: 一种是存放任意字符的文件 一种是可执行文件:可执行文件的内容就是系统内进程的程序体。,文件管理和用户接口,文件中要有一种特定命令的“可执行”文件,文件中的命令非常简单,仅仅包括以下几种指令: x=?; 给i赋值一位数 x+; i加1 x-; i减1 !?; 第一个?为A,B,C中某个设备,第二个?为一位数,表示使用设备的时间(由于没有实际设备,所以无法知道设备何时工作完成,所以假定一个数,这个数随着系统时间增加而递减,减到0时,认为是设备工作完成); end. 表示文件结束,同时将结果写入文件out,其中包括文件路径名和i的值。,文件管理和用户接口,目录结构 目录结构采用树型目录结构。 目录项内容(16个字节): 目录名、文件名:6个字节; 扩展名:3个字节(可执行文件扩展名为exe,目录没有扩展名); 目录、文件属性:1字节; 文件长度:2字节(目录没有长度,字节数)。 地址:直接地址项1个,一级索引项1个; 预留1字节,文件管理和用户接口,根目录 根目录位置固定,占用磁盘2块,大小固定,共16项,占用模拟磁盘第1、2块; 子目录 位置不固定,大小不固定(至少建立一级子目录,最好支持多级子目录)。 磁盘分配 磁盘的分配采用混合索引结构的分配方式。系统采用成组链接法记录磁盘空间的使用情况。 空闲块每组登记10个空闲块,专用块占用第0块。 索引块中每个盘块号占用4字节,登记32块,文件管理和用户接口,用户接口 用户接口提供用户命令接口,要求文件名中既可以支持相对路径的文件名,也可支持绝对路径的路径名。要求实现以下命令: 创建文件:create 文件名 建立新文件,如果原来存在同名文件要提示是否覆盖。 拷贝文件:copy 源文件名 目标文件名 拷贝文件可同名拷贝,也可更名拷贝 删除文件:delete文件名 移动文件:move 源文件名 目标文件名 注意:磁盘内和磁盘间文件移动的不同,磁盘内的移动实际只是目录的改变,并不需要真的移动文件;磁盘间的文件移动实际上是先拷贝文件到目标磁盘,然后再删除源文件。,文件管理和用户接口,显示文件:type 文件名 仅仅是显示文件内容。 编辑文件:edit 文件名 要求此命令完成对文件的编辑,注意只读文件不可以修改。 改变文件属性:change 文件名 属性 将文件在只读和非只读、隐藏和非隐藏之间转换。 磁盘格式化命令 format 盘符 建立目录:makdir 目录 建立目录,若同名目录存在则建立失败。 改变目录路径:chadir目录 改变当前目录。,文件管理和用户接口,删除空目录:rdir 目录 当前目录、非空目录、根目录不能删除。 删除目录:deldir 目录 既可删除空目录又可删除非空目录,对于非空目录,首先要删除其下文件和目录然后才能删除其本身。 运行可执行文件:可执行文件的文件名(可创建创建进程)。 上述命令在实际系统中都是需要建立进程才可以实现的,这里由于模拟系统的能力达不到,所以除运行可执行文件需要建立进程外,其他指令执行不必在模拟系统中建立进程。 注意打开文件表。,文件管理和用户接口,屏幕显示 屏幕显示要求包括: 用户命令接口,用于系统运行时用户输入命令; 磁盘目录显示,要求显示磁盘的树型目录结构; 磁盘使用情况,显示磁盘每一个磁盘块的空间是否空闲。,存储管理,存储管理部分主要实现主存空间的分配和回收、存储保护。 模拟系统中,采用页是存储管理方案(PCB区域单独存放) 系统区包括pcb区域、位示图 用数组模拟其他内存区域,大小为512字节。,存储管理,主存的模拟 采用数组来模拟主存的用户区,每个数组元素占用一个字节 实验中主存大小为512个字节,每个主存块16个字节 数据结构 本次实验采用页式管理策略对主存进行分配和回收策略, 采用位示图记录主存使用情况,存储管理,主存分配策略 当有程序要存放入主存时,查看空闲块总数是否够用,如果够用,先分配一块用来存放页表,然后查位示图中为“0”的位,根据查到的位所在的字号和位号可计算出对应的块号,同时在该位填上占用标志“1”,并填写页表;不够用,分配失败。 块号=字号*字长+位号 主存回收策略 根据页表归还存储空间时,可以根据归还块的块号推算出在位示图中的位置: 字号=块号/位示图中字长 位号=块号mod位示图中字长 然后把这一位的“1”清成“0”,表示该块成为空闲块了 最后回收页表所占用空间,存储管理,屏幕显示 主存使用情况示意图,哪些主存已经分配,哪些主存未分配,以不同的颜色表示(例如,红色表示已分配,蓝色表示未分配)。 正在运行的进程对应指令存放的位置以特殊颜色显示。,设备管理,设备管理主要包括设备的分配和回收。 设备的模拟 模拟系统中有A、B、C三种独占型设备,A设备3个,B设备2个,C设备1个。 数据结构 因为模拟系统比较小,因此只要设备表设计合理既可。 设备分配 采用先来先服务策略。 设备回收 回收设备后,要注意唤醒等待设备的进程。 屏幕显示 屏幕显示要求包括:每个设备是否被使用,哪个进程在使用该设备,哪些进程在等待使用该设备。,进程管理,进程管理主要包括进程调度,进程的创建和撤销、进程的阻塞和唤醒,中断作用的实现。 硬件工作的模拟: 中央处理器的模拟 用函数CPU( )(该函数不能有参数)模拟中央处理器。 该函数主要负责解释“可执行文件”中的命令。 x=?; x+; x-; !?; end. 注意:CPU只能解释指令寄存器IR中的指令。一个进程的运行时要根据进程执行的位置,将对应的指令存放到指令寄存器中。,进程管理,主要寄存器的模拟 用全局变量模拟重要寄存器,如cpu重要寄存器,程序状态寄存器PSW、指令寄存器IR,程序计数器PC,数据缓冲寄存器DR等。 中断的模拟 中断的发现应该是硬件的工作,这里在函数CPU中加检测PSW的方式来模拟 在CPU()函数中,每执行一条指令之前,先检查PSW,判断有无中断,若有进行中断处理,然后再运行解释指令。 CPU函数应该不断循环执行的。,进程管理,模拟中断的种类和中断处理方式: 程序结束(执行指令end形成的中断,软中断):将结果写入文件out,其中包括文件路径名和x的值,调用进程撤销原语撤销进程,然后进行进程调度; I/O中断(设备完成输入输出):将输入输出完成的进程唤醒,将等待该设备的一个进程同时唤醒。 时钟中断:进程时间片用完,转为就绪,重新进程调度 时钟的模拟。 系统中的绝对时钟和相对时钟用全局变量模拟。系统时钟用来记录开机以后的时间。 这里的系统时钟并不是计算机的真正的时钟,这里所说的时间只是一个单位,例如使用vb中的时钟控件实现,每触发一次timer事件,绝对时钟增1,表示增加一个时间单位,绝对时钟减1,进程管理,进程控制块 进程控制块内容包括进程标识符、主要寄存器内容、进程状态、阻塞原因等等。本模拟系统最多容纳10个进程块。 pcb区域用数组模拟。 进程控制块根据内容的不同组成不同的队列,空白进程控制块链、就绪队列和阻塞队列,正在运行的进程只有一个,系统初始时只有空白进程控制块链。 进程调度 采用时间片轮转调度算法,采用时间片轮转调度算法时间片为5。 进程调度函数的主要工作是: 将正在运行的进程保存在该进程对应进程控制块中; 从就绪队列中选择一个进程; 将这个进程中进程控制块中记录的各寄存器内容恢复到CPU各个寄存器内。,进程管理,进程控制 建立四个函数模拟进程创建、撤销、阻塞和唤醒四个原语。 进程创建create 进程创建的主要工作是: 第一步,申请空白进程控制块; 第二步,申请主存空间,申请成功,装入主存; 第三步,初始化进程控制块; 第四步,将进程链入就绪队列,根据情况决定是否转向进程调度。,进程管理,进程撤销destory 进程撤销的主要工作是: 第一步,回收进程所占内存资源; 第二步,回收进程控制块; 第三步,在屏幕上显示进程执行结果,进程撤销 进程阻塞block 进程阻塞的主要工作是: 第一步,保存运行进程的CPU现场; 第二步,修改进程状态;

温馨提示

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

评论

0/150

提交评论