-
Notifications
You must be signed in to change notification settings - Fork 440
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
“yumu20030130”
committed
Nov 30, 2024
1 parent
d678ab9
commit c97100c
Showing
1 changed file
with
33 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,33 @@ | ||
--- | ||
title: 2024秋冬开源操作系统训练营第三阶段总结-陈栩民 | ||
date: 2024-11-30 21:20:01 | ||
categories: | ||
- 2024秋冬季开源操作系统训练营 | ||
tags: | ||
- author:yumu20030130 | ||
--- | ||
|
||
|
||
# Unikernel | ||
|
||
Unikernel,可以认为就是一个免去了US间特权级切换的简单内核,在阅读源码和解决部分课后习题的过程中,我将自己的想法与收获总结如下: | ||
1. Unikernel的基本启动流程:https://yumu20030130.github.io/2024/11/25/Unikernel%E7%9A%84%E5%9F%BA%E6%9C%AC%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B/ | ||
2. Unikernel组件之axalloc:https://yumu20030130.github.io/2024/11/25/Unikernel%E7%BB%84%E4%BB%B6%E4%B9%8Baxalloc/ | ||
3. Unikernel组件之paging:https://yumu20030130.github.io/2024/11/25/Unikernel%E7%BB%84%E4%BB%B6%E4%B9%8Bpaging/ | ||
4. Unikernel组件之axtask:https://yumu20030130.github.io/2024/11/25/Unikernel%E7%BB%84%E4%BB%B6%E4%B9%8Baxtask/ | ||
|
||
# 宏内核 | ||
|
||
Unikernel加上用户态与内核态的分离,便形成了宏内核,其中我认为最重要的便是理解从内核态创建并执行一个应用,以及应用陷入内核的时候,又发生了什么。 | ||
1. 最简宏内核模式内核构建:https://yumu20030130.github.io/2024/11/30/%E6%9C%80%E7%AE%80%E5%AE%8F%E5%86%85%E6%A0%B8%E6%A8%A1%E5%BC%8F%E5%86%85%E6%A0%B8%E6%9E%84%E5%BB%BA/ | ||
|
||
# HyperVisor | ||
|
||
HyperVisor,即所谓的虚拟机管理程序,从代码实现来看,和宏内核思想差不多,都是一个高特权级的“内核”为低特权级的“应用”创建独属于它的“虚拟空间”,为它准备对应的资源,然后切换特权级去执行该“应用”。当“应用”发生“中断”的时候,就trap回“内核”处理。GuestOS,就像是一个特殊的应用。 | ||
|
||
1. Debug-版本错误:https://yumu20030130.github.io/2024/11/30/Debug-OpenSBI%E7%89%88%E6%9C%AC%E9%94%99%E8%AF%AF/ | ||
|
||
# 总结 | ||
|
||
通过这段时间的学习,我对于如何将内核组件化、以及如何从Unikernel到宏内核和HyperVisor有了更深入的理解。 | ||
HyperVisor及部分基础组件相关的学习总结还未来得及形成文档,后续也将逐步更新在本人的博客网页:https://yumu20030130.github.io/ |