麻烦给我解释一下UNIX,windows,Linux,DOS的区别好吗

不需要讲的很详细。 就分别说一下什么单用户,多用户,多任务,分时处理。
最新回答
长歌与行

2024-04-16 00:00:19

这些都是操作系统。好吧,你知道。

Unix 是最早也是最成熟的操作系统,到今天还是操作系统的典范,定型于1970年代,应该说是1972年。它是商业产品,价格昂贵,而且运行在小型机、工作站上(现代的 Unix 也可以运行在 PC 上了,主要是各种 BSD),所以硬件也很昂贵。Linux 是一帮程序员山寨 Unix 的结果,从一开始(发布于 1991 年)就是开源的,至今仍是。Linux 的开发标准遵循着 POSIX,而后者本来是为规范 Unix 而制定的(因为 Unix 有多家开发商),所以,现在 POSIX 就不再限于 Unix 了,而是 Unix 和类似于 Unix 的操作系统(主要是 Linux)共同遵循的标准。反过来说,由于有共同的标准,这些操作系统的用户体验基本上是一致的。当然,系统管理员(超级用户)可以感受到一些不同,程序员当然就会感受到更大的不同了(这也要看程序员涉及内核的深度)。

Linus 当初山寨 Unix 的目的,除了好玩、初试锋芒之外,还有一个目的就是要在 PC 上建立一个类似于 Unix 的操作系统,而且是自由 (free as freedom, 我的理解,主要包括开源、免费、容许修改代码和一定程度上的商业化这几大方面)。这些目的在今天都被 Linux 实现了。

前面说到 Unix 的硬件要求很高,软件费用也很高。从 1980 年代开始,还有苹果公司的 Macintosh,运行于 PC 机上。这是当时风靡全球的“苹果机”。但是苹果公司是软硬件一体出售的。比尔·盖茨就购买了 DOS 操作系统,修改之后运行在 IBM 兼容(也就是遵循 IBM 的标准)的 PC 上,由此造就了微软公司。DOS 是一个非图形化的操作系统,而 Windows 系统则是微软更新换代之后的产品,有一个图形化的界面。微软早期的成功主要是瞄准了低端的 PC,同时对硬件没有专一性(只要是 IBM 兼容的即可),所以顺利地抢占了 PC 市场,造成了今天 Windows 在 PC 上独大的局面。

Unix 系统(包括 Linux 系统)在设计上是层次化的,从物理硬件、内核、库函数、应用程序、用户界面逐次升高,用户所接触的就是用户界面以及输入输出设备。用户界面可以是非图形化的,也可以是图形化的。粗略地理解,用户界面(不管是图形化的 sh, bash, csh, tcsh 等等,还是非图形化的 Gnome, KDE, Xface, Enlightenment 等等)好比操作系统的衣服(这些衣服下面还有内衣,叫做 X Window,注意:Window 是单数的,微软的 Windows 是复数的),用户可以轻松地任意更换。微软的 Windows 则不是这样的,它的图形化界面与操作系统是一体的,好比人的皮肤,硬换的话就是一场大手术。

至于多用户、多任务、分时系统,就说一下用户体验吧。1994 年的时候,我开始接触 Unix,那是 SUN 公司的工作站,几十万美元一台,我所在的研究所里面一开始只有一两台,后来陆续买了几台,算是相当阔的了,而且还能联网。一台工作站引出了好多终端,其中只有一个图形化的终端(一台彩色显示器、一个鼠标、一个键盘),此外还有好多个非图形化的终端(每个终端包括一台字符型显示器,不支持中文,配一个键盘)。每个终端上可以有一个用户,实际上还可以有其他用户通过网络(早先是用 telnet 程序,现在基本上被更安全的 ssh 替代了)登录进来,所以,同时登录的用户数目完全可以多于终端的数目。这些用户同时“在线”,各干各的,互相不会影响。一个用户甚至可以重复登录,例如,我用一个终端登录之后,还可以通过 telnet 再登录同一个系统或者其他机器上的系统(只要有网络连接、用户帐号和密码即可)。不同用户的文件分别存放在各自的主目录 (home) 下,彼此之间能否窥视、更改或运行,则要看那个文件(或目录)的权限设置,权限设置由文件或目录的主人通过 chmod (或者图形界面所提供的工具) 来掌握。当然,系统的超级用户 root 无所不能,基本上就是这个系统的上帝。这就是多用户系统的特点。

能够同时支持多个用户登录,这样的系统肯定是多任务的,因为每个用户都要提交任务,系统不能顾此失彼,也不能厚此薄彼。实际上,一个用户还可以陆续提交多个任务——在字符终端上,只要把提交的任务推到后台去运行,就可以接着提交下一个任务;在图形界面上,只要开多个虚拟终端,一个终端提交一个任务,或者在同一个虚拟终端里面把任务一个个推到后台去运行,再或者,用鼠标咔咔咔一通点击,这些都是同一个用户提交多个任务的办法。除非已经提交的任务(进程)数达到了系统的极限边缘,或者占用的资源(内存、输入输出)已经不堪支用,这时候会感觉到不时卡住的现象,否则很难觉察这些任务之间的相互影响。

