:: wikimiki.org ::
| Linux |
Linux:本文内容是关于基于Linux的操作系统,GNU/Linux和相关主题的。请参照Linux内核以获得和内核本身相关的内容。
:Linux也是一颗小行星的名字,请参阅小行星9885。
Linux是一种计算机操作系统和它的内核的名字。它也是自由软件和开放源代码发展中最著名的例子。
严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和資料庫的操作系统(也被称为GNU/Linux)。基于这些组件的Linux软件被称为Linux发行版。一般来讲,一个Linux发行套件包含大量的软件,比如软件开发工具,数据库,Web服务器(例如Apache),X Window,桌面环境(比如GNOME和KDE),办公套件(比如OpenOffice.org),等等。
Linux内核最初是为英特尔386微处理器设计的。现在Linux内核支持从个人电脑到大型主机甚至包括嵌入式系统在内的各种硬件设备。
在开始的时候,Linux只是个人狂热爱好的一种产物。但是现在,Linux已经成为了一种受到广泛关注和支持的一种操作系统。包括IBM和惠普在内的一些计算机业巨头也开始支持Linux。很多人认为,和其他的商用Unix系统以及微软Windows相比,作为自由软件的Linux具有低成本,安全性高,更加可信赖的优势。
小行星9885是以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的某些版本是不需要安裝就能使用的版本,他們稱為LiveCD
应该怎么读Linux?
根据Torvalds的说法,Linux的发音和“Minix”是押韵的。
参照[http://www.shortfamilyonline.com/tech/unix/history-of-linux/reference/23-Apr-1992-re-how-to-pronounce-linux.html],“Li”中“i”的发音类似于“Minix”中“i”的发音,而“nux”中“u”的发音类似于英文单词“put”中“u”的发音。
此外在[http://www.paul.sladen.org/pronunciation/]有一份Torvalds本人说话的音频,音频内容为“Hello, this is Linus Torvalds, and I pronounce Linux as Linux”。
大致和“利讷克斯”的音类似(注意不是利纳克斯、利牛克斯、利努克斯或者利尼克斯)。
请大家按照['linэks]这个音标读。
音频文件地址:Media:http://zhaolinux.com/down/torvalds-says-linux.mp3
Linux发行版
Linux发行版(Linux distribution)指的就是我们通常所说的“Linux操作系统”,它可能是由一个组织,公司或者个人发行的。通常来讲,一个Linux发行版包括Linux内核,将整个软件安装到计算机上的一套安装工具,各种GNU软件,其他的一些自由软件,在一些特定的Linux发行版中也有一些专有软件。
你可以通过访问http://shots.osdir.com/找到一些特定发行版的截图。
- Magic Linux
- Conectiva Linux
- Debian GNU/Linux
- Fedora Core
- Gentoo Linux
- Knoppix Linux
- Mandriva Linux
- Red Hat Linux
- Slackware Linux
- SUSE Linux
- Turbo Linux
- Ubuntu Linux
- Linux From Scratch
- Asianux
- B2D Linux
参见
- Linux操作系统
- GNU/Linux
- Linux套件列表
- Linus Torvalds
- GNU
- Tux
- 操作系统
- 操作系统列表
Linux资源
- [http://sourceforge.net/index.php 开源软件大厅]
- [http://www.tldp.org Linux文档计划]
- [http://www.kernel.org Linux内核官方网站]
- [http://www.linux.org Linux新闻]
- [http://www.freshmeat.net Linux程序下载中心]
- [http://www.linux.com Linux.com]
- [http://www.linuxwiki.org Linux Wiki]
- [http://www.linux-wiki.com Linux-wiki.com]
- 紅旗Linux(Redflag Linux)
- 衝浪Linux(Xteam Linux)
- 藍點Linux
- Hiweed Debian GNU/Linux
- Magic Linux
- Engineering Computing GNU/Linux
- Open Desktop
- 新華Linux
- 麒麟Linux
- 共創Linux
- 百資Linux
- 中標普華Linux
- 中軟Linux
- 新華華鐳Linux(RaysLX)
- CD Linux
- MC Linux
- 即時Linux(Thizlinux)
- b2d linux
- IBOX
- MCLOS
- FANX
中國大陆Linux社区网站资源
- [http://www.linuxsir.org Linuxsir.org]
- [http://www.linuxfans.org 中国Linux公社]
- [http://www.linuxforum.net 中国Linux论坛]
- [http://www.linuxedu.net 中国Linux教育网]
- [http://linux.chinaunix.net/ 中国UNIX社区-Linux时代]
- [http://www.lupa.gov.cn 开源高校推进联盟]
- [http://www.linuxdby.com Linux大本营] [http://www.linuxdby.com 简体版] [http://big5.linuxdby.com 繁体版]
- [http://www.linuxeden.com Linux依甸园]
- [http://www.linuxaid.com.cn 中国Linux技术中坚站]
- [http://freeway.linuxsir.org FreeWay 自由之路原创文档小组]
- [http://freewill.linuxsir.org FreeWill 自由意志翻译小组]
- [http://gentoo.linuxsir.org/doc/cn/ Gentoo 中文文档集散地]
- [http://lfs.linuxsir.org LFS 中文用户小组]
- [http://www.fcitx.org Fcitx 小企鹅输入法]
- [http://linux.pku.edu.cn 北京大学Linux俱乐部]
- [http://fsa.ia.ac.cn 中科院自动化研究所自由软件协会]
- [http://www.gnome-cn.org 中文 GNOME 用户门户网站]
- [http://linux.hiweed.com 海微 Hiweed-Debian Linux]
- [http://www.linuxdby.com/blog.php Linux Blog]
- [http://wqy.sourceforge.net 文泉驿中文字体计划]
- [http://www.linuxren.org LinuxRen专注与内核]
台灣Linux社群網站資源
- [http://linux.vbird.org/ 鳥哥的Linux 私房菜]
- [http://www.linux.org.tw/ Taiwan Linux User Group]
- [http://blog.linux.org.tw/ Taiwan Linux Blog Center]
- [http://cle.linux.org.tw/ Linux中文延伸套件]
- [http://www.gentoo.org.tw/ Gentoo@台灣]
- [http://b2d.tnc.edu.tw/ B2D中文Linux計劃]
- [http://wiki.debian.org.tw/index.php/Main_Page Debian Wiki]
- [http://knoppix.tnc.edu.tw/ Knoppix中文交流網]
- [http://planet.debian.org.tw/ Planet DebianTW]
- [http://moto.debian.org.tw/ 摩托學園討論區]
- [http://wiki.tossug.org/ Taipei Open Source Software User Group]
- [http://www.study-area.org/menu2.htm Study-Area]
- [http://www.openfoundry.org/ 自由軟體鑄造場]
- [http://www.study-area.org/ Study Area 酷學園]
- [http://mdk.linux.org.tw/ Mandriva(Mandrake)中文使用開發者社群]
香港Linux社群網站資源
- [http://www.oaka.org/ 開放系統研用協會]
- [http://www.linuxhall.org Linux Hall Online Project 資訊網]
- [http://www.openstandards.org.hk/ 開源標準科技協進會]
- [http://www.openstandards.org.hk/pages/os_article.htm 開源科技雜誌 OSS Journal]
- [http://www.hklia.com/ HKLIA 香港 Linux 商會]
- [http://www.hklpg.org/ HKLPG 香港 Linux 玩家網]
- [http://www.linux.org.hk/ HKLUG 香港 Linux 用家協會]
- [http://wiki.linux.org.hk/ OSWikiHK (香港開源維基)]
- [http://elig.linux.org.hk/ Embedded Linux Interest Group]
- [http://gnome.hk/ GNOME Hong Kong]
- [http://www.debian.org.hk/ Debian Hong Kong]
- [http://www.samba.hk/ Samba Hong Kong]
- 【[http://freefonts.oaka.org/index.php/HKSCS_install 香港增補字符集 2001] for Linux】
中国Linux社区IRC资源
- PCHOME #Unix IRC: irc.pchome.net 6667 #unix #geekbone.
- 中国Linux公社 IRC: irc.linuxfans.org 6667~6669 7000 #linuxfans #linuxer etc.
- LinuxFire IRC: linuxfire.dhis.org 6667 #linuxfire #pda #gondson2 #80s
- LinuxSir IRC: www.linuxsir.org 6667~6669 7000 #debianer #gentooer #chatroom etc.
- 北大Linux俱乐部IRC: linux.pku.edu.cn 6667 #club
Category:Linux
Category:操作系统
ja:Linux
ko:리눅스
ms:Linux
simple:Linux
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
计算机電子計算機,--电脑,是一种电子化的计算工具。在中國大陆也經常用計算機來指代電子計算機。就目前而言,電子計算機是根据预先设定好的程序来进行信息处理的一种设备。電子計算機分为巨型计算机(又称“超级计算机”)、大型计算机、中型计算机、小型计算机、微型计算机(简称“微机”,其中包括个人计算机,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:커널 (컴퓨터)
开放源代码
开放源代码不仅仅只是 软件源代码而已,它们也攸关 自由、分享和社群精神;创作、美和 黑客所谓的“有趣”。 它们也攸关人人心中的密码,是我们心中至善的根源, 反抗至恶,永世长存。
开放源代码软件就是在开放源代码许可证下发布的软件,以保障软件用户自由使用及接触源代码的权利。这同时也保障了用户自行修改、复制以及再分发的权利。简而言之,所有公布软件源代码的程序都可以称为开放源代码软件。
开放源代码有时不仅仅指开放源代码软件,它同时也是一种软件开放模式的名称。使用开放源代码开放模式的软件代表就有Linux操作系统。开放源代码开放模式的名字及其特点最早是由美国电脑黑客 埃里克·斯蒂芬·雷蒙在他的著作《大教堂与市集》(The Cathedral and the Bazaar)等一系列论文集中提出并探讨的。
严格地说来,开放源代码软件与自由软件是两个不同的概念,只要符合开源软件定义的软件就能被称为开放源代码软件(开源软件)。自由软件是一个比开源软件更严格的概念,因此所有自由软件都是开放源代码的,但不是所有的开源软件都能被称为“自由”。但在现实上,绝大多数开源软件也都符合自由软件的定义。比如,遵守GPL和BSD许可的软件都是开放的并且是自由的。
开放源代码软件运动是一个主要由程序工程师及其它电脑用户参与的声势浩大的运动。它是自由软件运动的一个分支,但两者的差别并不明显。一般而言,自由软件运动是基于政治及哲学思想(有时被称为所谓黑客文化)的理想主义运动,而开放源代码运动则主要注重程序本身的质量提升。
重要人物
- Richard Stallman——自由软件运动的精神领袖
- Linus Torvalds——Linux操作系统的创造者
- Eric Raymond——开放源代码运动理论家,Fetchmail软件的创造者,《大教堂与市集》的作者
组织及协作计划
- Linux——第一个采用开放源代码软件开放模式的软件协作计划
- Debian——开放源代码开放模式下的Linux套件
- Mozilla——开放源代码的浏览器
- OpenOffice.org——开放源代码的办公软件
- OpenBSD、FreeBSD和NetBSD——三个不同的开放源代码UNIX版本
- 开放源代码促进会(Open Source Initiative)——促进开放源代码运动发展的组织
- OSDN——专门发布与开放源代码运动有关新闻的网站
介入开源运动发展的企业
- 红帽公司(Red Hat)——最大的Linux套件发行商
- 苹果电脑(Apple)——开放了该公司操作系统Mac OS的内核Darwin的源代码
- IBM——协助发展多项开放源代码计划
- 网景公司(Netscape)——协助发展Mozilla计划
- Sun微系统公司——发表了Java语言源代码,并协助发展OpenOffice.org计划
- 红旗Linux--中国最大的Linux发行商
开源软件基础
- 操作系统
- Linux
- Redhat
- OpenLinux
- Suse
- Slackware
- Debian
- BSD
- NetBSD
- FreeBSD
- OpenBSD
- 协议基础
- 高层协议
- TCP/IP Suite
- 分布式协议
- CORBA
- DCOM
- RMI
- 中间件协议
- XSTP
- 底层协议
- OSI模型
- SNA模型
- APPN模型
- 开源软件语言
- 表现层语言(HTML, CSS, XML)
- 脚本语言(XSL, TCL, PHP, JavaScript, Perl, Python),不同于前三者,其中Perl, Python偏向系统语言。
- 系统语言(C/C++, Java)
部分开源软件
- Eclipse——最强大的软件开发平台,尤其是对 Java 开发
- GNU Emacs——非常强大的文本编辑软件
- TeX——强大的排版软件
- XFree86,Xorg——用于UNIX/Linux系统的图形用户软件
- Apache——非常流行的HTTP服务器
- GNU GCC——开源的多种语言编译器
- Zope——最优秀的应用服务器
- Plone——内容管理系统
更详细的列表请参见开放源代码软件列表。
参见
- 万圣节文件
- 内容开放
- 开放法律
- 开放源代码软件列表
- Sourceforge
外部链接
- [http://www.infonomics.nl/FLOSS/report/ 欧盟关于开放源代码软件使用情况的报告]
- [http://www.oreilly.com/catalog/opensources/book/toc.html <<开源软件文集>>英文版]
- [http://www.opensource.org 开放源代码促进会]
参考文献
- 葛林.穆迪(Glyn Moody)著,杜默译,Linux传奇:让比尔盖茨坐立难安的天才,时报文化2001年台北,ISBN 9571333628
Category:自由软件
ja:オープンソース
ko:오픈 소스
simple:Open source
th:โอเพนซอร์ส
Linux发行版
前言
如果你对下面的某个套件感兴趣,建议访问[http://www.distrowatch.com/ DistroWatch],可以了解到最新进展。
- Adamantix:基于Debian,特别关注安全。
- Amber Linux:基于Debian,针对拉脱维亚用户作了一些定制。
- ASLinux Desktop:西班牙语,基于Debian与KDE,针对各种桌面用途,包括家用、办公、教育、游戏、科学、软件开发,最大的卖点在于其丰富的可用性。
- Debian GNU/Linux:由大批社区志愿者收集的套件。Debian拥有庞大的软件包可供选择(15000个以上),支持大量的硬件平台。以前该套件因为安装困难受到责难,但最新的版本具备了简单易用的文本式安装环境。非自由软件不会包含在Debian的主要软件包中。
- Gnoppix:Knoppix的GNOME版,该套件发行周期较长,未来会跟Ubuntu进行整合。
- Guadalinex:由西班牙的安达卢西亚地方政府推动,基于Debian,针对西班牙语的家庭用户以及学校。
- Hiweed:基于Debian,简单易用的中文套件。
- Kanotix:自启动运行光盘,基于Knoppix,也可以安装到硬盘上。有很好的硬件支持,桌面与笔记本电脑的整合也很出色。
- Knoppix: 第一张Debian的自启动光盘,包含的软件非常多,启动时会自动进行硬件监测。从4.0起,用DVD作光盘。
- Kurumin:针对巴西用户的Knoppix。
- LinEx:由西班牙的埃斯特雷马杜拉地方政府推动的套件。
- Loco Linux:基于Debian的阿根廷Linux。
- Rays Linux(华镭):基于Debian,针对亚洲市场,由[http://www.swhss.cn/ 新华科技(南京)系统软件有限公司]开发。
- Skolelinux:在挪威发起,旨在打造适合于学校的轻便套件。
- Symphony OS:基于Debian,与众不同地采用Mezzo桌面。
- Ubuntu Linux:由Cononical有限公司赞助,基于Debian,使用自己的软件包仓库,与Debian的有所不同,旨在开发出更加友好的桌面,已经取得了良好的声誉。
- Kubuntu Linux:使用KDE桌面环境的Ubuntu套件。
- aLinux:原名Peanut Linux,针对家庭用户。
- ALT Linux:东欧版本。
- Ark Linux:强调易学易用。
- ASPLinux:提供俄语等东欧语言的支持。
- Blag Linux:体积小,但功能较多。
- Caixa Mágica:葡萄牙语的Linux。
- cAos Linux:由社区创建的套件,功能通用、培植简单。
- CentOS:由社区支持得套件,旨在100%地与Red Hat Linux企业版兼容,但不包含Red Hat 的商业软件。
- Cobind:桌面。
- Conectiva:一个巴西套件,曾经是United Linux的创建成员,现在该公司已经并入到Mandriva Linux。
- EduLinux:用于教育的套件。
- Fedora Core:可用作工作站、桌面以及服务器,有红帽公司及其社区开发。
- Linux Mobile System:基于Fedora Core的套件,设计成从USB存储设备启动,比如U盘。
- Magic Linux:一个易用的中文套件。
- Mandriva Linux:对初学者而言最易用的Linux套件。最初是红帽的一个变种,针对奔腾级CPU作了优化,后来在保持兼容性的同时,衍生成为更友好的套件。Mandriva中所有的软件仍然免费,还有活跃的社区支持,另外通过注册以及销售盒装产品,Mandriva还提供企业级的支持与服务,还有针对付费用户的俱乐部。
- Novell Linux Desktop:由于Novell收购了SUSE,他们的Linux产品对原来的套件有所继承。
- PCLinuxOS:一个易用的关盘自启动套件,以良好的观感著称;硬盘安装也同样轻而易举。最初基于Mandrake 9.2,而后PCLinuxOS针对桌面用户,开始自己的开发道路。在保留基于RPM套件的同时,PCLinuxOS别出心裁地使用自己的APT包管理工具(受Debian影响),但图形前端仍然用的是Synaptic。
- PCQLinux2004:由印度的PCQuest杂志生产,基于Fedora Core。
- PLD Linux:来自波兰的套件,针对较高级别的用户,比Slackware、Gentoo更加易用。
- QiLinux:意大利生产,包括桌面版、光盘自启动版,还有服务器版、高级服务器版。
- 红旗Linux:中国制造,主要针对中国市场。
- 红帽Linux企业版:红帽Linux家族中唯一的商业分支。
- Scientific Linux:由红帽Linux企业版,将遵循GPL的软件重新编译而成。
- SUSE/openSUSE:来自德国,是欧洲最流行的套件之一。跟红帽一样,也包括大量的软件,需要7张以上的CD,现在则用双DVD。这个套件有独特的配置工具YaST。也是United Linux的创立者之一,最近被Novell公司收购。openSUSE是一个新的版本,基于社区,完全开源。
- Tinfoil Hat Linux:对安全格外关注的套件。
- Trustix:专注于安全与稳定性的套件。
- Turbo Linux:在亚洲较流行的一个套件,基于Red Hat,是United Linux的成员。
- Vine Linux:基于Red Hat的一个日本套件。
- White Box Enterprise Linux:意在兼容Red Hat企业版第三版。
- Yellow Dog:基于Red Hat,针对PowerPC平台。
- YOPER:"Your Operating System"(你的操作系统),来自新西兰的桌面套件。
Slackware
- Kate OS:基于Slackware的设计理念,一个轻便的波兰语套件。
- Zenwalk Linux(以前是MiniSlack):基于Slackware作了优化,注重简便、快捷。
- Plamo Linux:基于Slackware的日语套件。
- Slackware:一个老牌套件,由Patrick Volkerding维护,特别注重简介与安全。
- Ultima Linux:基于Slackware,由Martin Ultima作了优化。
- SLAX:一个自启动的CD班,由Tomas Matejicek维护。
- Frugalware:通用Linux套件,面向中级用户。
其它打包方式的套件
- Arch Linux:针对i686的CPU做了优化,以.tar.gz格式打包并由包管理器进行跟踪维护,特别适合动手能力强的linux用户。
- Foresight Linux:采用Conary包管理系统,引入了GNOME中的许多最新技术,比如beagle、f-spot、howl以及最新的hal等,这个套件在保持易用的同时,更注重革新。
- Gentoo:这个套件采用自己独特的Portage包管理系统,吸引了许多狂热爱好者以及专业人士,强调自己编译源码,而不是直接用二进制包,这样程序运行速度更快。
- GoboLinux:构建了新的文件系统,比如GCC放在/Programs/GCC/这样的目录,为了让系统能找到这些文件,在[code]/System/Links/Executables[/code]这样的目录下归组,这样就包含了[code]/Programs[/code]目录下所有可执行文件的符号链接。
- Heretix:以前叫做RubyX,套件的管理,包括包管理,都是通过由Rubby写的脚本来完成,所有的包都安装在[code]/pkg[/code]目录下。
- ImpiLinux,来自南非的套件,主要针对非洲用户。
- Jedi GNU/Linux:使用force-get包管理器,允许源码、二进制软件包共存。
- Linux From Scratch:这是一份文档,介绍如何自己动手,如何白手起家编译打造自己独一无二的Linux系统。
- Lunar Linux,基于源码,由Sorcerer GNU/Linux所衍生。
- MkLinux:"Microkernel Linux"的缩写,旨在将Linux移植到跑Mach微核的PowerPC机器上。
- Onebase Linux:采用OLM包管理器,对二进制、源码进行管理。
- Sorcerer GNU/Linux:基于源码。
- Source Mage GNU/Linux:也是基于源码,由Sorcerer GNU/Linux所衍生。
- Ututo:基于Gentoo,来自阿根廷。
给老机器订制的小型套件
一般的迷你套件,除了可以硬盘安装,也可以安装在U盘上。
- Austrumi:拉脱维亚的自启动CD套件,支持英语,功能比较丰富,基于Slackware。
- cAos Linux:有社区维护,功能通用。
- Damn Small Linux(DSL):这是小型套件的老祖宗,放在迷你CD上,原先设计是想看看一张50M的CD可以放多少桌面程序,原来是作为个人玩具,但不久Damn Small Linux周围就聚成了一个社区,不少人加入进来,参与改进,包括一个远程、本地的程序安装系统,多功能的备份、还原系统,另外还加入了Knoppix的硬件检测,使用自己的 - .dsl软件包系统,默认的窗口管理器是Fluxbox。
- Feather Linux:类似于Damn Small Linux,但总容量是115MB,兼容Debian的软件包。
- Flonix USB版:放在USB设备上的可移动桌面套件,这是个商业版,只能给购买的U盘作预装。
- Knopperdisk:为U盘设计的套件,基于Gentoo。
- Puppy Linux:启动特别地块,在配置较低的PC上(内存小于32M),也可以运行自如。包含的工具都是特别精简的,使用Fvwm95作为窗口管理器。
- Stem桌面:一个混合产品,使用标准的Debian来编译桌面(Fvwm95)。针对老机器(CPU小于等于266Mhz,内存小于等于64M)设计,从Debian软件仓库种选择的包都是最轻巧的。与众不同的是,该套件没有自己的安装光盘,用户得先安装Debian,然后运行文本界面的安装脚本,然后通过网络连接,编译剩余的软件。这个套件100%跟Debian兼容。
- SPBLinux:用于软盘、U盘的迷你版本。
- Vector Linux:中小型套件,针对新老机器,采用小而快的应用程序,以及简化的安装程序。该套件有多个版本,包括大小为2G的SOHO(Small Office, Home Office)版,以及800M的"Dynamite"版。SOHO版提供KDE/IceWM窗口管理器,外观很专业;Dynamite版只采用IceWM,以及部分工具。该套件包括了简单的升级包管理程序,基于Slackware。
部分或全部的商业版
- BlueCat Linux:Linux嵌入式系统,可用于小型客户定制的设备,乃至大规模多CPU的系统。
- Libranet:基于Debian的桌面套件,与Debian保持100%的兼容。安装过程有硬件自动检测,桌面有一个'adminmenu'(文字模式跟图形模式),这样简化了硬件与软件的配置。
- Linspire:另一个桌面套件,以前叫Lindows,基于Debian。可以通过Linspire或者Debian的apt命令,添加额外的软件,但比保证跟Debian的兼容性。该套件包含不少的专属软件。
- Mandrakelinux:Mandrakesoft跟Conectiva合并以后,更名为Mandriva Linux。对于菜鸟来说,该套件的各种产品,包括服务器、工作站、小型商用以及个人版,是最容易维护的Linux套件之一。原来是Red Hat的一个变种,针对奔腾级CPU作了优化,进而发展出了更加方便的套件。在保留完全自由软件的同时,Mandriva商业模式,通过捐献,以及对非会员延迟发布政策,增加了企业级的支持与服务。
- MEPIS:一个基于Debian的套件,也可以作为自启动光盘来运行,这样可以在决定硬盘安装前,尝尝鲜。
- Mobilinux:针对手机,由Montavista出品。
- Nitix:第一个基于Linux服务器的自治操作系统,具有自管理、自恢复、自配置和自优化的能力。
- Novell Linux 桌面:Novell收购SUSE后,两家的套件就互相融合了。
- Progeny Debian:由Progeny开发,基于Debian,使用从Red Hat移植过来的Anaconda安装器,该套件又称为Progeny Componentized Linux。
- Red Hat Linux 企业版:从Red Hat Linux衍生出的纯商业版。
- SUSE:基于德国的Nürnberg,以前叫SuSE,是欧洲最流行的Linux套件,由自己独特的配置工具YaST,用户可以[http://www.novell.com/products/linuxprofessional/downloads/suse_linux/index.html 下载]到体验版(跟专业版类似)。该公司是United Linux的创建者,最近被Novell收购。
- Xandros:来自加拿大,基于过去的Corel Linux,专注于桌面市场,以及跟Windows的兼容性。该套件包含一些专属软件,跟Debian的dpkg包管理系统兼容。
- YES Linux:针对小型公司,提供建议的网络环境。
专用套件
其它平台
Category:Linux
ja:Linuxディストリビューション
数据库数据库,--,可以被视为能够进行自动查询和修改的数据集。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
数据库模型
数据库存在多种模型。最简单的有表格数据库,而应用于大型数据储存的数据库一般为网状数据库和关系数据库。此外也存在树状数据库,它的应用有LDAP(轻量级数据访问协议)数据库等。
表格数据库一般在形式上是一个二维数组。一般来讲,数组中每列表示一个数据类型。数据在其中以不同行的形式存储。表格数据库模型是电子表格(比如Excel)的基础。
数据库的索引
在数据库中存储对象
数据库程序
事务和并发性
事物
概念解释
数据表 ist eine Zusammenfassung einer Anzahl von Datensätzen mit gleicher Struktur, vergleichbar einem Karteikasten.
例如地址表:姓名,街道, 门牌号码, 城市, 电话号码
Alle 信息en, die zusammen einen 数据记录 (Entität, Record) ausmachen, sind als eine Zeile der Tabelle realisiert. Man kann den Datensatz als Zeile anschauen oder übersichtlicher als Formular auf einer Seite darstellen.
Ein Datensatz ist vergleichbar mit einer Karte aus einem Karteikasten.
Ein 数据域 ist ein Teil eines Datensatzes, z. B. in einer Adresstabelle das Feld mit dem Nachnamen. In Feldern können sich Daten unterschiedlichster Art befinden, z. B. Text, Zahlen, Daten, Bilder, etc.
Ein Feld ist vergleichbar einer Zeile auf einer Karte eines Karteikastens. Hierbei werden Schlüsselattribute und sonstige 属性e unterschieden. Das Schlüsselattribut dient zum Identifizieren und Verknüpfen von Datensätzen, während die restlichen Attribute nur vom Schlüssel abhängige Daten enthalten. (Beispiel: Personalnummer ist Schlüssel; Eintrittsdatum und Geburtsdatum sind Attribute).
Eine Abfrage dient der Ansicht einer oder mehrerer verknüpfter Tabellen bzw. Teilen davon. Das Ergebnis ist wiederum eine (temporäre) Tabelle, die nach bestimmten Kriterien gefiltert sein kann.
Bei Karteikästen entspräche eine Abfrage der Auswahl einiger Karten nach bestimmten Kriterien, z. B. alle Kunden die mit A beginnen und daneben alle Karten der vom jeweiligen Kunden geliehenen Büchern.
简单的查询例如按照字母顺序排序或者根据特定条件过滤。
Üblicherweise werden Abfragen in der 查询语言 SQL erstellt. Abfragen können bei den meisten DBMS auch ohne Wissen über SQL mit den jeweiligen Hilfsprogrammen erstellt werden.
Die aufbereitete Ansicht und/oder Zusammenfassung mehrerer Abfragen, dann letztendlich in Papierform, nennt man Report oder Bericht. Berichte oder Reports können mittels vom Hersteller mitgelieferter (bzw. in das DBMS integrierter) oder von Fremdherstellern gelieferter Software erzeugt werden. Diese Berichtsgeneratoren sind aber nicht Bestandteil des eigentlichen DBMS.
- 4th Dimension 或者叫4D,是一套從Mac OS發展出來的數據庫系統。現在亦有閞發視窗版。
- Microsoft Access 从微软公司兼并的一家公司的产品发展而来
- Adabas Software AG(德国)开发的的数据库参看http://www.softwareag.com/adabas/default.htm
- askSam, 结合了数据库和文本编辑mit vielen innovativen Eigenschaften
- Berkeley_DB 加州大学Berkeley分校研究成果
- Caché, postrelationale Datenbank der Firma intersystems
- Conzept16
- c-tree Plus FairCom公司的ISAM和关系数据库。参看 http://www.faircom.com. C语言编写。
- DB1 IBM产品
- DB2 IBM产品, 当前版本8.2
- dBase 在DOS时代十分重要的数据库,Windows版本是Visual dBase
- eXist native XML开放源代码数据库
- FileMaker ursprünglich von Claris, eine sehr benutzerfreundliche relationale Datenbank, funktioniert mit der gleichen Software sowohl unter Mac OS, wie auch unter Windows, die neueste Version ist 7.0
- 火鸟
- FoxBase 被微软收购,继续开发出微软FoxPro,2.6版之前有DOS和Windows版。
- Gupta SQLBase, 当前版本9.0
- IDMS
- IMS
- Ingres
- InterBase
- MaxDB 参看SAP DB
- 微软Access, 微软公司Office组件之一,当前版本2003 (另外还有XP)
- 微软Visual FoxPro, 当前版本8.0
- MS SQL-Server, 当前版本2005
- Sybase, 早期版本被微软购买开发出SQL-Server。
- mSQL
- MySQL 英特网上十分流行的数据库服务器,结合PHP脚本技术和ApacheWeb服务器使用。维基采用的就是MySQL数据库。
- Oracle, 当前版本10g
- Paradox Borland开发后转手Corel (WordPerfect Office)继续开发
- PostgreSQL, 当前版本8.0.4 (2005年2月)
- PrimeBase
- RRDtool, Round Robin Database
- SAP DB ursprünglich von SAP, wurde aber MySQL zur weiteren Entwicklung und Pflege übergeben und firmiert jetzt unter MaxDB.
- Tamino XML数据库k,基于Adabas的版本由Software AG开发,参看http://www.softwareag.com/tamino/
- Tdbengine
- Teradata, eine sehr leistungsfähige Datenbank der Firma NCR. Wird für große Datenmengen, sog. Data Warehouse verwendet.
- Visual dBase, die letzte Version war 5.0, dann verschwand dBase vom Markt
- Xindice native XML-Datenbank der Apache Software Foundation
- SQLite C Bibliothek für komplettes SQL basiertes Datenbanksystem im kommandozeilenorientierten Programm s. [http://www.sqlite.org/ SQLite下载]
相关内容
- 计算机科学课程列表
- 客户机-服务器模型
- 分布式的数据库
- LDAP(轻量级数据访问协议)
- 关系数据库
- SQL(结构化查询语言)
- PostgreSQL(ORDBMS)
category:数据库
ja:データベース
ko:데이터베이스
th:ฐานข้อมูล
Apache:美軍也有一款戰鬥直昇機名為阿帕奇直昇機
:美洲印第安部族中也有一族稱為阿帕切族
----
阿帕切族
Apache,一种开放源码的HTTP服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性(注1)被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,Perl/Python等解释器可被编译到服务器中。
历史
Apache 起初由 Illinois 大学 Urbana-Champaign 的国家高级计算程序中心开发。此后,Apache 被开放源代码团体的成员不断的发展和加强。Apache 服务器拥有牢靠可信的美誉,已用在超过半数的因特网站中-特别是几乎所有最热门和访问量最大的网站。
开始,Apache只是Netscape网页服务器(现在是Sun ONE)的之外的开放源代码选择。渐渐的,它开始在功能和速度。超越其他的基于Unix的HTTP服务器。1996年4月以来,Apache一直是Internet上最流行的HTTP服务器: 1999年5月它在 57% 的网页服务器上运行;到了2005年7月这个比例上升到了69%。
作者宣称因为这个名字好记才在最初选择它,但是流传最广的解释是(也是最显而易见的):这个名字来自这么一个事实:当Apache在1995年初开发的时候,它是由当时最流行的HTTP服务器NCSA HTTPd 1.3 的代码修改而成的,因此是“一个修补的(a patchy)”服务器。然而在服务器官方网站的FAQ中是这么解释的:“‘Apache’这个名字是为了纪念名为Apache(印地语)的美洲印第安人土著的一支,众所周知他们拥有高超的作战策略和无穷的耐性”。无论如何,Apache 2.x 分支不包含任何 NCSA 的代码。
特性
Apache支持许多特性,大部分通过编译的模块实现。这些特性从服务器端的编程语言支持到身份认证方案。一些通用的语言接口支持Perl,Python, Tcl, 和 PHP。流行的认证模块包括 mod_access, mod_auth 和 mod_digest。其他的例子有 SSL 和 TLS 支持 (mod_ssl), proxy 模块,很有用的URL重写(由 mod_rewrite 实现),定制日志文件 (mod_log_config),以及过滤支持(mod_include 和 mod_ext_filter)。Apache日志可以通过网页浏览器使用免费的脚本AWStats或Visitors来进行分析。
2.x版本
Apache 的2.x版本核心在Apache 1.x版本之上作出了重要的加强。这包括:线程,更好的支持非UNIX平台(例如Windows),新的 Apache API,以及IPv6支持。
评价
- 《PC Magazine》2004年8月评出了近30年以来的10款最佳软件产品。他们其中或者是有过最辉煌的历史,或者是最具创意。其对apache的评价是:第三名:Apache(阿帕奇,1995年推出)Apache目前已经演变成了“LAMP”,即Linux、Apache、MySQL和PHP的联合体。这是一个开放源代码软件项目,已经对微软的“.NET”战略构成严重威胁。尤其是Apache网络服务器,让用户充分体验到开发源码软件的稳定性、可靠性和可定制性。
- Apple.com评价apache时说:Apache是服务器软件始终不断进化的大块部件,它免费但又是无价之宝。Apache 是在资源开放运动中出现的绝对珍品,因为不属于个人专利而是对公共免费。一旦拥有这些源码,程序员能够自由完成所想——能在其它程序员接替工作时被赋予同样的权限来改变和修改自己的源代码。
外部链接
- [http://httpd.apache.org/ 官方网站]
注释
1、尽管不断有新的漏洞被发现,但由于其OpenSource的特点,漏洞总能被很快修补。因此总的来说,其安全性还是相当高的。
Category:自由软件 Category:網頁伺服器
ja:Apache
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语言编程,但也存在一些 | | |