荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: jjksam (堕落&颓废中), 信区: Linux
标  题: [whatis Linux,whatis etc.](from AKALinux系列讲座)
发信站: 荔园晨风BBS站 (Mon Oct 22 19:31:48 2001), 转信

(from AKALinux系列讲座)
1.1    什么是 Linux
Linux 的发音
Linux 的官方定义
POSIX 及其重要地位
GNU 和 Linux 的关系
GPL 及其主要内容
Linux 的主要发行版

1.1.1    Linux 的发音
Linux 发音为 "Lin-noks".

1.1.2    Linux 的官方定义
Linux is a Unix clone written from scratch by Linus Torvalds with assistance
from a loosely-knit team of hackers across the Net. It aims towards POSIX
compliance.

“Linux 是一种 UNIX 操作系统的克隆,它(的内核)由 Linus Torvalds 以及网络上组
织松散的黑客队伍一起从零开始编写而成。 Linux 的目标是保持和 POSIX 的兼容。

It has all the features you would expect in a modern fully-fledged Unix,
including true multitasking, virtual memory, shared libraries, demand loading,
 shared copy-on-write executables, proper memory management and TCP/IP
networking.

“Linux 具备现代一切功能完整的 UNIX 系统所具备的全部特征,其中包括真正的多任务
、虚拟内存、共享库、需求装载、共享的写时复制程序执行、优秀的内存管理以及
TCP/IP 网络支持等。

It is distributed under the GNU General Public License.

“Linux 的发行遵守 GNU 的通用公共许可证。

Linux was first developed for 386/486-based PCs. These days it also runs on
ARMs, DEC Alphas, SUN Sparcs, M68000 machines (like Atari and Amiga), MIPS and
 PowerPC, and others.

“Linux 起初为基于 386/486 的 PC 机开发,但现在,Linux 也可以运行在 DEC Alpha
、SUN Sparc、M68000,以及MIPS 和 PowerPC 等计算机上。”

1.1.3    POSIX 及其重要地位
POSIX 表示可移植操作系统接口(Portable Operating System Interface ,缩写为
POSIX 是为了读音更像 UNIX)。电气和电子工程师协会(Institute of Electrical and
 Electronics Engineers,IEEE)最初开发 POSIX 标准,是为了提高 UNIX 环境下应用
程序的可移植性。然而,POSIX 并不局限于 UNIX。许多其它的操作系统,例如 DEC
OpenVMS 和 Microsoft Windows NT,都支持 POSIX 标准,尤其是 IEEE Std. 1003.
1-1990(1995 年修订)或 POSIX.1,POSIX.1 提供了源代码级别的 C 语言应用编程接口
(API)给操作系统的服务程序,例如读写文件。POSIX.1 已经被国际标准化组织(
International Standards Organization,ISO)所接受,被命名为 ISO/IEC 9945-1:
1990 标准。

POSIX 现在已经发展成为一个非常庞大的标准族,某些部分正处在开发过程中。表 1-1
给出了 POSIX 标准的几个重要组成部分。POSIX 与 IEEE 1003 和 2003 家族的标准是可
互换的。除 1003.1 之外,1003 和 2003 家族也包括在表中。

表 1-1 POSIX 标准的重要组成部分

1003.0
 管理 POSIX 开放式系统环境(OSE)。IEEE 在 1995 年通过了这项标准。 ISO 的版本
是 ISO/IEC 14252:1996。

1003.1
 被广泛接受、用于源代码级别的可移植性标准。1003.1 提供一个操作系统的 C 语言应
用编程接口(API)。IEEE 和 ISO 已经在 1990 年通过了这个标准,IEEE 在 1995 年重
新修订了该标准。

1003.1b
 一个用于实时编程的标准(以前的 P1003.4 或 POSIX.4)。这个标准在 1993 年被
IEEE 通过,被合并进 ISO/IEC 9945-1。

1003.1c
 一个用于线程(在一个程序中当前被执行的代码段)的标准。以前是 P1993.4 或
POSIX.4 的一部分,这个标准已经在 1995 年被 IEEE 通过,归入 ISO/IEC 9945-1:
1996。

1003.1g
 一个关于协议独立接口的标准,该接口可以使一个应用程序通过网络与另一个应用程序
通讯。 1996 年,IEEE 通过了这个标准。

1003.2
 一个应用于 shell 和 工具软件的标准,它们分别是操作系统所必须提供的命令处理器
和工具程序。 1992 年 IEEE 通过了这个标准。ISO 也已经通过了这个标准(ISO/IEC
9945-2:1993)。

