返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:

  • 正版 自研操作系统:DIM-SUM设计与实现 谢宝友 电子工业出版社 9
  • 新华书店旗下自营,正版全新
    • 作者: 谢宝友著 | 谢宝友编 | 谢宝友译 | 谢宝友绘
    • 出版社: 电子工业出版社
    • 出版时间:2019-04-01
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    美阅书店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品参数
    • 作者: 谢宝友著| 谢宝友编| 谢宝友译| 谢宝友绘
    • 出版社:电子工业出版社
    • 出版时间:2019-04-01
    • 版次:null
    • 印次:1
    • 字数:747840
    • 页数:456
    • 开本:26开
    • ISBN:9787121391866
    • 版权提供:电子工业出版社
    • 作者:谢宝友
    • 著:谢宝友
    • 装帧:平装
    • 印次:1
    • 定价:129.00
    • ISBN:9787121391866
    • 出版社:电子工业出版社
    • 开本:26开
    • 印刷时间:暂无
    • 语种:中文
    • 出版时间:2019-04-01
    • 页数:456
    • 外部编号:9847565
    • 版次:null
    • 成品尺寸:暂无

    章 准备工作 1

    1.1 DIM-SUM简介 1

    1.2 DIM-SUM是什么 1

    1.2.1 DIM-SUM的个版本为什么是HOT-POT 1

    1.2.2 DIM-SUM欢迎什么 2

    1.2.3 DIM-SUM不欢迎什么 3

    1.3 获得源代码 3

    1.3.1 通过网页下载源代码 3

    1.3.2 通过Git获取源代码 3

    1.4 搭建调试开发环境 4

    1.4.1 安装ubuntu 16.04 4

    1.4.2 ubuntu 16.04环境配置 5

    1.4.3 搭建编译环境 6

    1.4.4 编译HOT-POT 7

    1.4.5 运行HOT-POT 8

    1.4.6 开始调试 10

    1.5 向DIM-SUM操作系统提交补丁 11

    1.5.1 心态 11

    1.5.2 准备工作 11

    1.5.3 制作补丁 13

    1.5.4 制作正确的补丁 14

    1.5.5 发送补丁 16

    1.6 获得帮助 17

    1.7 提醒 17

    第2章 算法基础 18

    2.1 链表 18

    2.2 散列表 19

    2.3 红黑树 20

    2.4 基树 22

    第3章 计数与互斥同步 23

    3.1 计数 23

    3.1.1 计数的难题 24

    3.1.2 精确计数器 24

    3.1.3 近似计数器 27

    3.1.4 引用计数 31

    3.2 内核互斥原语 32

    3.2.1 每CPU变量 32

    3.2.2 自旋锁 38

    3.2.3 自旋位锁 42

    3.2.4 自旋顺序锁 44

    3.2.5 自旋读/写锁 47

    3.2.6 读/写信号量 50

    3.2.7 互斥锁 56

    3.3 内核同步原语 60

    3.3.1 信号量的设计原理 60

    3.3.2 信号量的数据结构 61

    3.3. 3 信号量API 61

    3.3.4 信号量的实现 62

    第4章 调度 65

    4.1 基本概念 65

    4.1.1 进程和线程 65

    4.1.2 任务 66

    4.1.3 任务抢占 66

    4.1.4 idle线程 66

    4.2 SMP CPU初始化 66

    4.3 数据结构 71

    4.3.1 线程 71

    4.3.2 调度队列 76

    4.3.3 杂项 77

    4.4 调度子系统初始化 77

    4.4.1 init_sched_early函数 78

    4.4.2 init_idle_process函数 78

    4.4.3 init_sched函数 79

    4.5 线程调度 79

    4.5.1 上下文切换 79

    4.5.2 唤醒线程 82

    4.6 不错调度API 85

    4.6.1 等待队列 85

    4.6.2 位等待队列 89

    4.6.3 线程睡眠 93

    4.6.4 消息队列 96

    第5章 中断及定时器 108

    5.1 中断控制器初始化 108

    5.1.1 主CPU中断控制器初始化 109

    5.1.2 从CPU中断控制器初始化 110

    5.2 中断控制器维护 110

    5.2.1 中断号映射 110

    5.2.2 逻辑中断的控制 113

    5.2.3 设备中断处理函数 116

    5.3 中断处理 119

    5.3.1 序言 119

    5.3.2 中断处理通用流程 120

    5.3.3 处理外部设备中断 122

    5.3.4 处理核间中断 126

    5.3.5 软中断 126

    5.3.6 尾声 126

    5.4 工作队列 128

    5.4.1 工作队列的数据结构 128

    5.4.2 工作队列的全局变量 130

    5.4.3 工作队列的API 130

    5.4.4 工作队列的实现 131

    5.5 定时器与时间管理 139

    5.5.1 初始化 139

    5.5.2 定时器的数据结构 139

    5.5.3 定时器的全局变量 141

    5.5.4 定时器的API 141

    5.5.5 定时器的实现 141

    5.5.6 定时器中断处理 144

    5.5.7 时间管理 148

    第6章 内存管理 151

    6.1 内存初始化 151

    6.1.1 艰难地准备C运行环境 151

    6.1.2 准备BOOT内存空间 152

    6.1.3 物理内存块管理 152

    6.1.4 早期设备内存映射 153

    6.1.5 初始化每CPU变量 157

    6.1.6 初始化线性映射 157

    6.1.7 其他内存初始化工作 160

    6.2 BOOT内存分配器 160

    6.2.1 BOOT内存分配API 161

    6.2.2 BOOT内存分配器的实现 161

    6.2.3 BOOT内存分配器的销毁 163

    6.3 页面编号 163

    6.3.1 页面编号的数据结构 164

    6.3.2 页面编号的全局变量 165

    6.3.3 页面编号的API 165

    6.3.4 页面编号的实现 165

    6.4 页面分配器 168

    6.4.1 页面分配器的设计原理 168

    6.4.2 页面分配器的数据结构 169

    6.4.3 页面分配器的全局变量 174

    6.4.4 页面分配器的API 175

    6.4.5 页面分配器的实现 176

    6.4.6 页面分配器的初始化 192

    6.5 Beehive内存分配器 193

    6.5.1 Beehive内存分配器的设计原理 193

    6.5.2 Beehive内存分配器的数据结构 195

    6.5.3 Beehive内存分配器的全局变量 197

    6.5.4 Beehive内存分配器的API 199

    6.5.5 Beehive内存分配器的实现 199

    6.5.6 Beehive内存分配器的初始化 214

    6.6 I/O内存映射 216

    第7章 块设备 219

    7.1 磁盘及其分区 220

    7.1.1 磁盘及其分区的数据结构 220

    7.1.2 磁盘及其分区的全局变量 222

    7.1.3 磁盘及其分区的API 222

    7.1.4 磁盘及其分区的实现 222

    7.2 块设备维护 228

    7.2.1 块设备的数据结构 228

    7.2.2 块设备的全局变量 230

    7.2.3 块设备的API 231

    7.2.4 块设备的实现 231

    7.3 I/O请求 242

    7.3.1 I/O请求的数据结构 243

    7.3.2 I/O请求的全局变量 250

    7.3.3 I/O请求的API 250

    7.3.4 I/O请求的实现 251

    7.4 I/O调度 265

    7.4.1 I/O调度的数据结构 265

    7.4.2 I/O调度的全局变量 267

    7.4.3 I/O调度的API 267

    7.4.4 I/O调度的实现 268

    第8章 虚拟文件系统 271

    8.1 挂载、卸载文件系统 271

    8.1.1 挂载、卸载文件系统的数据结构 272

    8.1.2 挂载、卸载文件系统的全局变量 277

    8.1.3 挂载、卸载文件系统的API 278

    8.1.4 挂载、卸载文件系统的实现 278

    8.2 文件节点缓存 285

    8.2.1 文件节点缓存的数据结构 286

    8.2.2 文件节点缓存的全局变量 288

    8.2.3 文件节点缓存的API 289

    8.2.4 文件节点缓存的实现 290

    8.3 打开、关闭文件 304

    8.3.1 打开、关闭文件的数据结构 305

    8.3.2 打开、关闭文件的全局变量 308

    8.3.3 打开、关闭文件的API 309

    8.3.4 打开、关闭文件的实现 309

    8.4 读/写文件 319

    8.4.1 读/写文件的数据结构 320

    8.4.2 读/写文件的全局变量 323

    8.4.3 读/写文件的API 323

    8.4.4 读/写文件的实现 323

    8.5 其他功能 337

    第9章 杂项文件系统 338

    9.1 文件系统的挂载 338

    9.1.1 次加载根文件系统 338

    9.1.2 第二次加载根文件系统 340

    9.2 内存文件系统 340

    9.2.1 内存文件系统的数据结构 340

    9.2.2 内存文件系统的全局变量 340

    9.2.3 内存文件系统的API 341

    9.2.4 内存文件系统的实现 341

    9.3 设备文件系统 349

    9.3.1 设备文件系统的数据结构 349

    9.3.2 设备文件系统的全局变量 350

    9.3.3 设备文件系统的API 351

    9.3.4 设备文件系统的实现 351

    0章 LEXT3文件系统 358

    10.1 简介 358

    10.1.1 超级块 359

    10.1.2 块组描述符 359

    10.1.3 块位图 360

    10.1.4 文件节点位图 360

    10.1.5 文件节点表 360

    10.1.6 文件节点 360

    10.1.7 文件日志 362

    10.2 LEXT3 363

    10.2.1 LEXT3的数据结构 363

    10.2.2 LEXT3的全局变量 371

    10.2.3 LEXT3的API 372

    10.2.4 LEXT3的实现 373

    10.3 文件系统日志 397

    10.3.1 日志的数据结构 397

    10.3.2 日志的全局变量 405

    10.3.3 日志的API 405

    10.3.4 日志的实现 406

    1章 杂项 438

    11.1 klibc 438

    11.2 网络子系统 440

    11.3 SIMPLE-KSHELL 440

    谢宝友,曾任中兴嵌入式实时操作系统技术总工,该系统获第四届中国工业大奖;中兴通讯2010年度金银奖获得者;阿里集团2019年度安全生产之星金奖获得者;2018、2019阿里集团“双11”很好贡献奖获得者;《深入理解并行编程》译者;Linux ZTE架构维护者;DIM-SUM自研操作系统发起者和创始人。

    第 1章 准备工作 1 1.1 DIM-SUM简介 1 1.2 DIM-SUM是什么 1 1.2.1 DIM-SUM的*个版本为什么是HOT-POT 1 1.2.2 DIM-SUM欢迎什么 2 1.2.3 DIM-SUM不欢迎什么 3 1.3 获得源代码 3 1.3.1 通过网页源代码 3 1.3.2 通过Git获取源代码 3 1.4 搭建调试开发环境 4 1.4.1 安装ubuntu 16.04 4 1.4.2 ubuntu 16.04环境配置 5 1.4.3 搭建编译环境 6 1.4.4 编译HOT-POT 7 1.4.5 运行HOT-POT 8 1.4.6 开始调试 10 1.5 向DIM-SUM操作系统提交补丁 11 1.5.1 心态 11 1.5.2 准备工作 11 1.5.3 制作补丁 13 1.5.4 制作正确的补丁 14 1.5.5 发送补丁 16 1.6 获得帮助 17 1.7 提醒 17 第 2章 算法基础 18 2.1 链表 18 2.2 散列表 19 2.3 红黑树 20 2.4 基树 22 第 3章 计数与互斥同步 23 3.1 计数 23 3.1.1 计数的难题 24 3.1.2 计数器 24 3.1.3 近似计数器 27 3.1.4 引用计数 31 3.2 内核互斥原语 32 3.2.1 每CPU变量 32 3.2.2 自旋锁 38 3.2.3 自旋位锁 42 3.2.4 自旋顺序锁 44 3.2.5 自旋读/写锁 47 3.2.6 读/写信号量 50 3.2.7 互斥锁 56 3.3 内核同步原语 60 3.3.1 信号量的设计原理 60 3.3.2 信号量的数据结构 61 3.3. 3 信号量API 61 3.3.4 信号量的实现 62 第 4章 调度 65 4.1 基本概念 65 4.1.1 进程和线程 65 4.1.2 任务 66 4.1.3 任务抢占 66 4.1.4 idle线程 66 4.2 SMP CPU初始化 66 4.3 数据结构 71 4.3.1 线程 71 4.3.2 调度队列 76 4.3.3 杂项 77 4.4 调度子系统初始化 77 4.4.1 init_sched_early函数 78 4.4.2 init_idle_process函数 78 4.4.3 init_sched函数 79 4.5 线程调度 79 4.5.1 上下文切换 79 4.5.2 唤醒线程 82 4.6 调度API 85 4.6.1 等待队列 85 4.6.2 位等待队列 89 4.6.3 线程睡眠 93 4.6.4 消息队列 96 第 5章 中断及定时器 108 5.1 中断控制器初始化 108 5.1.1 主CPU中断控制器初始化 109 5.1.2 从CPU中断控制器初始化 110 5.2 中断控制器维护 110 5.2.1 中断号映射 110 5.2.2 逻辑中断的控制 113 5.2.3 设备中断处理函数 116 5.3 中断处理 119 5.3.1 序言 119 5.3.2 中断处理通用流程 120 5.3.3 处理外部设备中断 122 5.3.4 处理核间中断 126 5.3.5 软中断 126 5.3.6 尾声 126 5.4 工作队列 128 5.4.1 工作队列的数据结构 128 5.4.2 工作队列的全局变量 130 5.4.3 工作队列的API 130 5.4.4 工作队列的实现 131 5.5 定时器与时间管理 139 5.5.1 初始化 139 5.5.2 定时器的数据结构 139 5.5.3 定时器的全局变量 141 5.5.4 定时器的API 141 5.5.5 定时器的实现 141 5.5.6 定时器中断处理 144 5.5.7 时间管理 148 第 6章 内存管理 151 6.1 内存初始化 151 6.1.1 艰难地准备C运行环境 151 6.1.2 准备BOOT内存空间 152 6.1.3 物理内存块管理 152 6.1.4 早期设备内存映射 153 6.1.5 初始化每CPU变量 157 6.1.6 初始化线性映射 157 6.1.7 其他内存初始化工作 160 6.2 BOOT内存分配器 160 6.2.1 BOOT内存分配API 161 6.2.2 BOOT内存分配器的实现 161 6.2.3 BOOT内存分配器的销毁 163 6.3 页面编号 163 6.3.1 页面编号的数据结构 164 6.3.2 页面编号的全局变量 165 6.3.3 页面编号的API 165 6.3.4 页面编号的实现 165 6.4 页面分配器 168 6.4.1 页面分配器的设计原理 168 6.4.2 页面分配器的数据结构 169 6.4.3 页面分配器的全局变量 174 6.4.4 页面分配器的API 175 6.4.5 页面分配器的实现 176 6.4.6 页面分配器的初始化 192 6.5 Beehive内存分配器 193 6.5.1 Beehive内存分配器的设计原理 193 6.5.2 Beehive内存分配器的数据结构 195 6.5.3 Beehive内存分配器的全局变量 197 6.5.4 Beehive内存分配器的API 199 6.5.5 Beehive内存分配器的实现 199 6.5.6 Beehive内存分配器的初始化 214 6.6 I/O内存映射 216 第 7章 块设备 219 7.1 磁盘及其分区 220 7.1.1 磁盘及其分区的数据结构 220 7.1.2 磁盘及其分区的全局变量 222 7.1.3 磁盘及其分区的API 222 7.1.4 磁盘及其分区的实现 222 7.2 块设备维护 228 7.2.1 块设备的数据结构 228 7.2.2 块设备的全局变量 230 7.2.3 块设备的API 231 7.2.4 块设备的实现 231 7.3 I/O请求 242 7.3.1 I/O请求的数据结构 243 7.3.2 I/O请求的全局变量 250 7.3.3 I/O请求的API 250 7.3.4 I/O请求的实现 251 7.4 I/O调度 265 7.4.1 I/O调度的数据结构 265 7.4.2 I/O调度的全局变量 267 7.4.3 I/O调度的API 267 7.4.4 I/O调度的实现 268 第 8章 虚拟文件系统 271 8.1 挂载、卸载文件系统 271 8.1.1 挂载、卸载文件系统的数据结构 272 8.1.2 挂载、卸载文件系统的全局变量 277 8.1.3 挂载、卸载文件系统的API 278 8.1.4 挂载、卸载文件系统的实现 278 8.2 文件节点缓存 285 8.2.1 文件节点缓存的数据结构 286 8.2.2 文件节点缓存的全局变量 288 8.2.3 文件节点缓存的API 289 8.2.4 文件节点缓存的实现 290 8.3 打开、关闭文件 304 8.3.1 打开、关闭文件的数据结构 305 8.3.2 打开、关闭文件的全局变量 308 8.3.3 打开、关闭文件的API 309 8.3.4 打开、关闭文件的实现 309 8.4 读/写文件 319 8.4.1 读/写文件的数据结构 320 8.4.2 读/写文件的全局变量 323 8.4.3 读/写文件的API 323 8.4.4 读/写文件的实现 323 8.5 其他功能 337 第 9章 杂项文件系统 338 9.1 文件系统的挂载 338 9.1.1 *次加载根文件系统 338 9.1.2 第二次加载根文件系统 340 9.2 内存文件系统 340 9.2.1 内存文件系统的数据结构 340 9.2.2 内存文件系统的全局变量 340 9.2.3 内存文件系统的API 341 9.2.4 内存文件系统的实现 341 9.3 设备文件系统 349 9.3.1 设备文件系统的数据结构 349 9.3.2 设备文件系统的全局变量 350 9.3.3 设备文件系统的API 351 9.3.4 设备文件系统的实现 351 第 10章 LEXT3文件系统 358 10.1 简介 358 10.1.1 块 359 10.1.2 块组描述符 359 10.1.3 块位图 360 10.1.4 文件节点位图 360 10.1.5 文件节点表 360 10.1.6 文件节点 360 10.1.7 文件日志 362 10.2 LEXT3 363 10.2.1 LEXT3的数据结构 363 10.2.2 LEXT3的全局变量 371 10.2.3 LEXT3的API 372 10.2.4 LEXT3的实现 373 10.3 文件系统日志 397 10.3.1 日志的数据结构 397 10.3.2 日志的全局变量 405 10.3.3 日志的API 405 10.3.4 日志的实现 406 第 11章 杂项 438 11.1 klibc 438 11.2 网络子系统 440 11.3 SIMPLE-KSHELL 440

    中国人自己的操作系统!

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购