转载】操作系统,非常详细的介绍

操作系统

 

 

 

操作系统简略架构

 

 


操作系统架构,以Linux为例

 

操作系统(英语:Operating System,简称OS)是一管理计算机硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让使用者与系统交互的操作接口(请参照壳及图形用户界面)。操作系统的型态非常多样,不同机器安装的OS可从简单到复杂,可从手机的嵌入式系统到超级计算机的大型操作系统。许多操作系统制造者对OS的定义也不大一致,例如有些OS集成了图形化使用者界面,而有些OS仅使用文本接口,而将图形界面视为一种非必要的应用程序。操作系统理论在计算机科学中,为历史悠久而又活跃的分支,而操作系统的设计与实现则是软件工业的基础与内核。

 


操作系统历史

 

 

各类平台上操作系统的功能演化

综观计算机之历史,操作系统与计算机硬件的发展息息相关。操作系统之本意原为提供简单的工作排序能力,后为辅助更新更复杂的硬件设施而渐渐演化。从最早的批次模式开始,分时机制也随之出现,在多处理器时代来临时,操作系统也随之添加多处理器协调功能,甚至是分布式系统的协调功能。其他方面的演变也类似于此。另一方面,在个人计算机上,个人计算机之操作系统因袭大型计算机的成长之路,在硬件越来越复杂、强大时,也逐步实践以往只有大型计算机才有的功能。总而言之,操作系统的历史就是一部解决计算机系统需求与问题的历史。

 


1980年代前OS系统

 


第一部计算机并没有操作系统。这是由于早期计算机的建立方式(如同建造机械算盘)与效能不足以执行如此程序。但在1947年发明了电晶体,以及莫里斯·威尔克斯(Maurice V. Wilkes)发明的微程序方法,使得计算机不再是机械设备,而是电子产品。系统管理工具以及简化硬件操作流程的程序很快就出现了,且成为操作系统的滥觞。到了1960年代早期,商用计算机制造商制造了批次处理系统,此系统可将工作的建置、调度以及执行序列化。此时,厂商为每一台不同型号的计算机创造不同的操作系统,因此为某计算机而写的程序无法移植到其他计算机上执行,即使是同型号的计算机也不行。

 

IBM System/360,大型主机的经典之作

到了1964年,IBM System/360推出了一系列用途与价位都不同的大型计算机,而它们都共享代号为OS/360的操作系统(而非每种产品都用量身订做的操作系统)。让单一操作系统适用于整个系列的产品是System/360成功的关键,且实际上IBM目前的大型系统便是此系统的后裔;为System/360所写的应用程序依然可以在现代的IBM机器上执行!OS/360也包含另一个优点:永久贮存设备—硬盘驱动器的面世(IBM称为DASD(Direct access storage device))。另一个关键是分时概念的建立:将大型计算机珍贵的时间资源适当分配到所有使用者身上。分时也让使用者有独占整部机器的感觉;而 Multics的分时系统是此时众多新操作系统中实践此观念最成功的。1963年,奇异公司与贝尔实验室合作以PL/I语言建立的Multics,是激发 1970年代众多操作系统建立的灵感来源,尤其是由AT&T贝尔实验室的丹尼斯·里奇与肯·汤普逊所建立的Unix系统,为了实践平台移植能力,此操作系统在1969年由C语言重写;另一个广为市场采用的小型计算机操作系统是VMS。

 


1980年代OS系统

 

 


第一代微型计算机并不像大型计算机或小型计算机,没有装设操作系统的需求或能力;它们只需要最基本的操作系统,通常这种操作系统都是从ROM读取的,此种程序被称为监视程序(Monitor)。1980年代,家用计算机开始普及。通常此时的计算机拥有8-bit处理器加上64KB内存、屏幕、键盘以及低音质喇叭。而80年代早期最著名的套装计算机为使用微处理器6510(6502芯片特别版)的Commodore C64。此计算机没有操作系统,而是以一8KB只读内存BIOS初始化彩色屏幕、键盘以及软驱和打印机。它可用8KB只读内存BASIC语言来直接操作 BIOS,并依此撰写程序,大部分是游戏。此BASIC语言的解释器勉强可算是此计算机的操作系统,当然就没有内核或软硬件保护机制了。此计算机上的游戏大多跳过BIOS层次,直接控制硬件。早期最著名的磁盘启动型操作系统是CP/M,它支持许多早期的微计算机,且被MS-DOS大量抄袭其功能。最早期的 IBM PC其架构类似C64。当然它们也使用了BIOS以初始化与抽象化硬件的操作,甚至也附了一个BASIC解释器!但是它的BASIC优于其他公司产品的原因在于他有可携性,并且兼容于任何符合IBM PC架构的机器上。这样的PC可利用Intel-8088处理器(16-bit寄存器)定址,并最多可有1MB的内存,然而最初只有640KB。软式磁盘机取代了过去的磁带机,成为新一代的储存设备,并可在他512KB的空间上读写。为了支持更进一步的文件读写概念,磁盘操作系统(Disk Operating System,DOS)因而诞生。此操作系统可以合并任意数量的磁区,因此可以在一张磁盘片上放置任意数量与大小的文件。文件之间以档名区别。IBM并没有很在意其上的DOS,因此以向外部公司购买的方式取得操作系统。1980年微软公司利用骗术取得了与IBM的合约,并且收购了一家公司出产的操作系统,在将之修改后以MS-DOS的名义出品,此操作系统可以直接让程序操作BIOS与文件系统。到了Intel-80286处理器的时代,才开始实作基本的储存设备保护措施。MS-DOS的架构并不足以满足所有需求,因为它同时只能执行最多一个程序(如果想要同时执进程式,只能使用TSR的方式来跳过OS而由程序自行处理多任务的部份),且没有任何内存保护措施。对驱动程序的支持也不够完整,因此导致诸如音效设备必须由程序自行设置的状况,造成不兼容的情况所在多有。某些操作的效能也是可怕地糟糕。许多应用程序因此跳过MS-DOS的服务程序,而直接存取硬件设备以取得较好的效能。虽然如此,但MS-DOS还是变成了IBM PC上面最常用的操作系统(IBM自己也有推出DOS,称为IBM-DOS或PC-DOS)。MS-DOS的成功使得微软成为地球上最赚钱的公司之一。

 


而 1980年代另一个崛起的操作系统异数是Mac OS,此操作系统紧紧与麦金塔计算机捆绑在一起。此时一位全录伯拉图实验室的员工Dominik Hagen访问了苹果计算机的史蒂夫·乔布斯,并且向他展示了此时全录发展的图形化使用者界面。苹果计算机惊为天人,并打算向全录购买此技术,但因伯拉图实验室并非商业单位而是研究单位,因此全录回绝了这项买卖。在此之后苹果一致认为个人计算机的未来必定属于图形使用者界面,因此也开始发展自己的图形化操作系统。现今许多我们认为是基本要件的图形化接口技术与规则,都是由苹果计算机打下的基础(例如下拉式菜单、桌面图标、拖曳式操作与双点击等)。但正确来说,图形化使用者界面的确是全录创始的。

 


1990年代OS系统

 

 

Apple I计算机,苹果计算机的第一代产品

延续1980年代的竞争,1990年代出现了许多影响未来个人计算机市场深厚的操作系统。由于图形化使用者界面日趋繁复,操作系统的能力也越来越复杂与巨大,因此强韧且具有弹性的操作系统就成了迫切的需求。此年代是许多套装类的个人计算机操作系统互相竞争的时代。上一年代于市场崛起的苹果计算机,由于旧系统的设计不良,使得其后继发展不力,苹果计算机决定重新设计操作系统。经过许多失败的项目后,苹果于1997年释出新操作系统——MacOS的测试版,而后推出的正式版取得了巨大的成功。让原先失意离开苹果的Steve Jobs风光再现。除了商业主流的操作系统外,从1980年代起在开放原码的世界中,BSD系统也发展了非常久的一段时间,但在1990年代由于与 AT&T的法律争端,使得远在芬兰赫尔辛基大学的另一股开源操作系统——Linux兴起。Linux内核是一个标准POSIX内核,其血缘可算是 Unix家族的一支。Linux与BSD家族都搭配GNU计划所发展的应用程序,但是由于使用的许可证以及历史因素的作弄下,Linux取得了相当可观的开源操作系统市占率,而BSD则小得多。相较于MS-DOS的架构,Linux除了拥有傲人的可移植性(相较于Linux,MS-DOS只能运行在 Intel CPU上),它也是一个分时多进程内核,以及良好的内存空间管理(普通的进程不能存取内核区域的内存)。想要存取任何非自己的内存空间的进程只能通过系统调用来达成。一般进程是处于使用者模式(User mode)底下,而执行系统调用时会被切换成内核模式(Kernel mode),所有的特殊指令只能在内核模式执行,此措施让内核可以完美管理系统内部与外部设备,并且拒绝无权限的进程提出的请求。因此理论上任何应用程序执行时的错误,都不可能让系统崩溃(Crash)。

 


另一方面,微软对于更强力的操作系统呼声的回应便是Windows NT于1999年的面世。1983年开始微软就想要为MS-DOS建构一个图形化的操作系统应用程序,称为Windows(有人说这是比尔盖兹被苹果的 Lisa计算机上市所刺激)。一开始Windows并不是一个操作系统,只是一个应用程序,其背景还是纯MS-DOS系统,这是因为当时的BIOS设计以及MS-DOS的架构不甚良好之故。在1990年代初,微软与IBM的合作破裂,微软从OS/2(早期为命令行模式,后来成为一个很成功但是曲高和寡的图形化操作系统)项目中抽身,并且在1993年7月27日推出Windows 3.1,一个以OS/2为基础的图形化操作系统。并在1995年8月15日推出Windows 95。直到这时,Windows系统依然是建立在MS-DOS的基础上,因此消费者莫不期待微软在2000年所推出的Windows 2000上,因为它才算是第一个脱离MS-DOS基础的图形化操作系统。下面的表格为Windows NT系统的架构:在硬件阶层之上,有一个由微内核直接接触的硬件抽象层(HAL),而不同的驱动程序以模块的形式挂载在内核上执行。因此微内核可以使用诸如输入输出、文件系统、网络、信息安全机制与虚拟内存等功能。而系统服务层提供所有统一规格的函数调用库,可以统一所有副系统的实作方法。例如尽管 POSIX与OS/2对于同一件服务的名称与调用方法差异甚大,它们一样可以无碍地实作于系统服务层上。在系统服务层之上的副系统,全都是使用者模式,因此可以避免使用者程序执行非法行动。

 


