新書推薦:

《
基层儿科医生 (第2版)
》
售價:HK$
173.8

《
战国秦汉时期的择日术与时空认知
》
售價:HK$
74.8

《
你好,AI:智能时代职场生存指南(为现代职场人量身打造的AI实用指南,帮助读者从对AI的初步认知,进阶到灵活运用DeepSeek等智能工具高效完成工作,提升生活品质。)
》
售價:HK$
63.8

《
美国中国史研究
》
售價:HK$
97.9

《
元气女子养成记 ①怡然自得的心情 ②毫不费力的穿搭
》
售價:HK$
162.8

《
战天京:晚清军政传信录
》
售價:HK$
96.8

《
恢复、道学、权臣:南宋中期政治研究
》
售價:HK$
107.8

《
萤火虫全球史068:历史上著名的101座城堡
》
售價:HK$
83.6
|
編輯推薦: |
本书是何炎祥教授计算机操作系统经典教材修订新版。本书结合现代操作系统的设计并考虑操作系统的发展方向,着重讨论操作系统设计的基本概念、基本原理和典型技术,同时,讲述构造操作系统过程中可能面临的种种问题及其解决办法;介绍操作系统设计中的一些非常重要的进展,包括线程、实时系统、多处理器调度、进程迁移、分布式计算模式、分布式进程管理、中间件技术、微核技术、操作系统的安全性等。为了帮助读者更好地理解操作系统的概念、原理和方法,更好地将理论与实际设计相结合,选择了目前具有代表性、典型性的操作系统Windows NT,UNIX,Linux作为实例贯穿全书,并专门介绍了一个小型操作系统——MINIX的设计与实现。其目的是尽可能清晰、全面地向读者展现当代操作系统的设计原理与基本实现技术,以便读者深入了解现代操作系统的全貌,为今后进行大型软件研制与系统开发打下坚实基础。可供大专院校计算机专业及相关专业的师生作为教材,也可供在计算机软件企业和IT行业工作的科技工作者学习和参考。
|
內容簡介: |
本书着重讨论现代操作系统设计的基本概念、基本原理和典型技术,讲述构造现代操作系统过程中可能面临的各种问题及其解决办法;介绍操作系统设计中的一些非常重要的进展,包括线程、实时系统、多处理器调度、进程迁移、分布式计算模式、中间件技术、微核技术、操作系统的安全性等。为了帮助读者更好地将理论与实际设计相结合,书中选择了目前具有代表性、典型性的操作系统Windows NT、UNIX、Linux作为实例贯穿全书,并专门介绍了一个小型操作系统——MINIX的设计与实现。尽可能清晰、全面地向读者展现操作系统迭代演进的设计原理与基本实现技术,以便读者深入了解现代操作系统的全貌,为今后进行大型软件研制与系统开发打下坚实基础。
來源:香港大書城megBookStore,http://www.megbook.com.hk 本书可供高等学校计算机专业及相关专业的师生作为教材,也可供在计算机软件企业和IT行业工作的科技工作者学习和参考。
|
目錄:
|
第1章操作系统概论1
1.1操作系统的作用1
1.1.1硬件系统和应用程序间的界面1
1.1.2资源管理者2
1.1.3推动操作系统发展的因素2
1.2操作系统的演变3
1.2.1串行处理系统3
1.2.2简单批处理系统4
1.2.3多道程序批处理系统6
1.2.4分时系统8
1.2.5实时系统10
1.2.6网络操作系统11
1.2.7分布式操作系统11
1.2.8嵌入式操作系统12
1.3操作系统的主要成就13
1.3.1进程13
1.3.2存储器管理15
1.3.3信息保护和安全性16
1.3.4调度和资源管理17
1.3.5系统结构18
1.4操作系统举例20
1.4.1Windows NT20
1.4.2UNIX System Ⅴ23
1.5操作系统主要研究的问题24
小结24
习题25
第2章进程描述与控制26
2.1进程状态26
2.1.1进程产生和终止27
2.1.2进程状态模型29
2.1.3进程挂起33
2.2进程描述36
2.2.1操作系统控制结构37
2.2.2进程控制结构37
2.2.3进程属性38
2.3进程控制40
2.3.1执行模式40
2.3.2进程创建40
2.3.3进程切换41
2.3.4上下文切换41
2.3.5操作系统的运行42
2.3.6微核43
2.4线程和SMP44
2.4.1线程及其管理44
2.4.2多线程的实现45
2.4.3进程与线程的关系47
2.4.4SMP47
2.5系统举例48
2.5.1UNIX System Ⅴ48
2.5.2Windows NT52
2.5.3Linux55
小结56
习题57
第3章并发控制——互斥与同步60
3.1并发原理61
3.1.1进程间的相互作用63
3.1.2进程间的相互竞争64
3.1.3进程间的相互合作65
3.1.4互斥的要求66
3.2互斥——用软件方法实现67
3.2.1Dekker算法67
3.2.2Peterson算法70
3.3互斥——用硬件方法解决71
3.3.1禁止中断71
3.3.2使用机器指令72
3.4信号量74
3.4.1用信号量解决互斥问题75
3.4.2用信号量解决生产者/消费者问题76
3.4.3信号量的实现80
3.4.4用信号量解决理发店问题81
3.5管程84
3.5.1带信号量的管程84
3.5.2用管程解决生产者/消费者问题85
3.6消息传递87
3.6.1消息传递原语87
3.6.2用消息传递实现同步88
3.6.3寻址方式88
3.6.4消息格式89
3.6.5排队规则90
3.6.6用消息传递实现互斥90
3.7读者/写者问题91
3.7.1读者优先92
3.7.2写者优先93
3.8系统举例95
3.8.1UNIX System Ⅴ95
3.8.2Windows NT97
小结98
习题99
第4章死锁处理101
4.1死锁问题概述101
4.1.1可重用资源101
4.1.2消耗型资源102
4.1.3产生死锁的条件103
4.2死锁处理策略104
4.2.1死锁预防104
4.2.2死锁避免105
4.2.3死锁检测108
4.2.4死锁恢复109
4.2.5处理死锁的综合方法110
4.3哲学家用餐问题110
小结112
习题112
第5章内存管理114
5.1概述114
5.1.1基本概念114
5.1.2虚拟存储器116
5.1.3重定位117
5.2存储管理的基本技术118
5.2.1分区法118
5.2.2可重定位分区法120
5.2.3覆盖技术122
5.2.4交换技术122
5.3分页存储管理123
5.3.1基本概念123
5.3.2纯分页系统125
5.3.3请求式分页系统126
5.3.4硬件支持及缺页处理128
5.3.5页的共享和保护129
5.4分段存储管理129
5.4.1基本概念130
5.4.2基本原理130
5.4.3硬件支持和缺段处理131
5.4.4段的共享和保护132
5.5段页式存储管理134
5.5.1基本概念134
5.5.2地址转换135
5.5.3管理算法135
5.6虚拟内存的置换算法136
5.6.1先进先出页面置换算法136
5.6.2最佳页面置换算法137
5.6.3最近最少使用页面置换算法137
5.6.4第2次机会页面置换算法138
5.6.5时钟页面置换算法138
5.6.6其他页面置换算法139
5.7系统举例139
5.7.1UNIX系统中的存储管理技术139
5.7.2Linux系统中的存储管理技术143
5.7.3Windows NT系统中的存储管理技术144
小结145
习题146
第6章处理机调度148
6.1调度类型148
6.1.1长程调度150
6.1.2中程调度150
6.1.3短程调度150
6.2调度算法150
6.2.1短程调度标准150
6.2.2优先权的使用152
6.2.3调度策略152
6.2.4性能比较159
6.2.5模拟模型161
6.2.6公平分享调度策略161
6.3多处理机调度163
6.3.1粒度164
6.3.2设计要点165
6.3.3进程调度策略166
6.4实时调度169
6.4.1实时操作系统的特性170
6.4.2实时调度172
6.4.3期限调度173
6.4.4比率单调调度175
6.5响应时间177
6.6系统举例178
6.6.1UNIX System Ⅴ178
6.6.2Windows NT179
小结181
习题181
第7章I/O设备管理183
7.1I/O系统硬件183
7.1.1I/O设备183
7.1.2设备控制器184
7.1.3I/O技术185
7.2I/O软件的层次结构189
7.2.1中断处理程序190
7.2.2设备驱动程序191
7.2.3与设备无关的I/O软件192
7.2.4用户空间的I/O软件193
7.2.5缓冲技术194
7.3磁盘调度198
7.3.1调度策略198
7.3.2磁盘高速缓存201
7.4系统举例203
7.4.1UNIX System Ⅴ203
7.4.2Windows NT I/O分析205
小结208
习题209
第8章文件管理211
8.1文件与文件系统211
8.1.1文件及其分类211
8.1.2文件系统及其功能212
8.2文件的结构及存取方式213
8.2.1文件的逻辑结构及存取方式214
8.2.2文件的物理结构及存储设备215
8.3文件目录结构与目录管理220
8.3.1文件目录结构220
8.3.2文件目录管理225
8.4文件存储空间的分配与管理226
8.4.1文件存储空间的分配226
8.4.2磁盘空间管理228
8.5系统举例——Windows NT230
8.5.1PE可移动执行的文件格式230
8.5.2PE文件 232
8.5.3块表数据结构及辅助信息块234
小结238
习题 238
第9章分布计算239
9.1客户/服务器计算239
9.1.1什么是客户/服务器计算239
9.1.2客户/服务器模式的应用241
9.1.3中间件243
9.2分布式消息传递245
9.2.1分布式消息传递的方法245
9.2.2消息传递的可靠性246
9.3远程过程调用246
小结247
习题248
第10章分布式进程管理249
10.1进程迁移249
10.1.1进程迁移的动机249
10.1.2进程迁移机制249
10.1.3一种迁移方案251
10.1.4进程迁移的协商252
10.1.5进程驱逐253
10.1.6抢占及非抢占进程的迁移253
10.2分布式全局状态253
10.2.1全局状态及分布式快照253
10.2.2分布式快照算法255
10.3分布式进程管理——互斥256
10.3.1分布式互斥问题256
10.3.2分布式系统的事件定序——时戳方法258
10.3.3分布式互斥算法259
10.4分布式死锁263
10.4.1资源分配中的死锁263
10.4.2死锁预防264
10.4.3死锁避免265
10.4.4死锁检测265
10.4.5消息通信中的死锁268
小结270
习题270
第11章操作系统的安全性272
11.1安全性概述272
11.1.1安全性的内涵272
11.1.2操作系统的安全性273
11.1.3操作系统的安全性级别275
11.2安全保护机制276
11.2.1进程支持276
11.2.2内存及地址保护276
11.2.3存取控制279
11.2.4文件保护282
11.2.5用户身份鉴别284
11.3病毒及其防御286
11.3.1病毒概述286
11.3.2病毒的防御机制287
11.3.3特洛伊木马程序及其防御288
11.4加密技术289
11.4.1传统加密方法289
11.4.2公开密钥加密方法290
11.4.3密钥的管理291
11.5安全操作系统的设计293
11.5.1安全模型293
11.5.2安全操作系统的设计296
11.6系统举例——Windows 2000 的安全性分析299
小结301
习题301
第12章一个小型操作系统的实现303
12.1MINIX概述303
12.1.1MINIX的组成结构303
12.1.2头文件305
12.2进程307
12.2.1进程概述307
12.2.2进程的具体实现309
12.3I/O系统314
12.3.1I/O系统概述314
12.3.2设备驱动程序的实现316
12.4内存管理319
12.4.1内存管理概述319
12.4.2内存管理的实现322
12.5文件系统325
12.5.1文件系统概述325
12.5.2实现328
小结332
习题332
参考文献334第1章操作系统概论11.1操作系统的作用1
1.1.1硬件系统和应用程序间的界面1
1.1.2资源管理者2
1.1.3推动操作系统发展的因素2
1.2操作系统的演变3
1.2.1串行处理系统3
1.2.2简单批处理系统4
1.2.3多道程序批处理系统6
1.2.4分时系统8
1.2.5实时系统10
1.2.6网络操作系统11
1.2.7分布式操作系统11
1.2.8嵌入式操作系统12
1.3操作系统的主要成就13
1.3.1进程13
1.3.2存储器管理15
1.3.3信息保护和安全性16
1.3.4调度和资源管理17
1.3.5系统结构18
1.4操作系统举例20
1.4.1Windows NT20
1.4.2UNIX System V23
1.5操作系统的主要研究课题24
小结25
习题25
第2章进程描述与控制26
2.1进程状态26
2.1.1进程产生和终止27
2.1.2进程状态模型29
2.1.3进程挂起32
2.2进程描述36
2.2.1操作系统控制结构37
2.2.2进程控制结构37
2.2.3进程属性38
2.3进程控制40
2.3.1执行模式40
2.3.2进程创建41
2.3.3进程切换41
2.3.4上下文切换42
2.3.5操作系统的运行42
2.3.6微核44
2.4线程和SMP44
2.4.1线程及其管理44
2.4.2多线程的实现46
2.4.3进程与线程的关系47
2.4.4SMP48
2.5系统举例49
2.5.1UNIX System V49
2.5.2Windows NT52
2.5.3Linux56
小结57
习题58
第3章并发控制——互斥与同步61
3.1并发原理62
3.1.1进程间的相互作用64
3.1.2进程间的相互竞争65
3.1.3进程间的相互合作66
3.1.4互斥的要求67
3.2互斥——用软件方法实现68
3.2.1Dekker算法68
3.2.2Peterson算法72
3.3互斥——用硬件方法解决73
3.3.1禁止中断73
3.3.2使用机器指令73
3.4信号量75
3.4.1用信号量解决互斥问题77
3.4.2用信号量解决生产者/消费者问题78
3.4.3信号量的实现83
3.4.4用信号量解决理发店问题84
3.5管程87
3.5.1带信号量的管程87
3.5.2用管程解决生产者/消费者问题89
3.6消息传递90
3.6.1消息传递原语90
3.6.2用消息传递实现同步91
3.6.3寻址方式91
3.6.4消息格式92
3.6.5排队规则93
3.6.6用消息传递实现互斥93
3.7读者/写者问题95
3.7.1读者优先95
3.7.2写者优先96
3.8系统举例99
3.8.1UNIX System V99
3.8.2Windows NT101
小结102
习题103
第4章死锁处理105
4.1死锁问题概述105
4.1.1可重用资源105
4.1.2消耗型资源106
4.1.3产生死锁的条件107
4.2死锁处理108
4.2.1死锁预防108
4.2.2死锁避免109
4.2.3死锁检测113
4.2.4死锁恢复113
4.2.5处理死锁的综合方法114
4.3哲学家用餐问题114
小结116
习题116
第5章内存管理118
5.1概述118
5.1.1基本概念118
5.1.2虚拟存储器120
5.1.3重定位121
5.2存储管理的基本技术123
5.2.1分区法123
5.2.2可重定位分区法124
5.2.3覆盖技术125
5.2.4交换技术127
5.3分页存储管理127
5.3.1基本概念127
5.3.2纯分页系统130
5.3.3请求式分页系统131
5.3.4硬件支持及缺页处理132
5.3.5页的共享和保护133
5.4分段存储管理134
5.4.1基本概念134
5.4.2基本原理135
5.4.3硬件支持和缺段处理135
5.4.4段的共享和保护136
5.5段页式存储管理138
5.5.1基本概念138
5.5.2地址转换139
5.5.3管理算法140
5.6虚拟内存的置换算法140
5.6.1先进先出页面置换算法141
5.6.2最佳页面置换算法141
5.6.3最近最少使用页面置换算法141
5.6.4第2次机会页面置换算法142
5.6.5时钟页面置换算法143
5.6.6其他页面置换算法143
5.7系统举例144
5.7.1UNIX系统中的存储管理技术144
5.7.2Linux系统中的存储管理技术148
5.7.3Windows NT系统中的存储管理技术149
小结150
习题151
第6章处理机调度152
6.1调度类型152
6.1.1长程调度154
6.1.2中程调度154
6.1.3短程调度154
6.2调度算法154
6.2.1短程调度标准154
6.2.2优先权的使用156
6.2.3调度策略156
6.2.4性能比较164
6.2.5模拟模型165
6.2.6公平分享调度策略166
6.3多处理机调度167
6.3.1粒度168
6.3.2设计要点169
6.3.3进程调度策略170
6.4实时调度174
6.4.1实时操作系统的特性174
6.4.2实时调度177
6.4.3期限调度177
6.4.4比率单调调度180
6.5响应时间182
6.6系统举例183
6.6.1UNIX System V183
6.6.2Windows NT184
小结186
习题186
第7章I/O设备管理189
7.1I/O系统硬件189
7.1.1I/O设备189
7.1.2设备控制器190
7.1.3I/O技术191
7.2I/O软件的层次结构196
7.2.1中断处理程序196
7.2.2设备驱动程序197
7.2.3与设备无关的I/O软件198
7.2.4用户空间的I/O软件199
7.2.5缓冲技术201
7.3磁盘调度204
7.3.1调度策略205
7.3.2磁盘高速缓存208
7.4系统举例210
7.4.1UNIX System V210
7.4.2Windows NT I/O分析212
小结215
习题216
第8章文件管理218
8.1文件与文件系统218
8.1.1文件及其分类218
8.1.2文件系统及其功能219
8.2文件的结构及存取方式221
8.2.1文件的逻辑结构及存取方式221
8.2.2文件的物理结构及存储设备223
8.3文件管理228
8.3.1文件目录结构228
8.3.2文件目录管理233
8.4文件存储空间的分配与管理233
8.4.1文件存储空间的分配234
8.4.2磁盘空间管理235
8.5系统举例——Windows NT237
8.5.1PE可移动执行的文件格式238
8.5.2PE文件 239
8.5.3块表数据结构及辅助信息块242
小结246
习题246
第9章分布计算247
9.1客户/服务器计算247
9.1.1什么是客户/服务器计算247
9.1.2客户/服务器模式的应用249
9.1.3中间件251
9.2分布式消息传递253
9.2.1分布式消息传递的方法253
9.2.2消息传递的可靠性254
9.3远程过程调用254
小结255
习题256
第10章分布式进程管理257
10.1进程迁移257
10.1.1进程迁移的原因257
10.1.2进程迁移的机制257
10.1.3一种迁移方案259
10.1.4进程迁移的协商260
10.1.5进程驱逐261
10.1.6抢占及非抢占进程的迁移261
10.2分布式全局状态262
10.2.1全局状态及分布式快照262
10.2.2分布式快照算法263
10.3分布式进程管理——互斥264
10.3.1分布式互斥问题265
10.3.2分布式系统的事件定序——时戳方法266
10.3.3分布式互斥算法268
10.4分布式死锁271
10.4.1资源分配中的死锁272
10.4.2死锁预防273
10.4.3死锁避免274
10.4.4死锁检测274
10.4.5消息通信中的死锁277
小结279
习题279
第11章操作系统的安全性281
11.1安全性概述281
11.1.1安全性的内涵281
11.1.2操作系统的安全性282
11.1.3操作系统的安全性级别284
11.2安全保护机制285
11.2.1进程支持285
11.2.2内存及地址保护286
11.2.3存取控制288
11.2.4文件保护292
11.2.5用户身份鉴别293
11.3病毒及其防御296
11.3.1病毒概述296
11.3.2病毒的防御机制297
11.3.3特洛伊木马程序及其防御298
11.4加密技术298
11.4.1传统加密方法299
11.4.2公开密钥加密方法300
11.4.3密钥的管理301
11.5安全操作系统的设计302
11.5.1安全模型303
11.5.2安全操作系统的设计305
11.6系统举例——Windows 2000的安全性分析308
小结310
习题311
第12章一个小型操作系统的实现312
12.1MINIX概述312
12.1.1MINIX的组成结构312
12.1.2头文件315
12.2进程317
12.2.1进程概述317
12.2.2进程的具体实现318
12.3I/O系统324
12.3.1I/O系统概述324
12.3.2设备驱动程序的实现325
12.4内存管理329
12.4.1内存管理概述329
12.4.2内在管理的实现332
12.5文件系统335
12.5.1文件系统概述335
12.5.2实现338
小结342
习题342
参考文献344
|
內容試閱:
|
操作系统是计算机系统中最关键的系统软件,计算机系统愈复杂,操作系统的作用和地位就愈重要。
本书结合现代操作系统的设计并考虑操作系统的发展方向,着重讨论操作系统设计的基本概念、基本原理和典型技术。全书共12章,下面介绍各章内容组成。
第1章简要介绍操作系统的基本概念、功能、发展历史以及主要成就等。
第2章介绍进程的概念,以及操作系统对进程进行控制和管理时采用的数据结构,并讨论与进程相关的线程等内容。
第3章介绍在单一系统中并行处理的关键技术——互斥和同步机制。
第4章描述死锁的性质,并讨论解决死锁问题的一些方法。
第5章讨论多种内存管理方法,并讨论用于支撑虚拟内存所需的硬件结构和操作系统用来管理虚拟内存的软件方法。
第6章分析各种不同的进程调度方法,包括实时调度策略等方面的内容。
第7章论述操作系统对输入输出设备的控制和管理,尤其是对系统性能影响较大的磁盘I/O的调度和控制。
第8章讲解文件的组织、存储、使用和保护等方面的内容。
第9章和第10章讲述分布式操作系统的一些关键设计领域,包括Client/Server结构,用于消息传递和远程过程调用的分布式通信机制、分布式进程迁移、中间件,以及解决分布式互斥和死锁问题的原理与技术。
第11章简要讨论保证操作系统安全性的相关理论和方法。
第12章以小型操作系统MINIX为例,用解释性的方式介绍MINIX设计和实现的具体过程,以期达到理论联系实际,学以致用,突出知行合一的目的。
本书由何炎祥、李飞、李宁共同编写,何炎祥统编了全书。在编写过程中得到了武汉大学计算机学院领导和同事们的热情帮助,清华大学出版社对本书的出版给予了大力支持,文中还参考、引用了国内外一些专家学者的论著和研究工作,以及一些公司的产品介绍,在此一并表示诚挚的感谢。
随着操作系统技术的发展,本书在前一版的基础上,对部分内容进行了修订和改编。限于水平,书中错误难免,敬请读者不吝赐教。
作者2024年10月
|
|