编辑推荐
本书结合自己的教学体会,突出重点、难点知识的讲解,对学生容易忽略的疑点进行详细阐述,帮助学生少走弯路,节省宝贵的学习时间。该教材由于其实用性强、讲解通俗易懂,受到了广大学生的欢迎。
内容简介
操作系统是计算机系统中的核心系统软件,“操作系统”课程是计算机专业的一门必修课程。本书深入浅出地阐述了操作系统的基本原理、基本结构、实现技术和运行机制。全书共分9章,依次介绍了操作系统的基本概念、进程(线程)管理、内存管理、I/O设备管理、文件管理及Linux操作系统的相关实现技术。这些知识可为读者理解、分析和应用操作系统打下坚实的专业基础。本书内容讲解重点突出、通俗易懂,符合计算机专业“操作系统”课程教学大纲的要求,并涵盖了全国硕士研究生入学考试计算机学科专业基础综合考试大纲中操作系统部分的全部内容,每章后精选了大量典型习题和历年全国统考真题供读者练习。本书是普通高等教育“十一五”国家级规划教材,可用于普通高等院校计算机各专业“操作系统”课程的教材或考研参考书,也可作为广大计算机科学工作者和从事相关领域工作的工程技术人员的参考资料。
作者简介
李建伟,博士副教授硕士生导师。本人长期在一线从事操作系统课程课程教学,具有丰富的教学经验,广受学生好评。
目录
编者2011年4月目录
第1章操作系统概述1
1.1操作系统的概念1
1.1.1计算机系统资源1
1.1.2操作系统的地位3
1.1.3操作系统的定义4
1.1.4操作系统的设计目标5
1.2操作系统的发展历史与分类6
1.2.1操作系统的发展历史6
1.2.2操作系统分类10
1.3操作系统的主要功能20
1.3.1处理机管理功能20
1.3.2内存管理功能21
1.3.3设备管理功能21
1.3.4文件管理功能22
1.3.5用户接口管理功能22
1.4操作系统的主要特征23
1.4.1并发执行24
1.4.2资源共享24
1.4.3一切皆虚拟25
1.4.4异步性26
1.5操作系统的结构设计26
1.5.1无结构操作系统26
1.5.2模块化结构操作系统27
1.5.3分层式结构操作系统27
1.5.4虚拟机结构操作系统28
1.5.5微内核结构操作系统29
1.6操作系统的运行环境30
1.6.1操作系统硬件运行环境30
1.6.2操作系统与其他系统软件关系36
1.7初识Linux操作系统36
1.7.1Linux概述36
1.7.2Linux内核设计38
1.7.3Linux启动和初始化过程40
1.7.4Linux系统调用介绍40
习题141第2章进程、线程管理45
2.1进程的基本概念45
2.1.1程序执行过程45
2.1.2进程的定义和特征49
2.1.3进程状态和状态转换52
2.1.4进程控制块及其组织方式55
2.2进程控制58
2.2.1进程创建59
2.2.2进程执行与进程切换60
2.2.3进程阻塞与唤醒61
2.2.4进程挂起与激活62
2.2.5进程撤销62
2.3线程63
2.3.1进程的局限性63
2.3.2线程及其属性64
2.3.3线程状态与控制67
2.3.4线程间同步和通信67
2.3.5线程的实现69
2.3.6多线程模型70
2.4Linux进程管理概述71
2.4.1Linux中的进程及其进程控制块71
2.4.2Linux中的进程控制76
2.4.3Linux中的线程77
习题278第3章进程同步与通信 80
3.1进程同步和互斥 80
3.1.1进程同步和互斥的基本概念80
3.1.2信号量机制88
3.1.3利用信号量解决互斥问题89
3.1.4利用信号量解决同步问题90
3.2典型进程同步问题详解93
3.2.1生产者�蚕�费者问题93
3.2.2哲学家就餐问题96
3.2.3读者写者问题99
3.3管程机制102
3.3.1为何引入管程102
3.3.2管程的定义103
3.3.3条件变量104
3.3.4管程解决生产者�蚕�费者问题104
3.4进程通信105
3.4.1高级通信分类106
3.4.2消息传递系统107
3.5Linux进程通信概述110
3.5.1管道110
3.5.2信号111
3.5.3消息队列112
3.5.4信号量112
3.5.5共享内存112
习题3113第4章处理机调度117
4.1三级调度体系117
4.1.1高级调度118
4.1.2中级调度120
4.1.3低级调度120
4.1.4三级调度关系121
4.2进程调度目标和调度方式122
4.2.1进程调度目标122
4.2.2进程调度方式123
4.3调度算法的评价准则124
4.3.1面向用户的评价准则124
4.3.2面向系统的评价准则125
4.4典型进程调度算法126
4.4.1先来先服务调度算法126
4.4.2短作业(进程)优先调度算法127
4.4.3最短剩余时间优先调度算法129
4.4.4时间片轮转调度算法129
4.4.5优先级调度算法130
4.4.6高响应比优先调度算法132
4.4.7多级反馈队列调度算法133
4.5线程调度算法135
4.5.1用户级线程调度135
4.5.2核心级线程调度136
4.6实时调度算法137
4.6.1实时调度目标和所需必要信息137
4.6.2抢占调度和快速切换机制137
4.6.3典型实时调度算法138
4.7Linux进程调度概述139
习题4141第5章死锁145
5.1死锁的基本概念和产生原因145
5.1.1死锁的基本概念145
5.1.2产生死锁的原因147
5.2死锁的必要条件151
5.3死锁的处理152
5.3.1死锁的处理方法152
5.3.2资源分配图153
5.4死锁的静态预防154
5.4.1破坏互斥条件154
5.4.2破坏请求和保持条件154
5.4.3破坏不剥夺条件155
5.4.4破坏环路等待条件155
5.5死锁的动态避免156
5.5.1系统安全状态156
5.5.2银行家算法158
5.6死锁的检测和解除160
5.6.1等待图检测死锁161
5.6.2多体资源类死锁检测算法161
5.6.3死锁解除方法163
5.6.4鸵鸟算法164
5.7线程死锁164
习题5164第6章内存管理168
6.1内存管理概述168
6.1.1存储器的层次结构168
6.1.2内存管理功能169
6.1.3内存管理目标170
6.2程序的链接和装入171
6.2.1几个基本概念171
6.2.2程序的链接173
6.2.3程序的装入174
6.3连续分配方式176
6.3.1单一连续分配176
6.3.2固定分区分配176
6.3.3可变分区分配178
6.3.4动态可重定位分区分配184
6.4基本分页存储管理方式185
6.4.1基本概念186
6.4.2基本分页管理的地址变换机构187
6.4.3多级页表189
6.4.4页面的共享与保护191
6.4.5基本分页存储管理优缺点192
6.5基本分段存储管理方式193
6.5.1分段存储管理的引入193
6.5.2基本分段管理的地址结构193
6.5.3基本分段管理的地址变换机构194
6.5.4分段共享与保护195
6.5.5基本分段存储管理优缺点196
6.5.6分页和分段的主要区别196
6.6基本段页式存储管理方式196
6.6.1基本原理与地址变换机构196
6.6.2Intel 80386段页式存储管理机制198
习题6200第7章虚拟存储管理203
7.1覆盖与交换技术203
7.1.1覆盖技术203
7.1.2交换技术205
7.2虚拟存储管理206
7.2.1程序局部性原理206
7.2.2虚拟存储器及其特征207
7.3请求分页存储管理方式208
7.3.1请求分页中的硬件支持208
7.3.2请求分页中的软件支持210
7.3.3页面置换算法211
7.3.4页面调度性能215
7.3.5影响缺页率因素 217
7.3.6Belady现象217
7.3.7请求分页存储管理优缺点218
7.4请求分段存储管理方式219
7.4.1基本概念219
7.4.2请求分段存储管理优缺点221
7.5请求段页式存储管理方式222
7.6存储管理方案总结223
7.7Linux存储管理概述223
7.7.1Linux虚拟内存管理223
7.7.2Linux物理内存管理228
7.7.3页面缓存与Swap交换空间231
习题7232第8章I/O设备管理237
8.1I/O设备管理概述237
8.1.1I/O设备的分类237
8.1.2I/O设备的差异性238
8.1.3I/O设备管理的任务和功能239
8.2I/O系统240
8.2.1I/O系统结构240
8.2.2设备控制器242
8.2.3I/O控制方式244
8.3I/O软件252
8.3.1I/O软件的设计目标252
8.3.2I/O软件层次253
8.3.3I/O中断的执行流程257
8.4设备分配与回收259
8.4.1设备管理中的数据结构259
8.4.2设备分配与回收261
8.4.3SPOOLing系统262
8.5缓冲管理264
8.5.1缓冲的引入264
8.5.2单缓冲265
8.5.3双缓冲266
8.5.4循环缓冲267
8.5.5缓冲池269
8.6磁盘存储器管理270
8.6.1磁盘及其访问270
8.6.2磁盘调度算法272
8.6.3磁盘高速缓冲276
8.7I/O控制278
8.7.1I/O控制的引入278
8.7.2I/O控制的功能278
8.7.3I/O控制的实现279
8.8Linux设备管理279
8.8.1Linux设备管理概述279
8.8.2Linux设备管理中的数据结构280
8.8.3Linux的设备文件283
8.8.4Linux的设备驱动程序284
习题8291第9章文件系统296
9.1文件的基本概念296
9.1.1文件的概念296
9.1.2文件属性及其分类297
9.2文件系统298
9.2.1文件系统的概念298
9.2.2文件系统的组成299
9.3文件结构302
9.3.1文件逻辑结构302
9.3.2文件物理结构305
9.4文件目录和目录查询311
9.4.1文件目录的概念311
9.4.2文件目录结构313
9.4.3目录查询技术316
9.5文件存储空间管理318
9.5.1文件存储空间划分318
9.5.2文件存储空间的分配技术318
9.5.3空闲文件存储器空间管理方法319
9.6文件的共享与保护322
9.6.1文件共享322
9.6.2文件保护323
9.7文件系统的可靠性325
9.7.1文件的可靠性325
9.7.2文件的保密性326
9.8Linux文件管理327
9.8.1Linux虚拟文件系统327
9.8.2文件系统的安装与拆卸330
9.8.3Linux常见文件系统调用331
9.9EXT2文件系统334
习题9336参考文献341
前言/序言
实用操作系统教程·第2版/计算机科学与技术专业实践系列教材 电子书 下载 mobi epub pdf txt