第1章 geekos教学操作系统概论课件

第1章 geekos教学操作系统概论课件

ID:5488005

大小:361.50 KB

页数:28页

时间:2017-12-13

第1章 geekos教学操作系统概论课件_第1页
第1章 geekos教学操作系统概论课件_第2页
第1章 geekos教学操作系统概论课件_第3页
第1章 geekos教学操作系统概论课件_第4页
第1章 geekos教学操作系统概论课件_第5页
资源描述:

《第1章 geekos教学操作系统概论课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、教学操作系统教学操作系统有两大类,一类是针对RISC结构MIPS处理器的,另外一类是针对CISC结构的theIntelIA-32(orx86)通用处理器的。这样分类是因为:处理器是操作系统运行的硬件环境中最重要的部分。第1章GeekOS教学操作系统概论一、针对RISC结构MIPS处理器的教学操作系统Nachos(NotAnotherCompletelyHeuristicOperatingSystem)。是建立在软件模拟的虚拟机之上的教学操作系统,采用MIPSR2/3000的指令集,能模拟主存、中断、网络

2、以及磁盘系统等所必须的硬件系统,美国加州大学伯克利分校多次采用该操作系统作为课程设计平台。OS/161是运行在与操作系统无关的system/161模拟器上的,操作系统代码是MIPS对应的机器代码。无论是Nachos还是OS/161,若学生使用Windows或Linux开发环境的话,都需要使用交叉编译器才能把代码编译成MIPS相应的机器代码。二、针对针对CISC结构的IntelIA-32(orx86)通用处理器的教学操作系统MINIX:是AndrewS.Tanenbaum(AST)于1987年开发的,目前

3、主要有1.5版和2.0版两个版本在使用。MINIX系统是免费的,可以从许多FTP上下载,MINIX是一个包括了虚拟内存管理、文件系统、设备驱动程序、网络和用户态程序等的比较完整的操作系统,由两万多行代码组成。对于教学有点过于庞大和复杂,而且由于它已经实现了操作系统的全部基本功能,没有留下合适的练习让学生自己完成GeekOS:是一个基于X86架构的PC机上运行的微操作系统内核,由美国马理兰大学的教师开发,是一个用C语言开发的操作系统,GeekOS主要用于操作系统课程设计,目的是使学生能够实际动手参与到一个

4、操作系统的开发工作中。学生可以在Linux或Unix环境下对其进行功能扩充,且其针对进程、文件系统、存储管理等操作系统核心内容分别设计了7个难度逐渐增加的项目供学生选择。出于教学目的,这个系统内核设计简单,却又兼备实用性,它可以运行在真正的X86PC硬件平台。三、GeekOS系统源代码结构GeekOS操作系统源文件geekos-0.3.0.zip可以从http://geekos.sourceforge.net下载。1.GeekOS系统源代码结构2、GeekOS的设计项目项目0:项目0要求实现一个内核进程

5、,功能是实现从键盘接收一个按键,并在屏幕上显示。主要是让学生熟悉GeekOS的编译、运行过程,了解计算机系统的启动原理。 项目1:项目要求学生熟悉ELF文件格式,并编写代码对ELF文件进行分析,并将分析传送给加载器。主要让学生熟悉可执行链接文件(ELF文件)的结构,并学会加载和运行可执行文件。项目2:要求学生实现对用户态进程的支持。在项目2实现之前,GeekOS一直使用内核进程。对用户态进程执行的支持包括用户态进程结构的初始化、用户进程空间的初始化、用户进程切换和用户程序导入等。该项目中,存储分配依然

6、使用分段分配方式。实现项目2后,用户就可以使用GeekOS提供的命令行解释器Shell运行一些命令来执行PFAT文件系统内的用户测试程序。 项目3:要求学生改进GeekOS的调度程序,实现基于4级反馈队列的调度算法(初始GeekOS系统仅提供了FIFO进程调度算法),并实现信号量,支持进程间通信。GeekOS的设计项目项目4:要求学生实现分页虚存管理,以替代在项目1和项目2中采用的分段存储管理。实现分页虚存管理后。系统在内存不够的情况下就可以将部分页调到硬盘,以释放内存实现虚拟存储技术。 项目5:要

7、求实现GOSFS文件系统。由于GeekOS使用了虚拟文件系统,可以加载不同的文件系统,而系统默认加载的是PFAT只读文件系统。在这个项目中,需要实现一个多极目录的、可读写的文件系统。 项目6:要求为文件系统增加访问控制列表,并使用匿名半双工管道实现进程间通信。GeekOS的设计项目2.1GeekOS系统开发调试环境在Windows下使用Cygwin模拟Linux的开发环境;在PC机上直接安装Linux进行开发调试;在虚拟机上安装Linux进行开发调试;建议使用后两种环境进行项目开发,会减少许多不必要的

8、困难,Linux最好使用redhat9.0版本。第2章课程设计环境Bochs/GeekOSGeekOS编译环境计算机硬件Windows操作系统VMware(硬件模拟器)Linux操作系统GeekOS计算机硬件Windows操作系统BOCHS(硬件模拟器)GeekOSGeekOS运行环境计算机硬件Linux操作系统BOCHS(硬件模拟器)GeekOS计算机硬件Linux操作系统GeekOS2.2GeekOS开发的工具软件GNUgcc编译器:用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。