副系统架构第一个实作的副系统群当然是以前的微软系统。DOS副系统将每个DOS程序当成一进程执行,并以个别独立的MS-DOS虚拟机承载其运行环境。另外一个是Windows 3.1模拟系统,实际上是在Win32副系统下执行Win16程序。因此达到了安全掌控为MS-DOS与早期Windows系统所撰写之旧版程序的能力。然而此架构只在Intel 80386处理器及后继机型上实作。且某些会直接读取硬件的程序,例如大部分的Win16游戏,就无法套用这套系统,因此很多早期游戏便无法在 Windows NT上执行。Windows NT有3.1、3.5、3.51与4.0版。Windows 2000是Windows NT的改进系列(事实上是Windows NT 5.0)、Windows XP(Windows NT 5.1)以及Windows Server 2003(Windows NT 5.2)与Windows Vista(Windows NT 6.0)也都是立基于Windows NT的架构上。而本年代渐渐增长并越趋复杂的嵌入式设备市场也促使嵌入式操作系统的成长。

 


现代OS系统

 

 


现代操作系统通常都有一个使用的绘图设备的图形化使用者界面,并附加如鼠标或触控面版等有别于键盘的输入设备。旧的OS或效能导向的服务器通常不会有如此亲切的接口,而是以命令行接口(CLI)加上键盘为输入设备。以上两种接口其实都是所谓的壳,其功能为接受并处理使用者的指令(例如按下一按钮,或在命令提示列上键入指令)。选择要安装的操作系统通常与其硬件架构有很大关系,只有Linux与BSD几乎可在所有硬件架构上执行,而Windows NT仅移植到了DEC Alpha与MIPS Magnum。在1990年代早期,个人计算机的选择就已被局限在Windows家族、类Unix家族以及Linux上,而以Linux及Mac OS X为最主要的另类选择,直至今日。大型机与嵌入式系统使用很多样化的操作系统。大型主机近期有许多开始支持Java及Linux以便共享其他平台的资源。嵌入式系统近期百家争鸣,从给Sensor Networks用的Berkeley Tiny OS到可以操作Microsoft Office的Windows CE都有。


个人计算机:

个人计算机市场目前分为两大阵营,此两种架构分别有支持的操作系统:

* IBM兼容PC - 微软 Windows, Mac OS X,Unix 家族的OS以及Linux 家族。
* Apple Macintosh - Mac OS (一个Unix分支OS,属 BSD 族系,Darwin),Windows (x86版本), Linux 与 BSD


大型计算机:

最早的操作系统是针对20世纪60年代的大型主结构开发的,由于对这些系统在软件方面做了巨大投资,因此原来的计算机厂商继续开发与原来操作系统相兼容的硬件与操作系统。这些早期的操作系统是现代操作系统的先驱。现在仍被支持的大型主机操作系统包括:

* Burroughs MCP-- B5000,1961 to Unisys Clearpath/MCP, present.
* IBM OS/360 -- IBM System/360, 1964 to IBM zSeries, present
* UNIVAC EXEC 8 -- UNIVAC 1108, 1964, to Unisys Clearpath IX, present.

现代的大型主机一般也可运行Linux或Unix变种。


嵌入式系统:

嵌入式系统使用非常广泛的操作系统(如VxWorks、eCos、Symbian OS及Palm OS)以及某些功能缩减版本的Linux或者其他操作系统。某些情况下,OS指称的是一个内置了固定应用软件的巨大泛用程序。在许多最简单的嵌入式系统中,所谓的OS就是指其上唯一的应用程序。

 


类Unix系统

 

 


所谓的类Unix家族指的是一族种类繁多的OS,此族包含了System V、BSD与Linux。由于Unix是The Open Group的注册商标,特指遵守此公司定义的行为的操作系统。而类Unix通常指的是比原先的Unix包含更多特征的OS。Unix系统可在非常多的处理器架构下执行,在服务器系统上有很高的使用率,例如大专院校或工程应用的工作站。自由软件Unix变种,例如Linux与BSD近来越来越受欢迎,它们也在个人桌面计算机市场上大有斩获,例如Ubuntu系统,但大部分都是计算机高手在使用。某些Unix变种,例如HP的HP-UX以及IBM的AIX仅设计用于自家的硬件产品上,而SUN的Solaris可安装于自家的硬件或x86计算机上。苹果计算机的Mac OS X是一个从NeXTSTEP、Mach以及FreeBSD共同派生出来的微内核BSD系统,此OS取代了苹果计算机早期非Unix家族的Mac OS。经历数年的披荆斩棘,自由开源的Unix系统逐渐蚕食鲸吞以往专利软件的专业领域,例如以往计算机动画运算巨擘──SGI的IRIX系统已被 Linux家族及Plan 9丛集所取代。

 


微软Windows系统

 

 


视窗操作系统(Windows),是美国微软公司1985年提出的DOS之下的操作系统。其后续版本作为为个人电脑和服务器用户设计的操作系统,最终获得了世界个人电脑操作系统软件的垄断地位。 视窗操作系统及其后续版本可以在几种不同类型的平台上运行,如个人电脑、服务器和嵌入式系统等等。其中 Windows 在个人电脑的领域应用内最为普遍。在1985年11月,因为应对当时由 Macintosh 带起的图形用户界面(GUI)潮流,微软公司随即引入了一种名为“Windows”的操作环境。最初“Windows”只是一种在 MS-DOS 运行的附加组件,如今 Windows 已经发展成一个独立的操作系统,更几乎垄断了整个个人电脑操作系统市场。在2004年年国际数据公司(IDC)中一次有关未来发展趋势的会议上,IDC 副董事长 Avneesh Saxena 宣布 Windows 拥有终端操作系统大约90%的市场份额。当前的客户机版本的Windows是Windows Vista。当前的服务器版本的Windows是Windows Server 2008。


Windows 家族

“Windows”这个词用于一系列不同的产品,它们可以划分为一些四个类别:

1.16位操作环境:

早期版本的Windows通常仅仅被看作是一个图形用户界面,主要因为它们在MS-DOS上运行并且被用作文件系统服务。不过,即使最早的16位版本的 Windows也已经具有了许多典型的操作系统的功能,包括拥有自己的可执行文件格式以及为应用程序提供自己的设备驱动程序(计时器、图形、打印机、鼠标、键盘以及声卡)。与MS-DOS不同,Windows通过协作式多任务允许用户在同一时刻执行多个图形应用程序。最后,Windows还实现了一个设计精良的、基于段的软件虚拟内存方案,使其能够运行大于物理内存的应用程序。代码段和资源在内存不足的时候进行交换,并且当一个应用程序释放处理器控制时,特别是等待用户输入的时候,数据段会被移入内存。16位版本的 Windows包括Windows 1.0(1985),Windows 2.0(1987)及其近亲Windows/286。

2.混合的16/32位操作环境:

这个系列的16位的 Windows 的升级版本,仍然需要使用 DOS 操作系统才能运行。但是由于和微软将 MS-DOS 和Windows集成出售,就不用再单独购买 MS-DOS 以运行Windows了。这个系列包括 Windows 95(第一版发行于1995年,后来的改进版本发行于1996年和1997年),以及三个版本的 Windows 98(1998年、1999年和2000年)。这三个版本最终发展成为 Windows ME。虽然它是 Windows 98 的家族之一,但从来没有在广告出现过。

3.32位操作环境:

这个操作系统是为更高性能需求的商业市场而编写的32位操作系统。这个系列包括 Windows NT 3.1(1992年)、NT 3.5、NT 3.51、NT 4.0、Windows 2000、Windows XP 和 Windows Vista 。

4.64位操作环境

现时最新的Windows版本开始采用64位操作系统环境。这个系列的产品包括 Windows XP 64位版、Windows Server 2003 64位版、 Windows Vista 64位版。IA-64 是 Intel 的处理器中使用的纯64位 RISC 指令集,它在32位兼容模式下性能较差,而且大多数不兼容现有的 x86 软件,故和现有桌面平台所谓的64位指令集是完全不同的概念,Microsoft仅仅有Windows 2000 Advanced Server Limited Edition这个限量版的基于IA-64指令集的系统和一个非常罕见的Windows Server 2003 for IA-64版本和Windows XP 64bit 。但由于现时64位操作系统还在萌芽时期,许多软件或硬件均未开始支持使用64位的操作系统,所以极多数32位的程序亦未能64位下运作。


Windows 的发展史

