From 59aea202f971f90023b1045f8ec4730773caa476 Mon Sep 17 00:00:00 2001 From: ghostdragonzero <1109648848@qq.com> Date: Sun, 1 Dec 2024 19:52:54 +0800 Subject: [PATCH] my_report_3 --- ...\256\265\346\200\273\347\273\223-ghost.md" | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 "source/_posts/\347\254\254\344\270\211\351\230\266\346\256\265\346\200\273\347\273\223-ghost.md" diff --git "a/source/_posts/\347\254\254\344\270\211\351\230\266\346\256\265\346\200\273\347\273\223-ghost.md" "b/source/_posts/\347\254\254\344\270\211\351\230\266\346\256\265\346\200\273\347\273\223-ghost.md" new file mode 100644 index 00000000000..9479ca5cce4 --- /dev/null +++ "b/source/_posts/\347\254\254\344\270\211\351\230\266\346\256\265\346\200\273\347\273\223-ghost.md" @@ -0,0 +1,52 @@ +--- +title: <第三阶段总结-ghost> +date: 2024-12-01 19:38:07 +tags: + - author: +--- + +# 一、前言 +这个月因为一些工作的原因并没有很好的完成课程的学习挑战这些内容,对于课程只看完了宏内核部分。但是我认为我学到了我感兴趣的部分。对于这部分我学习的感受就是是对于之前的os开发的进一步学习,对于unikernel的组件就是之前rustos实现的部分的更加具体的模块化。(虽然我还是在涉及内存以及地址的部分有些不明白) + +# 二、 unikernel + +## 对比裸机和RTOS +对比裸机 这样的组件化操作系统可以更快的添加功能 适配硬件 +对比RTOS 可以更加灵活的做删减 比如替换使用的调度算法 +更像是一种进化的裸机 所有操作系统都是为了应用而存在的 +为应用的功能拆解出各种需要的模块 再拼装成一个只为了这个应用而存在的系统 + +## 系统有关与系统无关模块 +所有的使用的模块都算作是系统无关的 +只有你使用这些系统无关的模块所构成的就是一个系统有关的系统 +说到底就是可替换和不可替换的 +对于一些模块的功能是不可替换的 就可以说是系统相关的 +而对于一部分模块来说就是 可有可无根据需要的特性去选择的就是系统无关的 + +## 我的理解 +感觉就像是发展又发展了回去 一开始都是专业的产品 后面开始做通用性的产品当达到一定程度后又开始专业化 +## 进一步思考 +那就说明这个是一个高度定制化的系统 +目的应该就是在性能更低的平台 来实现更为定制的功能 +所以我理解就是 一个定制产品 而不是一个需要很多额外性能 来在一个通用计算机上实现的产品 +那么我认为 这个系统应该要和芯片相绑定的 甚至这个应该更为适合fpga平台 +来实现真正意义上的软硬一体 +一个从一开始就是为了通用计算设计制造的芯片 +我觉得会成为这样定制性系统的瓶颈 如果发展下去 + +# 宏内核 +相对于unikernl 宏内核增加了一个用户特权级 +这样不同的特权级 让应用更加安全因为不能直接访问到内核内的 + +多伪造了一个所谓的应用态 调用了一次sret来让系统从特权态进入到用户态 +我认为这样扩展出来的宏内核系统 就像是在嵌入式设备中常见的中枢网关 +## 我的理解 +这样扩展ArcOS的内核类型我觉得就像是课里面老师说的对于设备端使用unikernel 对于管理端使用宏内核 +我感觉这是在构建一个分布式的场景 + + +unikernel的异构思想 就是将共同的组件作为基础 +而将不同内核最大的特性作为独立的组件 这样就类似存在多种内核的系统 +通过多种异构的内核 但是其中又使用了共同的模块又能有一定的统一性 +或者说后期的维护 可以由一个团队共同维护一个场景 +可以避免互相不清楚对方的模块导致无法定位问题所在的地方 \ No newline at end of file