oxygen1a1 发表于 2024-6-12 10:59

《一个64位操作系统设计与实现》读书笔记

前言:
    抽时间(在论文、课程课余时间花了好久把书看到了13章,总共16章,后面是完善shell、用户态和FAT32文件系统,个人不太感兴趣,番外部分还没时间写,以后在埋坑吧)。    总体而言,这部书不能说不好吧,只能说非常垃圾,看到现在能不弃书全靠它代码完善,作者虽然很厉害,但是写书功底实在是难以恭维,凑活看下,因为国内书实在是没有基于x64架构设计的os,其中多核、apic、驱动设计、文件系统有些东西还是很先进的,能了解一个操作系统从编译、引导、到支持多核,工作量还是很大的。我把笔记转成pdf了,总共100多页,11万多字?现在分享一下,里面的代码我基本上都是看懂点到为止,因此有些东西可能理解的不到位,欢迎大家斧正。
    https://bbs.kanxue.com/upload/attach/202406/935881_DK8ZDWANTHQPFAG.webp
项目地址:
这本书写的很烂,因此必须要靠它完善的源码才能看下去,
个人读书笔记地址:https://github.com/Oxygen1a1/Book-Notes-on-Design-and-Implementation-of-a-64-bit-Operating-System
源码地址:https://github.com/yifengyou/The-design-and-implementation-of-a-64-bit-os
目录:
chap0 前言
    基础概念
      操作系统
      操作系统构成
    环境搭建
      bochs编译
      nasm
      boot.img
    前置知识
      GNU的内嵌汇编
chap1 BootLoader
    文件系统
      FAT12的构成
      FAT
      根目录区
    Loader
      虚拟软盘挂载
      loader原理
chap2 内核层
    内核头
      内核头
      makefile
    屏幕显示
      显存写入
      ASCII像素位图
      color_printk
    异常
      errcode
    初级内存管理
      内核相关结构初始化
      alloc memory
    中断处理
      8259a pic
      触发中断
      简单键盘驱动编写
    进程管理基础概念
      PCB
      进程的创建
chap3 应用层
    返回应用层
    系统调用
chap4 intel硬件平台知识
chap5 高级内存管理单元
    slab内存池
    slab_cache初始化
    slab_cache销毁
    slab_cache内存对象的alloc/free
    基于slab内存池的内核内存分配实现
      slab_init
      kmalloc
      kfree
    物理内存分配的调整
chap6 APIC
    APIC概述
    Local APIC
      LAPIC寄存器表
      LAPIC 寄存器
      LVT
      中断优先级
      LAPIC中断的投递
    IO APIC
      IO APIC间接访问寄存器
      IO APIC寄存器介绍
    APIC初始化
      Local APIC Setup
      IO APIC setup
    高级中断处理
chap7 驱动
    键/鼠驱动
      8042键盘控制器
      键盘驱动
      鼠标驱动
    磁盘驱动
      硬盘控制器
      ATA标准
      磁盘读写
chap8 多核处理器
    超线程与多核
    多核启动
      ICR发送IPI
      SMP/ASMP
      配置AP
      自旋锁同步
chap9 番外
    USB键鼠驱动编写
    PCI总线驱动
    磁盘驱动编写

w1066602520 发表于 2024-6-12 12:58

感觉就很复杂的样子

侃遍天下无二人 发表于 2024-6-12 23:32

有64位的,比如这个 https://time.geekbang.org/column/intro/100078401?tab=catalog ,还是有声读物,作者也给了源码

Panel 发表于 2024-6-12 12:16

强烈打call{:1_899:}

minibeetuaman 发表于 2024-6-12 12:52

在64位内存管理部分,这本书简直是不知所云,都不知道作者能不能自己看明白

mayunfei 发表于 2024-6-12 21:47

国内在基础领域 基本泛泛而谈 蜻蜓点水,或滥竽充数
看大学教材 就知道 空洞乏味
本质跟国度体制 有关

w81587679 发表于 2024-6-20 13:28

其实能看懂思路就已经不错了

darkfriday 发表于 2024-6-20 14:10

64位应该比32位要相对简单一些吧?我看过几本书写32位的,内存管理都写得不好

lyx0524 发表于 2024-7-2 08:23

唉,任到重远

bot4o7 发表于 2024-7-10 20:59

正在实习,虽然内容跟这些可能没关系,但我去,写操作系统这种事情,听起来就好刺激啊!
页: [1] 2
查看完整版本: 《一个64位操作系统设计与实现》读书笔记