TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Myth: Windows 3.1 was just a shell on top of DOS

55 点作者 CA0DA将近 2 年前

13 条评论

wzdd将近 2 年前
This is glib to the point of being misinformation in the other direction.<p>1. All Windows native apps were cooperatively multitasked. Only DOS boxes were pre-emptively multitasked. When your GUI locks up because some random app got into an infinite loop you&#x27;re not going to sit there thinking &quot;Oh goody, my dos box is still usable (or would be, if I could switch to it)&quot;.<p>2. Even then, virtual x86 mode was a 386-only feature. Windows on older machines ran in &quot;standard mode&quot; which featured no pre-emptive multitasking at all (DOS boxes only ran in the foreground).<p>3. DOS as a whole was not unloaded, only the command line portion, COMMAND.COM, was. (This was how DOS was designed to work, to free up as much memory as possible for th foreground program). Device drivers (.SYS) stayed loaded, because...<p>4. Windows could use DOS drivers, and it was very common, particularly in the early days, to have a CD-ROM or network device which didn&#x27;t have native Windows support. For these devices Windows would call the DOS routines as usual. (I&#x27;m pretty sure, but not certain, that this was the only route Windows would take on non-386 machines.)<p>On the other hand, on 386, it was indeed possible to configure Windows in 386 Enhanced Mode with the correct driver set such that it was not using any DOS services, and you could run as many DOS boxes as you liked without fear of one of them locking up the rest of the system.
Aleklart将近 2 年前
It was not just a shell, but all other stuff is presented like microsoft sales memo. It had basic supervisor code that used intel v86 in protected mode and you can hang whole system with single call anytime. Guess what else can do it - Novell DOS 7. Win32s was much more of OS than windows 3.1
JoeAltmaier将近 2 年前
DOS provided a tiny fraction of what Windows provided?<p>A full kernel acts as gatekeeper to system resources. While DOS provided access to some resources, it was single-process and so had no gatekeeping. No concept of different pools of resources, different lifetimes of activity. No comprehensive cleanup.<p>Half of a kernel (or more) is taking things from one list and putting them on another list, so when something exits or dies or faults, it can release resources that were allocated to the dying thing.<p>The hardware access was the lowest, simplest part of that. And DOS used the BIOS anyway, for half of what it did (floppy drivers etc). Which meant it had not a chance in hell of performing well (executing out of ROM or whatever).
评论 #36037080 未加载
troad将近 2 年前
This is a fun little bite-sized post, but I wish it tackled more of the nitty-gritty.<p>Does anyone know of any write-ups on the architecture of early-90s Windows that are more in depth, now that this has whet my appetite? (Or other OSes of the era, come to think of it?)
评论 #36038022 未加载
musicale将近 2 年前
In spite of Microsoft&#x27;s best efforts, Windows 3.1 ran fine on top of DR-DOS or Novell DOS.
评论 #36042127 未加载
https443将近 2 年前
I always thought this was true.
评论 #36035579 未加载
stuaxo将近 2 年前
I wonder if anyone has managed to run windows apps in seperate vms just like the dos apps were (could you even start Windows in standard mode in one somehow)
评论 #36042149 未加载
Dwedit将近 2 年前
What about Windows running in Real Mode or Standard Mode?
评论 #36042273 未加载
评论 #36100986 未加载
nurettin将近 2 年前
As a teen I was surprised that I could run multiple pascal programs (one reading COM and the other reading LPT) at the same time while within the win16 environment.<p>It was very slow compared to running on native DOS, so obviously some time partitioning shenanigans were afoot.
luckystarr将近 2 年前
Back in the 90s I found out that when you loaded Windows from DOS, performance of many DOS programs actually <i>improved</i> as compared to them running under DOS directly. This alone contradicts the &quot;shell&quot; theory.
musicale将近 2 年前
&gt; Win386 ran individual &quot;V8086&quot; processes -- which was a key feature of the Intel 386 processor running in Protected Mode -- in a completely preemptive multitasking way.<p>What about Win286&#x2F;running Windows 3.1 on an 80286?
评论 #36037927 未加载
hulitu将近 2 年前
&gt; Myth: Windows 3.1 was just a shell on top of DOS<p>He just made statements without any backing. Pathetic.
评论 #36040275 未加载
piperswe将近 2 年前
Windows 3.x and 9x are &quot;shells on top of DOS&quot; the same way that Linux can be a &quot;shell on top of DOS&quot;: <a href="https:&#x2F;&#x2F;github.com&#x2F;haileys&#x2F;doslinux">https:&#x2F;&#x2F;github.com&#x2F;haileys&#x2F;doslinux</a>
评论 #36041897 未加载