一个隔开hal与langsys,用户态专用OS的设想

简介: 本文关键字:efi based os,native hosting oriented OS与 APP hosting oriented OS,将OS编程与硬件编程独立,将用户OS变为真正的APP空间。新dbcolinux和goblinux设计。

本文关键字:efi based os,native hosting oriented OS与 APP hosting oriented OS,将OS编程与硬件编程独立,将用户OS变为真正的APP空间。新dbcolinux和goblinux设计。

在《一个设想基于colinux,the user mode osxaas for both realhw and langsys》中,我们开始提到了一种用特定host/guest OS组合同时作装机和作app hosting for langsys的思路,主OS用来装机,guest os作用户空间的通用程序托管runtime/移殖层子系统/app容器/特定语言系统面向的开发运行langsys backend baas,—— 这种思路实际上是最初级的用双系统方案来解决分离传统OS和APP容器OS的思路。因为传统的docker式独霸业界的方式我始终无法完全接受,我想找到一个能用于本地实地远程装机运维,能用于开发和集成devops的虚拟化层面,这种层面要能用于legacy native方式,要以科学的集成方式在它应处在的层次,而不是现在docker和裸金属这样,高阶,仅用于云。

鉴于此,我一直在找这方面的案例和整合方法,一些努力在我们的后来的文章中被频繁提到,如在《兼容多OS or 融合多OS?打造实用的基于osxsystembase的融合OS管理器》《一种追求高度融合,包容软硬方案的云主机集群,云OS和云APP的架构全设计》《去windows去PC,打造for程序员的碎片化programming pad硬件选型》中我们提到了其用于不同硬件平台融合和移殖子系统的用途部分,在《群晖+DOCKER,一个更好的DEVOPS+WEBOS云平台及综合云OS选型》《hyperkit:一个full codeable,full dev support的devops及cloud appmodel》中我们谈到了其用于appcontainer,devops和云架构,appmodel的部分。在《打造一个Applevel虚拟化,内置plan9的rootfs:goblin(1)》中,我们将其用到了具体APP(将plan9 rootfs集进app,treats os logic and app logic together,把file作为APP的逻辑)层。—— 以上其实都是结合使用二种one host/one guest或多种one host/multiple guests的架构,使之职责分离成硬件OS(传统OS)和APPOS的职责的具体过程,算是开头提到的那个初级思路的延伸。

最后,我在《DISKBIOS:统一实机云主机装机的虚拟机管理器方案设想》,《DISKBIOS:一个统一的混合OS容器和应用容器实现的方案设想(2)》希望将它整合成一个PE层。于是用了diskbios这个用词:它是从bios开始做起的。是通用高级BIOS。最后,我们在《一种追求高度融合,包容软硬方案的云主机集群,云OS和云APP的架构全设计》《一个matepc,mateos,mateapp的goblinux融合体系设计》,《ubuntu touch: deepin pc os和deepin mobile os的天然融合》中提到了它用于第二PC的例子,—— 这都是选型研案,在整个《XAAS:the final all in one os》实践部分,我们在一步一步实现这样的一个系统:dbcolinux+goblinux。

新DBcolinux方向:dbcolinux based on efi

而如今,这种整合思路有了新的方向。

因为在《一个统一的bootloader efi设想:免PE,同时引导多个系统》中我们谈到这项工作可以做成EFI。那篇文章中我们还谈到EFI实际上可以发展为pe的替代,比如它可以发展内存管理相当于一个OS代替PE OS,更复杂化还可以集成hypervisor,这样做的好处是可以在一台PC上并行boot主OS和host os。同时作主PC和第二PC也可以自由分离。且可以用于云。同时不再需要另外的recovery。

其实在这个架构中,已经没有了HOST OS,所有的OS都是平等的。而且它还可以有另外一个天然的附带作用。—— 如果hypervisor足够简小。它可以以足够轻量化的方式本身成为一个可用于OS也可用于APP的架构。这样结合我们上面谈到的《hyperkit:一个full codeable,full dev support的devops及cloud appmodel》《打造一个Applevel虚拟化,内置plan9的rootfs:goblin(1)》。我们完全可以集进诸如hyperkit所用的虚拟机xhyve。这样,移殖层,融合,容器,applangsys backend baas,都可以以更简单和自然的方式达到了。

我们当然也可以组建传统的host/guest,我们也可以发展一个主OS。在这个主OS里组建复杂的OS生态系统。如vpnkit,datakit那样。做复杂的OS或容器集群。

新作用:goblin based on efi

还有一个更重要的特色,由于所有的OS都是用户态OS了。它分离了传统OS的职责。hal,mm等层面可以完全从用户态OS中分离出去,保留在那个efi os中。用户态的OS都是单一职责的app hosting os,这样的OS就是直接面向APP的了,可以叫APP OS。这样就降低了APP开发者的学习难度。也降低了通用编程学习新手的入阶难度— 因为它们从此不用再学习任何系统知识,处理任何系统编程。在APP os层面可以专心与一门语言绑定,或专心融入一种问题,或抽象方法,如plan9 all is file的理念,变成纯粹面向domain的专用OS。


(此处不设回复,扫码到微信参与留言,或直接点击到原文)

qrcode.png

相关文章
|
1月前
|
Linux 开发者
微处理器移植Linxu的GPIO操作
微处理器移植Linxu的GPIO操作
11 0
|
3月前
|
Linux API
设备树知识小全(八):中断连接
设备树知识小全(八):中断连接
67 0
|
9月前
|
Ubuntu Linux 编译器
字符驱动设备原理及其相关函数(一)
字符驱动设备原理及其相关函数(一)
76 0
|
4月前
|
供应链 芯片
一种LED驱动专用控制电路
一、基本概述 TM1620是一种LED(发光二极管显示器)驱动控制专用IC,内部集成有MCU数字接口、数据锁存 器、LED驱动等电路。本产品质量可靠、稳定性好、抗干扰能力强。主要适用于家电设备(智能热 水器、微波炉、洗衣机、空调、电磁炉)、机顶盒、电子称、智能电表等数码管或LED显示设备。 二、基本的特性说明 采用CMOS工艺 显示模式(8 段×6 位~10段×4位) 辉度调节电路(8 级占空比可调) 串行接口(CLK,STB,DIN) 振荡方式:内置RC振荡 内置上电复位电路 内置数据锁存电路 内置针对LED反偏漏电导致暗亮问题优化电路 抗干扰能力强 封装形式:S
48 5
|
9月前
|
Linux
字符驱动设备原理及其相关函数(二)
字符驱动设备原理及其相关函数(二)
36 0
|
11月前
|
芯片
具体单板的按键驱动程序(查询方式)-以IMX6ull单板为例子
具体单板的按键驱动程序(查询方式)-以IMX6ull单板为例子
74 0
|
传感器 定位技术 数据处理
ARM裸板开发——UART通信方式及使用(一)
ARM裸板开发——UART通信方式及使用
212 0
ARM裸板开发——UART通信方式及使用(一)
|
缓存 芯片
ARM裸板开发——UART通信方式及使用(二)
ARM裸板开发——UART通信方式及使用
164 0
|
Linux 开发者 Perl
zynq操作系统:Linux驱动开发AXIDMA补充篇 多路DMA
Linux驱动开发AXIDMA补充篇 多路DMA
896 0
|
Linux 开发工具 git
UART子系统(十五)编写虚拟UART驱动程序\_实现数据传输
UART子系统(十五)编写虚拟UART驱动程序\_实现数据传输
231 0
UART子系统(十五)编写虚拟UART驱动程序\_实现数据传输

热门文章

最新文章