Skip to content

Commit

Permalink
feat: summary for stage 3
Browse files Browse the repository at this point in the history
  • Loading branch information
“yumu20030130” committed Nov 30, 2024
1 parent d678ab9 commit c97100c
Showing 1 changed file with 33 additions and 0 deletions.
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/

0 comments on commit c97100c

Please sign in to comment.