Windows 95是操作系统吗?[关闭]


49

这个问题可能有点历史性,但是当时我们没有超级用户。

2000年左右,当我开始攻读计算机科学学位时,一个主题是操作系统。老师要求我们列出一些操作系统。我说的是Windows 95。

我立即被击落。Windows 95不在OS上,因为它使用DOS来启动。实际的操作系统是DOS,Win 95只是围绕它的图形包装。

我指出,所有行业杂志都将Win95称为OS,但被告知它们是由外行运行的,作为专业人士,我应该知道更多。DOS是Microsoft唯一的操作系统,至少直到那年晚些时候Win2K出现为止。

所以12年后,我仍然不确定。Win 95可以视为操作系统吗?


24
如果Win95不是OS,那么OS X也不是,因为那实际上只是Unix。
2012年

12
哦,真让我烦恼-我也有一个像那样的教授-我想反编译他。.哈哈-这是一个很好的问题。但是必不可少的bot DOS和Win95是操作系统!告诉他Win95就像今天的虚拟化一样。Win95运行DOS的ONTOP,以扩展其作为操作系统的功能。谁说一台计算机上只能有一个操作系统?应该把他闭嘴。祝您好运
Piotr Kula 2012年

13
as it used DOS to boot up-通过这种逻辑,(几乎)所有操作系统都可以被丢弃而不是操作系统,因为它们运行在BIOS之上。
Izkata 2012年

7
“ DOS是Microsoft唯一的操作系统,至少直到那年晚些时候Win2K出现。”而且,这段时间我一直以为OS / 2(1987)和Windows NT(1993)都是OS ...
CVn 2012年

8
您的教授将在课程中定义操作系统。该定义可能与标准不同。因此,答案取决于教授和要求者对操作系统的看法。
约书亚·谢恩·利伯曼

Answers:


30

我会说是的。首先,Windows 95是32位操作系统,它允许先发制人的多任务处理(让它与16位MS dos形成对比)-dos仅用作引导OS的一种方式,并用于一些与dos相关的功能(NT替换为NTVDM)。它具有自己的驱动程序(例如,用于网络和鼠标),并在一定程度上具有内存管理功能。它处理了磁盘和FS功能。我可能会将其与OS / 2进行比较,该OS / 2还处理dos类型的事情,并且有自己的API。

我记得,与Windows 3.11不同,Windows 9x还与特定版本的dos相关联。我认为“ dos”是Windows的子系统,而不是Windows的子系统。

绝对是一个操作系统。


3
Windows运行时甚至没有直接使用DOS,除了16位设备驱动程序。如果您运行DOS程序,则该程序是在DOS虚拟机中启动的,其中Windows作为虚拟机管理程序(那是1995 :-)。
2012年

@Joey在386增强模式下运行时,Windows 3.1x不能以相同的方式工作吗?
CVn 2012年

并不是我所知道的,但是那也早于我的历史知识。
乔伊(Joey)2012年

“ [Windows 3.1] MS-DOS提示符是一台运行MS-DOS副本的虚拟机。由于它是一台虚拟机,因此就MS-DOS提示符而言,它只是在专用设备上运行而已运行MS-DOS的计算机。实际上,它实际上是在Windows所控制的模拟器中运行的,……” Raymond Chen / The Old New Thing
CVn 2012年

操作系统是机器代码,它为用户提供一种进行交互的方式并接受用户输入,对该输入执行计算以产生输出。因此,按照定义,Windows 95实际上是一个操作系统(或至少一部分操作系统)
Sylvester the Cat

11

我认为这是基于“操作系统”执行的一组定义的操作,并且Windows 95负责所有这些操作,而与DOS无关。

硬件抽象

操作系统的一项工作是将硬件与通用API的交互抽象出来,以便应用程序不需要特定于硬件的支持。

虚拟设备驱动程序(VxD)不在16位DOS环境中,而是在HAL下Windows内核中严格运行的32位代码。

基本的VGA,硬盘,键盘和串行端口访问等一些操作属于使用中断的BIOS领域,但是DOS并没有特别涉及。

加载并执行程序

Windows负责将程序从硬盘加载到RAM中,并开始执行(旧式DOS应用程序除外)。

计划和流程管理