1003.2d
 改进的 1003.2 标准。

1003.5
 一个相当于 1003.1 的 Ada 语言的 API。在 1992 年,IEEE 通过了这个标准。并在
1997 年对其进行了修订。ISO 也通过了该标准。

1003.5b
 一个相当于 1003.1b(实时扩展)的 Ada 语言的 API。IEEE 和 ISO 都已经通过了这个
标准。ISO 的标准是 ISO/IEC 14519:1999。

1003.5c
 一个相当于 1003.1q(协议独立接口)的 Ada 语言的 API。在 1998 年, IEEE 通过了
这个标准。ISO 也通过了这个标准。

1003.9
 一个相当于 1003.1 的 FORTRAN 语言的 API。在 1992 年,IEEE 通过了这个标准,并
于 1997 年对其再次确认。ISO 也已经通过了这个标准。

1003.10
 一个应用于超级计算应用环境框架(Application Environment Profile,AEP)的标准
。在 1995 年,IEEE 通过了这个标准。

1003.13
 一个关于应用环境框架的标准,主要针对使用 POSIX 接口的实时应用程序。在 1998 年
,IEEE 通过了这个标准。

1003.22
 一个针对 POSIX 的关于安全性框架的指南。

1003.23
 一个针对用户组织的指南,主要是为了指导用户开发和使用支持操作需求的开放式系统
环境(OSE)框架

2003
 针对指定和使用是否符合 POSIX 标准的测试方法,有关其定义、一般需求和指导方针的
一个标准。在 1997 年,IEEE 通过了这个标准。

2003.1
 这个标准规定了针对 1003.1 的 POSIX 测试方法的提供商要提供的一些条件。在
1992 年,IEEE 通过了这个标准。

2003.2
 一个定义了被用来检查与 IEEE 1003.2(shell 和 工具 API)是否符合的测试方法的标
准。在 1996 年,IEEE 通过了这个标准。


除了 1003 和 2003 家族以外,还有几个其它的 IEEE 标准,例如 1224 和 1228,它们
也提供开发可移植应用程序的 API。要想得到关于 IEEE 标准的最新信息,可以访问
IEEE 标准的主页,网址是 http://standard.ieee.org/。有关 POSIX 标准的概述信息,
请访问 Web 站点 http://standards.ieee.
org/reading/ieee/stad_public/description/posix/。

1.1.4    GNU 和 Linux 的关系
GNU 是 GNU Is Not UNIX 的递归缩写,是自由软件基金会的一个项目,该项目的目标是
开发一个自由的 UNIX 版本,这一 UNIX 版本称为 HURD。尽管 HURD 尚未完成,但
GNU 项目已经开发了许多高质量的编程工具,包括 emacs 编辑器、著名的 GNU C 和 C++
 编译器(gcc 和 g++),这些编译器可以在任何计算机系统上运行。所有的 GNU 软件和
派生工作均适用 GNU 通用公共许可证,即 GPL。GPL 允许软件作者拥有软件版权,但授
予其他任何人以合法复制、发行和修改软件的权利。


Linux 的开发使用了许多 GNU 工具。Linux 系统上用于实现 POSIX.2 标准的工具几乎都
是 GNU 项目开发的,Linux 内核、GNU 工具以及其他一些自由软件组成了人们常说的
Linux:

符合 POSIX 标准的操作系统 Shell 和外围工具。
C 语言编译器和其他开发工具及函数库。
X Window 窗口系统。
各种应用软件,包括字处理软件、图象处理软件等。
其他各种 Internet 软件,包括 FTP 服务器、WWW 服务器等。
关系数据库管理系统等。

1.1.5    GPL 及其主要内容
1. GPL (General Public License)
GPL 的文本保存在 Linux 系统的不同目录下的命名为 COPYING 的文件里。例如,键入
cd /usr/doc/ghostscript* 然后再键入 more COPYING 可查看 GPL 的内容。


GPL 和软件是否免费无关,它主要目标是保证软件对所有的用户来说是自由的。GPL 通过
如下途径实现这一目标:

它要求软件以源代码的形式发布,并规定任何用户能够以源代码的形式将软件复制或发布
给别的用户。
它提醒每个用户,对于该软件不提供任何形式的担保。
如果用户的软件使用了受 GPL 保护的任何软件的一部分,那么该软件就继承了 GPL 软件
,并因此而成为 GPL 软件,也就是说必须随应用程序一起发布源代码。
GPL 并不排斥对自由软件进行商业性质的包装和发行,也不限制在自由软件的基础上打包
发行其他非自由软件。
遵照 GPL 的软件并不是可以任意传播的,这些软件通常都有正式的版权,GPL在发布软件
或者复制软件时声明限制条件。但是,从用户的角度考虑,这些根本不能算是限制条件,
相反用户只会从中受益,因为用户可以确保获得源代码。


