操作系统原理与实现(微课版)

国家级课程思政教学名师团队精心打造,操作系统课程新形态精品教材,侧重素质教育,融合国产软件(鸿蒙),立足工程应用,培养拔尖人才,更有丰富教辅资源可以免费下载。
分享 推荐 0 收藏 1 阅读 156
梁洪亮 , 李文生 , 徐梦炜 (作者) 978-7-115-64911-9

关于本书的内容有任何问题,请联系 人邮社 王宣

1.课程思政引领,强化素质教育。
2.结合国产软件,促进理论落地。
3.内容删繁就简,突出重点知识。
4.配套丰富资源,助力院校教学。

特别说明

1.课程思政引领,强化素质教育:本书由国家级课程思政教学名师(北邮李文生)团队精心打造,配套丰富素质教育案例素材。
2.结合国产软件,促进理论落地:本书最后单独设置一篇综合案例,细致讲解国产操作系统(如鸿蒙等)的开发全流程,助力高校培养软件开发领域自主可控拔尖人才。
3.内容删繁就简,突出重点知识:本书合理构建知识体系,删除陈旧理论,新增综合案例,帮助读者轻松理解核心知识。
4.配套丰富资源,助力院校教学:本书编者精心打造了丰富教辅资源与微课视频等,可以立体化助力院校教师顺利开展教学工作。

内容摘要

操作系统的发展日新月异。本书详细讲述了现代操作系统的基本概念、发展历史和关键技术,内容包括导论、进程/线程管理、内存管理、文件系统和输入/输出、系统保护与安全、综合案例(Contiki操作系统和鸿蒙操作系统)等。本书的主要特色是以方便读者理解为核心,既突出重点,又删繁就简,将概念描述和实例讲解相结合,并在每章最后给出习题,以增强读者对理论知识的理解和实践能力。
本书可作为新工科计算机类专业的教材,也可作为信息科技从业人员学习操作系统的参考书。

目录

【章名目录】
第一篇 导论
第1章 概述

第二篇 进程/线程管理
第2章 进程/线程及调度
第3章 同步
第4章 死锁

第三篇 内存管理
第5章 物理内存
第6章 虚拟存储

第四篇 文件系统和输入/输出
第7章 文件系统
第8章 输入/输出系统

第五篇 系统保护与安全
第9章 系统安全接口
第10章 系统内部保护机制

第六篇 综合案例
第11章 Contiki操作系统
第12章 鸿蒙操作系统

【详细目录】
第一篇 导论
第1章 概述
1.1 计算机系统简介 2
1.2 操作系统连接应用程序和硬件 4
1.2.1 操作系统是管理者 4
1.2.2 操作系统是扩展机 5
1.2.3 操作系统是虚拟机 6
1.3 操作系统的组织结构 6
1.3.1 设计目标 7
1.3.2 结构化组织 7
1.3.3 运行时组织结构 8
1.4 操作系统的外部接口 9
1.4.1 硬件接口 9
1.4.2 编程接口 10
1.4.3 用户接口 12
1.5 操作系统的发展历史 15
1.5.1 早期操作系统 15
1.5.2 多道编程系统 15
1.5.3 个人计算机系统 16
1.5.4 实时操作系统 17
1.5.5 分布式操作系统 17
1.5.6 物联网操作系统 18
1.5.7 国产操作系统的发展 19
1.6 习题 21

第二篇 进程/线程管理
第2章 进程/线程及调度
2.1 进程 23
2.1.1 进程概念及地址空间 23
2.1.2 进程状态及其转换 25
2.2 进程的编程接口 27
2.3 进程的隔离 29
2.4 线程 29
2.5 进程间通信 31
2.5.1 信号 31
2.5.2 消息传递 35
2.5.3 共享内存 37
2.6 调度 38
2.6.1 上下文切换和抢占 38
2.6.2 调度策略 39
2.6.3 多处理器和分布式调度 43
2.6.4 实时调度 44
2.7 习题 46

第3章 同步
3.1 互斥和竞争条件 49
3.2 避免竞争条件产生 50
3.3 信号量 54
3.4 管程和条件变量 56
3.4.1 管程 57
3.4.2 条件变量 58
3.4.3 管程设计的两种语义 59
3.4.4 读者和写者问题 60
3.5 哲学家用餐问题 62
3.6 并发程序中的错误及修复 66
3.7 时钟和时间机制 67
3.7.1 本地时钟定时器 68
3.7.2 递减定时器 68
3.8 使用管程实现中断 69
3.9 习题 72

第4章 死锁
4.1 系统模型 73
4.1.1 资源图及其状态转换 73
4.1.2 死锁状态和安全状态 75
4.2 死锁检测 77
4.2.1 资源图的简化 77
4.2.2 死锁检测的特殊情况 78
4.2.3 分布式系统中的死锁检测 79
4.3 死锁避免 81
4.3.1 需求图 81
4.3.2 银行家算法 82
4.3.3 银行家算法的一种实现 84
4.4 死锁预防 85
4.5 死锁恢复 87
4.6 习题 88

第三篇 内存管理
第5章 物理内存
5.1 地址转换 92
5.2 分段内存管理 95
5.3 空闲空间管理 96
5.3.1 使用链表管理可变分区 96
5.3.2 使用位图管理可变分区 99
5.3.3 可变分区的分配策略 100
5.4 为内核动态分配可用空间 100
5.4.1 伙伴内存分配 101
5.4.2 slab分配 102
5.5 分页内存管理 102
5.6 页表 103
5.6.1 线性页表 103
5.6.2 翻译速查表 107
5.7 段页式内存管理 109
5.8 习题 110