Microsoft Windows 系列操作系统是在微软给IBM机器设计的MS-DOS的基础上设计的图形操作系统。现在的Windows系统,如Windows 2000、Windows XP皆是建立于现代的Windows NT内核。NT内核是由OS/2和OpenVMS等系统上借用来的。Windows 可以在32位和64位的Intel和AMD的处理器上运行,但是早期的版本也可以在DEC Alpha、MIPS与PowerPC架构上运行。虽然由于人们对于开放源代码作业系统兴趣的提升,Windows的市场占有率有所下降,但是到2004年为止,Windows操作系统在世界范围内占据了桌面操作系统90%的市场。Windows系统也被用在低阶和中阶服务器上,并且支持网页服务的数据库服务等一些功能。最近微软花费了很大研究与开发的经费用于使Windows拥有能运行企业的大型程序的能力。WindowsXP在2001年10月25日发布,2004年8月24日发布最新的升级包 WindowsXP Service Pack 2。 微软最新的操作系统 Windows Vista(开发代码为Longhorn)于2007年1月30日发售。Windwos Vista增加了许多功能,尤其是系统的安全性和网络管理功能。Windows Vista拥有界面华丽的Aero Glass。Windows 起源可以追溯到多年前 Xerox 公司所进行的研发工作。1970年,美国Xerox公司成立了著名的研究机构 Palo Alto Research Center(PARC),主要从事局域网络、激光打印机、图形用户界面和面向对象(Object-Oriented)技术的研究,。Xerox 于1981年宣布推出世界上第一个商用的 GUI 系统 Star 8010 工作站。但由于种种原因,此技术上并未得到大众的重视,也没有协助商业化的应用。这时 Apple Computer 公司的创始人之一 Steve Jobs 在参观 Xerox 公司的 PARC 研究中心后认识到 GUI 的重要性以及广阔的市场前景,便开始着手进行自己的 GUI 系统研发工作。之后在1983年研发出第一个 GUI 系统 Lisa。不久,Apple 又推出第二个 GUI 系统Macintosh(即现时称的“麦金塔计算机”、“苹果计算机”、“Mac 机”),成为世界上第一个成功的商用 GUI 系统。Apple 公司在开发 Macintosh 时基于市场战略上的考虑,故意只开发了能于 Apple 公司自己的计算机上作运作的 GUI 系统,但当时因为 Intel x86 微处理器芯片的 IBM 兼容计算机已渐露头角,因此就给了Microsoft公司所开发的 Windows 生存空间和市场。Microsoft 公司亦经已意识到建立业界标准的重要性,所以在1983年春季就宣布开始研究开发 Windows ,希望它能够成为基于 Intel x86 微处理芯片计算机上的标准 GUI 操作系统。它在1985年和1987年分别推出 Windows 1.0 版和 Windows 2.0 版。但是当时硬件和 DOS 操作系统的限制,这两个版本并没有取得很大的成功。此后,Microsoft 对 Windows 的 RAM 管理、GUI 做了重大改进,使 GUI 更加美观并支持虚拟内存功能。Microsoft 于1990年5月份推出 Windows 3.0 并一炮而红。这个“千呼万唤始出来”的操作系统一面世便在商业上取得惊人的成功;不到推出后的六个星期,Microsoft已经卖出50万份 Windows 3.0,打破了任何软件产品的六周内销售记录,从而开始了 Microsoft 在操作系统上的垄断地位。但在1994年时被 Apple 公司控告侵权,展开了著名的“Look and Feel”诉讼官司。1994年12月8日中华人民共和国电子部和微软公司签署《Windows 95中文版项目合作备忘录》。1995年9月20日上午,国家技术监督局标准化司、电子工业部计算机司和美国微软公司就Windows 95中文版项目标准规范等有关事宜成合作协议。自Windows 95和Windows NT 4.0 以来,这个系统最明显的特征是“桌面”。微软设计的桌面大大增进了人机交流的界面,使得更多简单的工作只需要少许的计算机知识就可以胜任了。但是 Windows界面也使得用户和计算器的内部运作产生隔膜,令用户控制或设置计算机内部的选项感到更大的困难(这也是由于现代操作系统功能和复杂性不断增长、以及有大量低水平的计算机人员的增长所带来的困难)。Windows获得了巨大的市场成功。估计现在有 90% 的个人计算机使用这个系统。但从另一方面看,用户是很难选择其它的操作系统,因为现时许多计算机已经内整 Windows 系统,而他们必须移除Windows之后才可以安装其他系统。因此,它的市场占有率或保持市场主导位置的活动都是极富争议性的。现时Windows Vista 和 Windows Server 2003 是现在最新的 Windows 版本。Windows Server 2003 中包含四个版本:Windows Server 2003 Web 服务器版本(Web Edition)、 Windows Server 2003 标准版(Standard Edition)、 Windows Server 2003 企业版(Enterprise Edition)以及Windows Server 2003 数据中心版(Datacenter Edition)。Web Edition主要是为网页服务器(Web Hosting)设计的,而Datacenter 是一个为极高端系统使用的。标准和企业版本则介于两者中间。而Windows Vista则有六个版本,分别是 Starter、Home Basic、Home Premium、Business、Ultimate 和只限公司大量买入的 Enterprise 版本。其中 Ultimate 拥有最多功能,而 Starter 则最少,并且拿掉或是限制了许多功能,但是这个版本只在极少数的新兴地区,如东南亚、南亚 (泰国、马来西亚、印度等) 发售。Windows CE 系统是1996年开始设计的一款专门针对嵌入式系统备设计的操作系统,最开始的时候微软打算在 Windows 98 和 Windows NT 的基础上小修改,但是项目进行不顺利,后来经过全新设计研发了 Windows CE 系列产品,其中包括的 Pocket PC 以及 Smartphone,严格来说 Windows CE 只是一个操作系统的内核,在这个内核的基础上发展了针对不同设备而编写不同版本的操作系统。现时微软有一系列主动的计划:.NET,Palladium 以及 Windows Vista(开发代号Longhorn)操作系统。有人认为 .NET 和 Windows Vista 是微软希望从Windows中转移开来。有人推想这样将可能帮助微软避免遭到像反托拉斯(“反竞争行为”和“不公平商业行为”)那样的后果,亦可以宣称微软的下一代产品将是全新的产品,而不会是Windows的后续版本。


为特殊设备设计的版本

* 为个人数码助理(PDA)设计的Pocket PC。
* 为移动电话设计的Smartphone和Windows Mobile(最新版本为6.0)。
* 为笔记本电脑及触摸式屏幕设计的Tablet PC。
* 为DEC Alpha、IBM PowerPC和MIPS系统设计的Windows NT。(在2000年后都废止了)
* 为掌上电脑设计的Windows CE。
* 为家庭媒体中心设计的Windows XP Media Center Edition(简称MCE)。
* 为XBox游戏机设计的版本,名为 Dashboard,但实为 Windows 2000修改而成。


Windows 面临的盗版问题

由于微软没有考虑第三世界国家地区的实际人均收入,只着重货品的价格(因为其市场占有率及垄断性没有必要考虑销量不足),导致产品在当地的价格相对变得极之昂贵(以中国的价格相当于中国大陆人均月入的3至4倍),促使很多用户都不愿意购买正版的 Windows 而使用盗版。虽然微软采用了很多技术来预防盗版,包括要求使用者连接至互联网启动产品,但因为盗版组织(专门破解正版产品的组织)有足够技术破解微软的反盗版技术,令盗版在这些地区仍然很流行。而且盗版极低的价格(每张大约 2 美元左右,甚至使用 Peer to Peer 分享技术只需支付光盘的成本),所以令微软在这些国家推广正版 Windows 困难重重。微软为此推出了 Windows正版增值计划,要能够通过这设置才可以得到微软的支持、更新、下载服务,不久破解组织亦已成功破解此技术。后来微软意识到问题所在,在2007年4月起在第三世界国家推出3美元学生套装,又打破了全球统一价格在中国减价。

 


苹果Mac OS系统

 

 


Mac OS是一套运行于苹果Macintosh系列电脑上的操作系统。Mac OS是首个在商用领域成功的图形用户界面。Macintosh组包括比尔·阿特金森(Bill Atkinson)、杰夫·拉斯金(Jef Raskin)和安迪·赫茨菲尔德(Andy Hertzfeld)。现行的最新的系统版本是Mac OS X v10.5版。关于Macintosh是如何被开发和潜在创意的起源,有许多种观点。历史记录里把Macintosh和施乐公司(Xerox)帕洛阿尔托研究中心 (PARC)的Alto计划联系在一起,伊凡·萨瑟兰(Ivan Sutherland)的画板(Sketchpad)和道格·英格巴特(Doug Engelbart)的在线系统(On-Line System)对其早期贡献产生了不小的影响。另见GUI的历史和苹果对微软的诉讼。


Mac OS可以被分成操作系统的两个系列:

* 一个是老旧且已不被支持的“Classic”Mac OS(系统搭载在1984年销售的首部Mac与其后代上,终极版本是Mac OS 9)。采用 Mach 作为内核,在OS 8以前用“System x.xx”来称呼。

* 新的Mac OS X结合BSD Unix、OpenStep和Mac OS 9的元素。它的最底层建基于Unix基础,其代码被称为Darwin,实行的是部分开放源代码。


Classic Mac OS

“classic”Mac OS的特点是完全没有命令行模式,它是一个100%的图形操作系统。预示它容易使用,它也被指责为几乎没有内存管理、协同式多任务 (cooperative multitasking)和对扩展冲突敏感。“功能扩展”(Extensions)是扩充操作系统的程序模块,譬如:附加功能性(例如:网络)或为特殊设备提供支持。某些功能扩展倾向于不能在一起工作,或只能按某个特定次序载入。解决Mac OS的功能扩展冲突可能是一个耗时的过程。Mac OS也引入了一种新形的文件系统,一个文件包括了两个不同的“分支”(forks)。它分别把参数存在“资源分支”(resource fork),而把原始数据存在“数据分支”(data fork)里,这在当时是非常创新的。但是,因为不能识别此系统,这让它与其它操作系统的沟通成为挑战。Mac OS 9 使用 B+ 树结构的文件系统进行文件管理. ……为了挽救这种情况,Mac OS X使用基于BSD Unix的内核,并带来Unix风格的内存管理和先占式多工(pre-emptive multitasking)。大大改进内存管理,允许同时运行更多软件,而且实质上消除了一个程序崩溃导致其它程序崩溃的可能性。这也是首个包括“命令行 ”模式的Mac OS,除非执行单独的“终端”(terminal)程序,否则你可能永远也见不到。但是,这些新特征需要更多的系统资源,按官方的说法Mac OS X只能支持G3以上的新处理器(它在早期的G3处理器上执行起来比较慢)。Mac OS X有一个兼容层负责执行老旧的Mac应用程序,名为Classic环境(也就是程序员所熟知的“蓝盒子”[the blue box])。它把老的Mac OS 9.x系统的完整拷贝作为Mac OS X里一个程序执行,但执行应用程序的兼容性只能保证程序在写得很好的情况里在当前的硬件下不会产生意外。为了挽救这种情况,Mac OS X使用基于BSD Unix的内核,并带来Unix风格的内存管理和先占式多工(pre-emptive multitasking)。大大改进内存管理,允许同时运行更多软件,而且实质上消除了一个程序崩溃导致其它程序崩溃的可能性。这也是首个包括“命令行 ”模式的Mac OS,除非执行单独的“终端”(terminal)程序,否则你可能永远也见不到。但是,这些新特征需要更多的系统资源,按官方的说法Mac OS X只能支持G3以上的新处理器(它在早期的G3处理器上执行起来比较慢)。Mac OS X有一个兼容层负责执行老旧的Mac应用程序,名为Classic环境(也就是程序员所熟知的“蓝盒子”[the blue box])。它把老的Mac OS 9.x系统的完整拷贝作为Mac OS X里一个程序执行,但执行应用程序的兼容性只能保证程序在写得很好的情况里在当前的硬件下不会产生意外。