尽管 Linux 内核也属于 GPL 范畴,但 GPL 并不适用于通过系统调用而使用内核服务的
应用程序,通常把这种应用程序看作是内核的正常使用。


假如准备以二进制的形式发布应用程序(像大多数商业软件那样),则必须确保自己的程
序未使用 GPL 保护的任何软件。如果软件通过库函数调用而使用了别的软件,则不必受
到这一限制。大多数函数库,受另一种 GNU 公共许可证,即 LGPL 的保护,将在下面介
绍。

2. LGPL (Libraray General Public License)
GNU LGPL(GNU 程序库公共许可证)的内容全部包括在命名为 COPYING.LIB 的文件中。
如果安装了内核核的源程序,在任意一个源程序的目录下都可以找到 COPYING.LIB 文件
的一个拷贝。


LGPL 允许在自己的应用程序中使用程序库,即使不公开自己的源代码。但是,LGPL 还规
定,用户必须能够获得在应用程序中使用的程序库的源代码,并且允许用户对这些程序库
进行修改。


大多数 Linux 程序库,包括 C 程序库(libc.a)都属于 LGPL 范畴。因此,如果在
Linux 环境下,使使用 GCC 编译器建立自己的应用程序,程序所链接的多数程序库是受
 LGPL 保护的。如果想以二进制的形式发布自己的应用程序,则必须注意遵循 LGPL 有关
规定。


遵循 LGPL 的一种方法是,随应用程序一起发布目标代码,以及可以将这些目标程序和受
 LGPL 保护的、更新的 Linux 程序库链接起来的 makefile 文件。


遵循 LGPL 的比较好的一种方法是使用动态链接。使用动态链接时,即使是程序在运行中
调用函数库中的函数时,应用程序本身和函数库也是不同的实体。通过动态链接,用户可
以直接使用更新后的函数库,而不用对应用程序进行重新链接。


但我们必须当心个别属于 GPL 范畴的库和实用程序:篏NU dbm(即 gdbm)数据库类的程
序库是非常著名的 GPL 库;GNU bison 分析器生成程序是另一个实用的 GPL 工具,如果
使用 bison 生成代码,所得的代码也适用于 GPL。


在 GPL 的保护范围以外,也有 GNU dbm 和 GNU bison 的相应的替代程序。例如,对于
数据库类的程序库库,可以使用 Berkeley 数据库 db 来替代 gdbm;对于分析器生成器
,可以使用 yacc 来替代 bison。

1.1.6 Linux 的主要发行版
表 1-2 给出了 Linux 的主要发行版。除表中列出的发行版之外,还有大量的发行版存在
,比如 Slackware、OpenLinux、Mandrake 等等。建议新手使用 Red Hat Linux 或自己
喜欢的某种本地化发行版。

表 1-2 Linux 的主要发行版

Debian GNU/Linux
 系统初始化:Sys V init
采用 dselct 和 dpkg 作为软件包管理程序
 http://www.debian.org ftp://ftp.debian.org/debian
 是由 GNU 发行的 Linux 版本,最符合 GNU 精神。提供了最大的灵活性, 适合
Linux 的高级用户。

Red Hat Linux
 系统初始化:Sys V init
采用 RPM 软件包管理工具
大量图形化的管理工具
 http://www.redhat.com ftp://ftp.redat.com
 CERNET 各大型的 FTP 网站均有最新的 RedHat Linux。
采用 RPM 的软件保管理方式,软件的安装、卸载和升级非常方便,并提供了大量的 图形
化管理工具,是初学者的最佳选择。

简体中文 Linux 发行版:

BluePoint Linux:最新发布的 Linux 中文版。利用 Linux 2.2 内核的 FrameBuffer,
可在控制台获得中文输入输出。具备多内码支持,目前可以支持大陆国标码和港台大五码
。与 RedHat Linux 兼容。
TurboLinux:国内最早的简体中文发行版之一。

--
   mm       ★__      __  __ __★______ ______ __   __★
/^(  )^\      █      █  █/    █____ █__█ █\ /█
\,(..),/  ▅__█  ▅__█  █\__  ▂__█ █  █ █ ▌█
  V~~V   ▇▆▅▃▁I'm a bat. I'm very bad!^Q^_▃▄▆▇

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.175]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店