锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

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

时间:2023-02-27 07:00:00 cn继电器g4a

操作系统

操作系统结构简单


操作系统架构,以Linux为例

操作系统(英语:Operating System,简称OS)它是管理计算机硬件和软件资源的程序,也是计算机系统的核心和基石。操作系统负责管理和配置内存、确定系统资源供需优先级、控制输入输出设备、操作网络和管理文件系统等基本事务。操作系统还提供了一个操作接口,允许用户与系统交互(请参考外壳和图形用户界面)。操作系统的类型非常多样,安装在不同的机器上OS从简单到复杂,从手机的嵌入式系统到超级计算机的大型操作系统。许多操作系统制造商OS例如,有些定义不一致OS集成了图形用户界面,还有一些OS只使用文本界面,将图形界面视为不必要的应用程序。在计算机科学中,操作系统理论是悠久、活跃的分支,操作系统的设计和实现是软件行业的基础和核心。


操作系统的历史

各种平台操作系统的功能演变

从计算机的历史来看,操作系统与计算机硬件的发展密切相关。操作系统的初衷是提供简单的工作排序能力,然后逐渐演变为辅助更新更复杂的硬件设施。从最早的批模式开始,分时机制也出现了。当多处理器时代到来时,操作系统还增加了多处理器协调功能,甚至分布式系统的协调功能。其他方面的演变也与此类似。另一方面,在个人计算机中,个人计算机得越来越复杂和强大时,个人计算机的操作系统逐渐实践了过去只有大型计算机才能具备的功能。总之,操作系统的历史是解决计算机系统需求和问题的历史。


1980年代前OS系统


第一台计算机没有操作系统。这是因为早期计算机的建立方法(如机械算盘的建设)和效率不足以执行此类程序。但电晶体和莫里斯是在1947年发明的·威尔克斯(Maurice V. Wilkes)发明的微程序方法使计算机不再是机械设备,而是电子产品。简化硬件操作流程的系统管理工具和程序很快出现,成为操作系统的起源。到20世纪60年代初,商用计算机制造商建立了批处理系统,可以序列化工作的建设、调度和执行。此时,制造商为每台不同型号的计算机创建了不同的操作系统,因此为计算机编写的程序不能移植到其他计算机上,即使是同一型号的计算机。

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,是激发 许多操作系统在20世纪70年代建立的灵感来源,特别是AT&T丹尼斯,贝尔实验室·里奇与肯·汤普逊建立的Unix实践平台移植能力,系统,1969年,该操作系统由C语言重写;市场上广泛使用的另一个小型计算机操作系统是VMS。


1980年代OS系统


与大型或小型计算机不同,第一代微型计算机没有安装操作系统的需求或能力;它们只需要最基本的操作系统,通常来自ROM该程序被称为监视程序(Monitor)。家用计算机在1980年代开始普及。通常此时的计算机有8-bit处理器加上64KB内存、屏幕、键盘和低音喇叭。80年代初最著名的套装计算机是使用微处理器6510(6502芯片特别版)Commodore C64。这台计算机没有操作系统,而是18KB只读内存BIOS彩色屏幕、键盘、软驱动和打印机的初始化。它可用8KB只读内存BASIC直接操作语言 BIOS,并依此撰写程序,大部分是游戏。此BASIC语言解释器几乎不是计算机的操作系统,当然没有核心或软硬件保护机制。此计算机上的游戏大多跳过BIOS直接控制硬件的层次。早期最著名的磁盘启动操作系统是CP/M,它支持许多早期的微计算机,并且已经被使用MS-DOS大量抄袭其功能。最早期的 IBM PC其架构类似C64。当然也用过BIOS以初始化和抽象化硬件的操作,甚至附加了一个BASIC解释器!但是它的BASIC优于其他公司产品的原因是它具有可携性,与任何符合要求的产品兼容IBM PC机器上的架构。这样的PC可利用Intel-8088处理器(16-bit寄存器)定址,最多1MB然而,最初只有640的内存KB。软磁盘机取代了过去的磁带机,成为新一代的存储设备,可以在他的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第一代苹果计算机产品

延续了20世纪80年代的竞争,20世纪90年代出现了许多影响未来个人计算机市场的操作系统。由于图形用户界面越来越复杂,操作系统的能力越来越复杂和巨大,因此迫切需要强大和灵活的操作系统。这个时代是很多个人计算机操作系统互相竞争的时代。苹果计算机上一年代在市场上崛起,由于旧系统设计不善,后续发展无效,决定重新设计操作系统。在许多失败的项目之后,苹果于1997年发布了新的操作系统——MacOS测试版,随后推出的正式版取得了巨大成功。让原本失意离开苹果的人Steve Jobs风光再现。自20世纪80年代以来,在开放原码的世界里,除了商业主流的操作系统外,BSD该系统也发展了很长一段时间,但在20世纪90年代 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因为架构不是很好。微软和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内核底下执行,以达到通透顺畅地与硬件交互的效果,

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章