基于“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内核分析”的教学内容研究与实践   摘要:开放源代码Linux为操作系统教学内容研究与改革带来良好的契机,本文在对Linux内核入门途径分析的基础上,给出了分析Linux内核的原理基础和硬件基础,并探究了操作系统的执行机制,最后给出了实践途径和方法。   关键词:Linux内核;源代码;教学改革   中图分类号:G642 文献标识码:B      1引言      芬兰大学生Linus在赫尔辛基大学学习“操作系统”课程时,不满足于使用教学用操作系统Minix,从着手开发一个简单的程序开始,到逐步开发显示器、键盘和调制解调器的驱动程序,然后写了磁盘驱动程序,文件系统,这样,一个操作系统的原型就形成了。   这个诞生于学生之手的Linux,在Internet这片肥沃的土壤中不断成长,逐步发展为与Unix、Windows并驾齐驱的实用操作系统。与Windows不同,Linux 与Unix外表相似,但它的窗口向所有人完全敞开,任何想了解其内在机理的爱好者都可以走进其内部世界。   在1999年的春季,我们有幸走进了这个开放的世界,那时分析的是Linux内核2.0版,在阅读源代码的基础上,我们编写了《Linux操作系统内核分析》一书,该书曾被指定为中科院考博参考书。随着Linux内核版本的不断更新,我们又陆续编写和翻译了针对Linux内核2.2、2.4及2.6的相关书籍。   Linux内核是由C语言和汇编语言编写的,其全部源代码是一个庞大的世界,如何在这庞大而又复杂的世界中抓住主要内容,如何找到进入Linux内部的突破口,又如何能把Linux的源代码变为自己的所需,并在此基础上进行内核级程序的开发,很多学过操作系统原理而又想进一步实践的软件开发者,对以上问题都有过种种困惑。针对这些问题,在教学的过程中,从教学内容,教学方法以及实践环节等方面,我们进行了探索和改革。      2Linux内核入门      Linux内核入门是不容易的,它之所以难学,在于庞大的规模和涉及的层面。规模一大就不易现出本来面目,浑然一体,自然不容易找到着手之处;层面一多,就会让人眼花缭乱,盘根错节。   Linux源码研究的方法不同于小规模软件。这是由于规模和层面决定的,比如说,在语言学习中,可以采取小步快跑的方法,通过一个个小程序和小尝试,就可以取得渐进的成果,就能从新技术中有所收获。针对Linux,如果没有对整体的把握,即使你对某个局部的算法、技术或是代码再熟悉,也无法将其融入实用。因此,Linux内核入门从以下几方面着手。   2.1Linux内核整体结构   Linux内核虽然实现和Unix系统有很大不同,但是其结构还基本保持和Unix一致,其中功能与操作系统原理中所涉及到的内容大体一致。   Linux 内核除系统调用外,由5个主要的子系统组成,如图1所示。      从图1可以看出,处于中心位置的是进程调度,所有其它的子系统都依赖于它,因为每个子系统都需要挂起或恢复进程。一般情况下,当一个进程等待硬件操作完成时,它被挂起,当操作真正完成时,进程恢复执行。例如,当一个进程通过网络发送一条消息时,发送进程被挂起,一直到硬件成功地完成消息的发送。其它子系统(内存管理,虚拟文件系统及进程间通信)以相似的理由依赖于进程调度。   2.2硬件基础   操作系统是一组软件的集合。但它和一般软件不同,因为它是充分挖掘硬件潜能的软件,也可以说,操作系统是横跨软件和硬件的桥梁。因此,要想深入解析操作系统内在的运作机制,就必须搞清楚相关的硬件机制――尤其是内存寻址的硬件机制。   操作系统的设计者必须在硬件相关的代码与硬件无关的代码之间划出清楚的界限,以便于一个操作系统很容易地移植到不同的平台。Linux的设计就做到了这点,它把与硬件相关的代码全部放在arch(architecture一词的缩写,即体系结构相关)的目录下,在这个目录下,可以找到Linux目前版本支持的所有平台,例如,支持的平台有arm、alpha,、i386、m68k、mips等十多种。在这众多的平台中,大家最熟悉的就是X86。因此,首先要了解和熟悉X86与内存管理相关的机制―保护模式机制。   2.3原理基础   操作系统的原理中主要讲述了进程管理、内存管理、文件管理和设备管理。尽管这些原理基于的背景为Unix,但是,因为其要涵盖更多的操作系统,因此,各部分内容显得抽象。而在Linux内核源代码分析中,就是让这些原理适时地落到实处。   进程管理是操作系统的灵魂,因此要从内核实现的角度分析进程赖以存活的各种数据结构。进程作为一个动态变化的实体,可以从生命历程的角度说明进程从诞生到死亡的艰难过程,并给出具体的实现函数。   内存作为

文档评论(0)

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

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

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档