From a2c7a97e7b055d48b62d851acd952d765fa87351 Mon Sep 17 00:00:00 2001 From: Mii Yakumo <142552784+yukariyuko@users.noreply.github.com> Date: Wed, 4 Dec 2024 16:26:38 +0800 Subject: [PATCH 1/2] =?UTF-8?q?Create=2024=E7=A7=8B=E5=86=AC=E8=AE=AD?= =?UTF-8?q?=E7=BB=83=E8=90=A5=E4=B8=89=E9=98=B6=E6=AE=B5=E6=80=BB=E7=BB=93?= =?UTF-8?q?-yukariyuko?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...56\265\346\200\273\347\273\223-yukariyuko" | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 "source/_posts/24\347\247\213\345\206\254\350\256\255\347\273\203\350\220\245\344\270\211\351\230\266\346\256\265\346\200\273\347\273\223-yukariyuko" diff --git "a/source/_posts/24\347\247\213\345\206\254\350\256\255\347\273\203\350\220\245\344\270\211\351\230\266\346\256\265\346\200\273\347\273\223-yukariyuko" "b/source/_posts/24\347\247\213\345\206\254\350\256\255\347\273\203\350\220\245\344\270\211\351\230\266\346\256\265\346\200\273\347\273\223-yukariyuko" new file mode 100644 index 00000000000..19306d30f24 --- /dev/null +++ "b/source/_posts/24\347\247\213\345\206\254\350\256\255\347\273\203\350\220\245\344\270\211\351\230\266\346\256\265\346\200\273\347\273\223-yukariyuko" @@ -0,0 +1,45 @@ + +--- + +title: 24秋冬训练营三阶段总结-yukariyuko +date: 2020-07-15 16:40:28 +categories: + - +tags: + - author:yukariyuko + - repo:https://github.com/yukariyuko/oscamp24fall + - arceos + - 24fall + +--- + +# 总结 + +通过第三阶段的学习,了解了组件化操作系统内核的思想,这告诉我们可以基于组件构造内核的方法,增量地构造出应对不同场景的各种模式内核。从而能够: +1. 提高内核开发效率 +2. 降低内核维护难度 +3. 开展基于组件的功能复用和开发协作 +具体来讲: + +## 第一周 + +- 配置好了项目环境 +- 通过模拟需求的不断增加的场景,增量地认识了unikernel形态下的Arceos +- 了解了如何根据需求变更,从最开始一个极为简单的内核逐步扩展出一个拥有文件系统等功能模块的unikernel +- 了解了如何通过转义字符使终端打印彩色字符 +- 实现了简单的Hashmap +- 实现了一种简单的内存分配算法 + +## 第二周 + +- 见识到了如何根据组件化的思想,仅通过增加少量组件,将unikernel形态下的内核扩展为Monolithic kernel +- 了解了一点riscv硬件架构的知识 +- 学习了Arceos中TCB的设计思路 +- 编写了一个函数处理缺页异常 +- 实现了一些简单的unix应用(mv,rename) +- 了解了mmap函数 + +## 第三周 + +- 了解了虚拟化的思想和一些基本概念 +- 了解了是如何通过增加模块将Arceos进行虚拟化的 From f9e140354a0e8c7fbfe9fa983036cc6f19e0fb86 Mon Sep 17 00:00:00 2001 From: Mii Yakumo <142552784+yukariyuko@users.noreply.github.com> Date: Sun, 22 Dec 2024 11:55:07 +0800 Subject: [PATCH 2/2] =?UTF-8?q?Create=2024=E7=A7=8B=E5=86=AC=E8=AE=AD?= =?UTF-8?q?=E7=BB=83=E8=90=A5=E5=9B=9B=E9=98=B6=E6=AE=B5=E6=80=BB=E7=BB=93?= =?UTF-8?q?-yukariyuko?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...56\265\346\200\273\347\273\223-yukariyuko" | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 "source/_posts/24\347\247\213\345\206\254\350\256\255\347\273\203\350\220\245\345\233\233\351\230\266\346\256\265\346\200\273\347\273\223-yukariyuko" diff --git "a/source/_posts/24\347\247\213\345\206\254\350\256\255\347\273\203\350\220\245\345\233\233\351\230\266\346\256\265\346\200\273\347\273\223-yukariyuko" "b/source/_posts/24\347\247\213\345\206\254\350\256\255\347\273\203\350\220\245\345\233\233\351\230\266\346\256\265\346\200\273\347\273\223-yukariyuko" new file mode 100644 index 00000000000..7c8a164829e --- /dev/null +++ "b/source/_posts/24\347\247\213\345\206\254\350\256\255\347\273\203\350\220\245\345\233\233\351\230\266\346\256\265\346\200\273\347\273\223-yukariyuko" @@ -0,0 +1,32 @@ +--- + +title: 24秋冬训练营四阶段总结-yukariyuko +date: 12/22 +categories: + - blog +tags: + - author:yukariyuko + - repo:https://github.com/yukariyuko/naive + - async + - io_uring + +--- + +# 总说 +在训练营的第四阶段,几乎一直在读东西,一边看一边学asynchronous和Rust,之前几乎没有了解和使用过异步方面的东西。 +学习效果不是很好,结营后还得多读多写这一块的代码,继续学习。 + +# 细说 +## 第一周: +- 了解了一些RUST的异步和协程机制 +- 读了[绿色线程](https://zjp-cn.github.io/os-notes/green-thread.html)的代码 +- 读了philopp那篇用[异步实现协作式任务调度](https://os.phil-opp.com/async-await/) + +## 第二周: +- 跟着[这篇博客](https://toetoe55.github.io/async-rt-book/)了解了实现异步运行时的思路 +- 看PPT给上的[tokio相关](https://tokio-zh.github.io/document/) + +## 第三周: +- 读了io_uring的手册,顺带了解了一下使用环形队列和内存映射,无锁环提高性能的原理 +- 读了一下smol源码,主要是futures-lite和async-executor部分 +- 尝试使用iou封装的接口实现[简单的异步文件读写](https://github.com/yukariyuko/naive),但是实现的waker有问题,没有成功