收藏 分享(赏)

研究生“操作系统分析”课程探索.pdf

上传人:高**** 文档编号:1089910 上传时间:2024-06-04 格式:PDF 页数:6 大小:156.96KB
下载 相关 举报
研究生“操作系统分析”课程探索.pdf_第1页
第1页 / 共6页
研究生“操作系统分析”课程探索.pdf_第2页
第2页 / 共6页
研究生“操作系统分析”课程探索.pdf_第3页
第3页 / 共6页
研究生“操作系统分析”课程探索.pdf_第4页
第4页 / 共6页
研究生“操作系统分析”课程探索.pdf_第5页
第5页 / 共6页
研究生“操作系统分析”课程探索.pdf_第6页
第6页 / 共6页
亲,该文档总共6页,全部预览完了,如果喜欢就下载吧!
资源描述

1、研究生“操作系统分析”课程探索摘要:针对研究生操作系统相关课程建设面临的理论和实践知识之间的平衡问题,以研究生人才培养为目标,提出理论与实践相结合的教学方法,经典与现代相结合的教学内容,精讲与泛讲相结合的教学手段。“操作系统分析”课程以早期 Linux 操作系统 V0.12 内核为主线,深入研究并实践操作系统内核,帮助学生打好基础;同时,从几个重要发展方向包括嵌入式系统、虚拟机技术、云计算等进行扩展,指明研究方向及热点。关键词:操作系统;Linux 系统;课程建设;研究生计算机操作系统是计算机学科重要的专业基础课程,也是研究生入学考试计算机统考课程,所有高等院校中的计算机科学与技术专业都开设了

2、计算机操作系统课程,并作为专业核心课程进行重点建设1-2。由于各学校的学生有差异,教学特色也不尽相同,因此有些学校注重理论讲授,有些学校注重实践操作,操作系统的课程建设体现在针对不同的教学对象研究其知识结构的构建、课程知识点的关联和教学内容的侧重3-5。1 操作系统相关课程现状1.1 本科生操作系统相关课程目前,本科生操作系统相关课程主要从两个角度来建设:1)操作系统原理课程。为专业必修课程,主要从理论角度讲述操作系统的工作原理,包括:进程管理、进程通信、进程调度、内存管理、文件系统以及 I/O 系统6。2)Linux 系统、Unix 系统或 Windows 系统课程。为专业选修课程,主要从实

3、践角度讲述如何使用操作系统以及如何基于操作系统之上进行软件的开发。由于学生的理解层次和课时的限制,一般在课程内容的制定上都不包括操作系统源代码的剖析,而且也没有结合操作系统的发展更进一步讲述分布式操作系统、云操作系统等。1.2 研究生操作系统相关课程由于本科阶段的学时限制与知识的局限性,在研究生阶段都会继续开设相关的操作系统课程。目前,国内外很多高校在研究生阶段开设的相关课程包括:分布式操作系统、高级操作系统、操作系统设计与实现、操作系统内核分析、嵌入式操作系统等,主要从以下 3个角度来建设:1)主要研究 Linux 系统内核。关于 Linux 系统的研究主要体现在剖析 Linux 操作系统的

4、内核源代码,包括系统的启动与初始化、设备驱动程序、存储管理和文件系统等。由于 Linux 系统的发展较快,其内核源代码行数已经从几万行发展到目前的几百万行。更多的高校选择研究 Linux 的最新内核版本。目前最新的 2.6.XX 版本的 Linux 内核有 200MB多,即使花一生的经历来阅读也未必能全部看完,但如果仅仅研究部分代码那只能是管中窥豹7V。2)主要研究嵌入式系统。近几年嵌入式的快速发展使得很多高校把嵌入式原理与相关操作系统相结合,主要强调各嵌入式系统的使用与开发,其重心不再是操作系统研究。3)主要研究操作系统最新技术。一般会以讲座的形式介绍分布式操作系统、P2P 系统、虚拟机技术

