1、一、 Linux 的主要特点 1POSIX 1003.1 标准定义了一个最小的 Unix 操作系统接口,任何操作系统只有符合这一标准,才有可能运 行 Unix 程序。考虑到 Unix 具有丰富的应用程序,当今绝大多数操作系统都把满足 POSIX 1003.1 标准作为实现 目标,Linux 也不例外,它完全支持 POSIX 1003.1标准。另外,为了使 Unix System V 和 BSD 上的程序能直接在 Linux 上运行, Linux 还增加了部分 System V 和 BSD 的系统接口,使 Linux 成为一个完善的 Unix 程序开发系统。 CT6itugCT6itug2.支持
2、多用户访问和多任务编程Linux 是一个多用户操作系统,它允许多个用户同时访问系统而不会造成用户之间的相互干扰。另外, Linux 还支持真正的多用户编程,一个用户可以创建多个进程,并使各个进程协同工作来完成用户的需求. CT6itugCT6itug3.采用页式存储管理 页式存储管理使 Linux 能更有效地利用物理存储空间,页面的换入换出为用户提供了更大的存储空间。 CT6itugCT6itug4.支持动态链接用户程序的执行往往离不开标准库的支持,一般的系统往往采用静态链接方式-即在装配阶段就已将 用户程序和标准库链接好,这样,当多个进程运行时,可能会出现库代码在内存中有多个副本而浪费存储
3、空间的情况。Linux 支持动态链接方式,当运行时才进行库链接,如果所需要的库已被其它进程装入内存, 则不必再装入,否则才从硬盘中将库调入。这样能保证内存中的库程序代码是唯一的。CT6itugCT6itug5.支持多种文件系统 Linux 能支持多种文件系统。目前支持的文件系统有:EXT2、EXT、XIAFS 、ISOFS、HPFS 、MSDOS 、UMSDOS、 PROC、NFS、SYSV、MINIX、SMB、UFS、NCP、VFAT、AFFS 。Linux 最常用的文件系统是 EXT2,它的文件名长度可 达 255 字符,并且还有许多特有的功能,使它比常规的Unix 文件系统更加安全。 C
4、T6itugCT6itug6.支持 TCP/IP、 SLIP 和 PPP在 Linux 中,用户可以使用所有的网络服务,如网络文件系统、远程登录等。SLIP 和 PPP能支持串行线上的 TCP/IP 协议的使用,这意味着用户可用一个高速 Modem 通过电话线连入 Internet 网中。 CT6itugCT6itug除了上述基本特征外,Linux 还具有其独有的特色: CT6itugCT6itug1.支持硬盘的动态 Cache 这一功能与 MS DOS 中的 Smartdrive 相似。所不同的是,Linux能动态调整所用的 Cache 存储器的大小,以适合当前存储器的使用情况,当某一时刻没
5、有更多的存储空间可用时,Cache 将被减少, 以增加空闲的存储空间,一旦存储空间不再紧张,Cache 的大小又将增加。2.支持不同格式的可执行文件 Linux 具有多种模拟器,这使它能运行不同格式的目标文件。其中,DOS 和 MS Windows 正在开发之中,iBCS2 模拟器能运行 SCO Unix 的目标程序。(iBCS2 模拟器不是 Linux 标准核心的 一部分,但可从 ftp.informatik.hu berlin.de:/pub/os/linux 下载) CT6itug六、Linux 的特点1)多任务 可同时执行多道程序。2)多用户 多个使用者可同时在相同机器上操作 (通过终
6、端或虚拟控制台 )。3)多平台 可在许多不同的 CPU 上执行,不只是 Intel CPU。4)多处理器 SMP 在 Intel 及 SPARC 平台上可用(其它平台正在发展中),而且 Linux可使用在数个疏结的(looselycoupled)MP 应用程序,包括 Beowulf 系统上及 Fujitsu AP1000SPARCbased 超级电脑上。5)在 386/486/Pentium/Pentium Pro 上以保护模式运行 真正的多任务,具有进程间内存地址保护,因此个别程序出错不会波及整个系统。6)灵活的请页机制 视需求将执行代码调入内存 ?Linux 只从硬盘上读入一个程序真正需要
7、的部分。7)执行程序的共享式写入时拷贝(copy onwrite)分页机制 这就是说多道进程可以使用相同的内存来执行。如果其中之一尝试写入那块内存,那一页(4KB 的内存) 会被拷贝到其它地方去。写入时拷贝有两项好处:增加速度及降低内存使用量。8)应用程序及硬盘 cache(高速缓存)使用统一的内存池(memory pool) 因此所有未使用的内存可用来当作 cache,而 cache 的大小在执行大程序时可以减少。9)具有动态链结库(DLL) 当然,也有静态程序库。10)可做内核现场保存( core dumps)以作事后的分析 不仅允许在一程序执行时使用DEBUG(debugger),也可在
8、它发生故障之后使用。11)所有的原始程序源码都可得到 包括整个核心及所有的驱动程序,发展工具及所有应用程序。12)具有伪终端功能 执行 TALNET,可以访问远程主机!13)核心的 387 模拟 程序不需要自行做数学运算模拟。每一部执行 Linux 的机器看起来都有数学辅助处理器,即使你使用的是 386 或 486SX 也是如此。 当然,如果你的电脑已经包含一个 FPU,如 486、Pentium 之类,它将被使用而不用模拟功能,而你甚至可以编译核心,将数学运算模拟拿掉以减少内存的使用14)支持数种普通的文件系统 包括 minix、Xenix 及所有普通的 System V 文件系统,而且它自
9、己有一个先进的文件系统,提供最多达 4TB 的文件系统,以及至多可到 255 个字长的文件 ?br 15) 全面支持 TCP/IP 网络协议 包含 ftp、telnet、NFS 等。同时支持Appletalk 服务器、Netware 客户机及服务器、Lan Manager (SMB)客户及及服务器。其它支持的网络协议有:IPv4、IPv6、AX.25、X.25 、IPX 、DDP (Appletalk)、NetBEUI、Netrom。稳定的核心中目前包含的稳定网路协议有 TCP、IPv4、IPX、DDP 、和AX.25。Linux 的特点:不管你使用什么版本的 Linux,对大家而言共同的代码
10、是 Linux 内核。虽然内核能够被修改来包含你所要的特点,每种 Linux 内核都能提供下列特征。 多用户在一个 Linux 系统上你不仅可以有很多的用户,还可以让这些用户同时登录系统并且在上面工作。用户可以按照他们的需要准备自己的工作环境:存储文件的主目录和桌面环境(包括图标、菜单和与它们对应的应用) 。用户的账号可以是密码保护的,这样就能控制谁可以访问他们的应用和数据。 多任务在 Linux 中,同时运行多个程序是可能的,这意味着不仅你个人可以同时运行多个程序,Linux 操作系统本身还可以有很多运行在后台的程序。很多这样的系统进程使 Linux 作为一台服务器进行工作成为可能,它们监听
11、网络上的各种请求:如登录你的系统、浏览 Web 页、打印文档或者拷贝文件。这些后台进程称为守护进程( daemon) 。 图形用户接口(X Windows 系统)在 Linux 下开发图形应用程序的强大框架被称为 X Windows 系统(或简单称为 X) 。X 的功能主要是打开基于 X 的图形用户接口(GUI)应用,然后显示在 X 服务器进程上(这个进程用来管理你的屏幕、鼠标和键盘) 。在 X 之上,你使用一个基于 X 的桌面环境来提供一个类似的办公桌面,使用窗口管理器提供 GUI 的视觉体验(这里的 GUI 包含图标、图文框、菜单、颜色或者它们的组合,也就是主题) 。有几种桌面环境和桌面管
12、理器可供选择,其中 Fedora 和 RHEL 主要使用GNOME 和 KDE 的桌面环境,但在 Fedora Extras 中还有其他的窗口管理器可供选择。 硬件支持 你几乎可以为每种能够连上计算机的硬件配置相应的支持,这些支持包括软盘驱动器、CD-ROM 、 DVD、手写输入、声卡、磁带设备、显卡还有其他你能想到的任何东西。当计算机内加入 USB 之类的设备接口时,这些设备的支持也被相应的加入了Linux。大部分的硬件厂商不提供外设和适配卡的 Linux 驱动,虽然在 Linux 下最终会支持这些主流硬件,有时还是需要花点时间由 Linux 社区中的某个成员来写一个驱动程序。此外,一些过时
13、的硬件也许不会被更新来与最新的内核一起工作。 网络连接为了把你的 Linux 系统连接到网络上,Linux 提供了对很多种局域网卡、modem 和串行设备的支持。除了像 Ethernet 一样的局域网协议,大部分流行的高层网络协议都是可以内建的。这其中最流行的协议是 TCP/IP(用来连接因特网) ,除此之外还有其他协议如 IPX(用来连接 Novell 网络)和 X.25(一种在欧洲流行的包交换网络类型) 。 网络服务器Linux 做的最好的就是给局域网或者整个因特网上的客户端电脑提供网络服务。你可以使用各种各样的软件包来把 Linux 作为一个打印服务器、文件服务器、FTP 服务器、邮件服
14、务器、Web 服务器、新闻组服务器或工作组服务器(DHCP 或 NIS) 。 应用支持由于符合 POSIX 标准和其他几种应用程序接口(API) ,Linux 下可供选择的自由软件和共享软件的范围是很广的。来自自由软件组织的大部分 GNU 软件可以在 Linux 下运行(虽然其中的一些也许需要一点调整) 。Linux 的主要优势当与其他可用的不同商用操作系统作比较时,Linux 最大的优势在于它的价格、可靠性,还有它所赋予你的自由。随着最新 2.6 Linux 内核的加入,你还可以说可扩展性是它的最大优点之一。大多数人都知道 Linux 是免费的(或者装在一个盒子里或者附在一本书的后面,收不到
15、 50 美元) 。然而当人们讨论 Linux 的可支付性时,通常他们想到的是它的总体成本,包括零或者很低的许可证费用以及使用不昂贵硬件和自由添加兼容应用软件的能力。虽然商用操作系统倾向于鼓励升级到最新的硬件,Linux 不需要那样做(尽管拥有更快的硬件和更大的磁盘是很好的事情) 。在可靠性方面,通常的说法是 Linux 与很多商用的 UNIX 系统具有可比性但是比大多数的桌面操作系统更加可靠。如果你需要你的电脑一直在那里工作,因为它是台 Web 服务器或者文件服务器,这一点就显得格外正确。 (因为你不需要在每次改动什么东西的时候不得不重新启动服务器。 )因为你可以得到源代码,你就能够以自己选择
16、的任何方式自由地修改 Linux 系统的所有部分,连同和它在一起的任何一种开源软件。不像很多独立的商用产品,开源软件趋向于从开始建立就考虑到与其他软件的结合,所以你可以自由地混合与匹配不同的模块来满足你的需求。就像前面提到的那样,Linux 是一种鼓励互操作性的文化。举个例子,如果你不喜欢某种窗口管理器,你完全可以调换一个不同的,因为在相同的框架结构下有很多能够工作的窗口管理器可供选择。使用 Linux 的另一个优势是永远可以从因特网获得帮助。也许碰巧在那边,一个 Linux新闻组或者邮件列表里,有个人就很希望帮助你解决你的问题。因为源代码是可以获得的,你甚至可以自己给软件打补丁来把这个你需要解决的问题修正掉。而在另一方面,我曾经看到商用操作系统的供应商花几个月的时间写关于问题的报告而没有真正修正它。请记住Linux 的文化就是由于人与人之间的互相帮助而更加兴旺。