当前位置:首页 > 操作系统课程设计
河北大学工商学院2011级本科生学年论文(课程设计)
2.2.6屏幕显示
屏幕显示要求包括:
用户命令接口,用于系统运行时用户输入命令; 磁盘目录显示,要求显示磁盘的树型目录结构;
磁盘使用情况,显示磁盘每一个磁盘块的空间是占用还是空闲。
三、系统实现
3.1磁盘管理 3.1.1磁盘的创建
磁盘的创建主要采用的文件流的方式,采用了二位byte数组进行储存。
3.1.2磁盘的分配
空闲块的分配和回收都是针对专用块来操作的,没分配一块后,把空闲块数减1,但要把一组中的第一个空闲块分配除去之前应该把登记在该块中的下一组的块号及块数保存到专用快中(原专用块中的信息已经无用,因为它指示的一组空闲块都已被分配),如图3-1-2所示:
- 9 -
河北大学工商学院2011级本科生学年论文(课程设计)
开始 查询L单元内容,即专用块的内容 空闲快数>1 是 从(L+空闲块数)单元得到一空闲块号 否 取出第(L+1)单元内容 把该块分配给申请者 其值=0 否 将该块内容复制到专用块 是 申请失败 空闲块数减1 把该块分配给申请者 结束
图3-1 分配一个磁盘块的流程图 3.1.3磁盘的回收
当归还一块时,只要把归还块的块号登记到专用块的当前组中且将空闲块数加1,如果当前组已经满10块,则把专用块中的内容写到归还的那块中,该归还块作为新组的第一块,如图3-2所示:
- 10 -
河北大学工商学院2011级本科生学年论文(课程设计)
开始 查询L单元的空闲块数,即专用块中记录的空闲块数 空闲块数<10 是 空闲块数+1 否 把专用块内容写入归还块中 归还块号填入(L+空闲块数)单元 将归还块号填入专用块的1单元 将专用块的0单元置成1 结束
图3-1-3 回收一个磁盘块的流程图 3.1.4磁盘状态的显示
磁盘的状态在每次分配和回收磁盘块的函数过程中实现,绿色表示系统占用的磁盘,每分配一个空闲块,将相应lable灰色改为蓝色,表示该磁盘块已经被占用;每回收一块磁盘块的时候,将相应Label由蓝色改为灰色,表示该磁盘块空闲。
3.2目录结构的实现 3.2.1创建目录
建立目录首先要找到建立目录的位置(父目录),然后查找该目录是否存在,如果父目录不存在,不能建立,如果存在,查找是否存在同名目录,存在,不能建立,不存在,则查找一个空目录项,,为该目录项申请一个盘块,并填写目录内容,如图3-2-1所示:
- 11 -
河北大学工商学院2011级本科生学年论文(课程设计)
开始 路径名为name 将name分离成建立文件的目录路径名pathname和目录名dname 查找pathname 找到该目录? 是 在该目录中找dname 否 制定目录不存在,创建目录失败 dname目录已存在? 是 否 结束 要创建的目录已经存在,创建失败 目录中有空白项? 否 是 结束 申请空闲块 目录磁盘已满,创建失败 结束 申请成功? 否 是 初始化dname目录项 系统已经没有空闲块创建失败 将dname目录添加到树型目录中显示 结束
图3-2-1 创建一个目录的流程图 - 12 -
共分享92篇相关文档