





定价:25元
印次:1-1
ISBN:9787302327776
出版日期:2013.07.01
印刷日期:2013.07.05
图书责编:杨帆
图书分类:教材
本书是操作系统课程的实验教材,旨在帮助读者加强对操作系统原理与设计实现的理解,以分析、设计、改进和实现一个微型但全面的操作系统——ucore为基本目标,通过增量式地完成8个基于ucore操作系统实验为操作系统实践环节,最终让读者了解并掌握操作系统的原理、设计与实现。 本书强调对于操作系统动手实践,是对操作系统实践教学的一次探索,可作为高等院校计算机专业操作系统课程的实验教材,也可作为各类操作系统教学的培训教材及自学参考资料。
作者毕业于国防科技大学,获得计算机博士学位。现为清华大学计算机科学与技术系副教授,同时为中国计算机学会普适计算专委会秘书长、中国计算机学会系统软件专委会委员和中国Linux标准化工作组成员。主要研究方向是操作系统,并以操作系统为核心,介入普适计算、并行计算、计算机体系结构、虚拟机、嵌入式系统、无线传感器网络等研究领域。截至2010年8月,先后负责和参与了十余项课题的开发,包括独立申请的国家自然科学基金项目、博士后基金项目、北京市科技计划项目、863项目、985项目、国际合作和横向课题等。负责且已结题的自然科学基金项目考核为“优”,863课题结题考核取得了好的评价,部分研究优于国外同类成果。从2001年至今,共发表学术论文40余篇,其中第一、二作者30篇,SCI 收录10余篇,EI 收录20余篇;出版的著作包括译著4部,编著4部。
对于在校的学生和工程技术人员而言,能否有效地了解操作系统原理后面的具体设计实现呢?陆游说过: “纸上得来终觉浅,绝知此事要躬行”。我们在教学过程中,也深刻体会到这一点。我们认为,在了解基本的操作系统概念和原理的基础上,通过实际动手来一步一步分析、设计和实现一个微型化的操作系统,会深入了解操作系统的实现细节,并体会到概念原理和实际实现之间的紧密联系及巨大差异。 操作系统是一个复杂系统软件,涉及内容繁多,发展也很快,如Linux、Windows等,都是上百万行的源代码规模。开发人员开发这些操作系统软件的目的是用于实际计算机系统中,而不是用于教学,所以直接用这些操作系统来分析了解操作系统的实现和进行操作系统实验会比较复杂。而且目前部分操作系统教材的内容也越来越庞大和抽象,而面向操作系统设计实现的实验部分相对就少了很多。这两方面交织在一起,导致学生了解和掌握操作系统的实际细节很困难。 早期的UNIX操作系统实现和MIT教授Frans Kaashoek等基于UNIX v6设计的xv6操作系统给了我们启发:对一个计算机专业的本科生而言,在了解操作系统原理的基础上,设计实现一个操作系统有挑战,但是可行!我们对此进行了尝试与探索,以设计实现一个微型但全面的操作系统——ucore为基本目标,以增量式递进开发方式完成各种基于ucore操作系统的实验为实践过程,以在此过程中逐步介绍的操作系统的基本概念和原理为实践指导,做到有“理”可循和有“码”可查,最终让读者了解和掌握操作系统的原理、设计与实现。目前的实验内容包含如下8个。 (1) 启动操作系统的bootloader:了解操作系统启动前的状态...
1.1实验目的1
1.2准备知识1
1.2.1了解OS实验1
1.2.2设置实验环境2
1.2.3了解编程开发调试的基本工具14
1.2.4基于硬件模拟器实现源码级调试23
1.2.5了解处理器硬件31
1.2.6了解ucore编程方法和通用数据结构34第2章实验1: 系统软件启动过程41
2.1实验目的41
2.2实验内容41
2.2.1练习41
2.2.2项目组成45
2.3从机器启动到操作系统运行的过程48
2.3.1BIOS启动过程48
2.3.2bootloader启动过程48
2.3.3操作系统启动过程57
2.4实验报告要求66
辅助材料A关于A20 Gate66
辅助材料B启动后第一条执行的指令68第3章实验2: 物理内存管理70
3.1实验目的70
3.2实验内容70
3.2.1练习70
3.2.2项目组成71
3.3物理内存管理概述73
3.3.1实验执行流程概述73
3.3.2探测系统物理内存布局75
3.3.3以页为单位管理物理内存75
3.3.4物理内存页分配算法实现78
3.3.5实现分页机制81
3.3.6自映射机制88
3.4实验报告要求90
辅助材料A探测物理内存分布和大小的方法90
辅助材料B实现物理内存探测91
辅助材料C链接地址、虚拟地址、物理地址、加载地址
以及edata/end/text的含义92第4章实验3: 虚拟内存管理96
4.1实验目的96
4.2实验内容96
4.2.1练习96
4.2.2项目组成97
4.3虚...