Mac OS 技术

* QuickDraw:首个供应大众市场所见即所得的成像模型。
* Finder:浏览文件系统和执行应用程序的界面。
* MultiFinder:首个支持多任务软件执行的版本。
* Chooser:访问网络资源的工具(例如:开启AppleTalk)。
* ColorSync:确保颜色匹配的技术。
* Mac OS内存管理:在转到UNIX前管理Mac内存和虚拟内存的方式。
* PowerPC模拟执行Motorola 68000:Mac处理从CISC到RISC结构转变的方式。
* 桌面附件:在MultiFinder 或System 7出现前,与其它软件协作运行的小“助手”软件。


Mac OS X

Mac OS X 是苹果麦金塔电脑之作业系统软体的 Mac OS 最新版本。Mac OS X 于 2001年首次在市场上推出。它包含两个主要的部份:Darwin,是以 BSD 原始码和 Mach 微核心 为基础,类似 Unix 的开放原始码环境,由苹果电脑采用和与独立开发者协同作进一步的开发;及一个由苹果电脑开发,命名为 Aqua 之有版权的 GUI。Mac OS X Server 亦同时于2001年发售. 架构上来说与工作站(客户端)版本相同,只有在包含的工作群组管理和管理软体工具上有所差异,提供对于关键网路服务的简化存取,像是邮件传输伺服器,Samba软体,LDAP 目录伺服器,以及名称伺服器(DNS)。同时它也有不同的授权型态。Mac OS X 是与先前麦金塔作业系统彻底地分离开来,它的底层程式码完全地与先前版本不同,这个新的核心名为 Darwin ,是一个开放源码、Unix-like的作业系统,伴随着标准的 Unix 命令列与其强大的应用工具。尽管最重要的架构改变是在表面之下,但是 Aqua GUI 是最突出和引人注目的特色。柔软边缘的使用,半透明颜色和细条纹(与第一台 iMac 的硬体相似)把更多的颜色和材质带入到桌面上的视窗和控制项,比 OS9 所提供的 "白金" 外观更多,引发了使用者间大量的争论。很多旧的麦金塔使用者把这个介面描述得像是玩具一般,和缺乏专业的优美,而其他的人则为苹果革命的新 GUI 状新为所欢呼。这种外观非常立即地可以辨认出来,即使在第一个 Mac OS X 版本推出之前,第三方的开发者开始针对可以换外表的程式像是 Winamp 制作类似 Aqua 介面的外表。苹果电脑以法律行动,威胁那些声称是是由他们有版权的设计下,所制造或散布且提供这种介面软体的人。Mac OS X 包含了自家的软体开发程式,其重大的特色是名为 Xcode 的整合式开发环境。 Xcode是一个能与数种编译器沟通的介面,包括 C、C++、Objective-C、以及Java。可以编译出目前 Mac OS X 所执行的两种硬体平台之执行档,可以指定编译成 PowerPC 平台专用, x86 平台专用,或是跨越两种平台的通用二进制。纯粹由系统销售的数字来看,这种 GUI 和核心的组合最近到现在变成最畅销的类 Unix 环境。


兼容性

尽管苹果官方声称,Mac OS X只能在使用G3或更高阶的微处理器的电脑上运行。但实际上,透过修改,Mac OS X 亦能成功安装并运行在较早期的Power PC 604e上;甚至有人透过PearPC模拟器Linux版,在更早期的Centris 650 (25MHz) 上安装Mac OS X 10.3,只是以此方式安装的Mac OS X,没有多大的实用价值可言。(仅系统自我检测便得花上数天时间)Mac OS X 透过提供一种称为 Classic 的模拟环境,保留了与较旧的 Mac OS 应用程式的相容像,允许使用者在 Mac OS X 中把 Mac OS 9 当作一个程式行程来执行,使大部分旧的应用程式就像在旧的作业系统下执行一样。另外,给 Mac OS 9 和 Mac OS X 的 Carbon API 可以创造出允许在两种系统执行的程式码。OpenStep 的 API 也依然可以使用,但是苹果现在把它称为 Cocoa 技术。(这个遗留下来的传统可以在 Cocoa API 中看到,大部分的类别名称都是以 NeXTSTEP 的缩写 "NS" 开头。) 给开发者的第四个选项是可以在 Mac OS X 当作 "第一等公民" 一样的 Java 平台上写应用程式 — 事实上这就是说 Java 应用程式尽可能的与作业系统合适地搭配而仍然能够"跨平台(cross-platform)",以及他的 GUI,是以 Swing 撰写的,看起来几乎完全地与天生的 Cocoa 介面类似。只要他们能够在这个平台上被编译,Mac OS X 可以执行很多 BSD 或 Linux 软体套件。编译过的程式码通常是以 Mac OS X 封装的方式来散布,但有些可能需要命令列的组态设定或是编译。像是 Fink 和 DarwinPorts 这样的专案,提供很多标准套件之预先编译或是预先格式好的封装。在 10.3 版开始,Mac OS X 已经包含 Apple X11,这是给 Unix 应用程式的 X11 图形介面的公司版本,当作是在安装阶段的选择性元件。苹果是以 XFree86 4.3 和 X11R6.6 为基础实作的,搭配一个模仿 Mac OS X 外观的视窗管理员,与 Mac OS X 有更密切的整合,延展扩充到使用天生的 Quartz 显像系统和加速 OpenGL。早期的 Mac OS X 版本可使用 XDarwin 来执行 X11 应用程式。对于早期的 Mac OS X 版本,有支援的标准硬体平台是以 PowerPC G3、G4、G5 处理器的麦金塔电脑产品线(膝上型、装上型、或是伺服器)。后期的 Mac OS X 版本不再支援某些老旧的硬体、举例来说,Panther 不支援 "米黄色" G3,以及 Tiger 不支援苹果在推出 FireWire 之前的系统。然而,免费的工具像是 XPostFacto 可以使得苹果官方宣称不支援的某些旧系统可以安装 Mac OS X,包含某些 G3 之前的系统。作业系统针对所有支援的硬体提供相同的功能,除了基本硬体的限制之外(例如,CD-ROM 不能烧录 CD)以及在更多先进配备上尽量增快效能(例如图形加速)。于2005年6月6日,史蒂夫·乔布斯在苹果每年的全球开发者大会中发表演说,表示接下来的两年间苹果将会从 PowerPC 转换到 英特尔 的微处理器,而且在这个转变的期间,Mac OS X 都会支援两种平台。对于 PowerPC 平台的支援会一直持续到 10.5 版,但是同时支援两种平台多久的时间并不清楚(Mac OS 对于 摩托罗拉68k 架构的支援一直持续到 PowerPC 系统推出后的约四年)。新版的 Xcode 支援建造通用二进制,可以在两种架构执行。PowerPC 程式码在 Intel 为基础的 Mac 会使用称为 Rosetta 的模拟器来提供支援。Jobs 也证实先前的谣言,就是苹果之前每一版的 Mac OS X 开发周期都有 Intel 微处理器的版本。像是跨平台的能力已经早就存在 OS X 的血统中 - 就是 OS X 的前身,OPENSTEP,已经被移植到很多个架构下,包含 Intel 的 x86,以及 OS X 的核心作业系统 Apple Darwin 也移植到 x86,早在 OS X 第一次推出就可以免费下载。然而,苹果声明 x86 平台的 OS X 将不会支援 Classic 环境。


Mac OS X 的命名

X 这个字母是一个罗马数字且正式的发音为 "十"(ten),接续了先前的麦金塔作业系统像是 Mac OS 8 和 Mac OS 9 的编号。某些人把它读作 X 字母且发音为 "ex"。对于这个直接解读的原因是对于 类Unix 作业系统的传统命名会以字母 "x" 作为结尾 (例如 AIX, IRIX, Linux, Minix, Ultrix, Xenix)。另外一个原因是苹果电脑的倾向提及特别的版本是以(例如) "Mac OS X 版本 10.4" 印刷出来。Mac OS X 版本以大型猫科动物命名。比他的推出更重要的,在苹果电脑内部 10.0 版本的代号是猎豹(Cheetah),以及 10.1 版本代号为美洲狮(Puma)。在苹果的产品市场 10.2 版本命名为美洲虎(Jaguar),以及 10.3 相似地命名为 黑豹(Panther)。10.4 版已经被公开命名为老虎(Tiger)。花豹(Leopard) 当作下一个推出的作业系统。苹果电脑也已经注册山猫(Lynx)和美洲狮(Puma在美洲的惯用词,Cougar)当作未来使用的商标。由于苹果使用 "Tiger" 这个名称,面对到名称为 TigerDirect 电脑零售商的法律诉讼。然而,在 2005年5月16日,佛罗里达州联邦法庭裁决苹果电脑使用 "Tiger" 的名称并没有侵害到 TigerDirect 的商标。苹果电脑的网站和文章中提及特殊的 Mac OS X 版本会以四种不同的方式呈现:

