五千年(敝帚自珍)

主题:请教个问题 -- 猫元帅

共:💬31 🌺1
分页树展主题 · 全看首页 上页
/ 3
下页 末页
              • 评论
                家园 Windows用户界面开始是来自OS/2的?

                首先,图形界面(GUI)和鼠标是Mac的首创。

                微软和IBM开始一起搞OS/2.搞到一半分了手。后来IBM推OS/2,微软推Winnt 3.X.后来不长时间,微软开始win9x和Winnt 4.0。Windows 1.x/2.x因该在Os/2之前。

                Windows 1.0是1985年就推出了,而OS/2 1.0是在1987年12月才推出的!

                NT象VMS多些还是象Unix多些?严格的说,都不太像。当时学OS的时候,讨论过这个问题。他们在设计思想上就有很大的不同。

                [B]NT and UNIX[/B] 
                NT's roots extend back to 1977 and Digital Equipment's release of VMS 1.0. Many core members of the future NT design team left Digital in 1988 to join Microsoft, which released NT's first version, Windows NT 3.1, in 1993. Thus, NT and UNIX have been evolving since the mid-1970s, and trends in academic OS research have influenced each OS. In addition, both OSs have similar design goals: portability, extensibility, and the ability to run on computers ranging from desktop PCs to departmental servers.
                
                Internally, NT is similar to VMS, but how closely do NT's capabilities and features match those of UNIX? Shedding light on this question is difficult, because even the top three UNIX market share leaders--Solaris, HP/UX, and AIX--are in many ways as different from one another as each is from NT. Thus, there is no definitive "UNIX" to compare with NT. Therefore, I'll use traditional or prevalent UNIX features and implementations for each UNIX subsystem in the following comparison of NT and UNIX. I'll draw from the market leaders and three other UNIX variants: Linux, BSD 4.4, and Digital UNIX. 

                Unix结构

                点看全图

                外链图片需谨慎,可能会被源头改

                NT结构

                点看全图

                外链图片需谨慎,可能会被源头改

                The OS architecture of most versions of UNIX is similar to that of NT. Figure 1 and Figure 2 show the UNIX and NT architectures, respectively. (To explore NT's architecture in depth, see "Windows NT Architecture, Part 1," March 1998 and "Windows NT Architecture, Part 2," April 1998.) Both OS architectures have two modes of operation: user mode and kernel mode. Familiar applications such as word processors and database programs execute in user mode. User mode is nonprivileged, which means that the system restricts programs operating in user mode from directly accessing hardware or resources belonging to other programs. Most of the OS code executes in kernel mode. Kernel mode is privileged, which means that code running in kernel mode can access hardware and resources belonging to any application, with few limitations.
                
                A major difference between UNIX's and NT's architecture is that UNIX does not incorporate its windowing system--the subsystem that manages GUI resources for applications--into kernel mode, as does NT 4.0. Instead, the UNIX windowing system is an add-on user-mode application that its developers wrote using publicly defined UNIX APIs; consequently, third-party products can replace UNIX's windowing system. However, the majority of the UNIX community has adopted MIT's X-Windows as a de facto, if not official, graphical interface standard. Before NT 4.0, the NT windowing system was a user-mode implementation, but Microsoft found that the performance of graphics-intensive applications improved when the windowing system operated in kernel mode.
                
                Another difference between the OS architectures is that UNIX applications can call kernel functions, or system calls, directly. In NT, applications call APIs that the OS environment to which they are coded (DOS, Windows 3.x, OS/2, POSIX) exports. A kernel system-call interface provides APIs for managing processes, memory, and files. The NT system-call interface, called the Native API, is hidden from programmers and largely undocumented. The number of UNIX system calls is roughly equal to the number of Native APIs, around 200 to 300. The API that UNIX applications write to is the UNIX system-call interface, whereas the API that the majority of NT applications write to is the Win32 API, which translates many Win32 APIs to Native APIs.
                
                In the following comparison of NT and UNIX subsystems, I'll contrast the way each OS names internal resources, implements processes and threads, and manages virtual and physical memory. I'll also compare and contrast UNIX's and NT's security model, file-system data caching, networking architecture, and extensibility.
                ......
                

                如果感兴趣的话,我就说完!

                • 家园 回复

                  一。如果追溯到根的话,应该是Xerox的Star机器,Apple的Mac界面很多也是抄它的。

                  二。Windows 1.x和2.x的界面有了很大变化。Windows 1.x不过是个Dos Shell,那个界面有些类似后来的Dos 4.0 Shell,而和Mac的区别比较大;Windows 2.x的界面则和OS/2的Presentation Manager很类似。

                  三。至于WNT是更像VMS还是更像Unix,我看到的书籍里是倾向于后者的。

                • 家园 完了,弄成学术之争了……

                  象俺这样的半瓶子趁早一边歇着,看看热闹吧! …………

    • 家园 简单的说一下吧

      NT技术其实是指使用了WindowsNT的内核。

      Win95、Win98、WinME都是基于兼容DOS的16位技术开发的,是32位、16位的混合体,所以经常出错(WinME虽然说没有DOS,但是只是屏蔽了开始时引导到DOS的菜单而已,内核还是一样)。

      WindowsNT是一个全新的操作系统,早在windows 3.X时代就出现了,是一个纯32位操作系统(NT技术指的也就是这个),因此导致了对DOS的不兼容。不过早期的WindowsNT是为了服务器开发的,虽然也有工作站版,但是并不是给玩游戏的人使用的,所以并不是什么大问题。

      Windows2000可以说是WindowsNT的升级版本,仍然基于32位内核,开始支持即插即用,这使得他的家庭化成为了可能。

      但是Windows2000对DOS程序、Windows9X系列的程序兼容并不是很好,这就是Windows9X能在Windows2000出了几年以后还存在的原因。

      后来WindowsXP出现了,仍然使用32位内核,但是微软为此下了大功夫来兼容以前的软件,现在的软件开发商也开始注意2000\XP系统下的开发,再加上微软、Intel来势不支持winfows98,所以Windows98开始渐渐的淡出主流操作系统。

      以后将是NT内核的天下。

      不过现在64位的民用CPU已经出现,WindowsXP64位版不知道会不会成为下一个98。

      • 家园 我觉得Windows XP 64不过是个展览品,意义不大
      • 家园 我认为你这个解说不能给加精

        你是专家级的,对你要求高一点。你能否说说到底32为操作系统在哪些方面优于16位操作系统?

        我只知道,在安全性和稳定性两方面尤为突出。

        • 家园 这怎么说呢?

          32位操作系统之优于16位系统,就是因为它是32位的。^_^

          由于现在的CPU是32位的,和32位操作系统交流的时候,可以一次传输一个完整的信号,不用分两次执行,32位系统所以性能是肯定领先16位的系统。

          这也是Pentiun Pro刚出来的时候,在95系统下的执行效能还不如Pentiun的缘故(Pentiun Pro是完全32位的CPU,Pentiun 有16位的设计)

          至于安全和稳定性,这并不是和几位操作系统有关的。而是和操作系统运行机制有关。

          win95是为了替换DOS而生的,DOS在当时如日中天,Windows 3.X感觉只是DOS的一个SHELL而已,如果它完全不兼容DOS,那么可以肯定它是不会有什么人使用的。所以Windows95的兼容性是放在首位的,必须保证DOS程序能运行,保证能进入和DOS一样的界面,保证DOS下混乱中断调用、随意占用资源的程序都能运行,保证以前的一些并不是很好习惯还能继续使用,所以他的稳定性肯定不能很好。

          而WindowsNT没有这个顾及,它本来就是一个全新的系统全新的开发,面对全新的CPU,所以可以吧稳定性做的很好。

          至于安全性,由于Windows9X系列对口令的要求不严格,(在进入系统输入口令的时候,只要按ESC就可以)和必须基于Fat格式的磁盘系统,所以并不能保证系统的安全。

          而NT内核的系统完全基于口令机制,没有口令禁止进入,NTFS分区又可以基于128位加密技术来对数据加密。

          打个比方吧,9X系统就象一个没有锁门习惯的小区,进出的时候只要说一声忘记带证件了,就可以随意进入。甚至我们翻围墙进去也可以。而且内部的屋子都没有锁门,想要什么就要什么。

          而NT内核的技术就象一个保安完善的大楼,没有证件禁止进入,内部有录像,就算真的进入了,存放资料的屋子还有一个很难打开的大锁。

          这样的安全性,怎么能是9X系统能比的?

          另:我不是什么高手,别太抬举我了,否则摔的会很痛的。^_^

          • 家园 再请教一下哈

            32位的操作系统运行在32的CPU上效率高,这个倒容易理解。不过64位的CPU的优势又在哪里呢?既然16位操作系统实际在32位CPU上效率实际不高,那么32位操作系统运行在64位CPU上是否也存在同样问题呢?是否就需要一个64的操作系统呢?但是,好像以前64位系统只在一些服务器上使用,家用程序真的需要64位的运算吗?是不是有点杀鸡用牛刀呢?

            • 家园 目前64位机器上跑32位操作系统的确意义不大

              也就是给专用的64位操作系统和特定应用程序用用而已。

              不过你看看游戏的发展速度和内存压力,估计用不了几年,4G内存就悬了。

            • 家园 现在的64位CPU的能力要一段时间才能释放出来。这需要OS,

              驱动程序,应用程序的全面跟进才行。就目前的一些Benchmark来看,64位Windows XP上的性能比32位要慢(AMD的64位CPU可以运行在32位和64位XP上)。

              我们需要8缸6升发动机的汽车吗?

              No, we don't need it.
              Yes,we want it
            • 家园 技术是发展的,人的需求是无止境的

              64位CPU在windowsXP下的确不是特别优秀,但是在WindowsXP64 下就能完全发挥威力。

              32位CPU最大支持4G的内存,这好像已经很够用了,但是你想想几年前的样子,有谁敢想象自己有512M内存呢?人的要求是无止境的,过两年谁知道主流配置是什么呢?

              因此64位CPU还是很必要的。

              • 家园 不过是一般将来时
              • 家园 嗯,这个我理解

                只是觉得64位代替32位对家用电脑程序带来的好处有限,也许对于电脑游戏的设计倒是可能有比较大的促进。其实我的感觉是家用64位芯片和64位操作系统的出现造成的最直接后果很可能是进一步挤压现存高档服务器的市场空间,今后各种服务器和Unix厂商的日子恐怕会非常非常不好过了。

分页树展主题 · 全看首页 上页
/ 3
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河