5、、云计算等。由于每种系统各有特色,而且内容繁多,技术涉及面广而深,因此只能泛泛而论。另外,在操作系统领域,新技术层出不穷,课程内容也需要不停更新,对授课教师的要求非常之高。3 研究生“操作系统分析”课程3.1 课程目标综合以上分析,研究生阶段操作系统相关课程必不可少,但是课程内容需要仔细斟酌。笔者结合本校开设的“操作系统分析”课程,进行相关探索。“操作系统分析”课程开设的目标是:强化学生基础,要求学生对操作系统内核有一个全面深入的认识与实践,而且通过介绍相关新的操作系统知识,完善学生的知识结构,以更好适应未来的计算机技术及其应用的发展与革新。教师针对研究生教学的特点,把 Linux内核源代码分

6、析与新的操作系统技术及时引入到教学内容中来,采用课堂讲授、编码实践和综合案例研究相结合的教学形式,对教学的内容不断改进和完善,使得学生学有所用。保持教学内容与相关技术的发展相一致,激发学生学习和研究的兴趣。3.2 课程内容随着操作系统以及其他新兴技术的发展,让学生了解操作系统的演变势在必行,一方面介绍嵌入式操作系统、实时操作系统、分布式操作系统、虚拟机操作系统以及云操作系统的原理,另一方面引导学生从某些角度去设计并实现,从而为学生学习操作系统内核工作原理以及开发嵌入式系统等打下坚实的基础。“操作系统分析”课程内容如图 1 所示。图 1“操作系统分析”课程知识点图 1 分别从理论性和实践性两方面

7、来描述各知识点,这些知识点可以总结为两类:1)以早期 Linux 操作系统 V0.12 版本内核为主线,概要介绍微型计算机的组成结构、编制内核使用的汇编语言和 C 语言,详细分析 Linux 内核体系结构、内核源代码、系统启动与初始化程序、块设备与字符设备驱动程序、文件系统与内存管理源代码以及库文件和头文件。从整体上熟悉某操作系统的实现技术。选择 Linux V0.12 版本的理由76:目前最新的 2.6.XX 版本的 Linux 内核非常大,200MB 多,而 Linux-0.12.tar.Z 只有 130KB,虽然是早期版本,但是其引导启动程序结构与新版本基本相似,系统可以正常运行,并且支

8、持硬盘和软驱设备以及串行通信,包含数学协处理器的软件模拟、作业控制、虚拟控制台、符号链接和虚拟内存对换功能等,一个学期足以学完。2)结合现代操作系统的发展,介绍嵌入式实时操作系统、分布式操作系统、虚拟机操作系统以及云操作系统。同时,每个知识点配备相关的实验内容,使得理论讲解和认识实践紧密结合。每种操作系统的讲解配备相关实例,如嵌入式系统结合 VxWorks 软件,虚拟机系统结合 VMWare 软件,云计算系统结合 Windows Azure 软件,从而可以在不同的操作系统上进行实践。为了更全面地了解课程内容的合理性与实用性,笔者对各年级研究生进行问卷调查,结果如图 2 所示,表明目前研究生除了

9、理论研究之外,实际操作在他们的实习工作和项目研究中同样重要,甚至略胜一筹。图 2“操作系统分析”知识点问卷调查结果3.3 课程特点“操作系统分析”课程特点如下:1)理论与实践相结合。课程共 48 个学时,分 16 周讲解;每次课 3 学时,教师讲解 2 学时,学生实验 1 学时;每次实验均有详细的实验内容与指导,保证大部分同学能够在课内顺利完成。2)经典与现代相结合。以经典的 V0.12 版的 Linux 为主线,围绕内核分析其工作原理及源代码;同时结合嵌入式实时操作系统、云操作系统等知识,讲述原理,设计并实现某些关键技术。3)精讲与泛讲相结合。充分考虑课时的要求以及学生的兴趣,对 Linux

