学习周记¶
按周/月记录学习进度、产出与思考。
- 训练营期间的学习记录请见 2026sOsReport
- 本仓库从训练营结束后开始持续更新,用于沉淀学习轨迹
周报索引¶
| 编号 | 主题 |
|---|---|
| W16 | W16 - K3 真板进入自研异步 shell,正向官方 shell 推进 |
| W15 | W15 - 实习总结:异步驱动三个月,从 D1 串口到 SMP=16 网卡 |
| W14 | W14 - UART 与网卡固定绑核,唤醒路径改为本地优先 |
| W13 | W13 - K3 板 SSH 连通,StarryOS 启动多 hart 适配 |
| W12 | W12 - 本周做k3的探索工作 |
| W11 | W11 - 故障恢复语义:设备出错到链路断开都能安全恢复 |
| W10 | W10 - 应用可见的异步网络:栈自己跑,就绪状态桥到 select/poll |
| W09 | W09 - MS5 验收收口:测试暴露的问题与修复 |
| W08 | W08 - 网卡收包异步化完成,双向收发推进 |
| W07 | W07 - 网卡中断诊断 + 性能测试矩阵收口 |
| W06 | W06 - 网卡主线:本地化编译 + 无 IRQ 轮询 + IRQ 诊断启动 |
| W05 | W05 - Console polling 基线 + CPU 效率对比 |
| W04 | W04 - 异步串口契约收敛 + benchmark 补测收尾 |
| W03 | W03 - Q19B userbench → Q19C 全链路收尾 |
| W02 | W02 - Lichee RV Dock 真板 smoke 完成(Q16-Q19) |
| W01 | W01 - Q15 收尾 + Q6/Q16/Q17 准备 |
| W00 | W00 - 训练营后第一周 |
月报索引¶
| 编号 | 主题 |
|---|---|
| M00 | M00 - 训练营后启动实习中 |
学习笔记¶
学习内容¶
| 标题 | 标签 |
|---|---|
| Async/Await 异步运行时 | rust, async, future, waker, executor, state-machine |
| DMA:绕过 CPU 的数据搬运 | dma, hardware, uart, nic, cache, pio, descriptor, starryos |
| MMIO:用 load/store 指令操作硬件 | mmio, hardware, volatile, uart, memory, pma |
| Rust 异步驱动语言特性 | rust, async, generic, unsafe, smart-pointer, send, sync, deref |
| SMP:核心数量如何影响调度,多核为什么不能只靠调度器 | smp, riscv, scheduler, ipi, memory-ordering, k3 |
| io_uring 入门 | linux, io, async, kernel, syscall |
异步串口¶
| 标题 | 标签 |
|---|---|
| Async UART 与 polling Console 性能对比 | uart, async, console, polling, performance, benchmark, qemu, d1, latency, throughput |
| ISR 极简 4 步流程 | rust, isr, riscv, interrupt, uart, dependency-injection |
| ISR 触发后禁用中断 | rust, os, riscv, interrupt, uart |
| Lichee Q19B kbench/userbench 问题与解决 | |
| Lichee RV Dock Smoke 前问题清单 | |
| Lichee RV Dock Smoke 解决路径 | |
| Lichee RV Dock 适配前期准备 | |
| OS 抽象具体实现 | rust, os, abstraction, trait, async |
| TTY 阻塞读与 ProcessMode 桥接 | rust, tty, ldisc, async, waker |
| VFS 接口 + flush 实现路径 | rust, vfs, tty, flush, syscall |
| 内存序:QEMU 掩盖的真板陷阱 | rust, memory-ordering, riscv, smp, atomic, optimization |
| 异步 RX 侧 NAPI 状态机与 spawn 任务 | rust, async, napi, uart, task |
| 异步 TX 侧四阶段 drain 与 fast retry | rust, async, uart, drain, flush |
| 异步 UART 性能测试设计与结果 | benchmark, performance, uart, latency, throughput, testing |
| 异步 UART 驱动总体架构 | rust, async, uart, driver, ring-buffer, spsc, io-uring |
| 异步串口入口与全局实例 | rust, async, os, riscv, uart |
| 异步串口总体架构:从硬件中断到 read 返回 | rust, async, uart, driver, interrupt, ring-buffer, spsc, tty, waker, napi |
| 异步驱动的泛型与 Trait 抽象 | rust, generic, trait, async, uart |
| 异步驱动的线程安全 | rust, send, sync, atomic, thread-safety, uart |
异步网卡¶
| 标题 | 标签 |
|---|---|
| ArceOS 与 StarryOS 异步网卡实现对比 | async, nic, arceos, starryos |
| VirtIO 网卡队列机制入门 | virtio, network, queue, descriptor, event-idx, interrupt, mmio |
| smoltcp 接入与 axnet 本地化决策 | smoltcp, axnet, network, dependency, capability, polling-fallback, device-mask |
| 异步网卡手动测试逐项:MS1 到 MS7 每个 PASS 在验什么 | rust, async, network, nic, qemu, test, acceptance |
| 异步网卡架构探索 | rust, async, network, nic, virtio, smoltcp, architecture, driver |
| 异步网卡的手动 QEMU 测试:MS1 到 MS7 在测什么 | rust, async, network, nic, qemu, test, acceptance, driver |
| 异步网卡驱动总体架构 | rust, async, network, nic, virtio, smoltcp, driver, recovery, readiness |
| 网卡异步化:全链路异步已打通 | rust, async, network, nic, driver, socket, polling, syscall |
| 网卡性能测试矩阵:测什么、为什么这么测 | rust, network, benchmark, testing, virtio, qemu, performance, matrix |
| 网卡收发的异步化:为什么做、怎么做 | rust, async, network, nic, interrupt, queue, backpressure |
异步驱动¶
| 标题 | 标签 |
|---|---|
| SDMMC 异步驱动评审意见 | rust, async, driver, sdmmc, review, testability, portability |
| SDMMC 驱动异步架构分析(simple-sdmmc-extended) | rust, async, driver, sdmmc, dma, idmac, arceos, visionfive2 |
| 两种异步驱动范式对比:UART copier 流式 vs SDMMC 请求-响应 | rust, async, driver, uart, sdmmc, dma, atomic-waker, wait-queue, architecture |
| 为什么异步驱动要做多 hart 适配 | smp, multi-hart, async-driver, riscv, starryos, k3 |
| 多 hart 适配是怎么落地的 | smp, multi-hart, async-driver, riscv, starryos, critical-section, ipi, scheduler |
| 异步开发路径:骨架层可复用,肉层是设备特定的 | rust, async, driver, uart, nic, skeleton, framework |
视频¶
| 标题 | 标签 |
|---|---|
| 演示录屏(2026-10-06) | demo |
新增内容:在
docs/weeks/、docs/months/或docs/notes/下新建 md 文件,push 后自动更新此页。