用全新的方法学习OS——今天你学了吗?

操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。

操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统的功能包括管理计算机系统的硬件、软件及数据资源,控制程序运行,改善人机界面,为其它应用软件提供支持,让计算机系统所有资源最大限度地发挥作用,提供各种形式的用户界面,使用户有一个好的工作环境,为其它软件的开发提供必要的服务和相应的接口等。实际上,用户是不用接触操作系统的,操作系统管理着计算机硬件资源,同时按照应用程序的资源请求,分配资源,如划分CPU时间,内存空间的开辟,调用打印机等。

用全新的方法学习OS——今天你学了吗?

由美国得克萨斯大学阿灵顿分校拉米兹·埃尔玛斯瑞(Ramez Elmasri)、A.吉尔·卡里克(A. Gil Carrick)、戴维·莱文(David Levine)编写的“Operating Systems: A Spiral Approach”(中译名:操作系统实用教程-螺旋方法),是一本以学生为中心的具有鲜明特色的操作系统教材,采用螺旋式方法由浅入深、循序渐进地阐述操作系统的相关概念和设计机理。相比于传统教材所采用的深度导向的阐释方法,该书的螺旋式方法更符合人们的学习规律,也更有利于读者在学习过程中不断积聚信心,并顺理成章地理解和掌握越来越复杂的操作系统概念及相关方法与技术,从而保证学习效果和质量。与此同时,作者写作经验丰富,任教阅历和操作系统相关领域的工作经验丰富,并乐于与学生们畅谈操作系统当前研究状况和研习操作系统最新进展,这为教材的高质量编写创造了条件和基础。该书被翻译和引进中国,目的是期望对国内大学的操作系统课程教学方法的改革和实践注入新鲜血液及提供适合的物质基础,改善学生对操作系统设计原理的理解和掌握力度,进而为计算机操作系统这一核心、基础系统软件的设计和开发培养高质量的人才贡献绵薄之力。 

用全新的方法学习OS——今天你学了吗?
用全新的方法学习OS——今天你学了吗?

作者:拉米兹·埃尔玛斯瑞, A.吉尔·卡里克,戴维·莱文 著

出版社:机械工业出版社(

华章公司)

出版时间: 2018年1月

ISBN: 9787111588191

用全新的方法学习OS——今天你学了吗?
用全新的方法学习OS——今天你学了吗?

码上购买(中文翻译版)

码上购买(英文影印版)

具体而言,这本教材具有如下几方面的特色和优势:

(1)注重教材编写与学习规律的一致性。在介绍操作系统概念和设计机理的过程中,始终贯彻由浅入深、由易到难的编排次序,从而使复杂概念和问题的理解和掌握建立在相关基础性概念和问题均已理解和掌握的前提下,于是所谓的“复杂”已不再那么复杂,学习者自我学习信心和学习兴趣逐渐增强,学习效果和质量得到了保证。 

(2)教材编写图文并茂。大量的图示可以帮助那些更擅长形象思维的学习者更好地理解、掌握相关知识点和内容,同时文字编写常常采用设问、讨论等会话式写作风格,从而避免了过度学究式说教风格让学生产生厌学情绪和影响课程学习效果,而且通过多种学习模式的支持还可保证学习质量和提高学习效果。 

(3)把相关操作系统重新还原到当时具有实际时代意义的历史环境中,有助于学生更好地理解操作系统的相关知识。因此,对于单独分析讨论的各种操作系统,无论在螺旋式教学章节还是在实例研究部分,教材也会介绍当时工业发展的一些史实,有时甚至会提到主要的公司或个人,这对于学生全面理解操作系统概念和技术的起源及需求,甚至对于学生创新思维的培养将具有非常重要的推动作用。 

(4)教材资源丰富,为教学的顺利开展奠定了坚实的基础。每一章结尾部分均配有习题,可以帮助读者有针对性地加强对相应知识的理解和掌握。全书最后附有索引,可方便读者快速查阅相关概念和关键术语。服务于本教材的配套网站提供了课件,方便学生预习使用,也方便教师开展课堂教学时在此基础上加以裁剪和修正使用,同时提供给教师的习题答案还可方便教师批阅作业时参考。另外,配套网站为许多章节还配备有实验课题,可方便教师布置实验设计作业并使学生在实践中强化理解。 

