百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
T

The-design-and-implementation-of-a-64-bit-os

> 编程语言
开源

《一个 64 位操作系统的设计与实现》读书笔记及随书源码

1.2K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

《一个 64 位操作系统的设计与实现》读书笔记及随书源码

《一个64位操作系统的设计与实现》学习笔记

本仓库说明

  1. 本仓库代码默认运行环境位 CenOS6.4 x64,相关环境搭建参看**《第二章-环境搭建及基础知识》**
  2. 尽量做到每个例程用一个run.sh脚本一键运行跑起,目前还在更新中。。随书源码在Mac下开发,乱的一笔,整理一波先。
  3. 书才收到没多久,慢慢看,稳稳更新。。
  4. 尽可能做到每个实例用脚本启动运行,尽可能添加注释
  5. 书的排版其实不适合一章节一个实验跑通,可能更多小实验组成,尝试采用其它方式记录
Something I hope you know before go into the coding~
* First, please watch or star this repo, I'll be more happy if you follow me.
* Bug report, questions and discussion are welcome, you can post an issue or pull a request.

相关站点

  1. GitBook地址:
  2. 图灵社区该书站点:
  3. GitHub仓库地址:
  4. PDF下载地址:

目录

  • 第1章-操作系统概述
  • 第2章-环境搭建及基础知识
    • 虚拟机及开发平台介绍
    • 汇编语言
    • C语言
  • 第3章-BootLoader引导启动程序
    • Boot引导程序
    • Loader引导加载程序
  • 第4章-内核层
    • 内核执行头程序
    • 内核主程序
    • 屏幕显示
    • 系统异常
    • 初级内存管理单元
    • 中断处理
    • 键盘驱动
    • 进程管理
  • 第5章-应用层
    • 跳转到应用层
    • 实现系统调用API
    • 实现一个系统调用处理函数
  • 第6章-处理器体系结构
    • 基础功能与新特性
    • 地址空间
    • 实模式
    • 保护模式
    • IA-32e模式
  • 第7章-完善BootLoader功能
    • 实模式的寻址瓶颈
    • 获取物理地址空间信息
    • 操作系统引导加载阶段的内存空间划分
    • U盘启动
    • 在物理平台上启动操作系统
    • 细说VBE功能的实现
  • 第8章-内核主程序
    • 内核主程序功能概述
    • 操作系统的Makefile编译脚本
    • 操作系统的kernel.lds链接脚本
    • 操作系统的线性地址空间划分
    • 获得处理器的固件信息
  • 第9章-高级内存管理单元
    • SLAB内存池
    • 基于SLAB内存池技术的通用内存管理单元
    • 调整物理页管理功能
    • 页表初始化
  • 第10章-高级中断处理单元
    • APIC概述
    • Local APIC
    • I/O APIC
    • 中断控制器的模式选择与初始化
    • 高级中断处理功能
  • 第11章-设备驱动程序
    • 键盘和鼠标驱动程序
    • 硬盘驱动程序
  • 第12章-进程管理
    • 进程管理单元功能概述
    • 多核处理器
    • 进程调度器
    • 内核同步方法
    • 完善进程管理单元
  • 第13章-文件系统
    • 文件系统概述
    • 解析FAT32文件系统
    • 虚拟文件系统
  • 第14章-系统调用API库
    • 系统调用API结构
    • 基于POSIX规范实现系统调用
  • 第15章-Shell命令解析器及命令
    • Shell命令解析器
    • 基础命令
  • 第16章-一个彩蛋
  • 勘误
  • 吐槽
  • 附录-术语表
  • 参考资料
  • Linux内核模型机-演示内核工作原理
  • 操作系统为什么那么难
  • 内存管理为什么那么难
  • 如何降低OS入门门槛

该书简介

本书讲述了一个64位多核操作系统的自制过程。此操作系统自制过程是先从虚拟平台构筑起一个基础框架,随后再将基础框架移植到物理平台中进行升级、完善与优化。为了凸显64位多核操作系统的特点,物理平台选用搭载着Intel Core-i7处理器的笔记本电脑。与此同时,本书还将Linux内核的源码精髓、诸多官方白皮书以及多款常用协议浓缩于其中,可使读者在读完本书后能够学以致用,进而达到理论联系实际的目的。

本书既适合在校学习理论知识的初学者,又适合在职工作的软件工程师或有一定基础的业余爱好者。

作者简介

一个执着研究操作系统内核的骨灰级程序员,希望在这里找到可以一起讨论的朋友,共同进步。

如果有可能,为什么我们不做一个中国版的linux呢?

这就是我写《一个64位操作系统的实现》的初衷。不求改变世界,但求,可以帮助在学习《操作系统》这门课程上艰难前行的同志们。

失败不可怕,害怕失败才真正可怕;当你意识到失败只是弯路,那么你就已经走在成功的直道上了。

该书特点

  1. 基于Intel Core i7处理器的64位多核操作系统
  2. 引入诸多Linux内核的设计精髓
  3. 既可在Bochs虚拟机中执行,又可通过U盘引导运行于台式机、笔记本电脑

技术交流

QQ群:144571173

  • 《一个64位操作系统的设计与实现》交流群
  • 群主即为该书作者,有问题直接怼他就行
  • 不需要添加好友瞎逼逼

QQ群:148177180

  • 《操作系统真象还原》交流群

QQ群:361934810

  • 《大话计算机》交流群

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

C

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言