* Mac OS X v10.4,版本号码
* Mac OS X Tiger,版本的代号名称
* Mac OS X v10.4 "Tiger",版本号码和名称,苹果有时会省略引号。
* "Tiger",版本名简称


Mac OS X 的发展史

在 1985年,苹果电脑公司把史蒂夫·乔布斯从管理阶层中除掉后,他离开了公司和企业——与从 Ross Perot和他自己口袋中的资金——建立“下个大的事情”:结果就是NeXT公司。NeXT硬体虽然在当时是某些创新,但是对于快速地商业化工作站市场而言仍是比较昂贵,有个设计的问题和癖好使得它并不受欢迎,于1993年被淘汰。另一方面,物件导向作业系统(object-oriented operating system)的NeXTSTEP生命力却更长。它是以Mach 核心和BSD(可追溯到1970年代的开放原始码之UNIX实作) 为基础,且支援创新的企业物件框架(Enterprise Objects Framework) 资料库存取曾和 WebObjects 应用程式伺服器开发环境。NeXT 设法销售 WebObjects 和咨询服务来维持生意,但从来没有一次商业的成功。NeXTSTEP 经历OPENSTEP的演变,把物件层面从作业系统以下分开来,使得它可以在其他平台上经过较少的修改就可以执行。然而由于这一点,数家其他的公司——主要是是苹果、IBM、微软——都宣称他们马上会推出类似的物件导向作业系统以及他们自有的开发工具。(这些努力,如Taligent,并没有完全变为成果,)。同时,苹果也面临到商业上的困境。已经有十年历史的 Mac OS 已经到达他的单一使用者之限制,合作式多工(co-operative multitasking) 的架构,以及它曾经是创新的使用者介面,紧邻著快速发展的微软视窗系统已经看起来逐渐的 "过期"。于 1994年开始一个大规模的发展努力来取代它,也就广为人知的 Copland,但是大略地在苹果外部所知道,由于内部政策角力的关系,已经成为一个没有希望的事件。到 1996年,Copland 距离推出遥遥无期,且那些努力最终彻底的取消。某些 Copland 的元素最后融合入 Mac OS 8,于 1997年 推出。在考虑买下BeOS - 一个专为类似苹果的硬体所设计,提供多媒体的多工作页系统 - 公司反而决定买下NeXT 和使用 OPENSTEP当作他们新作业系统的基础。Avie Tevanian接管整个作业系统的发展,且乔布斯被带入成为一个顾问。最开始计划是开发一个新的作业系统,几乎整个是 OpenStep 更新版本为基础。和一个模拟器 - 就是“Blue Box”- 专为执行"classic" 麦金塔应用程式。结果最后就是所知道代号是 Rhapsody,于 1998年推出被批评得一文不值。苹果期望开发者能够把软体移植到他们知道它的能力和弹性,更强大的 OpenStep 程式库上。反之,大部分的开发者告诉苹果,这些不可能会发生,他们宁愿整个离开该平台。这个对苹果计划的 "否决",导致苹果先前破坏承诺的附带条件之结果;在看着 "下个作业系统" 在另外一次后消失和苹果的市占率渐渐变少,开发者就不再对这个平台有所兴趣和作很多的努力,最后独自重写。


在史蒂夫·乔布斯下改变方向

