-
Notifications
You must be signed in to change notification settings - Fork 439
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
56 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
--- | ||
title: 2024秋季开源操作系统第三阶段总结 | ||
date: 2024-11-30 20:03:03 | ||
tags: | ||
- author: Zia6 | ||
- repo: https://github.com/Zia6/oscamp | ||
--- | ||
# ArceOS Unikernel 学习总结 | ||
|
||
不知不觉,在开源操作系统训练营中学习 ArceOS Unikernel 已经过去了几周。回顾这段学习经历,我深深感受到了从一个普通开发者到系统级开发的转变过程。通过这次学习,我对操作系统的理解有了质的飞跃。 | ||
|
||
## 学习心得 | ||
|
||
最让我感到惊讶的是,原来操作系统可以像开发应用程序一样模块化。在学习之前,我对操作系统的印象还停留在庞大而复杂的整体概念上。但通过 ArceOS 的学习,我发现操作系统其实可以被拆分成一个个独立的组件,每个组件都有其明确的职责和边界。这种组件化的思想不仅让系统更容易理解和维护,也为定制化需求提供了极大的灵活性。 | ||
|
||
## 技术收获 | ||
|
||
### 第一周:打好基础 | ||
第一周的学习主要聚焦在基础概念和核心功能的实现上: | ||
|
||
1. 从最简单的彩色 "Hello World" 开始,逐步熟悉了 ArceOS 的项目结构和开发流程 | ||
2. 通过实现 early 内存分配算法,深入理解了操作系统是如何管理内存的 | ||
3. 在调度算法的改造过程中,真正体会到了协作式调度和抢占式调度的区别 | ||
|
||
### 第二周:深入应用 | ||
第二周的内容则更加贴近实际应用场景: | ||
|
||
1. 学习了如何加载和执行外部应用程序 | ||
2. 实现了内核与应用程序的通信机制 | ||
3. 掌握了地址空间分离和切换的技术要点 | ||
|
||
## 技术难点突破 | ||
|
||
在学习过程中,最具挑战性的部分是实现抢占式调度算法。这需要对系统中断机制有深入理解,同时还要考虑: | ||
- 如何合理设置时间片 | ||
- 如何处理优先级 | ||
- 如何确保调度的公平性 | ||
|
||
另一个有趣的挑战是实现应用程序的加载与执行。这让我深入理解了: | ||
- 程序加载的整个流程 | ||
- 内存布局的规划 | ||
- ABI 接口的设计与实现 | ||
|
||
## 个人感悟 | ||
|
||
这次学习经历让我对操作系统有了全新的认识。原来操作系统并不是那么遥不可及,通过合理的模块化设计,我们完全可以构建出自己的操作系统。这种认知的转变也让我在日常应用开发中更注重系统层面的思考。 | ||
|
||
## 未来展望 | ||
|
||
通过这次学习,我对系统级开发产生了浓厚的兴趣。接下来我打算: | ||
1. 深入研究 ArceOS 的其他组件 | ||
2. 尝试开发一些自定义的系统组件 | ||
3. 探索 Unikernel 在云计算场景中的应用可能 | ||
|
||
最后要特别感谢课程老师的悉心指导,让我能够在短时间内掌握这么多系统级的知识。这次学习经历不仅提升了我的技术能力,更重要的是开阔了我的技术视野。 | ||
|