DOS没有多任务可言,Windows 95支持抢占式多任务和多线程。

虚拟内存

Windows允许使用交换文件,以允许应用程序在其本地地址空间中使用比实际可用的物理内存更多的内存。DOS没有这种功能。

我在细节上一直不多说,但想法就在那里。Windows做了“操作系统”所要做的所有事情,除了作为一种预执行环境外,不需要DOS来执行它。


9

早在九十年代,微软就将Windows 95作为操作系统进行了营销。如果这不是最重要的参考,我不知道还有什么是。

最兼容的操作系统-Windows 95使您可以灵活地使用最新的32位应用程序以及现有应用程序。

Wayback Machine上自己看看:

当然,它始终取决于为您定义的“操作系统”。


7
当然,它是作为操作系统销售的,因为消费者会完全了解引导程序,GUI外壳等。当“正常”人听到操作系统时,他们知道它可以“使计算机正常工作”。
MarioDS 2012年

9
关于现实的观点很多,市场营销的观点经常与IT的观点有所不同,并且经常与计算机科学家的观点有所不同。我倾向于不重视营销黄鼠狼的观点,但也许我已经读了过多的Dilbert
RedGrittyBrick 2012年

1
@RedGrittyBrick正如我所说,它仅取决于“操作系统”是什么的“真实”定义。如果没有首先定义,就没有真正的答案。也许我应该拿出Tanenbaum的书?;)
slhck 2012年

2
我不知道这个答案被否决的原因。如果微软称它为操作系统,那么它就是一个操作系统,通常那些有权力的人是不正确的和/或只是白痴。
Ramhound 2012年

2
@Ramhound:我有点想投票。如果Dannon(或其他公司)称呼“草莓酸奶”,那么我不一定会期望草莓。你会?
Hendrik Vogt 2012年

6

如果没有“操作系统”的定义,就无法回答您的问题“是否是操作系统”。如果使用Wikipedia条目作为定义,我们必须回答“是,Windows 95是操作系统”。

MS / DOS是Windows 3.x和Windows 95的启动加载程序。

甚至Windows 3.x都是操作系统。它具有用于访问硬件的设备驱动程序。它为应用程序间通信,内存管理,计时器等提供服务。使用386增强模式,它可以承载16位和32位应用程序。

您可能会说Windows95不是真正的多任务OS。但这不是您老师的问题。

您只需获取一些功能即可处理循环中的某些消息和某些ISR,并且您拥有一个真正的操作系统。完全没有必要进行内存管理,任务或进程。不要比较苹果和桔子,但它们都是水果。


值得注意的是,即使Windows 3.1x也不是严格的16位。在386增强模式(如果满足硬件要求时,默认为IIRC)上运行时,有几个重要部分以32位保护模式运行。维基百科列出的示例包括磁盘访问和(在WfW 3.11中)联网。
CVn 2012年

关于此答案为何被否决的任何评论?
哈珀

5

我会说是的。

它不具有与Win 3.1相同的DOS-顺便说一句,它需要预安装它。

因此,Win95是使用它自己的DOS 7.0及更高版本的数据包。而独立的DOS在1994年停止了6.22。

这有点令人费解,因为Win95当然可以说是DOS的包装,但是我更愿意说,它是基于MSDOS的增强OS的名称。

它基于MSDOS,但与MSDOS 6.22不同-这就是为什么我投票赞成将其作为独立的OS。

我的资料来源-主要是通过德语Wiki找到的;)

但是-我可能会扩展说,在大学级别上,在OS上使用了非常严格的定义-这就是为什么其他定义在此问题上可能会有所不同的原因-使得Win95不是OS,因为所有主要的硬件接口功能仍与DOS6中的相同.22。

我不确定确切的含义,但是我敢打赌,它们与7.0版本并不完全相同,因此使其成为独立的,以Win95的名义发行。


顺便说一句,我很乐意看到另一种论点:)
Jook 2012年

1

嗯 Windows 95(以及扩展名98)始终感觉像是一个应用程序,而不是真正的操作系统。可以肯定的是,它们是在启动时通过DOS下的autoexec.bat启动的。从这种意义上讲,我想它们将不是一个“真正的”操作系统。