第6章 虚拟存储
6.1 虚拟内存和缺页错误 111
6.2 分页性能 113
6.3 管理交换区域 114
6.4 页面共享 115
6.5 内核与地址空间 116
6.6 页面替换 118
6.6.1 页面替换算法 119
6.6.2 局部替换与全局替换 123
6.7 习题 125

第四篇 文件系统和输入/输出
第7章 文件系统
7.1 文件管理的基本功能 127
7.2 文件系统的层次模型 128
7.3 文件的用户视图 130
7.3.1 文件名和文件类型 130
7.3.2 文件的逻辑组织 131
7.3.3 其他文件属性 133
7.3.4 文件操作 133
7.4 文件目录 134
7.4.1 目录的层次组织结构 135
7.4.2 目录操作 138
7.4.3 文件目录的实现 140
7.5 基本文件系统 143
7.5.1 文件描述符 143
7.5.2 打开和关闭文件 145
7.6 文件的物理组织方法 147
7.6.1 连续组织 147
7.6.2 链接组织 148
7.6.3 索引组织 149
7.7 空闲存储空间的管理 151
7.7.1 链接表组织 151
7.7.2 位图组织 151
7.8 习题 151

第8章 输入/输出系统
8.1 设备管理的基本问题 153
8.2 输入/输出系统的层次模型 154
8.2.1 块设备接口 155
8.2.2 流设备接口 156
8.2.3 网络通信接口 157
8.3 输入/输出设备 158
8.3.1 显示器、键盘和定位设备 158
8.3.2 打印机和扫描仪 160
8.3.3 辅助存储设备 161
8.3.4 存储盘的性能特性 164
8.3.5 网络 165
8.4 设备驱动程序 166
8.4.1 设备寻址 167
8.4.2 基于轮询的可编程输入/输出 168
8.4.3 基于中断的可编程输入/输出 170
8.4.4 直接内存访问 173
8.5 缓冲和高速缓存 174
8.5.1 单缓冲区 175
8.5.2 交换缓冲区 176
8.5.3 环形缓冲区 176
8.5.4 缓冲区队列 177
8.5.5 缓冲区高速缓存 177
8.6 磁盘调度 179
8.6.1 先来先服务 180
8.6.2 最短寻道时间优先 181
8.6.3 电梯或者扫描算法 181
8.7 错误处理与数据备份 182
8.7.1 坏块的检测和处理 182
8.7.2 稳定存储 183
8.7.3 独立磁盘冗余阵列 184
8.7.4 设备共享 185
8.8 习题 186

第五篇 系统保护与安全
第9章 系统安全接口
9.1 安全威胁 189
9.1.1 威胁类型 189
9.1.2 攻击方式 190
9.2 安全保护措施 196
9.2.1 外部安全措施 197
9.2.2 用户标识鉴别 197
9.2.3 通信安全措施 198
9.2.4 威胁监视 198
9.3 用户鉴别 198
9.3.1 鉴别方法 198
9.3.2 口令保护 199
9.4 安全通信 202 
9.4.1 加密原理 202
9.4.2 密钥加密系统 203
9.4.3 公钥加密系统 207
9.5 习题 210

第10章 系统内部保护机制
10.1 访问控制 212
10.2 指令级访问控制 212
10.2.1 寄存器保护 213
10.2.2 内存保护 214
10.3 高层访问控制 218
10.3.1 访问矩阵模型 218
10.3.2 访问列表和权能列表 219
10.3.3 实例:客户端/服务器保护 225
10.4 信息流控制 226
10.4.1 禁闭问题 226
10.4.2 层次化的信息流 228
10.4.3 选择禁闭问题 229
10.5 习题 231

第六篇 综合案例
第11章 Contiki操作系统
11.1 系统概述 235
11.2 内核架构 237
11.2.1 两层调度策略 237
11.2.2 可加载程序 237
11.2.3 电量节省 238
11.3 服务 238
11.4 运行时库 239
11.5 通信支持 239
11.6 抢占式多线程 240
11.7 无线编程 240
11.8 代码大小和可移植性 241
11.9 从Contiki到Contiki-NG 241
11.10 Contiki-NG架构特点 242
11.11 Contiki-NG网络支持 243
11.12 Contiki-NG应用示例 244
11.13 习题 246

第12章 鸿蒙操作系统
12.1 设计目标与实现特色 247
12.1.1 设计目标 247
12.1.2 实现特色 248
12.2 系统架构及实现 249
12.2.1 系统架构 249
12.2.2 内核层 249
12.2.3 系统服务层 256
12.2.4 框架层 257
12.2.5 应用层 258
12.3 HarmonyOS生态 258
12.4 应用程序开发框架 259
12.5 开源社区 259
12.6 习题 260
参考文献 261

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

梁洪亮:
北京邮电大学副教授,博士生导师,主要从事智能系统与可信软件方面的研究,主持国家自然科学基金、科技部重点研发项目及其他省部委项目20余项,获北京市科技进步奖一项;主编过《科技史与方法论》(2016年)等教材;主讲操作系统、计算机导论与程序设计、科技史与方法论等本科生核心课程,教学经验颇丰。

李文生:
北京邮电大学副教授,主讲“操作系统”课程,曾获国家级教学成果奖二等奖、北京市教学成果奖一等奖,获评北京市师德先进个人;2021年5月获评教育部课程思政教学名师,作为北邮“操作系统”课程思政建设负责人,通过设计课程思政教学方案与教学案例,率先开展专业课程的思政教学研究,教学效果良好。

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部