新書推薦:
《
便宜货:廉价商品与美国消费社会的形成
》
售價:HK$
77.3
《
读书是一辈子的事(2024年新版)
》
售價:HK$
79.4
《
乐道文库·什么是秦汉史
》
售價:HK$
82.8
《
汉娜·阿伦特与以赛亚·伯林 : 自由、政治与人性
》
售價:HK$
109.8
《
女性与疯狂(女性主义里程碑式著作,全球售出300万册)
》
售價:HK$
112.7
《
药食同源中药鉴别图典
》
售價:HK$
68.8
《
设计中的比例密码:建筑与室内设计
》
售價:HK$
89.7
《
冯友兰和青年谈心系列:看似平淡的坚持
》
售價:HK$
55.8
|
內容簡介: |
本书主要介绍操作系统的基本概念、结构、基本功能和实现原理,以及当前世界上*流行的两大操作系统派系——UNIXLinux和Windows的特点和实现技术。本书共分为三篇18章。*篇分为6章,主要介绍操作系统的基本概念、三个基本操作系统类型(批处理、分时和实时)和特点、操作系统基本功能(处理机管理、存储器管理、文件管理和设备管理)和操作系统的进一步发展;第二篇分为7章,以Linux操作系统为例,介绍类UNIX系统设计和各部分功能的具体实现技术;第三篇分为5章,介绍以面向对象方法设计的特例Windows 2000XP操作系统的实现技术。本书注意吸收国内外较新的操作系统理论和实现技术,以反映现代操作系统发展的新动向。以操作系统的基本原理与实现技术为主要内容,同时注意到实际的应用。本书可作为高等学校计算机科学与技术、软件工程,以及电子信息和自动控制类专业的教材,也可以作为计算机工程和应用人员的参考书。
|
關於作者: |
翟岩龙,博士,北京理工大学计算机学院教师,至今承担操作系统、操作系统课程设计两门课程的讲授工作,2018年开始承担英文操作系统、英文操作系统课程设计两门课程讲授工作2018年度北京理工大学教学基本功大赛全英文组二等奖2019年度北京理工大学留学北理""我最喜爱的老师”荣誉称号
|
目錄:
|
第一篇 操作系统的基本原理
第1章 操作系统概论 (1)
1.1 操作系统的定义 (1)
1.2 操作系统的形成与发展 (2)
1.2.1 顺序处理(手工操作阶段) (2)
1.2.2 简单的批处理系统 (3)
1.2.3 多道成批处理系统 (5)
1.2.4 分时系统 (7)
1.2.5 实时系统 (9)
1.2.6 嵌入式系统 (10)
1.3 操作系统的功能、服务和特性 (10)
1.4 操作系统的进一步发展 (12)
1.5 用户与操作系统的接口 (17)
1.5.1 用户与操作系统的操作接口 (17)
1.5.2 系统调用接口 (19)
1.6 操作系统的运行方式 (21)
1.7 操作系统的设计规范和结构设计 (22)
1.8 小结 (24)
习题 (25)
第2章 进程管理 (27)
2.1 进程的引入和概念 (27)
2.2 进程的描述 (30)
2.3 进程的控制 (32)
2.4 处理机的调度 (35)
2.5 线程的引入 (40)
2.6 小结 (42)
习题 (43)
第3章 进程之间的并发控制和死锁 (45)
3.1 并发进程的特点 (45)
3.2 进程之间的低级通信 (46)
3.2.1 进程之间的互斥 (46)
3.2.2 进程之间的同步 (49)
3.2.3 信号量和P、V操作 (49)
3.2.4 利用信号量解决计算机中的经典问题 (52)
3.3 管程 (54)
3.4 进程的高级通信 (57)
3.4.1 消息缓冲通信 (58)
3.4.2 其他通信机制 (60)
3.5 死锁 (61)
3.5.1 死锁的定义和死锁产生的必要条件 (61)
3.5.2 解决死锁的方法 (62)
3.6 小结 (70)
习题 (71)
第4章 存储器管理 (74)
4.1 概述 (74)
4.2 单用户单道程序的存储器分配 (76)
4.3 多用户多道程序的存储器分配分区分配 (77)
4.3.1 固定式分区 (77)
4.3.2 可变式分区 (78)
4.3.3 分区管理的地址重定位和存储器保护 (81)
4.3.4 分区管理的优缺点 (81)
4.4 覆盖与交换技术 (82)
4.5 页式存储器管理 (83)
4.6 段式存储器管理 (88)
4.7 虚拟存储器管理 (90)
4.7.1 虚拟存储器 (90)
4.7.2 页式虚拟存储器管理 (91)
4.7.3 页式管理设计中应考虑的问题 (95)
4.7.4 段式虚拟存储器管理 (98)
4.7.5 段页式虚拟存储器管理 (100)
4.8 小结 (102)
习题 (102)
第5章 文件系统 (105)
5.1 文件和文件系统 (105)
5.2 文件目录结构 (107)
5.3 文件的逻辑结构和存取方法 (109)
5.4 文件的物理结构和存储介质 (111)
5.4.1 文件的物理结构 (111)
5.4.2 文件的存储介质 (114)
5.5 文件记录的组块与分解 (116)
5.6 文件存储器存储空间的管理 (117)
5.7 文件的共享与保护 (118)
5.8 文件的操作命令 (122)
5.9 文件系统的组织结构 (123)
5.10 存储器映射文件 (124)
5.11 小结 (125)
习题 (126)
第6章 设备管理 (128)
6.1 IO硬件组成 (128)
6.1.1 IO设备分类 (128)
6.1.2 设备控制器 (128)
6.1.3 IO数据传输的控制方式 (130)
6.1.4 通道 (132)
6.2 IO软件的组成 (134)
6.2.1 IO软件的设计目标 (134)
6.2.2 IO软件的功能 (135)
6.2.3 同步IO和异步IO (139)
6.3 磁盘管理 (140)
6.3.1 磁盘调度 (140)
6.3.2 磁盘的错误处理 (143)
6.4 小结 (143)
习题 (144)
第二篇 Linux操作系统
第7章 Linux进程管理 (146)
7.1 Linux进程的组成 (147)
7.1.1 进程的定义 (147)
7.1.2 进程的状态 (150)
7.2 Linux进程链表 (150)
7.3 Linux进程控制 (153)
7.3.1 进程创建 (153)
7.3.2 进程撤销 (156)
7.4 Linux进程切换 (156)
7.5 Linux进程调度 (157)
7.6 内核同步 (162)
7.7 小结 (164)
习题 (165)
第8章 Linux存储器管理 (166)
8.1 进程地址空间的管理 (166)
8.1.1 Linux中的分段 (166)
8.1.2 虚拟内存区域 (168)
8.1.3 虚拟内存描述符 (171)
8.1.4 创建进程的地址空间 (173)
8.1.5 堆的管理 (173)
8.2 物理内存管理 (173)
8.3 slab管理 (179)
8.3.1 slab分配器 (179)
8.3.2 slab着色 (181)
8.4 高端内存区管理 (182)
8.5 地址转换 (183)
8.6 请求调页与缺页异常处理 (184)
8.7 盘交换区空间管理 (185)
8.8 小结 (186)
习题 (187)
第9章 Linux文件系统 (188)
9.1 ext2的磁盘涉及的数据结构 (188)
9.1.1 Linux文件卷的布局 (188)
9.1.2 超级块 (189)
9.1.3 块组描述符 (190)
9.1.4 文件目录与索引节点结构 (191)
9.1.5 访问控制表ACL (194)
9.2 ext2的主存数据结构 (194)
9.2.1 超级块和索引节点对象 (195)
9.2.2 位图高速缓存 (196)
9.3 ext2磁盘空间管理 (197)
9.3.1 磁盘索引节点的管理 (198)
9.3.2 空闲磁盘块的分配与回收 (199)
9.4 ext2提供的文件操作 (200)
9.5 ext3ext4文件系统 (201)
9.6 小结 (202)
习题 (203)
第10章 Linux虚拟文件系统 (204)
10.1 虚拟文件系统涉及的数据结构 (204)
10.1.1 超级块对象 (205)
10.1.2 索引节点对象 (207)
10.1.3 文件对象 (210)
10.1.4 目录项对象 (211)
10.1.5 与进程打开文件相关的数据结构 (213)
10.2 文件系统的注册与安装 (215)
10.2.1 文件系统注册 (215)
10.2.2 文件系统安装 (216)
10.3 VFS系统调用的实现 (218)
10.3.1 文件的打开与关闭 (218)
10.3.2 文件的读写 (219)
10.4 小结 (221)
习题 (221)
第11章 Linux IO系统 (222)
11.1 设备驱动模型 (222)
11.1.1 sysfs文件系统 (222)
11.1.2 设备驱动模型的组件 (224)
11.2 设备文件 (226)
11.3 设备驱动程序 (227)
11.3.1 块设备驱动程序 (228)
11.3.2 字符设备驱动程序 (233)
11.4 高速缓存 (233)
11.4.1 页高速缓存 (234)
11.4.2 把块存放在页高速缓存中 (236)
11.5 小结 (237)
习题 (238)
第12章 中断、异常和信号处理 (239)
12.1 中断和异常处理的硬件基础 (239)
12.2 中断和异常处理 (241)
12.2.1 硬件完成的处理 (241)
12.2.2 软件处理 (242)
12.2.3 如何处理中断 (242)
12.3 信号处理机制 (244)
12.3.1 信号概述 (244)
12.3.2 信号的发送与安装 (245)
12.3.3 信号集 (246)
12.3.4 信号应用示例 (247)
12.4 小结 (248)
习题 (248)
第13章 Linux进程之间的通信 (249)
13.1 管道通信 (249)
13.1.1 创建无名管道 (249)
13.1.2 管道涉及的数据结构 (250)
13.1.3 创建一个有名管道 (251)
13.2 Linux的进程间通信 (252)
13.3 信号量机制 (254)
13.3.1 信号量机制使用的数据结构 (254)
13.3.2 信号量机制的系统调用 (256)
13.4 消息缓冲机制 (258)
13.4.1 消息缓冲使用的数据结构 (258)
13.4.2 消息缓冲的系统调用 (259)
13.5 共享内存区机制 (261)
13.6 小结 (264)
习题 (264)
第三篇 Windows操作系统研究
第14章 Windows操作系统模型 (265)
14.1 Windows的体系结构 (265)
14.1.1 用户态进程 (265)
14.1.2 子系统动态链接库 (267)
14.1.3 核心态的系统组件 (267)
14.2 Windows操作系统的特点 (269)
14.3 Windows的系统机制 (270)
14.3.1 陷阱处理程序 (270)
14.3.2 中断调度 (271)
14.3.3 异常调度 (274)
14.3.4 系统服务调度 (275)
14.4 对象管理器 (276)
14.4.1 对象结构 (276)
14.4.2 管理对象 (277)
14.5 对象之间的同步 (280)
14.6 小结 (284)
习题 (284)
第15章 Windows进程和线程管理 (285)
15.1 Windows进程和线程 (285)
15.1.1 进程对象 (285)
15.1.2 线程对象 (286)
15.2 线程调度 (288)
15.3 对称多处理机系统上的线程调度 (292)
15.3.1 几个与调度有关的概念 (292)
15.3.2 线程调度程序的数据结构 (292)
15.3.3 多处理机的线程调度算法 (293)
15.3.4 空闲线程的调度 (295)
15.4 线程优先级提升 (295)
15.5 Windows的线程同步 (297)
15.5.1 同步对象 (297)
15.5.2 同步对象的应用示例 (297)
15.6 小结 (301)
习题 (301)
第16章 Windows的存储器管理 (303)
16.1 存储器管理的基本概念 (303)
16.1.1 进程地址空间的布局 (303)
16.1.2 进程私有空间的分配 (304)
16.2 Windows地址转换 (308)
16.2.1 地址转换所涉及的数据结构 (308)
16.2.2 页错误处理 (312)
16.3 页调度策略 (314)
16.4 小结 (316)
习题 (317)
第17章 Windows的文件系统 (318)
17.1 文件系统概述 (318)
17.2 主控文件表 (319)
17.2.1 主控文件表的结构 (319)
17.2.2 主控文件表的记录结构 (320)
17.3 NTFS文件的引用和索引 (324)
17.4 Windows文件系统模型 (325)
17.4.1 文件系统分层模
|
內容試閱:
|
操作系统是计算机系统中不可或缺的基本系统软件,主要用来管理和控制计算机系统的软、硬件资源,提高资源利用率,并为用户提供一个方便、灵活、安全和可靠地使用计算机的工作环境。
操作系统是计算机专业的核心骨干课程,也是计算机专业系统能力培养的重要环节。通过学习操作系统,学生能够首次将软件与硬件进行贯通,理解运行最简单的Hello World程序所需经历的全部过程。同时,操作系统也是从事计算机系统和应用开发人员的必备知识,可以从操作系统的设计和实现中学习很多的设计模式和程序设计方法,例如操作系统中大量采用的层次化软件设计模式、为了屏蔽底层软、硬件差异采用的面向接口的开发、不同存取速度存储介质之间的预取及交换等都是很多应用系统设计可以参考和借鉴的方法。
本书为北京市高等教育精品教材。本书第1~3版分别于2004年、2009年和2013年出版。本书作者长期从事操作系统教学和科研工作,保持对国内外操作系统发展变化的追踪,通过分析典型操作系统的源代码不断加深对操作系统的理解。为适应技术的不断发展,满足课程的教学要求,以及新工科建设对于计算机系统能力培养的要求,作者决定对本书进行再次修订。第4版在内容上所做的修订主要包括以下几个方面:(1)完善和更新了知识体系。增加了多核处理器体系结构、多处理器调度、虚拟化技术等内容,涵盖了操作系统近年的一些重要技术内容。(2)细化了典型操作系统实例中部分模块的实现原理,包括Linux系统中ext34文件系统原理、Linux系统中O1和CFS调度算法、Windows系统中NTFS文件系统等。(3)凝练了语言表达。对全书内容进行了细致的推敲和讨论,订正了一些不明确的表达和概念描述。
本书特色如下:
(1)注意吸收国内外较新的的操作系统理论与实现技术,以反映现代操作系统发展的新动向;以操作系统的基本原理为主要内容,同时注重原理在实际操作系统中的具体应用;力求做到理论联系实际、由浅入深、循序渐进,有利于学生的学习。
(2)重点讨论传统操作系统的基本概念、基本方法、基本功能和实现原理,通过本课程的学习,学生能够对操作系统有一个完整和清楚的了解。
(3)在操作系统基本原理讲解的基础上,以当代世界上最流行、最具代表性的两大操作系统Linux和Windows为例,较详细地讲解了它们的特点和实现技术,使学生通过实例的学习,充分理解和掌握操作系统的原理和技术。
(4)通过理论与实践的学习,掌握操作系统的设计方法和实现技术,从而培养学生分析问题和解决问题的能力,以满足学生今后从事科研和就业的需要。
全书共分三篇。第一篇为前6章,讲解了操作系统的基本概念、理论和实现原理,是本书的基本和必修内容。第二篇和第三篇分别讲解了Linux和Windows系统的原理和实现方式,建议授课教师以Linux系统为主,选取典型操作系统管理功能进行讲解,例如Linux系统的进程管理、存储器管理和文件系统、Windows系统的体系结构等,其余部分可以留给学生自学。本书适合课堂教学的学时数为48~72。
本书第4版由刘美华、翟岩龙编写,课程组的王全玉和刘利雄参与Linux和Windows部分章节的编写,翟岩龙对全书进行了统稿。教材中部分内容引用和参考了参考文献中列出的国内外著作中的部分内容,在此向这些作者表示衷心的感谢。同时也要感谢北京理工大学计算机学院部分2017级本科学生在教材修订过程中提出的众多修改意见。
限于作者水平有限,书中难免有不当或者疏漏之处,恳请各位同行、学生和读者批评指正。本书配套教辅资源可从电子工业出版社的华信教育资源网(www.hxedu.com.cn)下载,或者直接与作者联系。作者联系邮箱:ylzhai@bit.edu.cn
编著者
于北京理工大学
|
|