10、 内核分析以及操作系统发展过程中的关键技术进行精讲,其他各种操作系统原理部分则选择泛讲。3.3 教学要点分析Linux 操作系统内核代码不可能完全由教师在 48 小时的课程中精讲,一般由教师讲解程序结构、实现原理以及重要代码,其他代码由学生在课外自己阅读,然后提交小结报告。精讲代码主要如下:1)引导启动程序和初始化程序分析。本科生的操作系统原理课程一般不涉及到引导启动程序和系统初始化机制,虽然其原理和代码不太复杂,但是它能够帮助学生理解计算机硬件和软件的分界面。主要文件程序包括:bootsect.S、setup.S、head.s 和 main.c 程序。2)内核代码分析。Linux 内核代码文

11、件从功能上可以分为三类:硬件中断处理程序,即asm.s 和 traps.c 程序;系统调用服务处理程序,即 sys_call.s、fork.c、sys.c、exit.c和 signal.c 程序;进程调度等通用功能程序,即 sched.c 和 panic.c 程序。这些是 Linux操作系统的核心部分,内容较多,通常需要 23 次课才能完成。3)内存管理分析。Linux 内核的内存管理程序采用了分页管理方式,一个内存页面是地址连续的 4KB 物理内存,通过页目录项和页表项进行管理。主要分析 3 个文件:memory.c 是内存页面管理的核心文件,用于内存的初始化操作、页目录和页表的管理等;pa

12、ge.s 实现对缺页和页写保护的处理;swap.c 是内存页面交换管理文件,包括交换映射位图管理函数和交换设备访问函数。4)设备驱动程序分析。操作系统的设备可以粗略分为块设备和字符设备。本课程主要分析硬盘驱动程序 hd.c 和内存虚拟盘驱动程序 ramdisk.c。现代操作系统部分中,每种操作系统对应一个大研究方向,主要是为了延伸操作系统发展,扩展学生视野。在有限的课时内,通常由教师讲解各种具有代表性的操作系统的原理和关键技术,然后让学生通过使用具体实例进一步体会各种系统的特点与不足,为后续研究提供思路。分别采用 VxWorks、VMWare 和 Windows Azure 作为嵌入式操作系统

13、、虚拟操作系统和云操作系统的研究实例。4 结语以早期 Linux 操作系统 V0.12 内核为主线,剖析操作系统内核。每个知识点都结合实验,一方面边学边干,自己动手实现一个简要的操作系统;另一方面,把握现代操作系统的发展方向,引导学生根据自己的兴趣对某方向进行研究和探索。参考文献:1 刘乃琦.操作系统课程的教学研究J.计算机教育,2007(10):35-39.2 宋广华,李善平,郑扣根.边学边干:操作系统课程教学改革的探索与实践J.计算机教育,2006(7):27-29.3 康丽军.关于操作系统课程改革的探索与实践J.太原大学学报,2004(3):55-56.4 王知非,罗秋滨,石研.操作系统

14、课程教学与学生能力培养J.教育与教学研究,2008(14):73-74.5 赵正德,吴绍春,陶永振,等.“操作系统”课程教学改革与建设的研究与实践J.计算机教育,2009(14):16-18.6 汤小丹,梁红兵,哲凤屏,等.计算机操作系统M.3 版.西安:西安电子科技大学出版社,2007:1-33.7 赵炯.Linux 内核完全剖析M.北京:机械工业出版社,2009.Discussion of Teaching Operating Systems Analysis for PostgraduatesYAN Cai-rong,FENG Xiang-yang,LIU Xiao-qiang(Depa

15、rtment of Computer Science and Technology,Donghua University,Shanghai 201620,China)Abstract:In order to solve the balancing problem between theory andpractice knowledge in related Operating Systems course construction forpostgraduates,a teaching method combining principles instructing withapplicatio

16、ns developing,a series of course contents including classic andmodern knowledge,an approach integrated with intensive and extensive teachingare proposed.The course of Operating Systems Analysis takes the kernelanalysis of Linux System V0.12 as main clue so as to guide students to studyand practice t

17、he kernel source code deeply and set up solid base of operatingsystems.Additionally,it extends course contents from several importantdirections including embedded system,virtual technology,and clouds computingso as to lay out directions for the future research.Key words:operating systems;linux system;course construction;postgraduate(编辑:彭远红)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿园

网站客服QQ:123456
免费在线备课命题出卷组卷网版权所有
经营许可证编号:京ICP备12026657号-3