苹果的财务损失一直持续著,最后乔布斯说服董事会开除CEOGil Amelio 聘他为主席和过度时期的CEO。在本质上,董事会全权委任乔布斯来回复公司的收益。当他在全球开发者大会(Worldwide Developers' Conference,WWDC)中宣布,开发者事实上想要的是一个 Mac OS 的最新版本,且这就是他们所要生产的,结果得到满堂喝采。接着下两年主要的努力就是重写麦金塔的 API 成为 UNIX 程式库,也就是Carbon。Mac OS应用程式可以不用经过重新撰写就可以移植到Carbon,且仍然让他们成为新作业系统的忠实人民。同时,使用旧的 toolkits 撰写的应用程式也可以使用 "Classic" Mac OS 9 模拟器来支援。包含 C, C++, Objective C, Java, 和 Python 的使用是以设计者的满足为号招。在这时间,作业系统的底下层面(Mach核心和 BSD 层在其之上),重新封装和以开放原始码的方式推出,也就是 Darwin。Darwin 核心提供极大底稳定和与其他Unix实作相匹敌的弹性作业系统,而且利用苹果外部的独立开放原始码专案和程式设计师的贡献;然而,在其他麦金塔社群之外的实际使用并不是很清楚。在这个时期的 Java 程式语言变成是程式设计界的 "热门主题",且有一股力量开始要把 Mac 变成最棒的Java平台。这包含了把最好的高速Java系统移植到这个平台,同时也把 OS X特定的 "Cocoa" API加入到 Java语言中。这个结果是让作业系统的推出延迟了约两年左右。虽然第一个推出的新作业系统 - Mac OS X Server 1.0 - 使用 Mac OS GUI 的一个修改版本,但是 Mac OS X 公开测试版和后来使用一种新的 GUI 称为 Aqua。作业系统这部份的发展有些延迟,是因为从OpenStep的Display PostScript引擎转换为自由授权的另一个,称为Quartz。Aqua 几乎与 Mac OS 9 介面完全地分离开来。它拥有像是全彩可缩放图形、文字和图形的平滑(anti-aliasing)、模拟的着色和光影、透明和阴影、以及动画。一项关键的特色是 Dock,一种完全利用这些效能优点的应用程式管理工具列。但是它也维持与传统 Mac OS 介面上相容性的一种实体程度,以及苹果自己的Apple Human Interface Guidelines,在萤幕顶端的下拉式功能表选单,相似的键盘快速键,以及对于单键滑鼠的支援。


Mac OS X 家族

苹果于1999年1月推出 Mac OS X Server 1.0,Mac OS X 的公开测试版于2000年释出,且于2001年3月24日看到完整和官方推出的 Mac OS X 版本 10.0。10.1版大概于2001年9月25日出货,接着是于2002年8月24日 Mac OS X 10.2 ("Jaguar") 的推出,在2003年10月24日推出Mac OS X 10.3 ("Panther"),于2005年4月29日推出Mac OS X 10.4 ("Tiger")。

* Mac OS X Public Beta。
* Mac OS X v10.0 (Cheetah)。
* Mac OS X v10.1 (Puma)。
* Mac OS X v10.2 "Jaguar"。
* Mac OS X v10.3 "Panther"。
* Mac OS X v10.4 "Tiger"。
* Mac OS X v10.5 "Leopard"。


显著特点

* 它的 Quartz 影像模式使用 PDF(可携文件格式,Portable Document Format)的子集合当作基础。
* 全彩,可连续缩放的小图示(最大到 128×128 (10.5 Leopard最大到512x512) 像素)
* 在视窗周围的阴影和分离的文字元素来提供深度的感觉。
* 依靠NeXT-型程序服务,提供全局拼写检查及其他功能强大的工具
* 专用界面工具集、文字、图形和视窗元件的反锯齿效果
* 新的界面元素,包括“纸单” sheets (文档模型 对话框附带于特殊窗口) 和“抽屉” drawers.
* Interweaving windows of different applications (not necessarily adjacent in the visible stacking order).
* 色彩同步 在核心绘图引擎中内置色彩匹配 (为 印刷和多媒体专业人士).
* OpenGL(在 10.2 版中纳入) 合成视窗到萤幕上,容许硬体加速绘图。这种技术称为 Quartz Extreme。
* Exposé(在 10.3 版中纳入)可以快速地排列视窗或是显现桌面。
* 在整个作业系统中普遍使用 Unicode。
* Spotlight 搜寻技术(在 10.4 版中纳入)允许以项目的特性或内容来快速的即时搜寻资料档案、邮件讯息、照片、和其他资讯。
* Automator(10.4版中加入)是一种设计来为不同的工作任务建立一种自动化的工作流程之应用程式。


Mac OS X 的批评

与微软视窗 相比,有某些针对 Mac OS X 缺乏 升级价格 的评论;前一版的使用者必须付全额的价格购买新版。视 Mac OS X 零售包装是否被认为 "升级" 或不是而定,而有些语意上的争议。一方面,它只能在 Mac 上使用,所有的 Mac 都会搭配某些 Mac OS 的版本一起出售,所以它是有所争议的升级版本。另一方面,在 9.0 或 10.3 升级到 10.4 的升级版间没有价格的差异,假设消费者买了两种版本之一的完全授权,也就是至少对于其间的升级并没有得到任何的好处。此外,消费者在新版的 Mac OS X 公布后到它开始预先安装到新机器来出货期间,购买了麦金塔电脑,通常可以以更少的金额($9.95~19.95美金)来得到升级版。同时,Windows 的 升级价格 实质上是视购买数量协议而有所变化,如家庭版 vs. 专业版等等,导致各版本间直接的价格对照相当困难。在某些情况下,Windows 的升级价格超过 Mac OS X 的价格,因此这种评论并不切实际。The Open Group 也批评苹果对于 "Unix" 字眼在 Mac OS X 广告宣传使用,而苹果并没有让作业系统获得正式的认证,且他使用这个字眼可能构成商标上的违法行为。苹果宣称他们使用这个字眼当作概括性商标,且获得认证所需的费用将会使得作业系统价格上变得更贵,但是 The Open Group 声明对于一家公司的认证费用上限是 $110,000 美金。即使 Mac OS X 是以 Unix 为基础,且以 BSD Unix 相容性层面为特性,但是它并不相容于 Single Unix Specification。对于苹果不去获得 "官方" Unix 品牌的原因可能是验证并不是苹果近期或中期的目标。

 


其他OS系统

 

 


大型主机以及嵌入式操作系统均与Unix或Windows家族关系不大,除了Windows CE、Windows NT Embedded 4.0及Windows XP Embedded是Windows的血亲产品,以及数种*BSD和嵌入式Linux包为例外。少数较旧的OS今日依然在一些需要稳定性的市场中活跃,例如 IBM的OS/2、BeOS以及XTS-400。在达康时代狂潮过后,如AmigaOS与RISC OS等少数人使用的OS依然持续建立,以满足狂热的爱好者社群与特殊专业使用者。

 


未来OS系统

 

 


研究与建立未来的操作系统依旧进行着。操作系统朝提供更省电、网络化、华丽的使用者界面的方向来改进。Linux及一些类UNIX OS正努力让自己成为个人用户舒适的环境。GNU Hurd是一个企图完全兼容Unix并加强许多功能的微内核架构。微软Singularity是一个奠基于.Net并以建立较佳内存保护机制为目目标研究计划。以及使用VM虚拟主机统一所有OS系统、代号"Maculinux Vista"。

操作系统功能

 

 

操作系统位于底层硬件与用户之间,是两者沟通的桥梁。用户可以通过操作系统的用户界面,输入命令。操作系统则对命令进行解释,驱动硬件设备,实现用户要求。以现代观点而言,一个标准个人计算机的OS应该提供以下的功能:

* 进程管理(Processing management)
* 内存空间管理(Memory management)
* 文件系统(File system)
* 网络通讯(Networking)
* 安全机制(Security)
* 使用者界面(User interface)
* 驱动程序(Device drivers)

 

进程管理

 


不管是常驻程序或者应用程序,他们都以进程为标准执行单位。当年运用冯纽曼架构建造计算机时,每个中央处理器最多只能同时执行一个进程。早期的OS(例如 DOS)也不允许任何程序打破这个限制,且DOS同时只有执行一个进程(虽然DOS自己宣称他们拥有终止并等待驻留(TSR)能力,可以部分且艰难地解决这问题)。现代的操作系统,即使只拥有一个CPU,也可以利用多进程(multitask)功能同时执行复数进程。进程管理指的是操作系统调整复数进程的功能。由于大部分的计算机只包含一颗中央处理器,在单内核(Core)的情况下多进程只是简单迅速地切换各进程,让每个进程都能够执行,在多内核或多处理器的情况下,所有进程通过许多协同技术在各处理器或内核上转换。越多进程同时执行,每个进程能分配到的时间比率就越小。很多OS在遇到此问题时会出现诸如音效断续或鼠标跳格的情况(称做崩溃(Thrashing),一种OS只能不停执行自己的管理程序并耗尽系统资源的状态,其他使用者或硬件的程序皆无法执行)。进程管理通常实践了分时的概念,大部分的OS可以利用指定不同的特权等级(priority),为每个进程改变所占的分时比例。特权越高的进程,执行优先顺序越高,单位时间内占的比例也越高。交互式OS也提供某种程度的回馈机制,让直接与使用者交互的进程拥有较高的特权值。除了进程管理之外,OS尚有担负起进程间通讯(IPC)、进程异常终止处理以及死结(Dead lock)侦测及处理等较为艰深的问题。在进程之下尚有线程的问题,但是大部分的OS并不会处理线程所遭遇的问题,通常OS仅止于提供一组API让使用者自行操作或通过虚拟机的管理机制控制线程之间的交互。

 

内存空间管理

 


根据帕金森定律:“你给程序再多内存,程序也会想尽办法耗光”,因此程序设计师通常希望系统给他无限量且无限快的内存。大部分的现代计算机内存架构都是阶层式的,最快且数量最少的寄存器为首,然后是高速缓存、内存以及最慢的磁盘储存设备。而OS的内存管理提供寻找可用的记忆空间、配置与释放记忆空间以及交换内存和低速储存设备的内含物……等功能。此类又被称做虚拟内存管理的功能大幅增加每个进程可获得的记忆空间(通常是4GB,既使实际上RAM的数量远少于这数目)。然而这也带来了微幅降低执行效率的缺点,严重时甚至也会导致进程崩溃。内存管理的另一个重点活动就是借由CPU的帮助来管理虚拟位置。如果同时有许多进程储存于记忆设备上,操作系统必须防止它们互相干扰对方的内存内容(除非通过某些协议在可控制的范围下操作,并限制可存取的内存范围)。分割内存空间可以达成目标。每个进程只会看到整个内存空间(从0到内存空间的最大上限)被配置给它自己(当然,有些位置被OS保留而禁止存取)。CPU事先存了几个表以比对虚拟位置与实际内存位置,这种方法称为分页(paging)配置。借由对每个进程产生分开独立的位置空间,OS也可以轻易地一次释放某进程所占据的所有内存。如果这个进程不释放内存,OS可以退出进程并将内存自动释放。

 

磁盘与文件系统

 


所谓的文件系统,通常指称管理磁盘数据的系统,可将数据以目录或文件的类型储存。每个文件系统都有自己的特殊格式与功能,例如日志管理或不需磁盘重整。OS 拥有许多种内置文件系统。例如Linux拥有非常广泛的内置文件系统,如ext2、ext3、ReiserFS、Reiser4、GFS、GFS2、 OCFS、OCFS2、NILFS与Google文件系统。Linux也支持非本地文件系统,例如XFS、JFS、FAT家族与NTFS。另一方面,Windows能支持的文件系统只有FAT12、FAT16、FAT32与NTFS。NTFS系统是Windows上最可靠与最有效率的文件系统。其他的FAT家族都比NTFS老旧,且对于文件长度与分割磁盘能力都有很大限制,因此造成很多问题。而UNIX的文件系统多半是UFS,而UNIX中的一个分支Solaris最近则开始支持一种新式的ZFS。大部份上述的文件系统都有两种建置方法。系统可以以日志式(Journaling file system)或非日志式建置。日志式文件系统可以以较安全的手法执行系统回复。如果一个没有日志式建置的文件系统遇上突然的系统崩溃,导致数据建立在一半时停顿,则此系统需要特殊的文件系统检查工具才能撤消;日志式则可自动回复。微软的NTFS与Linux的ext3、reiserFS与JFS都是日志式文件系统。每个文件系统都实作相似的目录/子目录架构,但在相似之下也有许多不同点。微软使用“/”符号以建立目录/子目录关系,且文件名称忽略其大小写差异;UNIX系统则是以“/”建立目录架构,且文件名称大小写有差异。

 

网络通讯

 

 


许多现代的OS都具备操作主流网络通讯协议TCP/IP的能力。也就是说这样的操作系统可以进入网络世界,并且与其他系统分享诸如文件、打印机与扫描器等资源。许多OS也支持多个过去网络启蒙时代的各路网络通讯协议,例如IBM建立的SNA、DEC在它所生产的系统所设置的DECnet架构与微软为 Windows制作的特殊通讯协议。还有许多为了特殊功能而研发的通讯协议,例如可以在网络上提供文件存取功能的NFS系统。现今大量用于影音流(Streaming media)及游戏消息传送的UDP协议等。

 

安全机制

 


大多数OS都含有某种程度的信息安全机制。信息安全机制主要基于两大理念:

* OS提供外界直接或间接存取数种资源的管道,例如本地端磁盘机的文件、受保护的特权系统调用(System call)、使用者的隐私数据与系统执行的程序所提供的服务。

* OS有能力认证(Authorization)资源存取的请求。允许通过认证的请求并拒绝无法通过的非法请求,并将适当的权力授权(Authentication)给此请求。有些系统的认证机制仅简略地把资源分为特权或非特权,且每个请求都有独特的身份辨识号码,例如使用者名称。资源请求通常分成两大种类:

第一类(内部来源):通常是一个正在执行的程序发出的资源请求。在某些系统上,一个程序一旦可执行就可做任何事情(例如DOS时代的病毒),但通常OS会给程序一个识别代号,并且在此程序发出请求时,检查其代号与所需资源的存取权限关系。

第二类(外部来源):从非本地端计算机而来的资源请求,例如远程登入本机计算机或某些网络连接请求(FTP或HTTP)。为了识别这些外部请求,系统也许会对此请求提出认证要求。通常是请求输入使用者名称以及相对应的密码。系统有时也会应用诸如磁卡或生物识别数据的它种认证方法。在某些例子,例如网络通讯上,通常不需通过认证即可存取资源(例如匿名存取的FTP服务器或P2P服务)。

除了允许/拒绝形式的安全机制,一个高安全等级的系统也会提供记录选项,允许记录各种请求对资源存取的行为(例如“谁曾经读了这个文件?”)。肇因于军方与商业组织将敏感数据记录在计算机上,安全机制在OS历史上是一个被长久关注与讨论的问题。美国国防部(DoD)便创立了《可信赖之计算机系统评鉴程序》(TCSEC),此手册确立了评鉴安全机制成效的基本原则。这对OS作者来说非常重要,因为TCSEC是用于评鉴、分类与选拔出用于处理、储存与获取敏感或机密数据的计算机系统的标准程序。


内部信息安全

内部信息安全可视为防止正在执行的程序任意存取系统资源的手段。大多OS让普通程序可直接操作计算机的CPU,所以产生了一些问题,例如怎样把可如OS一样处理事务、执行同样特殊指令的程序强迫停止,毕竟在此情境下,OS也只是另一个平起平坐的程序。为通用OS所生产的CPU通常于硬件层级上实践了一定程度的特殊指令保护概念。通常特权层级较低的程序想要执行某些特殊指令时会被阻断,例如直接存取像是硬盘之类的外部设备。因此,程序必须得经由询问OS,让 OS执行特殊指令来存取磁盘。因此OS就有机会检查此程序的识别身份,并依此接受或拒绝它的请求。在不支持特殊指令架构的硬件上,另一个也是唯一的保护方法,则是OS并不直接利用CPU执行使用者的程序,而是借由模拟一个CPU或提供一p-Code系统(伪代码执行机),像是Java一样让程序在虚拟机上执行。内部安全机制在多使用者计算机上特别重要:它允许每个系统使用者拥有自己个人的文件与目录,且其他使用者不能任意存取或删除。因为任何程序都可能绕过OS的监控,更有可能绕过侧录程序的监控,拥有强制力的内部安全机制在侧录启动时也非常重要。


外部信息安全

通常一个操作系统会为其他网络上的计算机或使用者提供(主持)各种服务。这些服务通常借由端口或OS网络地址后的数字存取点提供。通常此服务包括提供文件共享(NTFS)、打印共享、电子邮件、网页服务与文件传输协议(FTP)。外部信息安全的最前线,是诸如防火墙等的硬件设备。在OS内部也常设置许多种类的软件防火墙。软件防火墙可设置接受或拒绝在OS上执行的服务与外界的连接。因此任何人都可以安装并执行某些不安全的网络服务,例如Telnet或FTP,并且设置除了某些自用通道之外阻挡其他所有连接,以达成防赌不良连接的机制。

 

使用者界面

 

 


今日大部分的OS都包含图形化使用者界面。有几类较旧的OS将图形化使用者界面与内核紧密结合,例如最早的Windows与Mac OS实作产品。此种手法可提供较快速的图形回应能力,且实作时不需切割模块因而较为省工,但是会有强烈副作用,例如图形系统崩溃将导致整个系统崩溃,例如死亡蓝屏幕。许多近代的OS已模块化,将图形界面的副系统与内核分开(已知Linux与Mac OS X原先就是如此设计,而某些扩充版本的Windows终于也采用此手法)。许多OS允许使用者安装或创造任何他们喜欢的图形界面。大部分的Unix与 Unix派生系统(BSD、Linux与Minix)通常会安装X Window系统配合GNOME或KDE桌面环境。而某些OS就没有这么弹性的图形化使用者界面,例如Windows。这类的OS只能通过外加的程序来改变其图形化使用者界面,甚或根本只能改变诸如菜单风格或颜色配置等部分[来源请求]。图形化使用者界面与时并进,例如Windows在每次新版本上市时就会将其图形化使用者界面改头换面,而Mac OS的GUI也在Mac OS X上市时出现重大转变。

 

驱动程序

 


所谓的驱动程序是指某类设计来与硬件交互的计算机软件。通常是一设计完善的设备交互接口,利用与此硬件连接的计算机汇排流或通讯子系统,提供对此设备下令与接收信息的功能;以及最终目的,将消息提供给OS或应用程序。驱动程序是针对特定硬件与特定OS设计的软件,通常以操作系统内核模块、应用软件包或普通计算机程序的形式在OS内核底下执行,以达到通透顺畅地与硬件交互的效果,且提供硬件在处理非同步的时间依赖性接口(asynchronous time-dependent hardware interface)时所需的中断处理程序(Interrupt handler)。设计驱动程序的主要目的在于操作抽象化,任何硬件模块,既使是同一类的设备,在硬件设计面上也有巨大差异。厂商推出的较新模块通常更可靠更有效率,控制方法也会有所不同。计算机与其OS每每不能预期那些现有与新设备的变异之处,因此无法知道其操作方法。为解决此问题OS通常会主动制订每种设备该有的操作方式,而驱动程序功能则是将那些OS制订的行为描述,转译为可让设备了解的自定义操作手法。理论上适合的驱动程序一旦安装,相对应的新设备就可以无误地执行。此新驱动程序可以让此设备完美地切合在OS中,让使用者察觉不到这是OS原本没有的功能。

操作系统结构


操作系统分成四大部分:

 


* 驱动程序 - 最底层的、直接控制和监视各类硬件的部分,它们的职责是隐藏硬件的具体细节,并向其他部分提供一个抽象的、通用的接口。
* 内核 - 操作系统之最内核部分,通常运行在最高特权级,负责提供基础性、结构性的功能。
* 支承库 - (亦作“接口库”)是一系列特殊的程序库,它们指责在于把系统所提供的基本服务包装成应用程序所能够使用的编程接口(API),是最靠近应用程序的部分。例如,GNU C运行期库就属于此类,它把各种操作系统的内部编程接口包装成ANSI C和POSIX编程接口的形式。
* 外围 - 所谓外围,是指操作系统中除以上三类以外的所有其他部分,通常是用于提供特定高级服务的部件。例如,在微内核结构中,大部分系统服务,以及UNIX/Linux中各种守护进程都通常被划归此列。

当然,本节所提出的四部结构观也绝非放之四海皆准。例如,在早期的微软视窗操作系统中,各部分耦合程度很深,难以区分彼此。而在使用外核结构的操作系统中,则根本没有驱动程序的概念。因而,本节的讨论只适用于一般情况,具体特例需具体分析。操作系统中四大部分的不同布局,也就形成了几种整体结构的分野。常见的结构包括:简单结构、层结构、微内核结构、垂直结构、和虚拟机结构。

 


操作系统分类

 

操作系统的分类没有一个单一的标准,可以根据工作方式分为批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统等;根据架构可以分为单内核操作系统等;根据运行的环境,可以分为桌面操作系统,嵌入式操作系统等;根据指令的长度分为8bit, 16bit, 32bit, 64bit的操作系统。

 

内核结构

 


内核是操作系统最内核最基础的构件,因而,内核结构往往对操作系统的外部特性以及应用领域有着一定程度的影响。尽管随着理论和实践的不断演进,操作系统高层特性与内核结构之间的耦合有日趋缩小之势,但习惯上,内核结构仍然是操作系统分类之常用标准。内核的结构可以分为单内核、微内核、超微内核、以及外核等。单内核结构是操作系统中各内核部件杂然混居的形态,该结构于1960年代(亦有1950年代初之说,尚存争议),历史最长,是操作系统内核与外围分离时的最初形态。微内核结构是1980年代产生出来的较新的内核结构,强调结构性部件与功能性部件的分离。20世纪末,基于微内核结构,理论界中又发展出了超微内核与外内核等多种结构。尽管自1980年代起,大部分理论研究都集中在以微内核为首的“新兴”结构之上,然而,在应用领域之中,以单内核结构为基础的操作系统却一直占据着主导地位。在众多常用操作系统之中,除了QNX和基于Mach的UNIX等个别系统外,几乎全部采用单内核结构,例如大部分的 Unix、Linux,以及Windows(微软声称Windows NT是基于改良的微内核架构的,尽管理论界对此存有异议)。微内核和超微内核结构主要用于研究性操作系统,还有一些嵌入式系统使用外核。基于单内核的操作系统通常有着较长的历史渊源。例如,绝大部分UNIX的家族史都可上溯至1960年代。该类操作系统多数有着相对古老的设计和实现(例如某些UNIX中存在着大量1970年代、1980年代的代码)。另外,往往在性能方面略优于同一应用领域中采用其他内核结构的操作系统(但通常认为此种性能优势不能完全归功于单内核结构)。

 

通用与专用、嵌入式

 


通用操作系统是面向一般没有特定应用需求的操作系统。由于没有特定的应用需求,通用操作系统为了适应更广泛的应用,需要支持更多的硬件与软件,需要针对所有的用户体验,对系统进行更新。通用操作系统是一个工程量繁重的操作系统。

 

实时与非实时

 


“ 实时操作系统” (Real Time OS)泛指所有据有一定实时资源调度以及通讯能力的操作系统。而所谓“实时”,不同语境中往往有着非常不同的意义。某些时候仅仅用作“高性能”的同义词。但在操作系统理论中“实时性”所指的通常是特定操作所消耗的时间(以及空间)的上限是可预知的。比如,如果说某个操作系统提供实时内存分配操作,那也就是说一个内存分配操作所用时间(及空间)无论如何也不会超出操作系统所承诺的上限。实时性在某些领域非常重要,比如在工业控制、医疗设备、影音频合成、以及军事领域,实时性都是无可或缺的特性。常用实时操作系统有QNX、VxWorks、RTLinux等等,而Linux、多数UNIX、以及多数 Windows家族成员等都属于非实时操作系统。操作系统整体的实时性通常依仗内核的实时能力,但有时也可在非实时内核上建立实时操作系统,很多在 Windows上建立的实时操作系统就属于此类。在POSIX标准中专有一系用于规范实时操作系统的API,其中包括POSIX.4、POSIX.4a、 POSIX.4b(合称POSIX.4)以及POSIX.13等等。符合POSIX.4的操作系统通常被认可为实时操作系统(但实时操作系统并不需要符合 POSIX.4标准)。

 

8位、16位、32位、64位、128位、256位、512位.....

 

 

 

 

 


所谓8位、16位、32位、64位、128位、256位、512位.....等术语有时指总线宽度,有时指指令宽度(在定长指令集中),而在操作系统理论中主要是指内存定址的宽度。如果内存的定址宽度是16位,那么每一个内存地址可以用16个二进位位来表示,也就是说可以在64KB的范围内定址。同样道理 32位的宽度对应4GB的定址范围, 64位的宽度对应16 Exabyte的定址范围。内存定址范围并非仅仅是对操作系统而言的,其他类型的软件的设计有时也会被定址范围而影响。但是在操作系统的设计与实现中,定址范围却有着更为重要的意义。在早期的16位操作系统中,由于64KB的定址范围太小,大都都采用“段”加“线性地址”的二维平面地址空间的设计。分配内存时通常需要考虑“段置换”的问题,同时,应用程序所能够使用的地址空间也往往有比较小的上限。在32位操作系统中,4GB的定址范围对于一般应用程序来说是绰绰有余的,因而,通常使用一维的线性地址空间,而不使用“段”。64位系统比32位系统更优越,主要表现在1、能够支持更大的内存,具体见下表。而所有32位系统最大只能支持 4GB内存。2、更高的安全性能,例如Data Execution Prevention (DEP)和Microsoft’s PatchGuard提供了额外的安全层。以Windows Vista Starter家族版本来说:

* Windows Vista Home Basic 家庭普通版内存最大支持到 8 GB。

* Windows Vista Home Premium 家庭高级版内存最大支持到 8 GB。是家庭台式机和移动 PC 的首选版本。 它采用突破性设计,将您的世界带入更明确的焦点,并在家中或随时随地为您的 PC 提供所需的生产效率、娱乐和安全。

* Windows Vista Ultimate 旗舰版内存最大支持到 128+ GB。是想拥有全部功能的用户的最佳选择。 使用 Windows Vista 的最完整版本,轻松在生产环境和娱乐环境之间切换。 旗舰版提供工作所需的强大、安全和移动功能,同时包括您玩乐所需的所有娱乐功能。

* Windows Vista Business 商用版内存最大支持到 128+ GB。是 Windows 专为满足小企业需求而设计的第一个版本。您在与技术支持相关的问题上花费的时间将更少,因此可以将更多时间用在促进业务成功上。 Windows Vista 商用版是您的企业现在和将来当之无愧的选择。

* Windows Vista Enterprise 企业版内存最大支持到 128+ GB。是为显著降低 IT 成本和风险而设计,满足拥有复杂 IT 基础结构的大型全球性组织的需求。

64 位系统不是针对普通用户的,而是针对需要进行工程设计(CAD/CAM)、数码影片制作、科学计算统计的工作人员或者一些需要更高安全级别的企业用户,因为64位的计算机硬件和软件系统能够给于高性能的运算与安全。使用64位操作系统还需要相关硬件、硬件驱动和应用程序才能真正发挥其高性能,而介于目前 64位的硬件驱动和应用软件比较少,所以不建议一般用户安装64位的Windows Vista。


注意

如果用户需要安装64位的Windows Vista,那么在安装之前一定要确保所有硬件的驱动程序都带有数字签名。因为从系统稳定性考虑,64位的Windows Vista要求所有硬件驱动都必须带有数字签名,否则系统不会加载,这是32位系统所没有的。只有购买Ultimate版本才可以同时获得32位和64位的系统安装光盘,而购买其他版本的Windows Vista都只能获得32位的安装光盘。


破解过程

2007 年2月7日(aeno&BINBIN)正式向外界宣布微软最新操作系统Windows Vista OEM版本VISTA认证信息被成功伪造在非原生支持SLIC段的BIOS里,从而实现了免激活版本的安装使用,Phoenix BIOS和Phoenix-Award BIOS已经宣告正式解密破解,我们利用分析已预装Windows Vista的系统提取完整BIOS信息(ASUS的A8JS),分析出认证信息、从而提取了用于SLP 2.0 认证的ASUS SLIC段(SLIC段为374字节,其中表头36字节、公钥156字节,WINDOWS标识182字节),分别提取了公钥和Windows标识信息,制作出了完整的 SLIC认证信息。随后我们通过对Phoenix BIOS的分析对VMware BIOS的ACPI SLIC段进行了添加和伪造,配合已有的OEM版本完成了在VMware上的测试、从而在非预装机上实现了免激活OEM版本的安装、并在实体机器上的进行了测试,从结果可以看到应用认证信息到Phoenix BIOS的BIOS其通用性和可行性都比较高。接着又通过分析Phoenix-Award BIOS的BIN文件、完成了对Phoenix-Award BIOS的添加处理,在型号为DFI LANPARTY UT nF4 Ultra-D的主板上实现了测试安装。Windows Vista OEM版本认证机制概述:与Windows XP中只对DMI信息做认证不同的是微软在Windows Vista系统内部署了更为严密的认证机制、在启动过程中首先认证安装序列号,随后通过OEM厂商自己的证书文件对BIOS里的公钥及标识文件分别进行验证,如果验证通过版本及被识别为免激活OEM版本。


微软承认Windows Vista OEM破解有效

微软高级产品经理Alex Kochis,他也是Windows Genuine Advantage开发的主要负责人之一,最近针对Windows Vista的破解问题,他从技术上确认,此前出现的Windows Vista OEM破解的确有效。特别是中国黑客开发的Vista Loader 1.0,2.0以及其增强版完全起到了绕过Windows Vista正版验证和激活的作用。Vista Loader是一个利用OEM主板BIOS软件识别信息欺骗Windows Vista OEM授权的一个破解方法,目前看来,它非常有效。但Alex Kochis说,Windows Vista的盗版可没像Windows XP那么容易,他们还需要攻破OEM ActivATIon 2.0机制才可以。上个月,Vista更多的破解方式已经出现,其中还包括暴力穷举--当然,作者和我们开了个玩笑,只是,Windows Vista的反盗版机制还能挺多久?


各种破解vista的方法汇总(按出现的时间顺序排列):

1.替换法:原理:用替换vista的一些许可文件的办法来用测试版序列号激活vista,是最早出现的办法。缺点:许可变为测试版,有时间限制。

2.kms私服激活法:原理:不是去微软的官方服务器激活,而是去私人架设的服务器激活,也可以用vmware虚拟机自己架设激活服务器或在局域网中其它机器架设激活服务器来进行激活。优点:激活后跟正版软件并无区别,此法微软较难封杀。缺点:只适用于b版(商业版)和e版(企业版),并且隔6个月就要重新激活一次。而且私服存在不稳定性,说不定哪天就关了,而自己架设的话比较复杂。使用方法:http://www.vistafans.com/thread-89814-1-1.html

3.timestop(时间停止)法:原理:vista在激活之前有30天的试用期,此法加载一个驱动(timerstop.sys),使倒计时停止在30天,从而使你避免激活,无限试用。优点:操作简便,可以用于u版(旗舰版),无功能限制(自动更新,梦幻桌面等都可使用)。缺点:vista处于未激活状态,虽然没有功能上的限制,但是对于追求完美的人来说,会感到影响美观。并且可以预见的是,微软一定会在未来的某次升级(如sp1)之后封杀此方法。使用方法:推荐步骤是安装vista时不输序列号,并且不勾选"联机时自动激活Windows"。装好vista后不进行任何更新,在TimeStop.exe上点右键以管理员的身份运行 TimeStop.exe,然后电脑会自动重启,完成破解。之后可以运行“slmgr.vbs -dlv”验证倒计时是否停止在30天。请去下载timestop-v2、卸载方法:删除c:/windows/system32 /imerstop.sys档。

4.刷bios法:原理:此法是将品牌机oem信息刷入你机器bios,然后可以使用 oem版的vista。优点:跟真正的oem正版没有区别。缺点:由于需要改bios、刷bios,对新手来说有难度,而且有一定危险性,并且每台机器不同,并不一定都能刷成功。使用方法:不同主板有不同方法,具体请参考http://www.vistafans.com/thread-105205-1-2.html这帖以及其他的帖子,卸载方法:再把bios刷回去。

5.softmod(免刷BIOS或动态BIOS)法:原理:在启动vista之前,先往bios里添加slic的OEM验证数据,从而使vista认为你的机器为OEM的品牌机型。优点:可以达到刷bios法的效果,而又没有刷bios的危险,操作简单。激活之后跟正版的oem vista没有区别。缺点:每次启动时会闪过一堆字符,影响美观,也减慢启动速度(虽然只是减慢了一点点)。而且由于此法需要修改MBR来达到效果,如果你以前修改过MBR,例如品牌机或笔记本的隐藏分区还原功能,又例如Acronis True Image的F11功能,会产生冲突导致无法启动。使用方法(2选1):
1.使用网友做的全自动傻瓜包。http://mirror.gochina.cn/liuhang/SoftMod.exe
2.不想用全自动的话,手动进行也并不麻烦,建议有一定电脑基础的朋友手动修改,毕竟自己动手心里比较明白。具体方法请参考http://www.vistafans.com/thread-110365-1-2.html。卸载方法:以管理员方式运行uninstall.cmd,但是这样重启之后可能会导致vista被识别成盗版。

6.暴力算号法(强烈不推荐):原理:随机生成序列号进行验证,直到验证成功。
优点:可能会算出真正的正版序列号。缺点:目前的这个算法就是纯随机,效率太低,跟本没有实用性,能算出号的概率基本为0。使用方法:
一.备份C:/windows/system32/slmgr.vbs,(如果算号成功,再替换回来);
二.用slmgr.vbs替换掉C:/windows/system32中的同名文件;(此步较复杂,下面单独说明)
三.记录下你的产品密钥,可以用Windows XP产品密钥查看器(压缩包中附带的keyfinder.exe)来验证;
四.开始-运行,输入slmgr.vbs -ipk generate,一个叫做 "wscript.exe"的进程将启动并可能占用大量CPU资源,它大约每30分钟核对10000个密钥;
五.现在开始等待,在得到结果之前,你可能要等待很长一段时间。慢慢等吧。过一段时间(几小时或几天),用keyfinder.exe检查你的密钥,看它是否已经改变;
六.如果已经改变,说明脚本已经找到有效的密钥。通过开始-运行来激活Vista,输入命令slmgr.vbs -ato

算号器下载:http://www.cnbeta.com/xiaolu/Vista_Brute_Force_Keygen.rar

7.OEM BIOS Emulation Toolkit:原理:通过设备驱动程序ROYAL.SYS 模拟OEM BIOS ,提供ACPI_SLIC信息。优点:操作并不太复杂(我估计几天后一定会出现全自动傻瓜包),激活之后跟正版的oem vista没有区别。缺点:在windows下安装驱动,有可能导致系统稳定性降低,而且目前此法不支持64位vista。由于跟timestop一样也是加载驱动,很可能微软在未来的某次更新之后封杀此法。使用方法:参见http://www.cnbeta.com/articles/23285.htm

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hengcai001/archive/2009/01/17/3819485.aspx

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值