操作系统课程设计指导书06版.docx
- 文档编号:10873874
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:8
- 大小:18.27KB
操作系统课程设计指导书06版.docx
《操作系统课程设计指导书06版.docx》由会员分享,可在线阅读,更多相关《操作系统课程设计指导书06版.docx(8页珍藏版)》请在冰豆网上搜索。
操作系统课程设计指导书06版
景德镇陶瓷学院
信息工程学院
计算机专业教研室
目录
目录
JCINX操作系统开发3
概述3
设计一:
PC启动过程及jcinx启动代码的分析5
说明:
5
要求:
5
设计二:
分析JCINX的内存管理单元VMM6
说明:
6
要求:
6
设计三:
分析JCINX进程和线程管理的实现过程7
说明:
7
要求:
7
设计四:
分析JCINX块设备管理功能8
说明:
8
要求:
8
设计五:
分析jcinx的tui用户接口9
说明:
9
要求:
9
设计六:
分析jcinx的内存管理功能10
说明:
10
要求:
10
设计七:
分析jcinx的键盘设备管理功能11
说明:
11
要求:
11
设计八:
分析jcinx的vga设备管理功能12
说明:
12
要求:
12
设计九:
分析jcinx的文件系统功能113
说明:
13
要求:
13
设计十:
分析jcinx的文件系统功能214
说明:
14
要求:
14
JCINX操作系统开发
概述
从计算机领域出现第一个OS开始,OS就成为众多计算机专家,以及各种计算机爱好者关注,研究,实践的宠儿。
经过几十年的迅速发展,当今世界已经存在多种面向不同领域,不同平台,不同用途的OS,比如完全面向IBMPC的已经过时的单任务OSMS-DOS,以及当今的主流PC操作系统MS-Windows系列,面向从大型机到桌面电脑,甚至掌上电脑的Unix以及其多种变种,还有分布式OS,实时OS,嵌入式OS,还有形形色色的面向研究的各种OS。
对计算机专业的学生开设的《操作系统》这门课程的目的是让学生了解计算机的这个最核心的系统软件,也让大家在如此五光十色的操作系统面前不被迷惑能看出各自的优缺点为自己的学习和工作选择合适的操作系统。
JCINXOS就是一个为学习目的而创建的一个试验性质的操作系统,通过学习我们的操作系统,学生可以学习到操作系统是怎样开发起来的以及操作系统各个方面的时限的大致框架和基本技术。
内容包括:
启动扇区的设计。
简单内核的设计。
内存的管理功能(不包含虚拟内存)。
外存的管理功能(即硬盘的文件系统的设计)。
英文命令解释字符界面。
可执行程序的装载器,和进程的创建。
进程的管理,实现任务的切换。
简单设备的管理。
LinusBenedictTorvalds在回答有人提出Linux上的一个问题时,所说的第一句话就是“阅读源代码”(“RTFSC(ReadtheF**ingSourceCode:
-)”)。
他认为答案就在源程序中。
这也说明了对于学习系统软件来说,我们不光需要懂得系统的工作基本原理,还需要结合实际系统,学习实际系统的实现方法。
因为理论毕竟是理论,其中省略了许多枝节,而这些枝节问题虽然没有太多的理论含量,但却是一个系统必要的组成部分,就象麻雀身上的一根羽毛。
设计一:
PC启动过程及jcinx启动代码的分析
说明:
在最低的层次上,启动系统的第一步是从硬件获得帮助,然后由这个硬件去运行一些短小的程序,再由他去引导系统。
PC机的引导过程如下:
1)首先,当机器开启的时候,机器中的每个CPU都要初始化。
我们现在只考虑只有一个CPU的情况。
在系统开启之后,这个CPU就开始进行自测试。
2)CPU初始化后,从0xfffffff0地址开始取指令执行。
执行的是固化在ROM中的指令。
这是一个跳转指令,跳转到BIOS代码的开始位置。
3)BIOS使用内部的规则来启动设备。
通常的选择顺序是软盘、硬盘、CDROM。
当然你也可以通过按健来手动选择。
当设备启动后,BIOS读这个设备上的第一个扇区的信息,即开始512个字节的内容,称之为MBR主引导记录。
要求:
通过对jcinx初起代码的分析,了解一个操作系统的初起过程,查阅资料了解PC的启动过程,并分析jcinx代码目录boot下的bootsect.asm,setup.asm于系统初起的相关代码,得到相关的框图写出设计报告。
本项由1位同学完成
设计二:
分析JCINX的内存管理单元VMM
说明:
目前jcinx中应用的是first-fit内存分配方法,整个内存的空闲空间由一个空闲链表管理,这也是内存管理方法中最简单的一种。
要求:
通过分析kernel/vmm下的文件得到分析结果,学习和研究intel的段页式无力内存的管理方法,分析JCINXOS使用的物理内存管理代码。
分析现有的线性内存(逻辑内存)分配管理方法,并教材实现另外一种内存管理方法。
画出相关的框图写出设计报告。
本项由2位同学完成
设计三:
分析JCINX进程和线程管理的实现过程
说明:
jcinx的进程和线程基本现同,但是进程有自己的空间,线程共享父进程的虚拟空间。
要求:
通过分析kernel/mts下的文件得到分析结果,分析掌握JCINX对进程和线程的管理方法,指出不足,并给出更好的实现办法,画出相关的框图写出设计报告。
本项由2位同学完成
设计四:
分析JCINX块设备管理功能
说明:
在kernel/drv/ata中实现了硬盘IDE接口的硬件驱动程序。
要求:
通过分析kernel/drv/ata下的文件得到分析结果,画出相关的框图,写出设计报告。
本项由1位同学完成
设计五:
分析jcinx的tui用户接口
说明:
在kernel/tui目录下实现了jcinx基于字符的终端用户接口。
要求:
通过分析kernel/tui并结合kernel/drv/vga下的文件得到分析结果,画出相关的框图;并为JCINX设计一个GUI框架,具备基本的UI元素,并能用鼠标操纵元素使用JCINX,至少要给出实现方案和框图,写出设计报告。
本项由2位同学完成
设计六:
分析jcinx的内存管理功能
说明:
当处理器在转换线性地址到物理地址的过程中检测到以下两种条件时,就会发生缺页异常中断:
o当CPU发现对应页目录项或页表项的存在位(Present)标志为0
o当前进程没有访问指定页面的权限
对于页异常处理中断,CPU提供了两项信息用来诊断页异常和从中恢复运行。
(1)放在堆栈上的出错码。
该出错码指出了异常是由于页不存在引起的还是违反了访问权限引起的;在发生异常时CPU的当前特权层;以及是读操作还是写操作。
出错码的格式是一个32位的长字。
但只用了最后的3个比特位。
分别说明导致异常发生时的原因:
位2(U/S)-0表示在超级用户模式下执行,1表示在用户模式下执行;
位1(W/R)-0表示读操作,1表示写操作;
位0(P)-0表示页不存在,1表示页级保护。
(2)CR2(控制寄存器2)。
CPU将造成异常的用于访问的线性地址存放在CR2中。
异常处理程序可以使用这个地址来定位相应的页目录和页表项。
如果在页异常处理程序执行期间允许发生另一个页异常,那么处理程序应该将CR2压入堆栈中。
要求:
学习和研究intel的段页式物理内存的管理方法,分析JCINXOS使用的物理内存管理代码。
通过分析kernel/pmm目录下的源文件,并结合启动阶段设置的gdt等表格得到分析结果,画出相关的框图写出设计报告。
本项由1位同学完成
设计七:
分析jcinx的键盘设备管理功能
说明:
键盘是目前jcinx输入的唯一途径,而且jcinx支持的键盘映射也仅仅一种,但是键盘输入在多任务的条件的缓冲管理是很重要的!
要求:
学习研究jcinx的键盘设备管理功能,分析kernel/drv/keyb下的文件得到分些结果,画出相关的框图写出设计报告。
本项由1位同学完成
设计八:
分析jcinx的vga设备管理功能
说明:
要求:
学习研究jcinx的vga设备管理功能,分析kernel/drv/vga下的文件得到分析结果,画出相关的框图,并根据实现的多终端输出效果实现一个窗口输出服务,供上层使用,最终写出设计报告。
本项由1位同学完成
设计九:
分析jcinx的文件系统功能1
说明:
要求:
学习研究jcinx的文件系统功能,分析fs_下的文件得到分析结果,画出相关的框图,并根据资料实现fat16或者fat32文件系统,至少要给出实现方案和框图,最终写出设计报告。
本项由2位同学完成
设计十:
分析jcinx的文件系统功能2
说明:
要求:
学习研究jcinx的文件系统功能,分析fs_下的文件得到分析结果,画出相关的框图,并根据资料实现ext2文件系统,至少要给出实现方案和框图,最终写出设计报告。
本项由2位同学完成。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课程设计 指导书 06
![提示](https://static.bdocx.com/images/bang_tan.gif)