这本教材共分为6个部分:第1部分阐释操作系统的概念、视图、起源、分类、构建方法及实现基础;第2部分则渐进地介绍单进程操作系统、单用户多任务操作系统、单用户多任务/多线程操作系统、多用户操作系统、分布式和集群及网格相关的操作系统;第3部分和第4部分则按照传统方式集中讨论进程管理、内存管理、文件系统、输入/输出管理;第5部分介绍计算机网络、保护和安全以及分布式操作系统;第6部分则分别就Windows NT操作系统、Linux操作系统、Palm操作系统进行实例研究。另外,附录部分还简要介绍了比较现代的硬件体系结构的相关知识。每章结尾部分均配备有习题,可以帮助读者有针对性地加强相应知识的理解。 

该书适合作为高等院校计算机及相关理工科专业的操作系统课程教材,同时也可作为业界人士设计和开发操作系统及相关系统软件的重要参考书。

关于作者

用全新的方法学习OS——今天你学了吗?

Ramez Elmasri

拉米兹·埃尔玛斯瑞,得克萨斯大学阿灵顿分校教授。1972年在埃及亚历山大大学电气工程专业获学士学位,1980年在斯坦福大学计算机科学专业获硕士学位和博士学位。他当前的研究兴趣包括传感器网络、射频识别、生物信息学数据介质、查询个性化以及系统集成。他是教材《Fundamentals of Database Systems》(数据库系统基础)的第壹作者,该教材已发行至第5版。他以往的研究涵盖数据库、概念建模和分布式系统的各个方面。

用全新的方法学习OS——今天你学了吗?

A. Gil Carrick

A.吉尔·卡里克以前是得克萨斯大学阿灵顿分校讲师,现已从教师岗位退休。1970年在休斯敦大学电子技术专业获学士学位,2000年在得克萨斯大学阿灵顿分校计算机科学专业获硕士学位。他是计算机科学荣誉学会的成员。他的职业跨越整个信息技术产业,包括终端用户组织、硬件制造商、软件出版商、第三方维护机构、大学以及研发公司。他为专业期刊撰稿,并编辑信息技术书籍,相关选题主要集中在网络领域。在他的职业生涯中,这本教材中所讨论的所有操作系统他都使用过,他甚至还使用过许多其他的操作系统。 

David Levine

戴维·莱文讲授操作系统、软件工程、网络和计算机体系结构课程。他的研究兴趣包括移动计算、移动对象和分布式计算,整理的相关研究成果发表在近几年的出版物和若干国际会议上。他喜欢讨论操作系统,与学生畅谈操作系统的当前研究,并研习操作系统的新进展。

目录

(向上滑阅读更多)

出版者的话 

译者序 

前言 

教材使用说明 

作者介绍 

第一部分 操作系统概述 

第1章 入门2 

1.1 引言2 

1.2 什么是操作系统3 

1.3 操作系统的用户视图和系统视图4 

1.3.1 用户视图及用户分类4 

1.3.2 系统视图5 

1.3.3 一个例子:移动鼠标(和鼠标指针)6 

1.3.4 另一个比较大的例子:文件7 

1.4 操作系统的一些术语、基本概念和图解7 

1.4.1 基本术语7 

1.4.2 这些图片说明了什么8 

1.4.3 走近真实:个人计算机操作系统9 

1.4.4 为什么设立抽象层10 

1.5 操作系统发展导论11 

1.5.1 操作系统的起源11 

1.5.2 操作系统应当做什么12 

1.6 小结13 

习题13 

第2章 操作系统概念、模块和体系结构14 

2.1 操作系统做什么工作14 

2.2 操作系统管理的资源及主要的操作系统模块16 

2.2.1 操作系统管理的资源类型16 

2.2.2 操作系统的主要模块18 

2.3 进程概念和操作系统进程信息19 

2.3.1 进程定义和进程状态19 

2.3.2 操作系统维护的进程信息21 

2.3.3 进程分类和执行模式21 

2.4 面向功能的操作系统分类22 

2.4.1 单用户单任务操作系统22 

2.4.2 多任务操作系统22 

2.4.3 分时操作系统和服务器23 

2.4.4 网络和分布式操作系统24 

2.4.5 实时操作系统25 

2.5 操作系统构建方法25 

2.5.1 整体式单内核操作系统方法25 

2.5.2 分层式操作系统方法25 

2.5.3 微内核操作系统方法26 

2.6 操作系统实现中的一些问题和技术27 

2.6.1 基于中断向量的中断处理27 

2.6.2 系统调用28 

2.6.3 队列和表28 

2.6.4 面向对象的方法29 

2.6.5 虚拟机29 

