暂无评论
图文详情
- ISBN:9787560657226
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:26cm
- 页数:388页
- 出版时间:2020-08-01
- 条形码:9787560657226 ; 978-7-5606-5722-6
内容简介
本书针对计算机操作系统的基本原理进行了较为全面的的介绍。在详细介绍了操作系统发展历史的基础上, 系统地阐述了传统操作系统五大基本功能的实现原理、所需的结构和主要涉及的技术, 具体包括用户接口、进程与处理器管理、内存管理、I/O系统管理和文件系统等内容。
目录
**篇 操作系统基本原理
第 1 章 绪论 ……………………………………2
1.1 操作系统的定义 …………………………2
1.2 操作系统的功能 …………………………4
1.2.1 处理器管理 ………………………4
1.2.2 存储器管理 ………………………5
1.2.3 设备管理 …………………………6
1.2.4 文件管理 …………………………7
1.2.5 用户接口 …………………………8
1.3 操作系统的发展历史 …………………10
1.3.1 无操作系统阶段 ………………11
1.3.2 监督程序阶段 …………………13
1.3.3 多道程序系统 …………………14
1.3.4 快速发展阶段 …………………15
1.4 Linux系统简介 ………………………19
1.4.1 Linux发展历史 ………………19
1.4.2 Linux内核版本 ………………22
1.4.3 Linux内核构架 ………………22
1.4.4 Linux内核开发的特点 ………24
1.4.5 Linux内核中GNU C和
标准C的区别 …………………25
1.4.6 Linux内核中常用的数据结构
和算法 …………………………29
小结 …………………………………………36
习题 …………………………………………37
第 2 章 操作系统的结构 ……………………38
2.1 操作系统接口 …………………………39
2.1.1 命令接口基本概念 ……………39
2.1.2 Linux的命令接口 ……………39
2.2 系统调用 ………………………………41
2.2.1 系统调用的基本原理 …………41
2.2.2 系统调用与API的关系 ………43
2.2.3 系统调用的工作过程 …………43
2.3 操作系统结构 …………………………44
2.3.1 整体式结构 ……………………44
2.3.2 层次式结构 ……………………44
2.3.3 微内核 …………………………45
2.3.4 模块化结构 ……………………46
2.4 虚拟机 …………………………………47
2.4.1 虚拟机的实现原理 ……………47
2.4.2 虚拟机的主要实例 ……………49
2.5 Linux 系统调用 ………………………50
2.5.1 Linux系统调用的原理 ………50
2.5.2 Linux上的系统调用实现过程 …51
2.5.3 系统调用的实例分析 …………53
2.5.4 一个简单的系统调用的实现 …54
2.6 Linux模块的实现机制及其管理 ……55
小结 …………………………………………57
习题 …………………………………………57
第 3 章 进程与线程 …………………………58
3.1 进程基础 ………………………………58
3.1.1 程序的顺序执行和并发执行 …58
3.1.2 进程的定义与特征 ……………59
3.1.3 进程的状态及其转换 …………61
3.2 进程控制 ………………………………63
3.2.1 进程的执行模式 ………………63
3.2.2 进程切换 ………………………63
3.2.3 进程的创建与终止 ……………64
3.3 线程 ……………………………………68
3.3.1 线程的引入 ……………………68
3.3.2 线程与进程的比较 ……………69
3.3.3 用户级线程与内核级线程 ……70
3.3.4 线程库 …………………………71
3.4 进程与线程比较举例 …………………75
3.5 与进程或线程相关的其他技术 ………77
3.5.1 写时复制 ………………………77
3.5.2 线程池 …………………………79
3.5.3 进程间的远程通信 ……………79
3.6 Linux系统中的进程与线程 …………86
3.6.1 Linux进程简介 ………………86
3.6.2 进程状态及转换 ………………86
3.6.3 Linux进程控制 ………………89
3.6.4 Linux中的线程 ………………93
小结 …………………………………………97
习题 …………………………………………98
第 4 章 进程同步 ……………………………99
4.1 进程的互斥 ……………………………99
4.1.1 临界资源和临界区 ……………99
4.1.2 使用硬件实现互斥 ……………101
4.1.3 信号量实现互斥 ………………103
4.2 进程的同步 ……………………………106
4.2.1 信号量与同步 …………………106
4.2.2 生产者/消费者问题 …………108
4.2.3 读者/写者问题 ………………109
4.2.4 信号量机制的其他应用 ………110
4.3 进程之间的通信 ………………………113
4.3.1 共享内存方式 …………………113
4.3.2 管道通信 ………………………114
4.3.3 消息传递通信 …………………116
4.4 管程 ……………………………………119
4.4.1 管程的概念 ……………………119
4.4.2 使用管程解决生产者-消费
者问题 …………………………122
4.5 Linux内核同步机制 …………………123
4.5.1 原子操作 ………………………124
4.5.2 per-CPU变量 …………………125
4.5.3 自旋锁 …………………………125
4.5.4 读写自旋锁 ……………………127
4.5.5 信号量 …………………………128
4.5.6 互斥体 …………………………130
4.5.7 顺序锁 …………………………130
4.5.8 内存屏障 ………………………132
小结 …………………………………………133
习题 …………………………………………135
第 5 章 死锁 …………………………………137
5.1 死锁的原理 ……………………………137
5.1.1 资源分配图 ……………………137
5.1.2 死锁的条件 ……………………138
5.2 死锁的处理方法 ………………………139
5.2.1 死锁的预防 ……………………139
5.2.2 死锁的避免 ……………………141
5.2.3 死锁的检测 ……………………145
5.3 死锁的解除 ……………………………146
5.4 经典死锁问题——哲学家进餐问题 …147
5.5 Linux操作系统中的死锁解决方案 …149
5.5.1 D状态死锁 ……………………149
5.5.2 R状态死锁 ……………………150
小结 …………………………………………151
习题 …………………………………………152
第 6 章 处理器调度 …………………………154
6.1 处理器调度算法的目标 ………………154
6.2 分级调度 ………………………………155
6.2.1 长程调度 ………………………155
6.2.2 中程调度 ………………………155
6.2.3 短程调度 ………………………156
6.3 常用的调度算法 ………………………156
6.3.1 先来先服务调度算法 …………156
6.3.2 优先级调度算法 ………………157
6.3.3 *短作业优先调度算法 ………158
6.3.4 *高响应比优先调度算法 ……160
6.3.5 轮转调度算法 …………………161
6.3.6 多级反馈轮转调度算法 ………162
6.3.7 实时系统的调度算法 …………162
6.4 多处理器调度 …………………………165
6.4.1 多处理器调度原理 ……………165
6.4.2 处理器亲和性 …………………166
6.4.3 负载均衡 ………………………166
6.5 Linux系统的进程调度 ………………167
6.5.1 Linux调度器的简史 …………167
6.5.2 Linux进程调度的优先级表示 …168
6.5.3 Linux内核调度策略 …………169
6.5.4 CFS调度算法 …………………171
6.5.5 实时调度策略 …………………173
小结 …………………………………………173
习题 …………………………………………174
第 7 章 内存管理 ……………………………177
7.1 内存相关基本概念 ……………………177
7.1.1 什么是内存 ……………………177
7.1.2 指令运行的原理 ………………177
7.1.3 地址重定位 ……………………178
7.1.4 程序链接 ………………………179
7.2 内存的覆盖与交换 ……………………180
7.2.1 内存覆盖 ………………………180
7.2.2 内存交换 ………………………181
7.3 内存空间连续分配方案 ………………182
7.3.1 单一连续分配 …………………182
7.3.2 固定分区分配 …………………182
7.3.3 动态分区分配 …………………184
7.4 分页存储管理 …………………………187
7.4.1 分页存储管理的基本思想 ……187
7.4.2 地址变换机构 …………………189
7.4.3 两级或多级页表 ………………191
7.4.4 页的共享 ………………………192
7.5 段式存储管理 …………………………193
7.5.1 段式存储管理的基本思想 ……193
7.5.2 段式存储管理的地址转换 ……193
7.5.3 段的共享 ………………………194
7.6 段页式存储管理 ………………………196
7.7 存储保护的实现 ………………………197
7.8 虚拟存储技术 …………………………198
7.8.1 请求分页存储管理 ……………199
7.8.2 页面置换算法 …………………201
7.8.3 页面缓冲算法 …………………205
7.8.4 页帧分配算法 …………………205
7.8.5 页帧分配策略 …………………206
7.9 Linux系统内存管理 …………………208
7.9.1 Linux进程地址空间 …………208
7.9.2 物理内存管理 …………………210
7.9.3 Linux内核高端内存 …………213
7.9.4 进程用户空间管理 ……………215
小结 …………………………………………227
习题 …………………………………………228
第 8 章 文件系统 ……………………………230
8.1 文件和文件系统 ………………………230
8.1.1 文件 ……………………………230
8.1.2 文件系统层次结构 ……………231
8.2 文件的逻辑结构 ………………………233
8.2.1 堆结构文件 ……………………233
8.2.2 顺序结构文件 …………………234
8.2.3 散列结构文件 …………………234
8.2.4 文件的读写方式 ………………236
8.3 文件的物理结构与组织 ………………238
8.3.1 磁盘的成组与分解 …………238
8.3.2 连续文件 ………………………239
8.3.3 链接文件 ………………………240
8.3.4 索引文件 ………………………241
8.4 目录管理 ………………………………243
8.4.1 文件控制块 ……………………243
8.4.2 文件目录 ………………………243
8.4.3 目录结构 ………………………244
8.5 空闲空间的管理 ………………………246
8.5.1 位示图 ………………………246
8.5.2 空闲块列表 ……………………247
8.5.3 空闲链表法 ……………………247
8.6 文件的存取控制 ………………………249
8.6.1 文件共享 ………………………249
8.6.2 文件保护 ………………………251
8.7 文件系统的其他功能 …………………253
8.7.1 文件系统调用的实现 …………253
8.7.2 虚拟文件系统 …………………255
8.8 Linux文件系统 ………………………255
8.8.1 Linux支持的常见文件系统 …256
8.8.2 VFS中的数据结构 …………256
8.8.3 文件系统相关的数据结构 ……265
8.8.4 和进程相关的数据结构 ………267
小结 …………………………………………269
习题 …………………………………………270
第 9 章 I/O系统 ………………………………271
9.1 I/O系统概述 …………………………271
9.2 I/O设备与控制器 ……………………272
9.2.1 I/O设备的分类 ………………272
9.2.2 设备控制器的结构 ……………273
9.2.3 设备控制器的I/O端口 ………273
9.2.4 设备控制器的基本功能 ………274
9.3 设备数据传输控制方法 ………………275
9.3.1 轮询方式 ………………………275
9.3.2 中断控制方式 …………………276
9.3.3 DMA方式 ……………………277
9.3.4 通道方式 ………………………278
9.4 缓冲技术 ………………………………279
9.4.1 缓冲区的引入 …………………279
9.4.2 缓冲区的分类 …………………280
9.4.3 缓冲技术的种类 ………………281
9.4.4 虚拟设备的实现 ………………283
9.5 设备的分配 ……………………………284
9.5.1 设备分配的原则 ………………284
9.5.2 设备分配相关的技术 …………285
9.5.3 设备分配相关的数据结构 ……286
9.6 I/O相关软件 …………………………287
9.6.1 I/O软件的基本概念 …………287
9.6.2 中断服务程序 …………………288
9.6.3 设备驱动程序 …………………290
9.6.4 设备独立性软件 ………………290
9.6.5 用户层I/O软件 ………………291
9.7 Linux系统I/O相关技术 ……………291
9.7.1 Linux系统设备及驱动
程序简介 ……………………291
9.7.2 Linux系统支持的I/O数据
传输方式 ………………………295
9.7.3 I/O 相关重要数据结构 ………296
9.7.4 Linux系统中断处理机制 ……300
小结 …………………………………………307
习题 …………………………………………308
第 10 章 大容量存储器 ………………………309
10.1 大容量存储器简介 …………………309
10.1.1 硬盘 …………………………309
10.1.2 光盘 …………………………311
10.1.3 磁带 …………………………312
10.2 磁盘基础知识 ………………………313
10.2.1 磁盘结构 ……………………313
10.2.2 磁盘工作原理 ………………314
10.2.3 磁盘读写原理 ………………315
10.3 磁盘调度 ……………………………316
10.3.1 FCFS调度算法 ………………317
10.3.2 SSTF调度算法 ………………317
10.3.3 SCAN调度算法 ……………318
10.3.4 C-SCAN 调度算法 …………319
10.3.5 LOOK 调度算法 ……………320
10.3.6 磁盘调度算法的选择 ………320
10.4 磁盘初始化 …………………………321
10.5 初始引导 ……………………………321
10.5.1 引导相关概念 ………………321
10.5.2 初始引导过程 ………………323
10.6 网络存储技术 ………………………325
10.6.1 直接连接存储 ………………325
10.6.2 网络附加存储 ………………326
10.6.3 存储区域网络 ………………327
10.6.4 新的网络存储技术IP-SAN …327
10.6.5 云存储 ………………………328
10.7 Linux磁盘调度算法 …………………329
10.7.1 NOOP调度算法 ……………329
10.7.2 CFQ调度算法 ………………330
10.7.3 DEADLINE调度算法 ………330
10.7.4 ANTICIPATORY调度算法 …331
小结 …………………………………………331
习题 …………………………………………332
第11章 系统安全 ……………………………334
11.1 系统安全的定义 ……………………334
11.1.1 安全需求 ……………………334
11.1.2 安全层次 ……………………336
11.1.3 安全问题 ……………………337
11.2 系统威胁的分类 ……………………339
11.2.1 系统漏洞 ……………………339
11.2.2 恶意代码 ……………………340
11.2.3 端口扫描威胁 ………………343
11.3 系统安全防御 ………………………343
11.3.1 密码术 ………………………343
11.3.2 用户验证 ……………………347
11.3.3 安全策略 ……………………348
11.3.4 入侵检测 ……………………349
11.3.5 病毒防护 ……………………351
11.3.6 审计、会计和日志 …………351
11.3.7 防火墙 ………………………352
11.4 Linux安全基础 ………………………354
11.4.1 Linux 安全模块 ………………354
11.4.2 Linux权限系统 ………………355
小结 …………………………………………358
习题 …………………………………………358
第二篇 国产操作系统实例
第12章 EulerOS 操作系统 …………………360
12.1 EulerOS系统概述 …………………360
12.1.1 EulerOS系统的特点 …………360
12.1.2 系统架构 ……………………362
12.1.3 典型应用场景 ………………362
12.2 EulerOS系统的相关术语 …………364
12.2.1 虚拟机和容器 ………………364
12.2.2 STaaS解决方案 ……………365
12.3 EulerOS系统的架构支持 …………366
12.4 EulerOS系统的主要软件支持 ……368
12.4.1 虚拟化平台 …………………368
12.4.2 数据库服务 …………………369
12.4.3 分布式服务 …………………370
12.4.4 其他软件 ……………………370
12.5 EulerOS系统功能特性 ……………371
12.5.1 系统管理 ……………………371
12.5.2 网络 …………………………374
12.5.3 内存管理 ……………………375
12.5.4 处理器调度 …………………375
12.5.5 调测运维 ……………………376
12.5.6 性能/开关说明 ………………377
12.6 容器的介绍 …………………………378
12.6.1 iSula自研容器 ………………378
12.6.2 容器存储Elara ………………379
12.6.3 云核IVS场景 ………………381
12.7 安全的管理 …………………………382
附录A EulerOS系统部分接口 ……………384
附录B Linux常用命令 ………………………385
附录C 操作系统实验指导书 …………………386
参考文献…………………………………………388
展开全部
本类五星书
浏览历史
本类畅销
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0 -
PREMIERE PRO 2023全面精通:视频剪辑+颜色调整+转场特效+字幕制作+案例实战
¥69.3¥99.0