MF35_
发表于 2024-10-31 10:29:22
本帖最后由 MF35_ 于 2024-10-31 10:30 编辑
JuncoJet 发表于 2024-10-31 09:34
只能说98设计的不行,Linux 同样是宏内核,虽然有些变种接近于混合内核的设计
但大多数高性能的东西集 ...
是的,这跟宏内核还是微内核没关系,宏还是微只是技术路线不同,没有优劣之分。
Win98之所以问题很多,其实不是技术问题,而是为了兼容性。Win95年代的PC,依然需要兼容很多的DOS程序,虽然处理器可以用VM86模式运行DOS程序(Win95下的DOS程序也确实是这么运行的),但当DOS程序使用DOS系统调用时(BIOS INT和DOS INT),内核必须为其提供完全的VM86模式驱动,要在VM86模式完全兼容DOS接口,这简直是不可能完成的任务。
所以微软只能在Win95内核中保留DOS内核,当运行于VM86模式下的DOS程序进行系统调用时,Win32位内核会捕获这个行为,然后内核短时间切换到16位实模式去执行DOS代码,执行完后再转会保护模式,并把执行结果反馈给VM86模式下的DOS程序,让DOS程序看起来就像“真的”访问了DOS一样。
这种方法和纯32位内核有什么区别?很简单,看看比Win98甚至Win95更早的NT内核,它是纯32的内核,明显的区别是它无法运行任何带有低级硬件访问的DOS程序,而Win95和Win98可以运行大多数带有低级硬件访问的DOS程序(有一些设计的比较奇葩的不行)
而既然保留了DOS内核,那么DOS内核和Win32内核对硬件的访问是必须要同步的(比如DOS程序和Win32程序同时访问文件系统),这又是一个神坑,既然如此,Win32内核的一些硬件访问,也通过DOS内核来完成不就解决了?当32程序调用某个系统调用,比如读写文件时,内核同样转到16位实模式由DOS的文件服务来完成,然后再把结果反馈回32位程序的接口,于是奇葩的Win95内核诞生了;P ,而Win98本质是Win95的延续,而这种方式实现的内核,稳定性很差,而且漏洞多的都不用找。
所以Win98稀烂,是因为它源自更稀烂的Win95,而Win95稀烂,是为了照顾DOS程序,这是由Win95的定位决定的,也是时代的局限性。微软能不能开发一个可以兼容DOS程序的纯32位内核呢?理论上是可以的,就是我前面说的“由32位内核为VN86模式虚拟一个完整的DOS环境”,但实际上如果对PC操作系统内核开发有所涉猎,就很容易明白为x86处理器的VM86模式开发完整的DOS内核驱动是不现实的,因为x86的VM86模式本身都无法实现实模式的全部功能,为其开发完整的DOS内核驱动就是一个笑话。
所以为了兼容DOS程序,微软在Win95内核设计上的选择,就基本是必然了,Win95的绝大多数问题,也都是由这个设计导致的,抛开这个设计带来的不稳定性,Win95显然是个划时代的产品。而当时微软并非做不出稳定的产品,比如同时代的NT,它没有使用Win95的设计,自然就没有Win95的问题。
JuncoJet
发表于 2024-10-31 11:05:14
MF35_ 发表于 2024-10-31 10:29
是的,这跟宏内核还是微内核没关系,宏还是微只是技术路线不同,没有优劣之分。
Win98之所以问题 ...
用95还在小学
用98初中
这个接触不多,只知道98非常的不稳定
随便一个 ini 文件都可以导致电脑崩溃
曾经用98的学生机黑进老师讲台的Win2000
利用IPC管理接口黑进去,然后使用at命令定时启动远程命令
感觉95比98稳定一些,也有可能小学电脑水平低错觉
leinuo
发表于 2024-10-31 11:11:20
装老系统建议你用虚拟机运行,这样省得重装系统了。
vvv64
发表于 2024-11-5 14:11:47
虚拟win98也好用的,而且启动快运行快,省去了安装驱动的烦恼
lwjw999
发表于 2024-11-27 10:53:45
在用,865芯片组775针接口外带原生AGP,E8600处理器,不过只支持单核,也可以换成奔腾4单核高频的。内存大的话而要限制一下,不要超过512M,AGP显卡GF6系列的基本都支持98系统。纯情怀偶尔开机怀旧下,实际作用不大!
孤独疯子
发表于 2024-11-28 10:16:39
wei98你在奔腾4上装,问题不大,最方便的就是在虚拟机里装,然后把USB映射或直通到虚拟机里就可以了
孤独疯子
发表于 2024-11-28 10:23:25
win98实体机上安装太麻烦,主要是驱动的问题最头大了
天门冬
发表于 2024-11-28 13:50:24
保留一台低功耗老电脑,XP系统,给家里人玩游戏:time: