:: 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
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:ลินุกซ์ เคอร์เนล
操作系统操作系统(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
自由软件自由软件是由自由軟體基金會所提出的,他是指一件可以让用户自由复制、使用、研究、修改、分发等等,而不附带任何条件的软件。自由软件的主要许可证有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:ลินุกซ์ เคอร์เนล
GNU/LinuxGNU/Linux是GNU计划的支持者与开发者,特别是其创立者Richard Stallman对于一个以Linux闻名的类Unix操作系统的称呼。
由Linus Torvalds及其他人士开发的Linux并不是一个完整的操作系统,而仅仅是一个类Unix内核。事实上,Linux一开始是以完成Minix内核的功能为目标,Linus想做一个“比Minix更好的Minix”。而GNU计划始于1984年,终极目标是完成一套基于自由软件的完整作业操作系统。到1991年Linux的第一个版本公开发行时,GNU计划已经完成除了操作系统内核之外的大部分软件,其中包括了一个壳程序(shell),C语言程序库以及一个C语言编译器。Linus Torvalds及其他早期Linux开发人员加入了这些工具,而完成了Linux操作系统。但是尽管Linux是在GNU通用公共许可证下发行,它却不是GNU计划的一部分。
正是由于Linux使用了许多GNU程序,Richard Stallman认为应该将该操作系统称为「GNU/Linux」比较恰当。
有部分Linux套件,包括了Debian,采用了「GNU/Linux」的称呼。但大多数商业Linux套件依然将操作系统称为Linux。有些人也认为「操作系统」一词指的应该只是系统的内核,其他程序都只能算是应用软件,这么一来,该操作系统的內核应叫Linux,而Linux套件是在Linux內核的基础上加入各种GNU工具。
一些人拒绝使用「GNU/Linux」作为操作系统名称的人认为:1)Linux朗朗上口;名字较短又好记;2)Richard Stallman直到1990年代中期,Linux开始流行后才要求更名。
大多数GNU/Linux套件使用XFree86或X.Org服務器作为图像系统,并使用GNOME和KDE等桌面管理器。
参见
- Linux
- Linux内核
- GNU
外部资源
- [http://www.gnu.org/gnu/linux-and-gnu.html Richard Stallman:Linux和GNU计划]
- [http://www.slashdot.org/articles/99/04/09/1516203.shtml Slashdot网站上关于命名问题的争论]
Category:Linux
Category:操作系统
核之外的大部分软件,其中包括了一个壳程序(shell),C语言程序库以及一个C语言编译器。Linus Torvalds及其他早期Linux开发人员加入了这些工具,而完成了Linux操作系统。但是尽管Linux是在GNU通用公共许可证下发行,它却不是GNU计划的一部分。
ja:GNU/Linuxシステム
ko:GNU/Linux
核之外的大部分软件,其中包括了一个壳程序(shell),C语言程序库以及一个C语言编译器。Linus Torvalds及其他早期Linux开发人员加入了这些工具,而完成了Linux操作系统。但是尽管Linux是在GNU通用公共许可证下发行,它却不是GNU计划的一部分。
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:ฐานข้อมูล
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
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
X Window
概述
X Window系统 (X11或X)是一种位图显示的窗口系统。它是在Unix和类Unix操作系统,以及OpenVMS上建立图形用户界面的标准工具包和协议,并可用于几乎所有的现代操作系统。
X 為 GUI 環境提供了基本的框架:在屏幕上繪圖和移動視窗,以及與滑鼠和鍵盤的互動。X 並沒有管轄到使用者介面 — 這是由每個獨立的程式處理。因為如此,以 X 為基礎環境的視覺樣式變化非常地多;不同的程式可能徹底地展現不同的介面。
X 以 "網路通透性" 為特色:應用程式("客戶端" 應用程式)所執行的機器,不一定是使用者本地的機器(顯示的 "伺服器")。X 的 "客戶端" 和 "伺服器" 字眼的使用是人們經常預期的相反,"伺服器" 是使用者本地的顯示而不是遠端的機器。
X 在 1984年起始於 MIT。現在的協定版本,X11,是在1987年9月所釋出的。該專案是由 X.Org 基金會所領導;現在的參考實作是版本 11 release 6.8.2,且在MIT 執照和相似的表示許可執照下是自由軟體。
X客户机/服务器模式和网络透明性
:详见: X Window系统的协议和架构
X基于客户端-服务器模型。一个X服务器与各种客户端程序通讯 。服务器接受对于图形输出(窗口)的请求并反馈用户输入(键盘、鼠标、触摸屏)。服务器可能是一个能显示到其他显示系统的应用程序,也可能是控制某个PC的视频输出的系统程序,还可能是特殊硬件。
术语客户端-服务器——你的终端是"服务器",而远端应用程序是 "客户端"——经常困扰X的新用户,因为似乎正好相反。但X采纳了程序而非最终用户或者硬件的视角:本地的X显示为程序提供显示服务,所以它扮演了服务器;远端程序使用了该服务,所以它是客户端。
客户端-服务器运行在用户的工作站上,而从该用户的计算机上控制的一个系统更新软件运行在远端服务器上。注意,这个远端程序运行时好像就在本地一样。]]
服务器和客户端之间的通信协议的运作对计算机网络是透明的: 客户端和服务器可以在同一台计算机上,也可以不是, 或许其架构和操作系统也不同,但都能运行。客户机和服务器还能够使用安全连接上在互联网上安全地通讯。
为了使远端客户程序显示到本地服务器,用户一般需要启动一个终端窗口和到达远端计算机的telnet或者ssh ,令其显示到用户计算机, (例如 在运行[bash]]的远端计算机上export DISPLAY=[用户的计算机]:0)然后启动客户端。 然后客户端就会连接到本地计算机,并且远端应用程序会显示到本地屏幕并被本地输入设备所控制。与之对应,本地计算机上也可以执行一个连接到远端计算机的小助手程序并在那里启动期望的应用程序。
实际的远端客户端的例子有:图形化管理远程计算机;在远端Unix计算机上运行计算密集的仿真程序并把结果显示到本地的Windows桌面计算机;用一套显示器、键盘和鼠标控制同时运行在多台计算机上的图形化软件。
X的设计原则
1984年,Bob Scheifler和Jim Gettys制订了X的早期原则:
- 除非没有它一个实现就无法完成一个真正的应用程序,否则不用增加新的功能。
- 决定一个系统不是什么和决定它是什么同样重要。与其去适应整个世界的需要,宁可使得系统可以扩展,这样可以用上层兼容的方式来满足新增需求
- 只有根本没有实例才会比只有一个实例更糟。
- 如果问题没有完全弄懂,可能最好根本就不要去解决它
- 如果预期要用百分之90的努力去完成百分之10的工作,应该用更简单的办法解决。 (参见更糟就是更好。)
- 尽量隔离复杂性。
- 提供机制而不是策略。实践中把用户界面策略放在用户手里。
第一条原则在设计X11时修改为:“除非制订有真实的应用程序需要,否则不用增加新功能。” X基本上一直遵循这些原则。参考实现是从扩展和改进的着手来进行开发,同时和1987年的最初的协议几乎保持完全兼容。
用户界面
X故意没有规范应用程序的用户界面,例如 按钮、菜单和窗口的标题栏等等。这些都由窗口管理器、GUI构件工具包、桌面环境或者应用程序指定的GUI(例如POS机)等等诸如此类的用户软件来提供。因此多年以来"典型"的X界面惊人的多样化。
窗口管理器用于控制应用程序窗口的位置和外观。其界面类似Microsoft的Windows或者Macintosh(例如KDE的Kwin或者GNOME的Metacity ),但是控制机制截然不同(例如,X提供的基本窗口管理器twm)。窗口管理器可能只是一个骨架,(例如 twm),也可能提供了全套桌面环境的功能(例如 Enlightenment)。
大多数用户使用X时包括了整套桌面环境,有窗口管理器、各种应用程序和协调一致的界面。最流行的时GNOME和KDE。Unix的标准环境是通用桌面环境 (CDE)。而freedesktop.org积极致力于促进互相竞争的X桌面之间的桌面和及其组件的互操作性。
实现
X的标准实现是X.Org的参考实现。由于其许可证比较宽松,出现了大量自由的或者专有的实现。商业的Unix商家倾向于采用参考实现并使之适应其硬件,例如高度定制并加入专有的扩展。
专有的。 屏幕显示GIMP 在没有X window 系统情况下运行。]]
GIMP上。屏幕显示X 的应用程序(xeyes,xclock和xterm)与原生的Windows应用程序(日期和时间,计算机) 共享屏幕。]]
直到2004年,在自由的类Unix系统上最常见的X变体是XFree86。顾名思义,它源于X的386兼容的PC机的移植,到了上世纪90年代末期成为X的技术创新的主要来源和X开发的事实标准[http://www.xfree86.org/pipermail/forum/2004-February/003945.html]。但是从2004年起,最流行的X服务器是XFree86的分支——X.Org的参考实现。
虽然X一般和Unix联系在一起,X服务器也能够自然地存在于其他图形环境。 Hewlett-Packard的OpenVMS操作系统用X加上CDE做为起标准桌面环境,称为DECwindows。苹果公司的Mac OS X v10.3 (Panther)包括Apple X11,它基于XFree86 4.3和X11R6.6,并能和Mac OS X更好地集成。
微软的Windows本身不包含对X的支持,但是有不少第三方的实现可用,其中有自由软件如Cygwin/X、Xming、WeirdMind [http://www.tam.cornell.edu/Computer.old/remoteaccess/weirdmind/]和WeirdX,也有专有软件如WiredX、 | | |