LevelDB: A whole Open Operation
2024-09-16
我在最近接触了分布式存储计算这一个方向,因此想从leveldb作为一个最初的学习项目;起初,我是通过硬核课堂 LevelDB源码分析这一飞书文档学习,但是这个文档有些学习顺序我个人不是很习惯,因此打算分模块去将整个LevelDB的整个源码细节。
4707 words
|
24 minutes
LevelDB: A whole Put Operation
2024-09-16
我在最近接触了分布式存储计算这一个方向,因此想从leveldb作为一个最初的学习项目;起初,我是通过硬核课堂 LevelDB源码分析这一飞书文档学习,但是这个文档有些学习顺序我个人不是很习惯,因此打算分模块去将整个LevelDB的整个源码细节。
111 words
|
1 minute
ArkTS: analyze riscv64 assember
2024-07-16
在这一节中,我们会主要分析ArkTS中的RISC-V架构的汇编,这也是我们的主要目标之一。当前分析的版本位于ArkTS Runtime[commit 2d8e197]。
5198 words
|
26 minutes
ArkTS: analyze compiler_assembler
2024-07-04
在此次的任务中,我们主要是对于riscv64架构下的汇编进行处理,按照之前的经验来看,目前已有的riscv64汇编代码处理逻辑是依托于aarch64而来。因此,在本节中会详细解析两个部分:assembler.h和assembler_aarch64。
10905 words
|
55 minutes
ArkTS: compile runtime_core and ets_*
2024-07-01
在这一节中,我会介绍ArkTS的四大组件以及如何编译并成功运行ArkTS的前端和运行时。
2330 words
|
12 minutes
xv6: The Uart
2024-06-27
上一节中,我们介绍了xv6中的自旋锁。在这一节,我们将从uart开始介绍,uart是xv6中console和printf的最基础的模块,用于串口通信。而对于xv6-riscv的uart模块的构成则是参考了16550a-uart或16550a-uart SIDSA。
68 words
|
1 minute
xv6: The Spin Lock
2024-06-24
在上一节中,我简单介绍了内核态中的入口函数main()。如果按照入口函数中的初始化顺序,理应讲解consoleinit(),但是位于consoleinit中有涉及到其余部分的介绍,为了每个章节的独立性和可读性,并且为了避免一次性知识的复杂程度过高,这里选择率先讲解spinlock。
4511 words
|
23 minutes
Concurrency in Action: Share data between threads
2024-06-15
使用线程来实现并发的一个潜在的好处就是能够很容易、直接地在它们之间使用共享数据。因此,本篇笔记就是来讨论一些围绕共享数据的一些问题。
5334 words
|
27 minutes