2.7 操作系统功能及向后兼容的最小化方法和最大化方法31 

2.7.1 向后兼容31 

2.7.2 用户最优化与硬件最优化32 

2.8 小结32 

参考文献32 

网上资源33 

习题33 

第二部分 渐进式构建操作系统:面向广度的螺旋式方法 

第3章 简单的单进程操作系统37 

3.1 监控程序和CP/M37 

3.1.1 监控程序:简单操作系统的前身37 

3.1.2 为什么创建CP/M?什么是软件危机38 

3.1.3 CP/M的构成39 

3.2 简单的个人计算机系统的特征39 

3.3 输入/输出管理40 

3.3.1 键盘输入—可移植性与灵活性41 

3.3.2 视频监视器输出—可移植性及功能与性能41 

3.4 磁盘管理和文件系统42 

3.4.1 磁盘系统42 

3.4.2 文件系统43 

3.5 进程和内存管理46 

3.5.1 应用程序的创建与执行46 

3.5.2 基于CCP的命令处理47 

3.5.3 内存管理48 

3.5.4 覆盖49 

3.5.5 进程及基本的多任务49 

3.6 小结50 

参考文献50 

网上资源51 

习题51 

第4章 单用户多任务操作系统52 

4.1 简单的多任务系统53 

4.2 Palm操作系统运行环境及系统布局54 

4.2.1 基本内存为易失性随机访问存储器55 

4.2.2 没有辅助存储器55 

4.2.3 小屏幕尺寸55 

4.2.4 没有键盘56 

4.3 进程调度56 

4.3.1 处理涂鸦式输入—实时操作系统任务56 

4.3.2 应用程序进程—任何时候只能有一道进程持有焦点57 

4.3.3 典型的用户应用程序57 

4.3.4 真正的调度程序开始成形58 

4.4 内存管理58 

4.4.1 内存基础知识58 

4.4.2 内存分配59 

4.4.3 不可移动的内存块61 

4.4.4 空闲空间监测61 

4.5 文件支持62 

4.5.1 数据库和记录62 

4.5.2 资源对象62 

4.5.3 辅助存储器63 

4.6 基本输入/输出63 

4.7 显示管理64 

4.7.1 相应硬件64 

4.7.2 高级图形化用户界面元素64 

4.7.3 特殊的窗体类型64 

4.7.4 低级图形化用户界面控件65 

4.8 事件驱动的程序66 

4.9 小结67 

参考文献67 

网上资源67 

习题68 

第5章 单用户多任务/多线程操作系统69 

5.1 引言69 

5.2 Mac计算机的起源69 

5.3 Mac操作系统—第1版系统70 

5.3.1 图形化用户界面70 

5.3.2 单任务71 

5.3.3 辅助存储器72 

5.3.4 内存管理72 

5.3.5 只读存储器74 

5.3.6 增量版本74 

5.4 第2版系统74 

5.4.1 图形化用户界面75 

5.4.2 多任务75 

5.5 第3版系统75 

5.5.1 多级文件系统75 

5.5.2 网络76 

5.6 第4版系统76 

5.6.1 多重查找器76 

5.6.2 多重查找器与图形化用户界面77 

5.6.3 内存管理与多重查找器77 

5.7 第5版系统78 

5.8 第6版系统78 

5.9 第7版系统79 

5.9.1 图形化用户界面79 

5.9.2 虚拟内存79 

5.9.3 新型处理器80 

5.9.4 输入/输出增强81 

5.10 第8版系统82 

5.10.1 多级文件系统升级版82 

5.10.2 其他的硬件变化83 

5.10.3 统一字符编码标准支持83 

5.11 第9版系统84 

5.11.1 多用户84 

5.11.2 网络85 

5.11.3 应用程序接口85 

5.11.4 视频86 

5.12 X版Mac操作系统86 

5.12.1 新功能87 

5.12.2 又一款新处理器87 

5.13 小结87 

参考文献87 

网上资源88 

习题88 

第6章 多用户操作系统90 

6.1 引言90 

6.1.1 多用户操作系统的历史90 

6.1.2 Linux操作系统的基本结构93 

6.1.3 动态可加载模块94 

6.1.4 中断处理95 

6.1.5 文件系统目录树96 

6.2 多用户操作系统环境96 

6.2.1 文件访问权限97 

 ? END ? 

图 | 网络



用全新的方法学习OS——今天你学了吗?

麦格劳-希尔教育集团

Because learning changes everything.