- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于x86平台的多任务分时操作系统的设计与实现
摘要:该文阐述如何根据操作系统的原理和x86CPU的运行机制设计并实现一个简单的操作系统内核,并详细描述了其中内存管理,进程管理,以及磁盘文件系统的设计与实现方法。该系统的实现将有利于从微观上观察操作系统的行为特征,更好地学习、理解和实践微内核机制,也有利于对Linux内核的研究学习。
关键词:操作系统;内核;进程调度;文件系统;x86
中图分类号:TP316.1文献标识码:A文章编号:1009-3044(2008)30-0648-03
The Design of A Multitask Real-Time Operating System Base on x86
ZHANG Chen
(School of Computer Science and Technology, China University of Mining and Technology, Xuzhou 221008, China)
Abstract: The article described how to design a simple operating system kernel base on the principle of operating system and the mechanism of X86, and explain the design and implament of the part of memory management, process management and hard disk file system in detail. Learning the implament of this operating system if good of looking into the microcosmic character of the operating system, learning understanding and carry out kernel mechanism, and its also can vail the research of Linux kernel.
Key words: operating system; kernel; process schedule; file system; x86
1 引言
随着计算机科学技术的发展,计算机在各个领域不断普及,作为计算机软件核心的计算机操作系统始终扮演着重要的角色。由于起步较晚,国内对操作系统的研究水平始终落后于国外发达国家,并且在高等院校的操作系统课程中也都是重理论轻实践,由于缺乏实践,大多数学生对操作系统的理论都掌握的不深刻。文中讲述了一个基于Intel x86系列CPU的微型多任务多控制台操作系统的设计和实现的方法,该操作系统从软盘启动,并且具有简单而有效的内存管理,进程调度,中断处理,I/O控制,文件系统等操作系统必备的核心部分,希望这些内容能给广大操作系统爱好者一些参考,通过实践来加深对操作系统理论的理解,同时也可以作为研究学习Linux源代码的一个铺路石。
2 设计环境和总体结构
2.1 设计环境
装有Linux的PC机(含有NASM, GCC等开发工具);
虚拟机软件,如VMWARE,创建一台x86环境的虚拟机;
操作系统调试软件Bochs;
镜像管理工具,如WinImage;
扇区读写工具(用来写软盘的引导扇区);
虚拟机的使用可以使编译链接出的代码立即在虚拟机上运行出来,对于操作系统的开发来说可以大大的提高效率。
2.2 总体结构
一个操作系统应该具备基本的引导程序,以及内存分配回收,进程调度,中断处理,I/O控制,文件系统等功能。总体结构见图1。
3 操作系统关键部分的设计与实现
3.1 引导程序
当计算机电源被打开时,它会先进行加电自检,然后寻找启动盘,这里我们将启动盘设置为了软驱。那么计算机就会检查软盘的0面0磁道1扇区,如果发现它以0Xaa55结束的话,那么BIOS认为它是一个引导扇区,我们操作系统的引导程序就在里边。一旦BIOS发现了引导程序,就会将这512字节的内容装载到内存的0000:7c00处,然后跳转到0000:7c00处将控制权彻底的交给我们的引导程序。所以在引导程序的汇编代码中要有这么一句:
Org 07c00
它告诉编译器,将来我们的这段程序要被加载到内存的7c00处。
引导扇区的容量是有限的,所以在此引导程序的主要功能就是利用软盘的FAT12分区表
您可能关注的文档
最近下载
- 外研版英语(一起点)二年级上册 Module1 大单元学历案教案 教学设计附作业设计(基于新课标教学评一体化).docx VIP
- (2020)(求职简历模板)个人简历封面(史上最全最好).doc VIP
- 三级安全教育培训、新员工入职安全教育培训 .pptx VIP
- 天线系统组成与结构解析.docx VIP
- 湖南省长沙市开福区青竹湖湘一外国语学校2022年人教版小升初考试数学试卷(含答案解析).pdf
- 排水管网维护、维修施工方案.docx VIP
- _人教版初中物理斜面计算25道题 .doc VIP
- 智启未来,育见新篇——AI赋能教育教学的探索 课件.pptx VIP
- 【简历模板】优秀个人简历模板精华集合(免费下载).doc VIP
- 面神经减压术护理ppt.pptx
文档评论(0)