计算机操作系统张尧学第四章课后答案,清华大学出版社-图书详情-《计算机操作系统教程(第4版)习题解答与实验指导》...

第4版前言

计算机技术的飞速发展正在引发新的一轮世界性技术革命。在经济发展越来越全球化、科技创新越来越国际化、知识经济已初见端倪的今天,任何一门技术或任何一个领域离开了计算机都是不可想象的。而计算机技术发展之迅速,计算机及其相关IT产品市场竞争之激烈,计算机产业让人致富速度之迅猛,也同样是人们始料不及的。在21世纪,任何想在技术领域有一番作为的人,都不得不面对计算机技术的挑战。

软件技术是计算机系统的灵魂与核心,而操作系统更是计算机系统的大脑。“想发财,学软件!”在一些国家已成为深入人心的广告词。在我国,科技创新、高科技产业化的浪潮也势必会以雷霆万钧之力推动软件技术的迅猛发展与普及。21世纪的哪一行哪一业能够离开软件呢?

学习计算机软件技术,特别是计算机操作系统技术,除了需要刻苦努力外,还需要掌握软件和操作系统的原理与设计技巧。这些原理与技巧可以说是计算机界的前辈们一代接一代不停顿的努力所留下的知识与智慧的结晶,学习和掌握它们对于激发自己的创造力和想象力是很有帮助的。

如何学习和掌握操作系统技术的原理与实际技巧呢?除了听课和读书之外,最好的方法就是在实践中练习。例如,自己设计一个小型操作系统,多使用操作系统,多阅读和分析操作系统源代码等。当前非常流行的Linux操作系统的原始版事实上也是一位优秀的大学生的练习之作。除了上述练习方法之外,习题和实验也是很重要的实践之一。

本书是配合《计算机操作系统教程》(第4版)的习题解答与实验指导书。本书除给出《计算机操作系统教程》(第4版)各章所附习题的参考答案外,还给出一些有关的综合试题及其参考答案;另外,还设计了4个在Linux环境下或UNIX环境下的小实验,包括进程控制、进程通信、内存管理以及文件系统设计等,并给出了这4个实验的参考编程解答。

本书的编写得到了清华大学计算机系网络系统组杨华杰的大力支持和帮助,她对本书中的部分习题进行了解答和完善,而且重新编写了实验程序。

本书虽然给出了《计算机操作系统教程》(第4版)一书中习题的参考解答和相关实验指导,但由于作者的水平与知识所限,这些解答只是一种参考,里面完全可能存在错误和不妥之处,有待于有识之士的指教。此外,还希望读者不要局限于这些解答。

衷心希望本书能对学习计算机操作系统和计算机软件的人们有所帮助!

作者

2013年6月于清华园前言

对于在校的学生和工程技术人员而言,能否有效地了解操作系统原理后面的具体设计实现呢?陆游说过: “纸上得来终觉浅,绝知此事要躬行”。我们在教学过程中,也深刻体会到这一点。我们认为,在了解基本的操作系统概念和原理的基础上,通过实际动手来一步一步分析、设计和实现一个微型化的操作系统,会深入了解操作系统的实现细节,并体会到概念原理和实际实现之间的紧密联系及巨大差异。

操作系统是一个复杂系统软件,涉及内容繁多,发展也很快,如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 >

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值