@qinyun
2018-09-07T15:54:23.000000Z
字数 2395
阅读 1598
未分类
Windows 95是微软的那个操作系统吗?可以说是,也可以说不是。顾名思义,Windows 95就是指微软在1995年8月24日推出的操作系统,然而,也许是为了庆祝它23岁的生日,有开发者竟然将Windows 95打包成了一个App,并开源在GitHub上,一天内Star数就超过了4k,目前已经突破11k了。
它实际上是一个基于Electron 的原生App,支持Windows、macOS和Linux,也可以在Docker中运行,而且还可以运行Doom游戏,但建议在640x480的分辨率和256色模式下运行DOS游戏,会有一股很浓的复古怀旧风哦!
请看下面的截图:
运行X-Server Display并安装Docker,然后启动Docker:
docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY --device /dev/snd --name windows95 toolboc/windows95
要求系统安装Xming和Docker,然后按照以下步骤操作:
1.启动Xming X11 Server
2.获取宿主机器的IP地址
3.将IP地址添加到X0.hosts(这个文件在Xming的安装目录)中
4.运行下面的命令,并将替换成第二步获得的IP地址:
docker run -it -e DISPLAY=<XmingServerHostIp> --name windows95 toolboc/windows95
Windows 95重度依赖了v86这个开源的JavaScript虚拟环境,所以,想要了解Windows 95,了解v86就够了。
v86是一个基于JavaScript的虚拟环境,可以运行在浏览器和NodeJS中运行。在浏览器打开这个链接(https://copy.sh/v86/?profile=linux26)就可以看到你的浏览器变成了一个Linux操作系统。当然,它也可以加载Windows 98和其他Linux发行版。
很简单,创建一个HTML文件,把下面的代码贴进去,保存,用浏览器打开就可以了。这是一个最基本的操作系统。不过,前提是要把相关的JavaScript库和镜像文件下载到本地。
<!doctype html>
<title>Basic Emulator</title><!-- not BASIC! -->
<script src="../build/libv86.js"></script>
<script>
"use strict";
window.onload = function()
{
var emulator = window.emulator = new V86Starter({
memory_size: 32 * 1024 * 1024,
vga_memory_size: 2 * 1024 * 1024,
screen_container: document.getElementById("screen_container"),
bios: {
url: "../bios/seabios.bin",
},
vga_bios: {
url: "../bios/vgabios.bin",
},
cdrom: {
url: "../images/linux.iso",
},
autostart: true,
});
}
</script>
<!-- A minimal structure for the ScreenAdapter defined in browser/screen.js -->
<div id="screen_container">
<div style="white-space: pre; font: 14px monospace; line-height: 14px"></div>
<canvas style="display: none"></canvas>
</div>
v86模拟了与x86兼容的CPU和硬件,以下是v86模拟的硬件清单:
与x86兼容的CPU,相当于奔腾1的指令集,主要包括:
任务门、在保护模式下进行远距调用
16位的保护模式
单步
MMX、SSE
一系列FPU指令
异常
一个浮点数单元(FPU),使用JavaScript的双精度(64位)执行运算,所以精确度不如真实的FPU(80位)。
软盘控制器(8272A)。
8042键盘控制器、PS2,支持鼠标。
8254可编程间隔定时器(PIT)。
8259可编程中断控制器(PIC)。
CMOS实时时钟(RTC)。
通用VGA显卡,支持SVGA和Bochs VBE扩展。
PCI总线,这个模拟的硬件并不完整,毕竟不是所有设备都会用到。
IDE磁盘控制器。
NE2000(8390)PCI网络接口卡。
virtio文件系统。
SoundBlaster 16声卡。
可以通过v86运行的操作系统清单:
Tinycore(3.16,4.8内核)
Nanolinux
Archlinux(会出现一些警告)
ReactOS
FreeDOS、Windows 1.01和MS-DOS
KolibriOS(某些应用需要依赖SSE)
Haiku boots(启动很慢,可能需要30分钟)
Windows 1、3、95、98
Windows XP(不稳定)
FreeBSD
Windows95二进制包下载地址:https://github.com/felixrieseberg/windows95
v86:https://github.com/copy/v86/
v86操作系统镜像下载:https://github.com/copy/images