- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 教学操作系统 教学操作系统有两大类,一类是针对RISC结构MIPS处理器的,另外一类是针对CISC结构的the Intel IA-32 (or x86)通用处理器的。 这样分类是因为:处理器是操作系统运行的硬件环境中最重要的部分。 第1章 GeekOS教学操作系统概论 一、针对RISC结构MIPS处理器的教学操作系统 Nachos(Not Another Completely Heuristic Operating System)。是建立在软件模拟的虚拟机之上的教学操作系统,采用MIPS R2/3000的指令集,能模拟主存、中断、网络以及磁盘系统等所必须的硬件系统,美国加州大学伯克利分校多次采用该操作系统作为课程设计平台。 OS/161是运行在与操作系统无关的system/161模拟器上的,操作系统代码是MIPS对应的机器代码。 无论是Nachos还是OS/161,若学生使用Windows或Linux 开发环境的话,都需要使用交叉编译器才能把代码编译成MIPS相应的机器代码。 二、针对针对CISC结构的Intel IA-32 (or x86)通用处理器的教学操作系统 MINIX:是Andrew S. Tanenbaum(AST)于1987年开发的,目前主要有1.5 版和2.0 版两个版本在使用。MINIX 系统是免费的,可以从许多FTP 上下载,MINIX是一个包括了虚拟内存管理、文件系统、设备驱动程序、网络和用户态程序等的比较完整的操作系统,由两万多行代码组成。 对于教学有点过于庞大和复杂,而且由于它已经实现了操作系统的全部基本功能,没有留下合适的练习让学生自己完成 GeekOS:是一个基于X86架构的PC机上运行的微操作系统内核,由美国马理兰大学的教师开发,是一个用C语言开发的操作系统, GeekOS主要用于操作系统课程设计,目的是使学生能够实际动手参与到一个操作系统的开发工作中。学生可以在Linux或Unix环境下对其进行功能扩充,且其针对进程、文件系统、存储管理等操作系统核心内容分别设计了7个难度逐渐增加的项目供学生选择 。 出于教学目的,这个系统内核设计简单,却又兼备实用性,它可以运行在真正的X86 PC硬件平台。 三、GeekOS系统源代码结构 GeekOS操作系统源文件可以从geekos.sourceforge下载。 1.GeekOS系统源代码结构 2、GeekOS的设计项目 项目0:项目0要求实现一个内核进程,功能是实现从键盘接收一个按键,并在屏幕上显示。主要是让学生熟悉GeekOS的编译、运行过程,了解计算机系统的启动原理。项目1:项目要求学生熟悉ELF文件格式,并编写代码对ELF文件进行分析,并将分析传送给加载器。主要让学生熟悉可执行链接文件(ELF文件)的结构,并学会加载和运行可执行文件。 项目2:要求学生实现对用户态进程的支持。在项目2实现之前,GeekOS一直使用内核进程。对用户态进程执行的支持包括用户态进程结构的初始化、用户进程空间的初始化、用户进程切换和用户程序导入等。该项目中,存储分配依然使用分段分配方式。实现项目2后,用户就可以使用GeekOS提供的命令行解释器Shell运行一些命令来执行PFAT文件系统内的用户测试程序。项目3:要求学生改进GeekOS的调度程序,实现基于4级反馈队列的调度算法(初始GeekOS系统仅提供了FIFO进程调度算法),并实现信号量,支持进程间通信。 GeekOS的设计项目 项目4:要求学生实现分页虚存管理,以替代在项目1和项目2中采用的分段存储管理。实现分页虚存管理后。系统在内存不够的情况下就可以将部分页调到硬盘,以释放内存实现虚拟存储技术。项目5:要求实现GOSFS文件系统。由于GeekOS使用了虚拟文件系统,可以加载不同的文件系统,而系统默认加载的是PFAT只读文件系统。在这个项目中,需要实现一个多极目录的、可读写的文件系统。项目6:要求为文件系统增加访问控制列表,并使用匿名半双工管道实现进程间通信。 GeekOS的设计项目 2.1 GeekOS系统开发调试环境 在Windows下使用Cygwin模拟Linux的开发环境; 在PC机上直接安装Linux进行开发调试; 在虚拟机上安装Linux进行开发调试 ; 建议使用后两种环境进行项目开发,会减少许多 不必要的困难, Linux最好使用red hat 9.0版本。 第2章 课程设计环境 Bochs/GeekOS GeekOS编译环境 计算机硬件 Windows操作系统 VMware (硬件模拟器) Linux操作系统 GeekOS 计算机硬件 Windows操作系统 BOCHS(硬件模拟器) GeekOS GeekOS运行
您可能关注的文档
最近下载
- 陕西省中职职高单招英语考纲词汇表.docx VIP
- 广州市托育机构星级服务评估必达条件、评估标准、家长调查问卷、分级评估申报表、意见书.docx VIP
- 2025年中国四氯化锆项目投资计划书.docx
- 2025年中国半乳甘露聚糖项目创业计划书.docx
- 恒生校招测试笔试题目及答案.doc VIP
- IEC 60664-1-2020+cor1-2020中文版完整版.docx
- ZE-C300(V2)化学需氧量在线分析仪用户手册V2.0.pdf VIP
- 教学课件 地址数据处理 三维地质建模技术.ppt VIP
- 字体侵权法务培训.pptx VIP
- 中国国家标准 GB/T 2423.16-2022环境试验 第2部分:试验方法 试验J和导则:长霉.pdf
文档评论(0)