新書推薦:

《
亚伯拉罕的行李:中世纪印度洋世界的饮食、日用与旅行技艺
》
售價:NT$
602.0

《
中国历代文论要略(全三册)
》
售價:NT$
714.0

《
英歌36( 国家级非遗“英歌舞” 潮阳英歌文化)
》
售價:NT$
347.0

《
汪诘经典著作 时间的形状 相对论史话
》
售價:NT$
398.0

《
世界名校升学规划:让你脱颖而出的9种学习力
》
售價:NT$
356.0

《
大学问·华北村治:权力、话语和制度变迁(1875—1936)
》
售價:NT$
454.0

《
芬尼根的守灵夜 全译注释本
》
售價:NT$
2540.0

《
中国国家地理杂志(2024年1-12月整年十二期)
》
售價:NT$
1880.0
|
內容簡介: |
操作系统课程是计算机、软件及相关专业的核心课程和必修课程,是计算机文化基础知识的重要组成部分。本书理论与实践案例并重,全面、系统地阐述了操作系统的重要概念和原理,深入、细致地剖析了操作系统的组成结构和运行机制,给出了相关概念、原理在Linux操作系统中的实现方法,提供了大量鲜活的应用实例,详细说明了Linux实验环境搭建方法,给出了完整可用的Linux C源程序及编译和运行方法,方便读者无障碍实验学习和再创造,为培养具有扎实的专业理论知识和较强实践能力的高级工程技术人才提供可理解、可实践的内容和素材。对Linux内核进行了深入分析,给出了其系统模型。全书共分8章,内容包括:操作系统概论,处理器管理,并发进程的同步、互斥与死锁,存储管理,设备管理,文件管理,操作系统安全,多处理机与多计算机操作系统,涵盖了操作系统的经典、核心内容及扩展内容。 本书结构完整,逻辑清晰,言简意赅,理论和实践、Linux内核分析相呼应,理解和应用交替穿插,有效克服了学习的单调性,有助于活跃学生思维,激发学生的学习兴趣。 本书可作为计算机及软件类本科、专科专业课程教材或参考书,也可作为对工程实践能力有着更高要求的面向卓越工程师培养的同样专业的课程教材或参考书,也可供计算机及软件行业工程技术人员、内核分析与开发人员及研究生阅读和参考。
|
關於作者: |
申丰山,是课程思政教育教学改革示范课程《操作系统》(2024ZZUKCSZ096)课程负责人。出版《操作系统原理与Linux实践教程》《Linux应用实例教程》等书。
|
目錄:
|
第1章 操作系统概论1
1.1 操作系统的资源管理功能和目标1
1.1.1 操作系统的定义1
1.1.2 操作系统在计算机系统中的位置2
1.1.3 操作系统的资源管理技术2
1.1.4 操作系统运行程序的服务4
实验1 Linux操作系统实验环境搭建5
1.1.5 操作系统的目标10
1.2 操作系统的功能10
1.3 操作系统的主要特性11
1.3.1 并发性11
1.3.2 共享性12
1.3.3 异步性13
1.3.4 虚拟性13
1.4 操作系统的发展和分类13
1.4.1 操作系统的发展13
1.4.2 操作系统的分类15
1.5 操作系统的用户接口18
1.5.1 程序接口18
实验2 Linux程序接口实验20
1.5.2 操作接口21
实验3 Linux操作接口实验23
1.6 操作系统的结构设计26
1.6.1 操作系统的主要构件26
1.6.2 操作系统的结构27
1.6.3 操作系统运行模型29
习题130
第2章 处理器管理32
2.1 处理器32
2.1.1 寄存器32
2.1.2 指令系统、特权指令与非特权指令33
2.1.3 处理器工作模式(状态)及切换33
2.1.4 程序状态字寄存器34
2.2 中断35
2.2.1 中断概念35
2.2.2 中断源分类35
2.2.3 中断处理37
2.2.4 中断与操作系统的关系38
2.3 进程及其实现39
2.3.1 引入进程概念的必要性39
2.3.2 进程定义和属性39
2.3.3 进程状态与切换40
2.3.4 进程描述42
2.3.5 进程切换47
2.3.6 模式切换49
2.3.7 进程控制与管理50
实验4 Linux进程控制实验52
2.4 线程及其实现53
2.4.1 多线程的引入53
2.4.2 多线程环境中的进程与线程54
2.4.3 多线程的实现方法56
实验5 结果不唯一的多线程并发运行实例58
实验6 多线程共享资源并发访问控制59
2.5 处理器调度系统62
2.6 处理器调度算法67
2.6.1 低级调度的功能和类型67
2.6.2 作业调度和低级调度算法68
2.7 Intel x86中断机构75
2.7.1 中断向量及中断分类75
2.7.2 中断75
2.7.3 异常75
2.7.4 硬件中断机构76
2.7.5 中断描述符表76
2.7.6 中断和异常响应过程76
2.7.7 中断/异常返回过程77
2.7.8 中断嵌套77
2.7.9 硬件级的进程上下文切换机制78
2.8 Linux中断管理78
2.8.1 Linux中的中断向量及用途分配78
2.8.2 Linux中断描述符表的初始化78
2.8.3 注册中断79
2.8.4 Linux中断向量的数据结构79
2.8.5 Linux内核栈的设置80
2.8.6 Linux中断处理程序执行过程80
2.8.7 Linux中断/异常处理返回81
2.8.8 异常处理81
2.8.9 I/O中断与时钟中断处理81
2.9 Linux进程管理82
2.9.1 Linux进程结构82
2.9.2 Linux进程组织84
2.9.3 Linux进程控制85
2.9.4 Linux进程调度88
2.9.5 抢占内核与非抢占内核90
2.9.6 内核同步91
2.9.7 Linux线程管理91
习题291
第3章 并发进程的同步、互斥与死锁95
3.1 并发进程95
3.1.1 程序执行的顺序性95
3.1.2 程序执行的并发性96
3.1.3 与并发执行时间有关的错误99
3.1.4 进程间的关系100
3.2 临界区管理102
3.2.1 临界区调度原则102
3.2.2 实现临界区管理的几种错误算法103
3.2.3 实现临界区管理的Peterson算法104
3.2.4 实现临界区管理的硬件设施105
3.3 同步107
3.3.1 同步与同步机制107
3.3.2 信号量与PV操作108
3.3.3 利用信号量实现互斥110
3.3.4 利用信号量实现进程同步111
3.3.5 Linux系统中的同步互斥功能120
实验7 使用信号量解决生产者 消费者
问题120
3.4 管程123
3.4.1 管程的概念123
3.4.2 管程的实现126
3.4.3 管程的应用129
3.5 进程通信132
3.5.1 管道通信机制133
实验8 Linux管道通信133
3.5.2 共享内存通信机制137
实验9 Linux共享内存通信137
3.5.3 消息传递通信机制141
实验10 Linux消息传递通信144
3.5.4 套接字通信机制146
实验11 Linux套接字通信146
3.5.5 信号通信机制148
3.6 死锁151
3.6.1 死锁的概念和产生的必要条件151
3.6.2 死锁防止152
3.6.3 死锁避免154
3.6.4 死锁检测与解除159
3.7 Linux内核中的同步和互斥机制162
3.8 Linux通信机制163
3.8.1 Linux管道164
3.8.2 Linux共享内存166
3.8.3 Linux消息队列166
3.8.4 Linux信号量168
3.8.5 Linux套接字168
习题3169
第4章 存储管理172
4.1 存储器层次172
4.2 地址重定位、存储保护和存储共享173
4.3 连续存储管理175
4.3.1 固定分区存储管理175
4.3.2 可变分区存储管理176
4.3.3 伙伴系统178
4.3.4 内存不足的辅助存储管理技术179
4.4 分页存储管理180
4.4.1 分页存储管理方案180
4.4.2 快表181
4.4.3 分页存储空间的分配和释放182
4.4.4 分页存储空间页面共享与保护183
4.4.5 多级页表184
4.4.6 反置页表185
4.5 分段存储管理185
4.6 虚拟存储管理187
4.6.1 虚拟存储器原理187
4.6.2 请求分页式虚拟存储管理188
4.7 Intel x86存储机构197
4.7.1 Intel x86段机制198
4.7.2 Intel x86分页机制201
4.7.3 Intel x86快表机制203
4.8 Linux存储管理203
4.8.1 虚拟地址空间布局(虚拟地址空间
的划分)203
4.8.2 进程映像的逻辑结构204
4.8.3 进程虚拟地址空间的组织结构205
4.8.4 Linux分页机制208
4.8.5 存储空间管理单元与组织208
4.8.6 Linux内核空间布局及其映射机制209
习题4211
第5章 设备管理213
5.1 I/O硬件系统213
5.1.1 I/O设备213
5.1.2 I/O控制方式215
5.2 I/O软件系统219
5.2.1 I/O软件设计目标219
5.2.2 设备中断处理程序219
5.2.3 设备驱动程序220
5.2.4 设备无关I/O软件223
5.2.5 用户空间的I/O软件226
5.3 磁盘管理227
5.3.1 磁盘结构227
5.3.2 磁盘调度算法229
5.4 虚拟设备231
5.4.1 虚拟设备原理231
5.4.2 SPOOLing系统结构235
5.5 Linux设备管理236
5.5.1 设备硬件管理接口236
5.5.2 Linux设备分类与I/O软件层次236
5.5.3 字符设备驱动的内核数据和服务
接口238
5.5.4 字符设备驱动程序的开发、安装
和使用240
5.5.5 块设备驱动相关的软件层次架构242
5.5.6 块设备驱动的内核数据和服务
接口242
5.5.7 块设备驱动程序的开发、安装
和使用245
5.5.8 Linux设备缓冲管理246
习题5249
第6章 文件管理251
6.1 文件251
6.1.1 文件的概念251
6.1.2 文件的类型和属性252
6.1.3 文件存取方法253
6.1.4 文件操作255
实验12 Linux文件操作256
6.2 目录258
6.2.1 目录项信息和结构258
6.2.2 目录层次260
6.2.3 目录操作261
6.3 文件结构261
6.3.1 文件的逻辑结构261
6.3.2 文件的物理结构261
6.4 文件系统功能及实现262
6.4.1 磁盘信息分区262
6.4.2 文件操作系统调用功能实现263
6.4.3 文件共享266
6.5 文件空间管理269
6.5.1 文件空间分配方法269
6.5.2 文件外存空间管理273
6.6 内存映射文件276
实验13 Linux内存映射文件278
6.7 虚拟文件系统280
6.8 Linux虚拟文件系统(VFS)283
6.8.1 VFS框架结构283
6.8.2 文件系统操作及数据结构283
6.8.3 文件、目录操作及数据结构287
6.9 Linux Ext2文件系统293
6.9.1 Ext2文件系统结构294
6.9.2 文件系统操作297
6.9.3 文件及目录操作298
习题6301
第7章 操作系统安全303
7.1 操作系统安全的概念303
7.1.1 信息安全及威胁303
7.1.2 信息保护304
7.2 信息安全保护机制306
习题7309
第8章 多处理机与多计算机操作系统310
8.1 多处理机操作系统310
8.2 多计算机操作系统311
习题8313
|
|