这些任务在 Unix 系统中被称作“进程”(process)。一台计算机可能有多个 CPU(工作站通常有很多个 CPU),在每一个瞬间,一个 CPU 最多运行一个进程,所以,从本质上,一个 CPU 只能支持一个进程。但是操作系统的功能之一就是进程管理:在第一个微小的时间段内运行进程 A ,然后把它的状态存储起来(把进程 A “挂起来”),在下一个微小的时间段内再运行进程 B,随后“挂起来”,再去运行进程 C……,之后再回头把进程 A 的运行状态读进来,运行一小段时间再挂起来,就这样不停地循环。由于这种进程间的切换在用户和终端(例如打印机、光驱、显示器、网卡、声卡)看来非常快,所以就造成了多个进程在“同时”运行的错觉。这就是分时系统的特点。分时系统的核心之一就是进程管理,它不一定按照固定的次序在各个进程间循环,而是要给不同的进程以不同的优先级(优先级高的首先运行),同时还要响应各种硬件、软件的中断。

抛开了市场占有率,单纯从操作系统的性能、设计思想上来看,Windows 在现今流行的几款操作系统中都是最垃圾的,但是市场就是遵循成王败寇的丛林法则,没有办法。
相逢即是缘分

2024-04-16 00:36:06

好吧,其实也很简单。
首先是全世界最出色(出名)的操作系统——Unix。
Unix是一款多用户,多任务的操作系统,诞生于贝尔实验室。由于Unix的诞生,世界各地计算机行业,统统转头投资Unix,常见的BSD系列、Sun系列等。
Windows是微软公司的操作系统,一个图形操作系统,Windows帮助了比尔盖茨实现了——让每个人的桌子上都有一台计算机。他成功了,Windows占领了家庭用户的市场。Windows是多任务,但是Server 2003以前的系列,统统都是单用户,Server 2003以后的产品,都是多用户。

Linux是美国一个芬兰人(Linus)写的一个操作系统内核,有人称Linus是一个黑客,当然,我不是美国人,我不清楚。Linux内核的编写,灵感部分来自Minix的源代码(Minix是一个美国的大学教授编写的类Unix操作系统),Linux属于类Unix,这点无可否认,他们有着相同的外表,相同的接口,为什么为了兼容性要提供所有Unix的API,这点可以看出,Linux就是类Unix。另外,Linux的所有源码例程均来自GNU公司,所以现在的Linux统统称为GNU Linux。Linux是多用户、多任务的操作系统。
DOS是分为两个系列,Microsoft DOS和IBM DOS。话说微软公司用DOS骗了IBM,后来微软公司自己开始研发DOS操作系统,当然这个只是电影里的东西,具体不详,这种东西我是连媒体都不信的。DOS是微软公司的第一个操作系统,可以发现Windows还是有很多DOS的东西。DOS是单用户、单任务的。
介绍完了,我来解释下名词。什么是单用户?指的是操作系统在运行的时候,只能有一个用户在上面操作。什么是多用户?多用户指的就是操作系统运行时,可以有多个用户同时操作,并且用户可以相同,Unix和Linux的终端,你可以试试。同时登陆几个用户都是没问题的。但是Windows不同,像XP,你可以先登陆一个用户,然后用另外一个Windows,远程桌面该用户,你会发现,用户被替换了,原本的windows上的用户锁定了,这样的问题,在Server2003之后的系列就不会。可以同时登陆多个Administrator。
什么是单任务,DOS就是单任务,指的是只能运行一个程序。内存只有一个用户程序在运行,你必须等程序运行完才能运行其他的程序。多任务,指的是可以一次运行多个程序,并且不需要等待运行完成,多任务其实就是并行技术。
分时处理?你还是看看百度,比我说的更清楚。其实就是共享处理,也就是说用一块内存来处理多个任务。这个东西,现代操作系统都有吧,当然DOS这种老古董就相提并论了。
锁骨草莓印

2024-04-16 00:21:36

单用户的操作系统,在同一时间,只能有一个用户的任务被执行。就像windows,虽然你可以同时登录几个用户,但是在同一个时间,只能有一个用户可以执行任务。
多用户就是可能多人同时登录一台计算机,同时运行个人独立的任务。linux和unix就是这类行的,还有苹果机也是多有用户,多任务的操作系统。因为苹果的操作系统是基于bsd的,bsd也是unix操作系统。
多任务就是同一时间可以执行多个任务,也就是执行多个程序。windows,linux,unix都是多任务的操作系统。
分时处理是多实现多任务的一种机制,一个cpu在同一时间只能进行一个进程的处理。所以要实现多个任务同时执行,就需要在多个进程之间切换。从字面意思就可以理解,分时就是区分时间。分时处理就是每个进程执行一段时间,然后又切换到另一个进程。因为切换的速度很快,我记得linux好像是10毫秒吧。所以看起来就是多个任务同时执行。
路人

2024-04-16 00:25:51