一名开发者为Linux创建DOS子系统(DSL)

一名开发者为Linux创建DOS子系统(DSL)
2020年10月01日 11:33 cnBeta

原标题:一名开发者为Linux创建DOS子系统(DSL) 来源:cnBeta.COM

一位来自墨尔本的开发者在冠状病毒封锁期间感到无聊,所以他最终创建了一个DOS Subsystem for Linux(DSL)。这是一个DOS用户迄今为止从未拥有过的工具:类似于Windows 10用户通过Windows Subsystem for Linux(WSL)使用集成Linux环境。

这款DSL背后的开发者是Charlie Somerville,他是一名软件工程师,喜欢系统编程,对复古计算技术很感兴趣,尤其是涉及到20世纪90年代的微软DOS和Windows。

Somerville称他受到了微软的Linux Windows子系统(WSL)的启发,所以他写DSL是为了好玩。一开始,他只是想看看能否让Linux从DOS命令行启动。一旦发生了这种情况,他就想到了更上一层楼,看看一旦Linux运行,他是否能继续执行DOS。

那么,DOS Subsystem for Linux是如何工作的?

DOS Subsystem for Linux就像WSL的替代品,适合那些喜欢在MS-DOS环境下工作的用户。DSL将真正的Linux环境集成到MS-DOS系统中,让用户可以从DOS命令提示符运行DOS和Linux应用程序。

Somerville在一个Hacker News帖子上解释了DSL的工作原理。

"当DSL首次在命令行被调用时,它将启动Linux内核并从DOS中接管计算机的控制权"

DSL使用了一个叫VM8086的处理器功能,它允许一个32位的操作系统运行传统的16位代码,并且大部分是原生的。这种在VM8086下运行DOS的方法其实就是早期Windows、DOS扩展器等的工作方式。Linux内核也支持VM86,不过现在大多没有文档也没有真正使用。这样一来DSL就回到了DOS,DOS就在VM8086任务里面运行了。值得庆幸的是,Linux在自己的启动过程中并没有出现吞噬DOS的内存。

DSL勉强做到了模拟键盘等硬件来工作,从而允许DOS原始硬件访问其他一切。但需要注意的是,在同一硬件上同时运行两个操作系统当然是极其脆弱和不安全的。尽管如此,它似乎出奇地好用。

您可以从这里获取DOS子系统(DSL):

https://github.com/charliesome/doslinux/

新浪科技公众号
新浪科技公众号

“掌”握科技鲜闻 (微信搜索techsina或扫描左侧二维码关注)

创事记

科学探索

科学大家

苹果汇

众测

专题

官方微博

新浪科技 新浪数码 新浪手机 科学探索 苹果汇 新浪众测

公众号

新浪科技

新浪科技为你带来最新鲜的科技资讯

苹果汇

苹果汇为你带来最新鲜的苹果产品新闻

新浪众测

新酷产品第一时间免费试玩

新浪探索

提供最新的科学家新闻,精彩的震撼图片