minos 0 前(废)言(话)

简介: 从今天开始开启一个新的系列,讲述虚拟化的那些事儿。时隔上次发文又隔了好几个月了,主要是平时工作比较忙,没太多时间精力维护博客之类的。
  • 首发微信公号:Rand_cs

minos 0 前(废)言(话)

从今天开始开启一个新的系列,讲述虚拟化的那些事儿。时隔上次发文又隔了好几个月了,主要是平时工作比较忙,没太多时间精力维护博客之类的。

前一个系列 SELinux 没写完,但也不算太监,比较重要的基本都介绍了。剩下的就是 Linux 中关于 SELinux 驱动以及 libselinux 中的代码,关键部分的代码我基本捋了一遍,有些多,我也就懒得花时间整理了,我估计这玩意儿也没多少人感兴趣,懂这原理后实际用处也不大,感兴趣的可以去瞅瞅这代码,有问题的可以找我交流。SELinux 这东西应用是最重要的,就是策略,策略才是核心。这个在 Android 可能用的比较多,添加服务,应用,cts 测试等等可能都会遇到过 SELinux 策略的问题。从接触到现在,我也解决过许多 SELinux 兼容性的问题,简单的问题网上解决方式一大堆,比较复杂的 case,碍于公司事项,也不好实际拿出来讲,所以 SELinux 应用方面也就先不讲述了,这个系列就先到此为止,后面有缘再续。

回到虚拟化,虚拟化一直是我感兴趣的方向,工作之余一直有慢慢抽时间去了解学习。从课堂上接触到操作系统的时候,那是还是一个小菜鸟,对于操作系统课程各种抽象的说辞很是不解,为此去仔细研究了 xv6,基本做到了每行代码细细研究,终于对于操作系统有了一个比较直观的认识。至少说,虚拟内存、进程线程、上下文切换、shell 程序等等这些当时对我来说特别抽象的名词有了清晰的认识,并且从硬件到软件明白了它们是如何工作的。我印象最深的就是 shell 程序,当时书上还有老师给来了一句抽象的解释,shell,壳儿嘛,包裹着内核,通过 shell 程序我们执行命令程序,进入内核。当时我就直接懵逼了,,,这,这,这,可以这么解释的嘛。

又扯了太多,深夜写文章就是话多哈哈哈哈,再次回到虚拟化。虚拟化的话题也很大,而这个系列主要集中在 type1 类型的虚拟化。对于虚拟化相关的文章,网页上很多,写得很好的不计其数,我印象很深的,知乎上有个叫兰新宇大佬的博客,写得很好,推荐:https://www.zhihu.com/people/lan-xin-yu;

但总的来说,还是抽象了,没有落到实际的代码,有些东西终究模糊。源码之下,了无秘密,还是得看代码去学习虚拟化的一些知识。平时精力有限,一些耳熟能详的虚拟化方案太复杂,不太适合直接上手阅读学习。在网上搜索了一番,终于找到了一款小巧功能完整的 type1 类型的虚拟化方案。

此项目地址:https://github.com/minosproject/minos/tree/master 。看名字应该是一位叫做 乐敏 的大佬的项目,感谢这位大佬的项目,让我们有机会更加深入的接触到虚拟化的世界。

此项目的代码关键部分基本看完了,可以拿出来和大家分享分享。这次讲述可能不会像之前 xv6 那样详细到每行代码,大部分只是捋一下流程,有代码的那种比较清晰的流程。主要包括以下几个方面:

  1. 内存虚拟化,也就是 hyp 如何对内存进行管理的
  2. CPU 虚拟化,也就是 hyp 如何对进程进行管理的
  3. 中断虚拟化,捋清楚在有虚拟化的情况下,各种中断是如何路由与处理的
  4. IO 虚拟化,也就是虚拟机之间,虚拟机与 hypervisor 之间,虚机与物理硬件之间等等如何进行数据交互的

核心的大概就上面这些,其他的随缘,后面看时间精力来吧。目前这个系列前半部分——主要讲述上述虚拟化流程,基本已经写完了,这也是为什么搁了那么久才发文的一个原因,想着自己对 minos 有个整体把握,相关文章初稿都写完后,再慢慢发出来。

  • 首发微信公号:Rand_cs
目录
相关文章
|
3月前
|
数据安全/隐私保护 数据格式 Python
不服来试试,Excel中被吹上天的Ctrl+E,到底有多厉害?
不服来试试,Excel中被吹上天的Ctrl+E,到底有多厉害?
35 1
|
算法 程序员 数据安全/隐私保护
2022 年终总结|怎样写出一篇还不错的文章
2022 年终总结|怎样写出一篇还不错的文章
77 0
|
Windows
写文章狗屁不通,怎么办?跪求高人指点!
写文章狗屁不通,怎么办?跪求高人指点!
188 0
写文章狗屁不通,怎么办?跪求高人指点!
|
程序员 Android开发 iOS开发
程序员五一修图小贴士
程序员五一修图小贴士
153 0
程序员五一修图小贴士
|
算法 C++ 容器
好记性不如烂笔头——C++篇
好记性不如烂笔头——C++篇
好记性不如烂笔头——C++篇
超火 3D 照片墙,你学废了吗?
超火 3D 照片墙,你学废了吗?
151 0
|
Java 程序员
吐血推荐
吐血推荐
109 0
|
SQL 运维 NoSQL
一则正经的招聘启事
阿里云数据库团队期待你的加入
835 0
一则正经的招聘启事
|
Python
情人节快到了@!没想好送什么礼物吗?python为你打造一款表白神器,瞧好了你
前言马上情人节了,送什么给你女神呢。鲜花?口红?香水?还远远不够!再写一个告白程序,给她一个惊喜!那才刚刚好,保证是最特别的礼物! 我们做所有事情都要有一个思路, 写一个程序也不例外,本文代码分为了4个步骤 引用tkinter工具包 关闭所有窗口 定义不喜欢按钮的提示 窗口不能关 引用t...
2138 0
|
芯片
假如一瞬间让所有人拥有世界上所有的知识 | 20181116奇葩说犀利言句摘录
“美国经济学家 诺奖得主西奥多·舒尔茨 研究结果:当社会的平均受教育水平更高的时候,贫富差距会越来越小——一旦共享知识了,人人变得更博学了,那个这个世界,将会每个角落的贫富差距都会在缩小,寒门将出更多的贵子” 人类文明最大的教训,就是对技术的警惕,对人性的宽容; 人类文明最大的经验,就是对技术的宽容,对人性的警惕。
1125 0