探讨操作系统的Linux内核的体系结构与实现方法.docVIP

探讨操作系统的Linux内核的体系结构与实现方法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
探讨操作系统的Linux内核的体系结构与实现方法.doc

  探讨操作系统的Linux内核的体系结构与实现方法 --探讨操作系统的Linux内核的体系结构与实现方法 摘要:新型微处理器M3270的研制成功,使得支持该体系结构的操作系统的研究迫在眉睫.通过对Linux内核体系结构的研究,进而分析出往新型硬件平台移植Linux内核所需进行的工作,将大大提高操作系统的设计水平、缩短开发时间.在分析了Linux内核的体系结构和M3270硬件体系结构的基础上,提出在该硬件平台上实现Linux内核的方法. 关键词:操作系统 移植 系统结构 Linux内核 超长指令字 随着超长指令字VLI3270国产芯片的出现,开发支持该体系结构的国产操作系统便成为当务之急.为了支持这种新型体系结构的CPU,并充分发挥其性能,需要为其开发稳定可靠并支持POSIX标准的高性能操作系统.为了缩短开发时间、降低开发难度,决定选择一种现有的开放源码的操作系统,将其移植到M3270硬件平台上.Linux[2]支持POSIX标准,是在全球范围内开发的自由软件系统,其优秀的性能不逊色于任何商业操作系统.同时,优良的内核体系结构、面向对象技术的采用和高度模块化的设计使得Linux具有极佳的可移植性,成为目前支持硬件平台最多的一种操作系统.更为重要的一点是Linux公开全部源代码,这提供了与国际先进技术一同起步的宝贵机遇. 1 Linux内核体系结构分析 概括而言,操作系统主要具有两个功能:其一是管理硬件资源,其二是屏蔽具体硬件差异并为应用程序提供虚拟机[3].于是,操作系统必定由进程控制、内存管理、设备驱动、文件系统等子系统构成[4].进程控制、内存管理等核心部分与目标计算机的体系结构密切相关,必须针对目标计算机单独开发;而设备驱动、文件系统和网络部分只涉及具体的外设,与处理器结构无关.通常,单内核的操作系统牺牲内核设计的灵活性和可移植性以获得高效率.但是,单内核结构的Linux以其优良的设计同样也具有良好的可移植性.图1给出了Linux内核体系结构的示意图.虚拟的进程模型以及虚拟的内存模型与硬件体系结构无关,在所有的平台上,这些虚拟模型的定义都是一致的.但是,这些模型的实际处理函数(硬件操作原语)以及数据(寄存器、内存、堆栈)是针对具体的硬件体系结构而设计 的. 可以看出,Linux内核中与具体的处理器结构相关的有:中断处理、内存操作以及进程控制等部分.硬件驱动与I/O设备只与具体外设关系密切,与处理器的结构无关. 2 M3270硬件体系结构分析 M3270微处理器的外部接口设计依附于SUNSPARCStation 20工作站系统[5],完全兼容该工作站的MBus总线[6].M3270微处理器安装在一块CPU系统板上,该系统板可以直接插入SPARCSta-tion 20工作站的MBus总线,并在读写主存(DRAM)和I/O设备等方面符合MBus总线规范.系统连接如图2. M3270系统基于标准的Mbus总线,这为移植工作带来很大的便利:SPARC上的设备驱动程序只需作少量修改便可在该系统中使用.PROM是SPARCStation的固件(类似x86的BIOS),执行系统自检等操作.M3270系统同样也提供了符合Sun OpenBoot标准[7]的PROM调用接口。M3270微处理器内部包含14类部件,其中主要有:15个整数运算部件IU、13个浮点数运算部件FPU、寄存器组(堆)部件、存贮管理部件、译码控制部件、数据通路部件、中断部件等.M3270微处理器内部还包含大量的寄存器:标识寄存器、指针寄存器、通用寄存器以及操作结果寄存器.正确使用这些寄存器,合理设置进程的执行上下文,对于进程的实现具有重要的意义. 3 方案设计与实现 3.1 实施方案选择稳定的内核版本Linux-2.2.5作为移植的基础,分析出其中与硬件体系结构相关的部分和与体系结构无关的部分,制定移植的方案.根据目标机M3270处理器的特点,编写与体系结构相关部分的代码,从而实现整个Linux操作系统内核的移植.Linux内核源码树的合理组织也为移植工作带来很大的便利,虚拟的进程模型与虚拟的内存模型的实现代码位于体系结构无关目录下,使用标准C语言代码编写.通过宏和Makefile的设置便可在编译时与体系结构相关部分的实现代码相链接.与体系结构相关的代码大部分使用汇编语言编写,存放于arch/xxx/目录下,头文件存放在include/asm-xxx/目录下.完成这些目录下的相关代码,并修改Makefile,编译链接后便可以生成这种体系结构上的内核.图3中虚线框内的部分便是移植需要完成的工作. 具体而言,将Linux内核移植到M3270上,大致需要完成如下部分:1) boot,完成处理器的启动操作;2) kernel,实现中断处理以及进程相关处理;3) mm,实

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档