我认为它们更像是Linux中的桌面环境。例如,我在工作中运行Arch linux,并在其上运行Xfce。虽然我大部分时间都在使用Xfce,但它不是操作系统,而是窗口管理器,这就是我所说的Win 95。


2
除了Windows 95包含用于窗口管理器自身不关心的东西的驱动程序-声音,外围设备等。它还管理内存,进程,线程,计时器和其他一些东西。
2012年

除了Linux绝对是一个多任务O / S,它具有比MS DOS还要多的功能,并且与Win95相似,而没有桌面环境。
马克·赫德

比较不好。“ Linux”并不是一回事,目前使用的大多数迭代都比DOS更新得多。
Xyon 2012年

1

操作系统是使环境保持为用户运行的系统。

与DOS相比,Windows 95具有不同的内存管理。虽然看起来像dos的东西正在启动计算机,但它不是正常的dos。引导加载程序与众不同。

Windows 95是32位(与dos不同),具有多任务处理(与dos不同),并且在当时其他任何操作系统中都未见过,它是第一个支持即插即用的操作系统。它在使用方面也优于OS2经线。尽管某些程序员喜欢面向对象的接口(对于大多数用户来说这是一种犯罪),但Windows 95在技术上更加先进,尽管有些程序员喜欢OS2扭曲。

Windows 95还是一个为受管理的公司环境设计的操作系统,与Dos在NT3.51之后不同,一种Windows 3.11 Windows 95看起来像Windows NT 4.0和更高版本的开始菜单等,但也有限制用户的策略,它具有注册表等。 Dos不能那样使用。

也许对您的老师来说是新事物,或者他只是


2
我无法立即获得它,但是Amiga甚至在想到Windows 95之前就支持即插即用的一种变体(称为自动配置,IIRC)。几个DOS扩展程序,包括Windows 3.x,都支持(通常是协作的)多任务处理。OS / 2 2.0于1992年发布,主要是32位操作系统,具有抢先式多任务处理功能,并保留了出色的DOS兼容性。NT 3.x和普通Windows 3.x是完全独立的产品线(普通Windows生产线通过95、98,并以WinME结尾)。Windows 2000从技术上讲是NT 5.0,而Win7实际上是Windows NT 6.1。
CVn 2012年

1

它“使用DOS引导”的逻辑是无效的,因为这意味着Linux不是操作系统,因为它使用GRUB进行引导,而现代Windows则不是操作系统,因为它使用NTLDR进行引导。它是否是操作系统取决于它本身是否提供基本服务(例如文件系统访问,任务切换),还是将其留给其他层。还请考虑“ DOS 7”不是真正的产品-Windows 95据称在Windows 95之上运行或用作引导加载程序的所谓“ DOS”的所有组件实际上都是Windows 95的一部分。


1

如前所述,对操作系统的定义提出了激烈的争论,并且在某种程度上已经发生了很大的变化。

通常,操作系统有两个极性定义:

  1. 允许您操作计算机的系统
  2. 操作计算机的系统。

在该行业内,对该术语有很大的分歧,而且我不认为这会在一个问题中得到解决,因此这是我的情况。

在诸如Ubuntu,OSX或Microsoft Windows之类的品牌操作系统领域中,Windows 95当然是一个操作系统。也就是说,与上面的定义1一样,它在一个软件包中提供了允许您轻松与系统交互所需的软件。如果一个操作系统捆绑了另一个操作系统,则那个更大的软件包仍然是一个操作系统。

但是,参考第二个定义,我认为Windows 95是操作系统的补充。它可能具有自己的驱动程序集,但它仍基于MSDOS中的内核。MSDOS是允许系统引导的东西,提供了最低级别的API。

如果您想要一个中间立场,那么我将MSDOS描述为承担更多的引导程序功能(类似于Grub)没有问题,尽管如果它的一部分保留在内存中,那么我认为它必须被视为内核,因此定义2下的“真实”操作系统。

最后,关于那种坚持认为自己的定义是优越的,并且坚持认为其他所有人都应被冠以“错误”的烙印,这种人只是在推销自己的议程而很少成功。


0

我也会说是。

MS DOS不是多任务处理,并且没有WINAPI。

最糟糕的是,您可以说这是WINAPI的多任务窗口管理器扩展,但这(至少几乎是)O / S IMHO。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.