作品简介

本书详细阐述了自研操作系统DIM-SUM的设计与实现,提供了在ARM 64虚拟机中动手实践DIM-SUM及参与DIM-SUM开发的方法。针对DIM-SUM操作系统的同步与互斥、调度、内存、中断与定时器、块设备、文件系统模块进行了详细的分析,包括这些模块的设计思路、数据结构定义、关键API说明。最重要的是,本书对各个模块的主要函数进行了逐行解释,有助于读者深刻理解如何实现一款实用的操作系统。最后,本书还展望了接下来10年DIM-SUM操作系统的发展目标,希望最终其能发展为可以在服务器系统、桌面系统中实用的自研操作系统。

本书适合于对操作系统研发有兴趣的大学生、研究生,以及从事操作系统相关工作的一线工程师。对于Linux操作系统工程师,本书也极具实用价值。

谢宝友

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

作品目录

  • 作者介绍
  • 内容简介
  • 推荐序1
  • 推荐序2
  • 推荐语
  • 前言
  • 第1章 准备工作
  • 1.1 DIM-SUM简介
  • 1.2 DIM-SUM是什么
  • 1.3 获得源代码
  • 1.4 搭建调试开发环境
  • 1.5 向DIM-SUM操作系统提交补丁
  • 1.6 获得帮助
  • 1.7 提醒
  • 第2章 算法基础
  • 2.1 链表
  • 2.2 散列表
  • 2.3 红黑树
  • 2.4 基树
  • 第3章 计数与互斥同步
  • 3.1 计数
  • 3.2 内核互斥原语
  • 3.3 内核同步原语
  • 第4章 调度
  • 4.1 基本概念
  • 4.2 SMP CPU初始化
  • 4.3 数据结构
  • 4.4 调度子系统初始化
  • 4.5 线程调度
  • 4.6 高级调度API
  • 第5章 中断及定时器
  • 5.1 中断控制器初始化
  • 5.2 中断控制器维护
  • 5.3 中断处理
  • 5.4 工作队列
  • 5.5 定时器与时间管理
  • 第6章 内存管理
  • 6.1 内存初始化
  • 6.2 BOOT内存分配器
  • 6.3 页面编号
  • 6.4 页面分配器
  • 6.5 Beehive内存分配器
  • 6.6 I/O内存映射
  • 第7章 块设备
  • 7.1 磁盘及其分区
  • 7.2 块设备维护
  • 7.3 I/O请求
  • 7.4 I/O调度
  • 第8章 虚拟文件系统
  • 8.1 挂载、卸载文件系统
  • 8.2 文件节点缓存
  • 8.3 打开、关闭文件
  • 8.4 读/写文件
  • 8.5 其他功能
  • 第9章 杂项文件系统
  • 9.1 文件系统的挂载
  • 9.2 内存文件系统
  • 9.3 设备文件系统
  • 第10章 LEXT3文件系统
  • 10.1 简介
  • 10.2 LEXT3
  • 10.3 文件系统日志
  • 第11章 杂项
  • 11.1 klibc
  • 11.2 网络子系统
  • 11.3 SIMPLE-KSHELL
展开全部