:: wikimiki.org ::
| Linux Ɠ作系统 |
Linux 操作系统
:本文的内容是关于基于Linux的操作系统,GNU/Linux和相关主题的。请参照Linux内核以获得和内核本身相关的内容。
Linux是一种计算机操作系统和它的内核的名字。它也是最著名的自由软件和开放源代码的开发。
严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和库的操作系统(也被称为GNU/Linux)。基于这些组件的Linux软件被称为Linux發行版。一般来讲,一个Linux发行套间包含大量的软件,比如软件开发工具,数据库,Web服务器(例如Apache),桌面环境(比如GNOME和KDE),办公套件(比如OpenOffice.org),等等。
Linux内核最初是为Intel 386微处理器设计的。现在Linux内核支持从个人电脑到大型主机甚至包括嵌入式系统在内的各种硬件设备。
在开始的时候,Linux只是个人狂热爱好的一种产物。但是现在,Linux已经成为了一种受到广泛关注和支持的一种操作系统。包括IBM和惠普在内的一些计算机业巨头也开始支持Linux。很多人认为,和其他的商用Unix系统以及微软Windows相比,作为自由软件的Linux具有低成本,安全性高,更加可信赖的优势。
概述
绝大多数基于Linux内核的的操作系统使用了大量的GNU软件,包括了一个shell程序、工具、程序库、编译器及工具,还有许多其他程序,例如Emacs。正因为如此,GNU计划的开创者理查德·马修·斯托曼博士提议将Linux操作系统改名为GNU/Linux。但有些人只把操作系统叫做"Linux"。
大多数系统还包括了像提供GUI界面的XFree86之类的曾经运行于BSD的程序。
除了一部分专家之外,大多数人都不自己选择每一样组件或自行设置,而是直接使用Linux套件。
历史
Linux内核最初只是由芬兰人Linus Torvalds在赫尔辛基大学上学时出于个人爱好而编写的。最初的设想中,Linux是一种类似Minix这样的一种操作系统。Linux的第一个版本在1991年9月被发布在internet上,随后在10月份第二个版本就发布了。
Linux的历史是和GNU紧密联系在一起的。从1983年开始的GNU计划致力于开发一个自由并且完整的类Unix操作系统,包括软件开发工具和各种应用程序。到1991年Linux内核发布的时候,GNU已经几乎完成了除了系统内核之外的各种必备软件的开发。在Linus Torvalds和其他开发人员的努力下,GNU组件可以运行于Linux内核之上。整个内核是基于GNU通用公共许可,也就是GPL(GNU General License)的,但是Linux内核并不是GNU 计划的一部分。
Linux的标志和吉祥物是一只名字叫做Tux的企鹅,Linux的注册商标是Linus Torvalds所有的。这是由于在1996年,一个名字叫做William R. Della Croce的律师开始向各个Linux发布商发信,声明他拥有Linux商标的所有权,并且要求各个发布商支付版税,这些发行商集体进行上诉,要求将该注册商标重新分配给Linus Torvalds。
用户群
传统的Linux用户一般都安装并设置自己的操作系统,他们往往比其他操作系统,例如微软Windows和Mac OS的用户更有经验。这些用户有时被称作“黑客”或是“极客”(geek)。然而随着Linux越来越流行,越来越多的原装机生产商(OEM)开始在其销售的电脑上预装上Linux,Linux的用户中也有了普通电脑用户,Linux系统也开始慢慢抢占桌面电脑操作系统市场。同时Linux也是最受欢迎的服务器操作系统之一。Linux也在嵌入式电脑市场上拥有优势,零成本的特性使Linux深受用户欢迎。
KDE和GNOME等桌面系统使Linux更像是一个Mac或Windows之类的操作系统,提供完善的图形用户界面,而不同于其他使用指令行界面的类Unix操作系统。
未来软件界的方向
linux 作为较早的源代码开放操作系统,将引领未来软件发展的方向.原因很简单,就象现在的wiki将很快展示出它的魅力.
参见
- Linux内核
- GNU
- 开放源代码
Category:Linux
Linux
Category:操作系统
ja:Linux
ko:Linux
操作系统操作系统(Operating System,简称OS)
是计算机系统中负责支撑应用程序运行环境以及用户操作环境的系统软件,同时也是计算机系统的核心与基石。
它的职责通常(但并非绝对)包括对硬件的直接监管、对各种计算资源(如内存、处理器时间等)的管理、以及提供诸如作业管理之类的面向应用程序的服务等等。
操作系统的理论是计算机科学中一个古老而又活跃的分支,而操作系统的设计与实现则是软件工业的基础与核心。
今天的操作系统
到2005年6月为止,用于通用计算机上的分布的操作系统主要两个家族:类Unix家族和微软Windows家族。
主机系统和嵌入式操作系统使用多样的系统,并且很多和Windows和Unix都没有直接的联系。
类Unix家族包括多个组织的操作系统,其中有几个主要的子类包括System V,BSD和Linux。这里'Unix'是一个商标,开发组织允许使用操作系统在一个定义前提下自由地开发。这名字是通用大型设置操作系统类似组织Unix。Unix系统运行在从巨型机到嵌入式系统的多种机器架构上。Unix 主要使用于重要的商务服务器系统以及学院和工程环境中的工作站之上。和Unix不同,自由软件比如Linux 和 BSD 逐步开始流行,并且开始进入桌面操作系统领域。和一些Unix操作系统不同,像惠普公司的HPUX和IBM公司的AIX是设计仅运行在客户购买的设备上,其中有一些特殊的(比如SUN公司的Solaris)可以运行在客户购买设备和基于工业标准的PC上。APPLE公司的Mac OS X是一个BSD特例,以取代早期小型市场上的苹果公司Mac OS,众多流行的Unix操作系统正在走向一体。
微软公司的Windows操作系统家族起源于早期的IBM PC环境中的MS-DOS,现在版本是基于新的Windows NT内核,第一次是在OS/2中制定。和Unix不同,Windows只能运行在32位和64位的x86 CPU(如Intel或者AMD的芯片)上,尽管早期有版本运行于DEC Alpha,MIPS 和 PowerPC体系结构。今天Windows是一个流行的操作系统,在全球桌面市场中占有90%左右的份额,同时在中低端服务器市场也有广泛的应用,如Web服务器和数据库服务器。
译者提示:NT是 New Technology 而不是 Network Technology,这点很多人都出现过误解.
大型机系统,比如IBM公司的Z/OS,和嵌入式操作系统比如QNX , eCOs 和 PalmOS都是和Unix和Windows无关的操作系统,而Windows CE ,Windows NT Embedded 4.0 和 Windows XP Embedded 都是和Windows相关的。
老的操作系统停留在市场包括类似IBM Windows的OS/2;来自惠普的VMS(以前的DEC);苹果公司的Mac OS操作系统,非Unix先驱苹果公司Mac OS X;和AmigaOS,第一个图形用户界面的操作系统,包括对于普通用户的高级的多媒体能力.
功能
操作系统位于底层硬件与用户之间,是两者沟通的桥梁。用户可以通过操作系统的用户界面,输入命令。操作系统则对命令进行解释,驱动硬件设备,实现用户要求。
结构
操作系统理论研究者有时把操作系统分成四大部分:
- 驱动程序 - 最底层的、直接控制和监视各类硬件的部分,它们的职责是隐藏硬件的具体细节,并向其他部分提供一个抽象的、通用的接口。
- 内核 - 操作系统之最核心部分,通常运行在最高特权级,负责提供基础性、结构性的功能。
- 支承库 - (亦作“接口库”)是一系列特殊的程序库,它们指责在于把系统所提供的基本服务包装成应用程序所能够使用的编程接口(API),是最靠近应用程序的部分。例如,GNU C运行期库就属于此类,它把各种操作系统的内部编程接口包装成ANSI C和POSIX编程接口的形式。
- 外围 - 所谓外围,是指操作系统中除以上三类以外的所有其他部分,通常是用于提供特定高级服务的部件。例如,在微内核结构中,大部分系统服务,以及UNIX/Linux中各种守护进程都通常被划归此列。
当然,本节所提出的四部结构观也绝非放之四海皆准。
例如,在早期的微软视窗操作系统中,各部分耦合程度很深,难以区分彼此。
而在使用外核结构的操作系统中,则根本没有驱动程序的概念。
因而,本节的讨论只适用于一般情况,具体特例需具体分析。
操作系统中四大部分的不同布局,也就形成了几种整体结构的分野。
常见的结构包括:简单结构、层结构、微内核结构、垂直结构、和虚拟机(虛擬機器Virtual Machine)结构。
简单结构
很多商用操作系统都没有清晰的整体结构,系统中的各个部件混杂在一起。
这些操作系统往往是由很小的实验性的项目逐步演化而来的,因而宏观结构非常模糊。
MS-DOS就是一个很好的例子,在设计之初,MS-DOS的设计目标是在比较有限的硬件资源上运行比较有限的应用程序,开发人员很可能都没有预料到它日后在市场上的巨大成功,因而模块之间的相对独立性几乎被忽略。
相似的情况也发生在UNIX家族之中。
早期的UNIX因为受限于当时的硬件能力,也一直都是采用非常简单的、
随着UNIX的不断发展这样结构也很快成为了UNIX演进的瓶颈。
其他采用这种简单结构的操作系统还包括PalmOS 5以前的PalmOS,以及很多其他的小型的嵌入式操作系统。
层结构
微内核结构
垂直结构
虚拟机结构
分类
内核结构
:主条目: 内核
内核是操作系统最核心最基础的构件,因而,内核结构往往对操作系统的外部特性以及应用领域有着一定程度的影响。
尽管随着理论和实践的不断演进,操作系统高层特性与内核结构之间的耦合有日趋缩小之势,但习惯上,内核结构仍然是操作系统分类之常用标准。
内核的结构可以分为
单内核(monolithic kernel),
微内核(microkernel),
超微内核(nanokernel),
以及外核(exokernel)等。
详情参见操作系统内核。
单内核结构是操作系统中各核心部件杂然混居的形态,该结构于二十世纪六十年代(亦有二十世纪五十年代初之说,尚存争议),历史最长,是操作系统内核与外围分离时的最初形态。
微内核结构是二十世纪八十年代产生出来的较新的内核结构,强调结构性部件与功能性部件的分离。
二十世纪末,基于微内核结构,理论界中又发展出了超微内核与外内核等多种结构。
尽管自二十世纪八十年代起,大部分理论研究都集中在以微内核为首的“新兴”结构之上,然而,在应用领域之中,以单内核结构为基础的操作系统却一直占据着主导地位。
在众多常用操作系统之中,除了QNX和基于Mach的UNIX等个别系统外,几乎全部采用单内核结构,例如Linux,大部分的Unix,以及Windows(微软声称Windows NT是基于改良的微内核架构的,尽管理论界对此存有异议)。
微内核和超微内核结构主要用于研究性操作系统,还有一些嵌入式系统使用外核。
基于单内核的操作系统通常有着较长的历史渊源。
例如,绝大部分UNIX的家族史都可上溯至二十世纪六十年代。
该类操作系统多数有着相对古老的设计和实现
(例如某些UNIX中存在着大量七、八十年代的代码)。
另外,往往在性能方面略优于同一应用领域中采用其他内核结构的操作系统
(但通常认为此种性能优势不能完全归功于单内核结构)。
通用与专用、嵌入式去
实时与非实时
“实时操作系统”(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标准)。
多任务与单任务
16位、32位、64位
所谓16位、32位、64位等术语有时指总线宽度,有时指指令宽度(在定长指令集中),而在操作系统理论中主要是指内存寻址的宽度。如果内存的寻址宽度是16位,那么每一个内存地址可以用16个二进制位来表示,也就是说可以在64KB的范围内寻址。同样道理32位的宽度对应4GB的寻址范围,64位的宽度对应16 Exabyte的寻址范围。内存寻址范围并非仅仅是对操作系统而言的,其他类型的软件的设计有时也会被寻址范围而影响。但是在操作系统的设计与实现中,寻址范围却有着更为重要的意义。
在早期的16位操作系统中,由于64KB的寻址范围太小,大都都采用“段”加“线性地址”的二维平面地址空间的设计。分配内存时通常需要考虑“段置换”的问题,同时,应用程序所能够使用的地址空间也往往有比较小的上限。
在32位操作系统中,
4GB的寻址范围对于一般应用程序来说是绰绰有余的,
因而,通常使用一维的线性地址空间,而不使用“段”。
参看
- 操作系统内核
- 实时操作系统-分时系统-多任务-嵌入式系统-单一用户-多用户
- 对称多处理并行计算(SMP)-集群(Cluster)-分布式计算
- 操作系统列表
- 64位操作系统
- 计算机科学课程列表
部分操作系统
- FreeBSD
- MS-DOS
- GNU/Linux
- Mac OS
- Windows
- Windows NT
- UNIX
- 其他操作系统
外部链接
-
als:Betriebssystem
ja:オペレーティングシステム
ko:운영 체제
ms:Sistem pengoperasian
simple:Operating system
th:ระบบปฏิบัติการ
zh-min-nan:Chok-gia̍p hē-thóng
计算机電子計算機,--电脑,是一种电子化的计算工具。在中國大陆也經常用計算機來指代電子計算機。就目前而言,電子計算機是根据预先设定好的程序来进行信息处理的一种设备。電子計算機分为巨型计算机(又称“超级计算机”)、大型计算机、中型计算机、小型计算机、微型计算机(简称“微机”,其中包括个人计算机,PC),已经逐步进入社会各个领域,尤其是进入了家庭和个人领域,极大地改变了社会的日常面貌。
定义
上述对于電子計算機的定义包括了许多只能计算或是只有有限功能的特定用途的设备。然而当说到现代電子計算機,最重要的特征是,只要给予正确的规划,任何電子計算機都可以模拟其他任何的行为(只受限于電子計算機本身的存储容量和执行的速度)。据此,现代電子計算機相对于早期的電子計算機也被称为通用型電子計算機。
分类
为了定义什么是電子計算機,对所有计算设备进行分类是必然的。下面的章节介绍几种不同的分类方法。这些分类方法必须一起使用才能准确无误的描述一台特定的電子計算機。
按用途分类
这是最明显的分类法。電子計算機制造商通常用这种方法来描述他们的产品;用户用同样的方法来描述与他们交流的机器。例如:
- 巨型计算机
- 小巨型计算机
- 超級计算机
- 大型计算机
- 企业应用服务器
- 小型计算机
- 工作站
- 个人计算机或者台式机
- 膝上型电脑或者笔记本电脑
- 个人数字助理
- 可以穿戴的电脑
按用途分类很通俗,但是也导致它的不确定性,因为仅仅当前广泛使用的设备被包含进来了。電子計算機发展的快速性意味着其新用途层出不穷,当前的定义很快就过时。许多不再被人使用的電子計算機的类型,例如微分分析器,通常不被列入分类条目之中。所以,必须采用其他分类方法来明白无误的定义電子計算機这条术语。
按制造技术分类
- 机械式电脑
- 半电子—半机械式
- 电子式
- 晶体管式
- 半导体集成电路式
按设计特点分类
现代電子計算機综合了许多基本的设计特点,这些特点是许多贡献者在很多年里逐渐开发出来的。设计特点经常独立于实现技术。现代電子計算機的综合性能来源于这些特点互相作用的方式。一些重要的设计特性罗列如下:
数字式和模拟式
设计一种電子計算機时需要有一个基本的决定,即这种電子計算機应该是数字式还是模拟式的。数字式处理离散的数字性或者符号性值,而模拟式仍然应用于一些特殊目的的领域,例如机器人和回旋加速器的控制。其他的途径,象脉冲计算和量子计算,也是可能存在的;但是他们或者用于很特殊的目的或者仍然处于试验阶段。
二进制和十进制
在数字式计算的发展历程中,一个重大的设计进步是引入了二进制作为内部的数字系统。这种方法避免了那些基于其他数字系统的電子計算機中必须的复杂的进位机制,例如十进制系统。采用二进制的好处是简化了实现算术功能和逻辑运算的设计。
按功能分类
对不同的计算设备分类的最好办法可能是按他们的内在能力分类,而不是按他们的用途,实现技术,或者设计特性来分类。電子計算機按能力可以分为三大类:只能计算一种函数的单用途设备,可以计算有限范围内的函数的特殊用途设备,以及我们天天使用的通用设备。过去電子計算機这个词用来描述所有这些类型的机器,但是现在口语中的用法通常特指通用電子計算機了。
通用電子計算機
按定义来说,一台通用電子計算機能用来解决任何问题,只要这个问题可以用程序来表示。然而,程序运行的是有一些实际的限制的:電子計算機的存储能力,问题的大小,以及运行的速度。在1934年,艾伦·图灵证明了:给定正确的程序,任何通用電子計算機可以模拟其他任何电脑的行为。他的数学证明是纯粹理论上的,因为那时候还没有通用電子計算機存在。这个证明的意义是深远的:例如,从理论上说,现在的通用電子計算機能够模拟任何未来制造的通用電子計算機的行为,尽管速度很慢。
通用電子計算機也称作完备的图灵机,它经常被用来作为定义现代電子計算機的能力上限。然而,这种定义是有问题的。几种过分单纯化的计算设备已经展现出完备的图灵机特性。但是他们都处于一种幽默化表达的“图灵沥青陷阱”(?)状态,一种什么都是有可能的,但是和实用性一点都不沾边。现代電子計算機不仅仅是理论上的通用化,而且是实用化的通用工具。
从1930年代中期到1940年代后期,许多人在开发现代的、数字的、电子的,通用電子計算機。许多试验型的机器被造了出来并且可能是图灵完备化的。这些机器在当时都被宣称为第一台電子計算機,然而它们都只有有限的处理通用问题的能力,所以他们的设计最终都被抛弃了。
存储程序電子計算機
特殊用途電子計算機
单用途電子計算機
按操作类型分类
電子計算機也可以按用户操作的方式来分类。有两大类操作方式:批处理和交互式处理。
嵌入式電子計算機
从1980年代起,许多的家用设备,不只包括电视游戏控制器,而且延伸到移动电话、录相机、PDA和许多其他的工业、电子设备,都内嵌有特定用途的電子計算機。这些電子計算機也通常被称之为“微控制器”或者嵌入式計算機。
个人计算机
就目前而言,一般人所提到的计算机都是指个人计算机。
大型计算机
巨型计算机
成指数级增长的电脑的发展
划分不同种電子計算機的难度因为它的计算能力的指数增长更加复杂化。粗略估计,从1900年到现在,计算设备的计算能力(按1000美元能够买到的设备在每秒种内处理运算指令的数量)每一年半到两年就增加一倍。英特尔公司的创始人之一,戈登·E·摩尔在1965年首次描述了電子計算機发展的这种特性(参考摩尔定律)。快速发展的電子計算機制造工程技术维持了这种指数级的能力增长。与这种能力增长携手并进的另一过程是戏剧化的小型化过程。第一代的電子計算機,例如ENIAC(出现于1946年),都是一些重达数吨,占据好几间房间,需要多个操作员来维持它们正常工作的庞然大物。这些大家伙太贵了,以至于只有政府和大型机构才能够买得起。它们也的确太怪异了,当时的人们都认为几台,或者几十台这样的机器就能够满足全世界的需求了。相比之下,现代電子計算機比第一代前辈多了几个数量级,更加多才多艺,而且便宜、小巧,还随处可见。
電子計算機是如何工作的
自从1940年代第一台電子計算機问世以来,大部分的電子計算機仍采用冯·诺依曼结构体系,虽然其相关技术已经发生了翻天覆地的变化。
冯·诺依曼结构将一个電子計算機系统分为四个主要部分:算术逻辑单元、控制器、存储器和输入输出设备。这些部分是通过总线连接起来的。
参看
- 電子計算機的历史
- 计算机图片
- 电脑游戏
- 计算机软件
- 计算机网络
Category:计算机硬件
ja:コンピュータ
ko:컴퓨터
ms:Komputer
nb:Datamaskin
simple:Computer
th:คอมพิวเตอร์
操作系统操作系统(Operating System,简称OS)
是计算机系统中负责支撑应用程序运行环境以及用户操作环境的系统软件,同时也是计算机系统的核心与基石。
它的职责通常(但并非绝对)包括对硬件的直接监管、对各种计算资源(如内存、处理器时间等)的管理、以及提供诸如作业管理之类的面向应用程序的服务等等。
操作系统的理论是计算机科学中一个古老而又活跃的分支,而操作系统的设计与实现则是软件工业的基础与核心。
今天的操作系统
到2005年6月为止,用于通用计算机上的分布的操作系统主要两个家族:类Unix家族和微软Windows家族。
主机系统和嵌入式操作系统使用多样的系统,并且很多和Windows和Unix都没有直接的联系。
类Unix家族包括多个组织的操作系统,其中有几个主要的子类包括System V,BSD和Linux。这里'Unix'是一个商标,开发组织允许使用操作系统在一个定义前提下自由地开发。这名字是通用大型设置操作系统类似组织Unix。Unix系统运行在从巨型机到嵌入式系统的多种机器架构上。Unix 主要使用于重要的商务服务器系统以及学院和工程环境中的工作站之上。和Unix不同,自由软件比如Linux 和 BSD 逐步开始流行,并且开始进入桌面操作系统领域。和一些Unix操作系统不同,像惠普公司的HPUX和IBM公司的AIX是设计仅运行在客户购买的设备上,其中有一些特殊的(比如SUN公司的Solaris)可以运行在客户购买设备和基于工业标准的PC上。APPLE公司的Mac OS X是一个BSD特例,以取代早期小型市场上的苹果公司Mac OS,众多流行的Unix操作系统正在走向一体。
微软公司的Windows操作系统家族起源于早期的IBM PC环境中的MS-DOS,现在版本是基于新的Windows NT内核,第一次是在OS/2中制定。和Unix不同,Windows只能运行在32位和64位的x86 CPU(如Intel或者AMD的芯片)上,尽管早期有版本运行于DEC Alpha,MIPS 和 PowerPC体系结构。今天Windows是一个流行的操作系统,在全球桌面市场中占有90%左右的份额,同时在中低端服务器市场也有广泛的应用,如Web服务器和数据库服务器。
译者提示:NT是 New Technology 而不是 Network Technology,这点很多人都出现过误解.
大型机系统,比如IBM公司的Z/OS,和嵌入式操作系统比如QNX , eCOs 和 PalmOS都是和Unix和Windows无关的操作系统,而Windows CE ,Windows NT Embedded 4.0 和 Windows XP Embedded 都是和Windows相关的。
老的操作系统停留在市场包括类似IBM Windows的OS/2;来自惠普的VMS(以前的DEC);苹果公司的Mac OS操作系统,非Unix先驱苹果公司Mac OS X;和AmigaOS,第一个图形用户界面的操作系统,包括对于普通用户的高级的多媒体能力.
功能
操作系统位于底层硬件与用户之间,是两者沟通的桥梁。用户可以通过操作系统的用户界面,输入命令。操作系统则对命令进行解释,驱动硬件设备,实现用户要求。
结构
操作系统理论研究者有时把操作系统分成四大部分:
- 驱动程序 - 最底层的、直接控制和监视各类硬件的部分,它们的职责是隐藏硬件的具体细节,并向其他部分提供一个抽象的、通用的接口。
- 内核 - 操作系统之最核心部分,通常运行在最高特权级,负责提供基础性、结构性的功能。
- 支承库 - (亦作“接口库”)是一系列特殊的程序库,它们指责在于把系统所提供的基本服务包装成应用程序所能够使用的编程接口(API),是最靠近应用程序的部分。例如,GNU C运行期库就属于此类,它把各种操作系统的内部编程接口包装成ANSI C和POSIX编程接口的形式。
- 外围 - 所谓外围,是指操作系统中除以上三类以外的所有其他部分,通常是用于提供特定高级服务的部件。例如,在微内核结构中,大部分系统服务,以及UNIX/Linux中各种守护进程都通常被划归此列。
当然,本节所提出的四部结构观也绝非放之四海皆准。
例如,在早期的微软视窗操作系统中,各部分耦合程度很深,难以区分彼此。
而在使用外核结构的操作系统中,则根本没有驱动程序的概念。
因而,本节的讨论只适用于一般情况,具体特例需具体分析。
操作系统中四大部分的不同布局,也就形成了几种整体结构的分野。
常见的结构包括:简单结构、层结构、微内核结构、垂直结构、和虚拟机(虛擬機器Virtual Machine)结构。
简单结构
很多商用操作系统都没有清晰的整体结构,系统中的各个部件混杂在一起。
这些操作系统往往是由很小的实验性的项目逐步演化而来的,因而宏观结构非常模糊。
MS-DOS就是一个很好的例子,在设计之初,MS-DOS的设计目标是在比较有限的硬件资源上运行比较有限的应用程序,开发人员很可能都没有预料到它日后在市场上的巨大成功,因而模块之间的相对独立性几乎被忽略。
相似的情况也发生在UNIX家族之中。
早期的UNIX因为受限于当时的硬件能力,也一直都是采用非常简单的、
随着UNIX的不断发展这样结构也很快成为了UNIX演进的瓶颈。
其他采用这种简单结构的操作系统还包括PalmOS 5以前的PalmOS,以及很多其他的小型的嵌入式操作系统。
层结构
微内核结构
垂直结构
虚拟机结构
分类
内核结构
:主条目: 内核
内核是操作系统最核心最基础的构件,因而,内核结构往往对操作系统的外部特性以及应用领域有着一定程度的影响。
尽管随着理论和实践的不断演进,操作系统高层特性与内核结构之间的耦合有日趋缩小之势,但习惯上,内核结构仍然是操作系统分类之常用标准。
内核的结构可以分为
单内核(monolithic kernel),
微内核(microkernel),
超微内核(nanokernel),
以及外核(exokernel)等。
详情参见操作系统内核。
单内核结构是操作系统中各核心部件杂然混居的形态,该结构于二十世纪六十年代(亦有二十世纪五十年代初之说,尚存争议),历史最长,是操作系统内核与外围分离时的最初形态。
微内核结构是二十世纪八十年代产生出来的较新的内核结构,强调结构性部件与功能性部件的分离。
二十世纪末,基于微内核结构,理论界中又发展出了超微内核与外内核等多种结构。
尽管自二十世纪八十年代起,大部分理论研究都集中在以微内核为首的“新兴”结构之上,然而,在应用领域之中,以单内核结构为基础的操作系统却一直占据着主导地位。
在众多常用操作系统之中,除了QNX和基于Mach的UNIX等个别系统外,几乎全部采用单内核结构,例如Linux,大部分的Unix,以及Windows(微软声称Windows NT是基于改良的微内核架构的,尽管理论界对此存有异议)。
微内核和超微内核结构主要用于研究性操作系统,还有一些嵌入式系统使用外核。
基于单内核的操作系统通常有着较长的历史渊源。
例如,绝大部分UNIX的家族史都可上溯至二十世纪六十年代。
该类操作系统多数有着相对古老的设计和实现
(例如某些UNIX中存在着大量七、八十年代的代码)。
另外,往往在性能方面略优于同一应用领域中采用其他内核结构的操作系统
(但通常认为此种性能优势不能完全归功于单内核结构)。
通用与专用、嵌入式去
实时与非实时
“实时操作系统”(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标准)。
多任务与单任务
16位、32位、64位
所谓16位、32位、64位等术语有时指总线宽度,有时指指令宽度(在定长指令集中),而在操作系统理论中主要是指内存寻址的宽度。如果内存的寻址宽度是16位,那么每一个内存地址可以用16个二进制位来表示,也就是说可以在64KB的范围内寻址。同样道理32位的宽度对应4GB的寻址范围,64位的宽度对应16 Exabyte的寻址范围。内存寻址范围并非仅仅是对操作系统而言的,其他类型的软件的设计有时也会被寻址范围而影响。但是在操作系统的设计与实现中,寻址范围却有着更为重要的意义。
在早期的16位操作系统中,由于64KB的寻址范围太小,大都都采用“段”加“线性地址”的二维平面地址空间的设计。分配内存时通常需要考虑“段置换”的问题,同时,应用程序所能够使用的地址空间也往往有比较小的上限。
在32位操作系统中,
4GB的寻址范围对于一般应用程序来说是绰绰有余的,
因而,通常使用一维的线性地址空间,而不使用“段”。
参看
- 操作系统内核
- 实时操作系统-分时系统-多任务-嵌入式系统-单一用户-多用户
- 对称多处理并行计算(SMP)-集群(Cluster)-分布式计算
- 操作系统列表
- 64位操作系统
- 计算机科学课程列表
部分操作系统
- FreeBSD
- MS-DOS
- GNU/Linux
- Mac OS
- Windows
- Windows NT
- UNIX
- 其他操作系统
外部链接
-
als:Betriebssystem
ja:オペレーティングシステム
ko:운영 체제
ms:Sistem pengoperasian
simple:Operating system
th:ระบบปฏิบัติการ
zh-min-nan:Chok-gia̍p hē-thóng
内核在计算机科学中,内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。直接对硬件操作是非常复杂的,所以内核通常提供一种硬件抽象的方法来完成这些操作。硬件抽象隐藏了复杂性,为应用软件和硬件提供了一套简洁,统一的接口,使程序设计更为简单。
严格地说,内核并不是计算机系统中必要的组成部分。程序可以直接地被调入计算机中执行,这样的设计说明了设计者不希望提供任何硬件抽象和操作系统的支持,它常见于早期计算机系统的设计中。最终,一些辅助性程序,例如程序加载器和调试器,被设计到机器核心当中,或者固化在只读存储器里。这些变化发生时,操作系统内核的概念就渐渐明晰起来了。
内核可分为四大类:
- 单内核 它为潜在的硬件提供了大量完善的硬件抽象操作。
- 微内核 只提供了很小一部分的硬件抽象,大部分功能由一种特殊的用户态程序:服务器来完成。
- 混合内核 它很像微内核结构,只不过它的的组件更多的在核心态中运行,以获得更快的执行速度。
- 外内核 这种内核不提供任何硬件抽象操作,但是允许为内核增加额外的运行库,通过这些运行库应用程序可以直接地或者接近直接地对硬件进行操作。
单内核
单内核结构在硬件之上定义了一个高阶的抽象界面,应用一组原语(或者叫系统调用)来实现操作系统的功能,例如进程管理,文件系统,和存储管理等等,这些功能由多个运行在核心态的模块来完成。
尽管每一个模块都是单独地服务这些操作,内核代码是高度集成的,而且难以编写正确。因为所有的模块都在同一个内核空间上运行,一个很小的bug都会使整个系统崩溃。然而,如果开发顺利,单内核结构就可以从运行效率上得到好处。
很多现代的单内核结构内核,如Linux和FreeBSD内核,能够在运行时将模块调入执行,这就可以使扩充内核的功能变得更简单,也可以使内核的核心部分变得更简洁。
单内核结构的例子:
- 传统的UNIX内核,例如伯克利大学发行的版本
- Linux内核
UNIX
微内核
微内核结构由一个非常简单的硬件抽象层和一组比较关键的原语或系统调用组成,这些原语仅仅包括了建立一个系统必需的几个部分,如 线程管理,地址空间和进程间通信等。
微核的目标是将系统服务的实现和系统的基本操作规则分离开来。例如,进程的输入/输出锁定服务可以由运行在微核之外的一个服务组件来提供。这些非常模块化的用户态服务器用于完成操作系统中比较高级的操作,这样的设计使内核中最核心的部分的设计更简单。一个服务组件的失效并不会导致整个系统的崩溃,内核需要做的,仅仅是重新启动这个组件,而不必影响其它的部分。
微内核结构的例子:
- AIX
- BeOS
- L4微内核系列
- Mach, 用于GNU Hurd和Mac OS X
- Minix
- MorphOS
- QNX
- RadiOS
- VSTa
VSTa
单内核與微内核的比較
单内核结构是非常有吸引力的一种设计,由于在同一个地址空间上实现所有低级操作的系统控制代码的复杂性的效率会比在不同地址空间上实现更高些。
20世纪90年代初,单内核结构被认为是过时的。把Linux设计成为单内核结构而不是微内核引起了无数的争议(参见:[http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html 节选:Linus Torvalds和Andrew Tanenbaum之间一场著名的争辩])。
现在,单核结构正趋向于容易被正确设计,所以它的发展会比微内核结构更迅速些。两个阵营中都有成功的案例。微核经常被用于机器人和医疗器械的嵌入式设计中,因为它的系统的关键部分都处在相互分开的,被保护的存储空间中。这对于单核设计来说是不可能的,就算它采用了运行时加载模块的方式。
尽管Mach是众所周知的多用途的微内核,人们还是开发了除此之外的几个微内核。L3是一个演示性的内核,只是为了证明微内核设计并不总是低运行速度。它的后续版本L4甚至可以将Linux内核在单独的地址空间作为它的一个进程来运行。
QNX是一个从20世纪80年代就开始设计的微内核系统。它比Mach更接近微内核的理念。它被用于一些特殊的领域,在这些情况下由于软件错误导致系统失效是不允许的。例如航天飞机上的机械手,还有研磨望远镜镜片的机器,一点点失误就会导致上千美元的损失。
很多人相信,由于Mach不能够解决一些提出微内核理论时针对的问题,所以微内核技术毫无用处。Mach的爱好者表明这是非常狭隘的观点,遗憾的是似乎所有人都开始接受这种观点。
混合内核
混合内核实质上是微内核,只不过它让一些微核结构运行在用户空间的代码运行在内核空间,这样让内核的运行效率更高些。这是一种妥协做法,设计者参考了微内核结构的系统运行速度不佳的理论。然而后来的实验证明,纯微内核的系统实际上也可以是高效率的。大多数现代操作系统遵循这种设计范畴,微软视窗就是一个很好的例子。另外还有XNU,运行在苹果Mac OS X上的内核,也是一个混合内核。
混合内核的例子:
- BeOS 内核
- DragonFly BSD
- ReactOS 内核
- Windows NT、Windows 2000、Windows XP、Windows Server 2003以及Windows Vista等基于NT技术的操作系统
- XNU
一些人认为可以在运行时加载模块的单核系统和混合内核系统没有区别。这是不正确的。混合意味着它从单核和微核系统中都吸取了一定的设计模式,例如一些非关键的代码在用户空间运行,另一些在内核空间运行,单纯是为了效率的原因。
XNU
外内核
外内核系统,也被称为纵向结构操作系统,使一种比较极端的设计方法。
它的设计理念是让用户程序的设计者来决定硬件接口的设计。外内核本身非常的小,它通常只负责系统保护和系统资源复用相关的服务。
传统的内核设计(包括单核和微核)都对硬件作了抽象,把硬件资源或设备驱动程序都隐藏在硬件抽象层下。比方说,在这些系统中,如果分配一段物理存储,应用程序并不知道它的实际位置。
而外核的目标就是让应用程序直接请求一块特定的物理空间,一块特定的磁盘块等等。系统本身只保证被请求的资源当前是空闲的,应用程序就允许直接存取它。既然外核系统只提供了比较低级的硬件操作,而没有像其他系统一样提供高级的硬件抽象,那么就需要增加额外的运行库支持。这些运行库运行在外核之上,给用户程序提供了完整的功能。
理论上,这种设计可以让各种操作系统运行在一个外核之上,如Windows和Unix。并且设计人员可以根据运行效率调整系统的各部分功能。
现在,外核设计还停留在研究阶段,没有任何一个商业系统采用了这种设计。几种概念上的操作系统正在被开发,如剑桥大学的Nemesis,格拉斯哥大学的Citrix系统和瑞士计算机科学院的一套系统。麻省理工学院也在进行着这类研究。
無核
TUNES Project和UnununiumOS都進行無內核的嘗試. 無內核的系統is not limited to a single centralizing entry point.
參看
- 作業系統
category:操作系统
category:電腦術語
ja:カーネル
ko:커널 (컴퓨터)
自由软件自由软件是由自由軟體基金會所提出的,他是指一件可以让用户自由复制、使用、研究、修改、分发等等,而不附带任何条件的软件。自由软件的主要许可证有GPL许可证和BSD许可证兩種。
以下是自由软件更詳細的規範:
- Freedom 0: 任何人皆有因任何目的執行該軟體的自由。
- Freedom 1: 任何人皆可自由的研究該程式的源代碼並且依照自己的需求加以更改。
- Freedom 2: 任何人皆可自由的再將該軟體散發來幫助自己周遭的人。
- Freedom 3: 任何人皆可自由的改進該程式,並將改變對大眾發表,如此整個社群都將受惠。
如要滿足Freedom 1以及Freedom 3則該軟體必需讓使用者能夠觀看/修改源代碼。也就是說,滿足Freedom 1以及Freedom 3的軟體可被稱為開放源代碼軟件。但是如果是要成為自由軟件則 Freedom 0~3 皆需滿足。
開放源代碼軟件與自由軟件
嚴格地說來,開放源代碼軟件(開源軟件)與自由軟件是兩個不同的概念,只要符合開源軟件定義的軟件就能被稱為開放源代碼軟件。自由軟件是一個比開源軟件更嚴格的概念,因此所有自由軟件都是開放源代碼的,但不是所有的開源軟件都能被稱為「自由」。但在現實上,絕大多數開源軟件也都符合自由軟件的定義。比如,遵守GPL和BSD許可的軟件都是開放的並且是自由的。
參看
- Copyleft
- GNU
- GNU宽通用公共许可证
- Richard Stallman
- GNU/Linux
- 开放源代码
站外链接
- [http://www.gnu.org/philosophy/linux-gnu-freedom.zh.html Linux、GNU 和自由]
- [http://www.gnu.org/gnu/thegnuproject.zh.html GNU计划]
- [http://www.gnu.org/gnu/gnu-history.zh.html GNU计划概述]
- [http://www.gnu.org/philosophy/philosophy.zh.html GNU专案之哲学]
ja:フリーソフトウェア
ko:자유 소프트웨어
simple:Free software
th:ซอฟต์แวร์เสรี
zh-min-nan:Chū-iû nńg-thé
Linux内核Linux是最受欢迎的自由电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。Linux最早是由芬兰黑客 Linus Torvalds为尝试在英特尔x86架构上提供自由免费的类Unix操作系统而开发的。该计划开始于1991年,[http://groups.google.com/groups?hl=en&selm=1991Aug25.205708.9541%40klaava.Helsinki.FI 这里]有一份Linus Torvalds当时在Usenet新闻组comp.os.minix所登载的贴子,这份著名的贴子标志着Linux计划的正式开始。
在计划的早期有一些Minix 黑客提供了协助,而今天全球无数程序员正在为该计划无偿提供帮助。
技术上说Linux是一个内核。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux。
架构
今天Linux是一个一体化内核(monolithic kernel)系统。设备驱动程序可以完全访问硬件。Linux内的设备驱动程序可以方便地以模組化(modularize)的形式设置,并在系统运行期间可直接装载或卸载。
Linux不是微内核(microkernel)架构的事实曾经引起了Linus Torvalds与Andy Tanenbaum之间一场著名的争论。在[http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html 这里]可以看到当时争论的内容。
可移植性
尽管Linus Torvalds的初衷不是使Linux成为一个可移植的操作系统,今天的Linux却是全球被最广泛移植的操作系统内核。从掌上电脑iPaq到巨型电脑IBM S/390,甚至於微軟出品的遊戲機XBOX都可以看到Linux内核的踪迹。Linux还将是即将完成的IBM超级计算机Blue Gene的主要操作系统。
Linux目前可以在以下结构上运行:
- Acorn:Archimedes,A5000和RiscPC系列
- 康柏:Alpha
- 惠普:PA-RISC
- IA64:英特尔Itanium个人电脑
- IBM的S/390和AS/400
- 英特尔80386及之后的兼容产品:80386, 80486和整个奔腾系列;AMD Athlon, Duron, Thunderbird; Cyrix系列。对英特尔8086, 8088, 80186, 80188和80280芯片的支援正在开发中。
- Mips
- 摩托罗拉68020及以上: 新的Amigas, 一些苹果电脑
- PowerPC:所有较新的苹果电脑
- SPARC和UltraSPARC:昇阳微系统的工作站
- Hitachi SuperH: SEGA Dreamcast
- 索尼公司: Playstation 2
- 微软公司: Xbox
- ARM系列
专利权
原先Linus Torvalds将Linux置于一个禁止任何商业行为的条例之下,但之后改用GNU通用公共许可证第二版。该协议允许任何人对软件进行修改或发行,包括商业行为,只要其遵守该协议,所有基于Linux的软件也必须以该协议的形式发表,并提供源代码。
Linus Torvalds曾经公开声称将Linux置于GNU通用公共许可证之下是他一生中所做的“最好的决定”。
参见
- Linus Torvalds
- Linux操作系统
外部资源
- [http://www.kernel.org Linux内核官方下载中心]
- [http://kt.zork.net 日渐膨胀的Linux邮件列表内容摘要]
Category:Linux
ja:Linuxカーネル
th:ลินุกซ์ เคอร์เนล
软件开发软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉,需求分析,设计,实现和测试的系统工程。
软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。
参见:软件工程主题列表
Category:软件工程
Web服务器網頁伺服器一詞有兩個意思:
#一台負責提供網頁的電腦,主要是HTML文件,透過HTTP 協定傳給客戶端,一般是指網頁瀏覽器。
# 一個提供網頁的伺服器程式。
每一台網頁伺服器(第1個意思)會執行最少一個網頁伺服器程式(第2個意思)。
現在市面上最普遍的網頁(HTTP)伺服器有:
- Apache軟件基金的Apache HTTP伺服器
- Microsoft的Internet Information Server (IIS)
- [http://www.zeus.com/ Zeus Technology]的Zeus Web Server
- 昇陽微系統的Sun ONE (是從網景購入的。)
最常用的網頁伺服器是Apache軟件基金的Apache,在2004年10月時有超過67%的市場佔有率。
一般功能
雖然每個網頁伺服器程式有多不同,但是都有著一些共同的特點。每一個網頁伺服器程式從網絡接受HTTP請求,然後提供HTTP回覆給請求者。HTTP回覆一般包含一個HTML文件,但也可以包含一個純文字檔案、一個圖像或其他類型的文件。
一般來說這些文件都儲存在網頁伺服器的本地檔案系統裡,而URL和本地檔名都有一個階級組織結構的,伺服器會簡單的把URL對照到本地檔案系統中。當正確安裝和設置好網頁伺服器軟件,伺服器管理員會從伺服器軟件放置檔案的地方指定一個本地路徑名為根目錄。
例如,我們在example.funnycorp.com伺服器上設置了伺服器軟件,我們可以把伺服器軟件的根目錄設定為/home/public/web/,當一個瀏覽者輸入URL http://example.funnycorp.com/lips/raspberry.html,example.funnycorp.com上的伺服器軟件就會讀取/home/public/web/lips/raspberry.html這個檔案。
站外連接
- 最新的網頁伺服器統計可在這個網址中找到:[http://news.netcraft.com/archives/web_server_survey.html Netcraft網頁伺服器調查(英文)].
-
Category:互联网
category:電腦術語
ja:Webサーバ
simple:Web server
GNOMEGNOME,即GNU网络对象模型环境 (The GNU Network Object Model Environment),GNU计划的一部分,开放源码运动的一个重要组成部分。
目标是基于自由软件,为Unix或者类Unix操作系统构造一个功能完善、操作简单以及界面友好的桌面环境,他是GNU计划的正式桌面。
起源
GNOME计划1997年8月由Miguel de Icaza和Federico Mena发起作为KDE的替代。
KDE
KDE是一个基于Qt部件工具箱自由的桌面环境,而QT是由Trolltech开发,当时并未使用自由软件许可。GNU项目的成员关注于使用象这样的一种工具箱构造自由的软件桌面和应用软件,从而发起两个项目:一个是作为纯粹Qt库替代品的“Harmony”;还有就是目的在于使用完全与Qt无关的自由软件构造桌面系统的GNOME项目。
在GNOME变得实用和普及之后,2000年9月Trolltech在GNU GPL和QPL(去掉了大多数争论多年的内容)双重许可证下发布了GNU/Linux版的QT库。但是Qt的许可证还是在许多人中间有争议,因为GPL用于库时对与之链接的代码-例如的KDE框架和任何为其编写的程序-都施加了许可证限制。
GIMP Toolkit(GTK+)被选中做为Qt toolkit的替代,担当GNOME桌面的基础。GTK+使用GNU宽通用公共许可证(LGPL,一个自由软件许可证),允许链接到它的软件——例如GNOME的应用程序——使用任意的许可证。GNOME桌面的库使用LGPL,而GNOME计划内的应用程序使用GPL许可证。
GNOME桌面系统使用C语言编程,但也存在一些其他语言的绑定使得能够使用其他语言编写GNOME应用程序,例如C++, Java, Ruby, C#, Python, Perl 等等。
目标
引自GNOME网站:
: GNOME计划提供了两个东西:GNOME桌面环境,一个对最终用户来说符合直觉并十分吸引人的桌面;还有GNOME开发平台,一个能使开发的应用程序与桌面其他部分集成的可扩展框架。
GNOME桌面主张简单、好用和恰到好处,因此GNOME开发中有两点很突出:
- 可达性——设计和建立为所有人所用的桌面和应用程序,不论其技术技巧和身体残疾。
- 国际化——保证桌面和应用程序可以用于很多语言。
组织
和大多数自由软件类似,GNOME组织也很松散,其关于开发的讨论散布于众多向任何人开发的邮件列表。为了处理管理工作、施加影响以及于同对开发GNOME软件有兴趣的公司联系,2000年8月成立了GNOME基金会。基金会并不直接参与技术决策,而是协调发布和决定哪些对象应该成为GNOME的组成部分。基金会网站将其成员资格定义为:
:“按照GNOME基金会章程,任何对GNOME有贡献者都可能是合格的成员。尽管很难精确定义,贡献者一般必须对GNOME计划有不小帮助。其贡献形式包括代码、文档、翻译、计划范围的资源维护或者其它对GNOME计划有意义的重要活动 。”
基金会成员每年11月选举董事会,其候选人必须也是贡献者。
平台
尽管最初是GNU/Linux的桌面,GNOME已经运行在大多数类Unix系统(如 - BSD变体、AIX、IRIX、HP-UX),并被Sun Microsystems公司采纳为Solaris平台的标准桌面,取代了过时的CDE。Sun Microsystems公司也以Java Desktop System名义发布一个商业版的桌面-一个被SUSELinux系统使用的基于GNOME的桌面。GNOME也移植到Cygwin使其能运行于Microsoft Windows。GNOME 还被众多LiveCDLinux发行版使用,如Gnoppix,Morphix和Ubuntu。LiveCD 能使计算机直接从CD引导,无需删除或者改变现有操作系统如Microsoft Windows。
架构
GNOME桌面由许多不同的项目构成,部分最重要的如下所示:
- ATK——可达性工具包
- Bonobo——复合文档技术
- GObject——用于C语言的面向对象框架
- GConf——保存应用软件设置
- GNOME VFS——虚拟文件系统
- GNOME Keyring——安全系统
- GNOME Print——GNOME软件打印文档
- GStreamer——GNOME软件的多媒体框架
- GTK+——构件工具包
- Cairo——复杂的2D图形库
- Human Interface Guidelines——Sun微系统公司提供的使得GNOME应用软件易于使用的研究和文档
- LibXML——为GNOME设计的XML库
- ORBit——使软件组件化的CORBAORB
- Pango——i18n文本排列和变换库
- Metacity——窗口管理器
未来发展
在GNOME之下还有很多子计划,现在它们并不是都包含在GNOME发布版里。一些基于概念的纯粹试验性质的有朝一日或许加入稳定的GNOME软件,其他还有一些正在完善以便直接加入。例如:
- GNOME存储
- D-BUS
尽管GNOME应用软件可以使用很多编程语言,但是作为GNOME发行版一部分的GNOME桌面纯粹用C写成。关于是否使用其他高级语言C#,Python和Java等正在深入讨论。这些语言都已经用于开发GNOME应用程序,但是如果用于GNOME核心应用的开发就必须在所有GNOME安装中加入相应的虚拟机。这会抬高可以运行GNOME桌面的计算机的最低配置要求。
Freedesktop.org和GNOME
Freedesktop.org是一项帮助在不同的X Window桌面——例如GNOME,KDE或者XFCE——之间实现互操作和共享技术的计划。尽管并非正式标准化组织,Freedesktop.org定义了X桌面的基本特征,包括程序之间的拖放、窗口管理器规范、菜单布局、最近文件列表、程序之间复制粘贴和共享的MIME 类型数据库等等。遵从Freedesktop.org规范使得GNOME应用程序能够集成到其他桌面(反之亦然),并鼓励之间的竞争和合作。
主要GNOME应用软件
英文维基有更加完整的GNOME应用软件列表,其中主要的包括:
- Abiword——文字处理器。
- Epiphany——网页浏览器。自从GNOME 2.4起Epiphany取代Galeon成为缺省浏览器。
- Evolution——联系/安排和e-mail管理。
- Gaim——即时通讯软件。
- gedit——文本编辑器。
- The Gimp——高级图像编辑器。
- Gnumeric——电子表格软件。
- GnomeMeeting——IP电话或者电话软件。
- Inkscape—— 矢量绘图软件。
- Nautilus——文件管理器。
- Rhythmbox——类型Apple iTunes的音乐管理软件。
- Totem——媒体播放器。
版本
稳定版本
组成GNOME计划的每一部分(见架构)都有自己的版本号和发布规划。但是单个模块的维护者协调彼此的工作以便大约每6个月建立一个完整的GNOME发布版本。下边的发布版本列表分类属于稳定版。提供给测试和开发者的不稳定版本和修复单个模块缺陷都没有列入。
CVS版本
大多数操作系统安装只包括GNOME桌面的稳定和已测试版本。开发者则对使用最新的CVS 版本进行测试、修复缺陷和增加新特征有兴趣(注:开发中的代码并不推荐作为日常使用,因为其中包含许多未经测试的修改和试验性的变更)。下载源代码后手工编译和按照GNOME桌面是一个辛苦和耗时的工作,有一些构造脚本——例如jhbuild用于自动化这一过程。
参见
- GnomeFiles ——软件库
- Linux文档计划
- 使用GNOME——维基书
外部链接
正式站点
- [http://www.gnome.org/ 正式GNOME站点]
- [http://www.gnome.org/learn/ 学习如何使用GNOME]
- [http://foundation.gnome.org GNOME入门]
- [http://developer.gnome.org/projects/gdp/ GNOME文档计划]
GNOME版本
- 各版本发布声明 [http://mail.gnome.org/archives/gnome-announce-list/1999-October/msg00020.html 1.0.53], [http://mail.gnome.org/archives/gnome-announce-list/2000-May/msg00062.html 1.2], [http://mail.gnome.org/archives/gnome-announce-list/2001-April/msg00005.html 1.4], [http://mail.gnome.org/archives/gnome-announce-list/2005-March/msg00049.html 2.10]
- 各版本起始页 [http://www.gnome.org/start/2.0/ 2.0], [http://www.gnome.org/start/2.2/ 2.2], [http://www.gnome.org/start/2.4/ 2.4], [http://www.gnome.org/start/2.6/ 2.6], [http://www.gnome.org/start/2.8/ 2.8], [http://www.gnome.org/start/2.10/ 2.10], [http://www.gnome.org/start/2.12/ 2.12]
第三方站点
- [http://www.gnomefiles.com GnomeFiles — GNOME/GTK+软件库]
- [http://www.gnomedesktop.org/ GNOME新闻e]
- [http://www.gnomejournal.org/ GNOME月报] — GNOME桌面的在线杂志
- [http://primates.ximian.com/~miguel/gnome-history.html GNOME计划的故事] Miguel de Icaza 编写
- [http://live.gnome.org/GnomeWorldWide GNOME开发者地图]
- http://live.gnome.org GNOME维基
- [http://www.gnome.org GNOME 网站]
- [http://www.gnome-cn.org GNOME 中文用户网站]
Category:桌面环境
Category:GNU 软件
Category:GNOME
Category:X Window 系统
category:自由软件
ja:GNOME
ko:그놈
simple:GNOME
KDEKDE,K桌面环境(K Desktop Environment)的缩写。一种著名的运行于Linux、Unix以及FreeBSD等操作系统上面自由图形工作环境,整个系统采用的都是TrollTech公司所开发的Qt程序库。KDE和Gnome都是Linux操作系统上最流行的桌面环境系统。
外部链接
- [http://www.kde.org/ KDE的官方网站]英文
- [http://kde-cygwin.sourceforge.net/ KDE on Cygwin]
category:桌面環境
ja:KDE
simple:KDE
80386Intel 80386,是英特尔(Intel)公司的一款x86系列CPU,最初发布于1985年10月17日。
80386处理器被广泛应用在1980年代中期到1990年代中期的IBM PC兼容机中。这些PC机称为“80386电脑”或“386电脑”,有时也简称“80386”或“386”。
80386的广泛应用,将PC机从16位时代带入了32位时代。80386的强大运算能力也使PC机的应用领域得到巨大扩展,商业办公、科学计算、工程设计、多媒体处理等应用得到迅速发展。
80386介绍
80386的重要特点是:①首次在x86处理器中实现了32位系统,②可配合使用80387数字輔助處理器增强浮点运算能力,③首次采用高速缓存(外置)解决内存速度瓶颈问题。由于这些设计,80386的运算速度达到了前代产品80286的数倍。
80386DX的内部和外部資料匯流排是32位,位址匯流排也是32位,可以寻址到4GB内存,并可以管理64TB的虚拟存储空间。
80386有三种工作模式:真實模式、保护模式、虚拟86模式。真實模式为DOS系统的常用模式,直接内存访问空间被限制在1M字节;保护模式下80386-DX可以直接访问4G字节的内存,并具有异常处理机制;虚拟86模式可以同时模拟多个8086处理器来加强多工处理能力。
初期推出的80386 DX处理器集成了大约27.5万个晶体管,工作频率为12.5MHz。此后80386处理器逐步提高到20MHz、25MHz、33MHz直至最后的40MHz。
80386的后续替代产品80486于1989年问世。
型号之分
- 80386-DX:主流版本。内部和外部資料匯流排都是32 位,位址匯流排也是32位。
- 80386-SX:1988年末推出的廉价版本。外部資料匯流排16位,位址匯流排24位,与80286相同,从而方便80286电脑的升级。由于内部的32位结构及其他优化设计,80386-SX性能仍大大优于80286,而价格只相当于80386-DX的三分之一,因而很受市场的欢迎。与之相配的數學輔助處理器型号为80387-SX。
- 80386-SL:1990年推出的低功耗版本,基于80386-SX。增加了系统管理方式(SMM)工作模式,具有电源管理功能,可以自动降低运行速度乃至休眠状态以实现节能。
- 80386-DL:1990年推出的低功耗版本,基于80386-DX。与80386-SL类似。
兼容厂商
80286之前,各CPU厂家基本按照自有标准进行开发。从80386开始,逐渐有兼容厂商推出x86的兼容处理器,这在80486之后表现的尤其明显。
在80386时期,AMD和IBM推出了兼容CPU:
- AMD Am386SXLV/Am386DXLV:低电压处理器,性能与英特尔的80386DX相差无己,也是当时的主流产品之一。
- IBM 386SLC:在80386SX的基础上内置Cache,同时包含80486-SX指令集。由IBM研发,英特尔代工生产。
相关内容
参见
- 80386指令集 - 80387(數學輔助處理器)
- 80286 - Intel 80486
外部链接
- [http://www.pcclock.org/print.php?sid=1 Intel处理器发展简史] - [http://bbs.nankai.edu.cn/cgi-bin/bbs/newcon?board=Hardware&file=M.993606227.A&num=11&compact=0&mode=3 CPU的发展历程] [http://www.ikepu.com/elec-info/CPU_history.htm]
- [http://wiki.donews.com/wiki/%E8%8B%B1%E7%89%B9%E5%B0%94CPU%E5%8F%91%E5%B1%95%E5%8F%B2 Intel CPU发展史] - [http://www.net130.com/2004/5-28/202940-3.html 计算机业简史]
Category:X86
Category:微處理器
ja:Intel 80386
ko:인텔 80386
个人电脑个人电脑,又称个人計算機,英文缩写为PC,即。
1973年法国工程师François Gernelle和André Truong发明了最早的個人电脑Micral。
一般來說個人電腦分為兩大機型與兩大系統,在機型上分為常見的桌上型电脑與笔记本电脑。在系統上分別是国际商用机器公司(IBM)整合制定的IBM PC/AT系統標準,以及蘋果电脑所開發的麥金塔系統。
IBM PC/AT此標準由於採用x86開放式架構而獲得大部分廠商所支持,成為市場上主流所以一般所說的PC意旨IBM PC/AT;而蘋果电脑所出的电脑稱為麦金塔电脑。
東芝採用x86架構開發出世界第一台笔记本电脑。
而桌上型电脑因採用開放式硬體架構,所以除了品牌外,自行組裝的白牌電腦也是極度盛行。
个人电脑
1980年代,IBM推出以英特爾的x86的硬體架構及微軟公司的MS-DOS作業系統的個人电脑,並制定以PC/AT為PC的規格。之後由英特爾所推出的微處理器以及微軟所推出的作業系統發展幾乎等同於个人电脑的發展歷史。Wintel架構全面取代了IBM在個人电脑主導的地位。
个人电脑主机的结构
按照大小和移动性分类:
- 桌面计算机
- 可移动计算机
- 笔记本电脑
- 平板式电脑
- 个人数字助理 (PDA)
- 可穿戴式电脑
主流市场上占据大多数的是IBM兼容机和苹果电脑,大多数软件都可以不加修改,或者仅做少量修改就可以在这两种主流机器上运行。通常存储器和一些外围设备(比如显示卡和磁盘存储器)是容易升级的,甚至是最终用户自己动手。为了升级计算机的处理能力,有时,我们甚至可以更换主板。个人电脑产业发展迅速,每三到五年就会有一次质的飞跃,因此,像这样的升级是必须的。举例来说,一台五、六年前被认为是高端配置个人电脑,在今天看来,它的中央处理器(CPU)、内存、周边设备的速度、容量等都已落后,已远远无法运行今天的软件。市场上主流的操作系统软件(例如微软公司的Windows)的每一次升级都会带来新的便捷、适用性,同时也对个人电脑的硬件系统提出新的要求,促进个人电脑的硬件发展和更新换代。
个人电脑的硬件功能可以通过插到主板扩展槽的附加扩展卡来扩充。到2005年主要的标准系统总线有PCI-E、PCI和AGP。个人电脑也可以通过添加额外的驱动器来升级(如光驱、硬盘、USB驱动器等),标准的存储设备接口有ATA、SATA以及SCSI。
主板
:主条目: 电脑主板
主板是计算机的主要电路板.计算机的其他硬件一般直接插入到主板中来交换信息。主板通常由芯片组, BIOS, CMOS, 并口, PS/2键盘和鼠标接口和扩展插槽组成。有时为了减小主板尺寸,节省成本也通过插到主板的子板来扩充更多扩展槽。
中央处理器
:主条目: 中央处理器
中央处理器或者CPU是计算机最主要的决定计算能力的部件,计算机程序和操作系统在它上面运行。不同类型的CPU安装到主板上不同类型的插槽中。大多数IBM兼容电脑使用 x86-架构的处理器,他们由英特尔(Intel), 超微(AMD), 威盛电子(VIA)或者全美達(Transmeta)生产。当前的苹果电脑基于IBM Power PC RISC处理器,但是苹果公司2005年6月宣布从2006年开始苹果电脑将使用英特尔处理器,到2007年所有苹果电脑全部装配英特尔处理器。
随机存储器/内存
:主条目: 随机存储器
随机访问存储器 或RAM是计算机的“短期临时存储器”, 它的读写速度要远远高于象硬盘或者光盘驱动器这些大容量存储设备,但是当系统关闭的时候他的存储内容就会丢失。
硬盘驱动器
:主条目: 硬盘
电源
:主条目: 计算机电源
Essential. 通过家用交流电源为计算机提供稳定的直流电。许多旧个人电脑出现的问题都归咎于电源供应单元的缺陷或过热上。
作業系統
目前PC市場上佔有率最高的是DOS系列後,微軟所推出的Windows系列,其次則是類Unix系列的操作系统,例如有開放式架構且逐漸竄起的GNU/Linux,以及FreeBSD等。
製造廠商
戴尔、惠普、富士通西门子、IBM1、索尼、NEC、东芝等是世界性的知名品牌。
#2005年IBM个人电脑业务和笔记本电脑业务全部并入中国联想集团。
苹果电脑
詳見麦金塔。
Category: 计算机硬件
ja:パーソナルコンピュータ
ko:개인용 컴퓨터
ms:Komputer peribadi
th:คอมพิวเตอร์ส่วนบุคคล
嵌入式系统嵌入式系统,是一种完全植入受控器件内部的为特定应用设计的专用计算机系统。有别于通用计算机系统,嵌入式系统的外形尺寸、功耗、外部接口等各种特征必须满足应用的要求和限制。通常嵌入式系统的软件包括操作系统燒錄在一塊電路板上。也有另一種嵌入式系統,利用低用電的CPU及最基本的電腦週邊配備而製成。這種電腦通常採用Linux操作系統。
歷史
第一个被大家认可的现代嵌入式系统是麻省理工学院仪器研究室的查尔斯·斯塔克·德雷珀开发的阿波罗导航计算机。在两次月球飞行中他们在太空驾驶舱和月球登陆舱都是用了这种惯性制导系统。
特性
嵌入電腦系統構成對電腦系統的最大的可能用途; 它包括所有電腦不同於那些具體地意欲作為通用電腦。 嵌入系統例子範圍從一個便攜式的音樂播放器, 對系統實時控制像太空梭。 他們為提供描繪作用, 那不是本身電腦。
嵌入式系统范例
- ATM(automatic teller machines)自动柜员机
- 蜂窝电话和电话交换机
- 计算机网络设备,包括路由器,时间服务器和防火墙
- 计算机打印机
- 磁盘驱动(软盘驱动和硬盘驱动)
- 汽车的引擎控制器
- PDA
- 智能家电,例如采用微电脑控制的电冰箱、空调、洗衣机、微波炉等
- 威盛电子EPIA嵌入式平台
- 各种工业控制机床的核心控制器
外部链接
- [http://www.viaembedded.cn/index.jsp 威 盛 电 子VEPD]
常见的嵌入式操作系统
参见嵌入式操作系统
- uC/OS II
- uCLinux
- Arm-Linux
- VxWorks
- pSOS
- Nucleus
- PlamOS
- Windows CE
- Embedded LINUX
- ECOS
- QNX
- Lynx
- Symbian
Category:嵌入式系统
ja:組み込みシステム
ko:임베디드 시스템
惠普
惠普公司(Hewlett-Packard,又稱為HP)位於美國加州的帕拉阿圖,是一間全球性的資訊科技公司,主要專注於印表機、數位影像、軟體、計算機與資訊服務等業務。2002年收购了美国著名的电脑公司康柏电脑。
参见
- 惠普公司产品列表
外部連結
惠普公司:
- [http://www.hp.com 惠普美国母公司]
- [http://welcome.hp.com/country/tw/zh/welcome.html HP台灣]
- [http://welcome.hp.com/country/cn/zh/welcome.html HP中國]
- [http://www.hp.com/hpinfo/abouthp/histnfacts/ 惠普历史]
- [http://opensource.hp.com/ 惠普开源入口站]
- [http://www.hp.com/linux 惠普Linux入口]
- [http://www.hp.com/calculators/ HP Calculators]
第三方:
- [http://www.paloaltoonline.com/weekly/morgue/2002/2002_04_10.hpway10.html The rise and fall of the HP Way] by Jocelyn Dong, with Pam Sturner (Online Edition of the Palo Alto Weekly, April 10, 2002)
- [http://www.hydrix.com/wiki/ The HP Calculator Wiki]
- [http://tuxmobil.org/hp.html Linux on Hewlett-Packard laptops]
- [http://www.openpa.net/ The OpenPA Project]
Category:美国公司
ja:ヒューレット・パッカード
GNUGNU还指一种大型的哺乳动物——牛羚。
GNU计划,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。Richard Stallman最早是在net.unix-wizards新闻组上公布该消息,并附带一份《GNU宣言》等解释为何发起该计划的文章,其中一个理由就是要“重现当年软件界合作互助的团结精神”。
GNU是“GNU's Not Unix”的递归缩写。Stallman宣布GNU应当发音为Guh-NOO以避免与new这个单词混淆(注:Gnu在英文中原意为非洲牛羚,发音与new相同)。UNIX是一种广泛使用的商业操作系统的名称。由于GNU将要实现UNIX系统的接口标准,因此GNU计划可以分别开发不同的操作系统部件。GNU计划采用了部分当时已经可自由使用的软件,例如TeX排版系统和X Window视窗系统等。不过GNU计划也开发了大批其他的自由软件。
为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件都在一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU通用公共许可证(GNU General Public License,GPL)。这个就是被称为“反版权”(或称Copyleft)的概念。
1985年Richard Stallman又创立了自由软件基金会(Free Software Foundation)来为GNU计划提供技术、法律以及财政支持。尽管GNU计划大部分时候是由个人自愿无偿贡献,但FSF有时还是会聘请程序员帮助编写。当GNU计划开始逐渐获得成功时,一些商业公司开始介入开发和技术支持。当中最著名的就是之后被Red Hat兼并的Cygnus Solutions。
到了1990年,GNU计划已经开发出的软件包括了一个功能强大的文字编辑器Emacs,C语言编译器 | | |