菜单
  

    本项目实现的操作系统也采用层次结构进行设计,如图2所示:
    图 2 系统层次结构图
    内核管理模块是操作系统最重要的模块,它直接和硬件接触实现功能,本项目实现内核的三大功能:内存管理模块、I/O设备管理模块以及多任务管理模块。其中内存管理模块负责内存空间的分配与回收,I/O设备管理模块实现中断处理接收键盘鼠标数据,多任务管理模块负责实现多任务并发执行。
    在内核管理模块之上的是图层绘制模块,其主要功能是绘制图形化操作界面,实现画面上字符图形的显示刷新、窗口移动以及多张图层叠加管理。
    图层绘制管理模块上面是命令行窗口,命令行窗口本身利用图层绘制管理模块绘制出来,紧接着调用图层绘制管理模块的函数实现窗口本身的字符显示。
    API位于命令行窗口上一层,是操作系统提供给应用程序的功能接口。API中封装命令行窗口的一部分函数提供给最上层的应用程序,当应用程序中调用了API之后会继续调用命令行模块函数从而实现应用程序在命令行窗口的运行。
    综上,本文最后的操作系统将实现一个系统启动盘,该启动盘能够实现系统自举,加载后的系统可以对鼠标键盘等中断做出必要响应、可以对内存分配回收进行管理、可以对窗口图层叠加进行管理、可以实现简单的多任务并发执行、还可以在命令行中输入简单的命令以及运行简易应用程序。
    3. 系统实现
    3.1 操作系统引导模块
    通电自启时,BIOS会启动系统自举程序,该程序会按照CMOS的设置去寻找操作系统的启动盘,启动盘中包含操作系统的加载程序,首先运行加载程序,由加载程序把操作系统内核加载到内存中,到此操作系统开始管理整个计算机,而操作系统内核程序的第一步就是从实模式进入保护模式,其他所有管理模块都是建立在保护模式基础之上,系统运行流程图如图3所示。
     图 3 系统运行流程图
    3.1.1软盘与启动区介绍
    本文设计的操作系统采用软盘当做启动盘启动操作系统,软盘构造如图4所示,具体做法如下。
    图 4 软盘示意图
    由图可知,一张软盘有两个磁头,即读写口,每个磁头控制80个柱面,每个柱面含有18个扇区,每个扇区512字节,所以整张软盘的容量为:
    80*2*18*512 = 1474560 Byte = 1440 KB
    通电自举程序找到该软盘后,计算机就会检查软盘的0柱面0磁头1扇区(柱面磁头下标从0开始,扇区从1开始),如果该扇区以0x55AA结束,则BIOS认为它是一个引导扇区。
    所谓引导扇区,也被称作主引导记录MBR,主要作用是加载操作系统并将处理器控制权转让给操作系统。
    所以在具体实现的时候,只需把该扇区最后两个字节赋值0x55AA,BIOS就会把该扇区内容装载到内存地址0000:7c00处,然后将控制权彻底交给这段代码。
  1. 上一篇:Android的视频播放器的设计+源码
  2. 下一篇:Android的大学生闲置物品交易系统设计+源程序
  1. 基于MATLAB的图像增强算法设计

  2. 基于Kinect的手势跟踪与识别算法设计

  3. JAVA基于安卓平台的医疗护工管理系统设计

  4. 基于核独立元分析的非线...

  5. 基于Hadoop的制造过程大数据存储平台构建

  6. 基于安卓系统的测量软件...

  7. 基于VC++的GIS矢量图形系统开发

  8. 十二层带中心支撑钢结构...

  9. 大众媒体对公共政策制定的影响

  10. 当代大学生慈善意识研究+文献综述

  11. 杂拟谷盗体内共生菌沃尔...

  12. 电站锅炉暖风器设计任务书

  13. 乳业同业并购式全产业链...

  14. 酸性水汽提装置总汽提塔设计+CAD图纸

  15. java+mysql车辆管理系统的设计+源代码

  16. 河岸冲刷和泥沙淤积的监测国内外研究现状

  17. 中考体育项目与体育教学合理结合的研究

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回