首页 > 图书中心 >图书详情

操作系统实验指导

作者:陈渝 向勇
定价:25
印次:1-1
ISBN:9787302327776
出版日期:2013.07.01
印刷日期:2013.07.05

本书是操作系统课程的实验教材,旨在帮助读者加强对操作系统原理与设计实现的理解,以分析、设计、改进和实现一个微型但全面的操作系统——ucore为基本目标,通过增量式地完成8个基于ucore操作系统实验为操作系统实践环节,最终让读者了解并掌握操作系统的原理、设计与实现。 本书强调对于操作系统动手实践,是对操作系统实践教学的一次探索,可作为高等院校计算机专业操作系统课程的实验教材,也可作为各类操作系统教学的培训教材及自学参考资料。

more >

对于在校的学生和工程技术人员而言,能否有效地了解操作系统原理后面的具体设计实现呢?陆游说过: “纸上得来终觉浅,绝知此事要躬行”。我们在教学过程中,也深刻体会到这一点。我们认为,在了解基本的操作系统概念和原理的基础上,通过实际动手来一步一步分析、设计和实现一个微型化的操作系统,会深入了解操作系统的实现细节,并体会到概念原理和实际实现之间的紧密联系及巨大差异。 操作系统是一个复杂系统软件,涉及内容繁多,发展也很快,如Linux、Windows等,都是上百万行的源代码规模。开发人员开发这些操作系统软件的目的是用于实际计算机系统中,而不是用于教学,所以直接用这些操作系统来分析了解操作系统的实现和进行操作系统实验会比较复杂。而且目前部分操作系统教材的内容也越来越庞大和抽象,而面向操作系统设计实现的实验部分相对就少了很多。这两方面交织在一起,导致学生了解和掌握操作系统的实际细节很困难。 早期的UNIX操作系统实现和MIT教授Frans Kaashoek等基于UNIX v6设计的xv6操作系统给了我们启发:对一个计算机专业的本科生而言,在了解操作系统原理的基础上,设计实现一个操作系统有挑战,但是可行!我们对此进行了尝试与探索,以设计实现一个微型但全面的操作系统——ucore为基本目标,以增量式递进开发方式完成各种基于ucore操作系统的实验为实践过程,以在此过程中逐步介绍的操作系统的基本概念和原理为实践指导,做到有“理”可循和有“码”可查,最终让读者了解和掌握操作系统的原理、设计与实现。目前的实验内容包含如下8个。 (1) 启动操作系统的bootloader:了解操作系统启动前的状态和要做的准备工作。 (2) 物理内存管理子系统:理解硬件段/页模式和操作系统如何管理物理内存。 (3) 虚拟内存管理子系统:理解页表机制、缺页故障处理以及内存替换算法。 (4) 内核线程子系统:理解相对简单的内核态线程的动态管理过程。 (5) 用户进程管理子系统:理解用户态进程动态管理过程以及系统调用过程。 (6) 处理器调度子系统:理解操作系统的调度过程和调度算法。 (7) 同步互斥与进程间通信子系统:理解进程间如何同步互斥以及进行信息交换和共享。 (8) 文件系统:理解文件系统的具体实现,与进程管理和内存管理等的关系。 其中每个开发步骤都是建立在上一个步骤之上的,就像搭积木,从一个一个小木块,最终搭出来一个小房子。在搭房子的过程中,完成从理解操作系统原理到实践操作系统设计与实现的探索过程。最新的代码和文档放在http://www.github.com/chyyuu/ucore_lab上。如果有同学和OS爱好者觉得这些实验难度不够,大家可参加更有挑战和乐趣的ucore plus实验,这些实验位于 http://www.github.com/chyyuu/ucore_plus下。目前的代码和文档还有许多不完善和错误的地方需要改进,欢迎大家批评指正。 在实现基于ucore的操作系统实验过程中,我们参考和借鉴了xv6、OS161以及Linux的设计思路和实现代码,而且Frans Kaashoek 博士也亲自给予了帮助与指导。国内多所高校的老师,包括陈向群、王雷、陈鹏、陈莉君、原仓周、蒲晓蓉等都给予了指导和帮助。操作系统课程的助教王乃峥、袁昕颢、茅俊杰、陈宇恒、曹聪、杨杨等完成了大量工作,在此表示衷心的感谢! 陈渝向勇2013年3月12日

more >
扫描二维码
下载APP了解更多

同系列产品more >

数据结构(C语言版)(第3版)

殷人昆
定 价:89元

查看详情
Java语言程序设计实践教程

郑莉、尹刚、张宇
定 价:39元

查看详情
计算机操作系统教程(第5版)

张尧学、任炬、卢军
定 价:59元

查看详情
计算机操作系统教程(第5版)习题...

张尧学、任炬、卢军
定 价:38元

查看详情
图论与代数结构(第2版)

崔勇,张小平
定 价:49元

查看详情
图书分类全部图书
more >
  • 第1章实验0: 操作系统实验准备1

    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虚...

精彩书评more >

标题

评论

版权所有(C)2023 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802042911号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