Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3038130
  • 博文数量: 674
  • 博客积分: 17881
  • 博客等级: 上将
  • 技术积分: 4849
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-17 10:15
文章分类

全部博文(674)

文章存档

2013年(34)

2012年(146)

2011年(197)

2010年(297)

分类: LINUX

2010-08-19 19:45:33

前言

 

本书描述的是Linux 内核2.6.11 的正式版,可以从 站点下载。

本书的网页上列出了勘误表、示例和任何额外的信息。可登录以下网址查询:

§1     绪论

Linux 内核2.6 版的目标是遵循IEEE POSIX 标准。这意味着在Linux 系统下,很容易编译和运行目前现有的大多数Unix 程序,只需少许或根本无需为源代码打补丁。此外,Linux 包括了现代Unix 操作系统的全部特点,诸如虚拟存储、虚拟文件系统、轻量级进程、Unix 信号量、SVR4 进程间通信、支持对称多处理器(Symmetric MultiprocessorSMP)系统等。

Linux内核的特点如下:

*单块结构的内核(Monolithic kernel

*编译并静态连接的传统Unix 内核

*内核线程

一些Unix内核,如Solaris SVR4.2/MP,被组织成一组内核线程(kernel thread)。

内核线程是一个能被独立调度的执行环境(context);也许它与用户程序有关,也

许仅仅执行一些内核函数。线程之间的上下文切换比普通进程之间的上下文切换花

费的代价要少得多,因为前者通常在同一个地址空间执行。Linux 以一种十分有限

的方式使用内核线程来周期性地执行几个内核函数;但是,它们并不代表基本的执

行上下文的抽象(这就是下面要讨论的议题)

*多线程应用程序支持

大多数现代操作系统在某种程度上都支持多线程应用程序,也就是说,这些用户程

序是根据很多相对独立的执行流来设计的,而这些执行流之间共享应用程序的大部

分数据结构。一个多线程用户程序由很多轻量级进程(lightweight processLWP

组成,这些进程可能对共同的地址空间、共同的物理内存页、共同的打开文件等等

进行操作。Linux 定义了自己的轻量级进程版本,这与SVR4Solaris 等其他系统

上所使用的类型有所不同。当LWP的所有商用Unix变体都基于内核线程时,Linux

却把轻量级进程当作基本的执行上下文,通过非标准的clone()系统调用来处理

它们。

*抢占式(preemptive)内核多处理器支持

*多处理器支持

*文件系统

Linux 标准文件系统呈现出多种风格。如果你没有特殊需要,就可以使用普通的Ext2 文件系统。如果你想避免系统崩溃后冗长的文件系统检查,就可以切换到Ext3。如果你不得不处理很多小文件, ReiserFS文件系统可能就是最好的选择。 除了Ext3 ReiserFS,还可以在Linux 中使用另外几个日志文件系统;这些文件系统包括IBM AIX 的日志文件系统(Journaling File SystemJFS)和SGI 公司IRIX系统上的XFS 文件系统。有了强大的面向对象虚拟文件系统技术(为Solaris SVR4 所采用),把外部文件系统移植到Linux 比移植到其他内核相对要容易。

STREAMS

尽管现在大部分的Unix 内核内包含了SRV4 引入的STREAMS I/O 子系统,并且

已变成编写设备驱动程序、终端驱动程序及网络协议的首选接口,但是Linux 并没

有与此类似的子系统。

 

Linux 的评价充分说明,与商业化的操作系统相比,Linux 已经具备足够的竞争力。

而且,Linux 一些独具特色的特点使其成为一种趣味盎然的操作系统。商业化的Unix内核为了赢得更大的市场份额通常也引入了新特征,但这些特征本是可有可无,其稳定性和效率都值得商榷。事实上,现代Unix 内核有向更臃肿变化的倾向,而Linux 以及其他开放源代码的操作系统不受市场因素的制约,因此可以根据设计者的想法(主要是Linus Torvalds 的想法)自由地演进。尤其是,与商用竞争对手相比,Linux 有如下优势:

Linux 是免费的。除硬件之外,你无需任何花费就能安装一套完整的Linux 系统。

Linux 的所有成分都可以充分地定制。通过内核编译选项,你可以选择自己真正需要的特征来定制内核。而且有了通用公共许可证(GPL),你就可以自由地阅读、修改内核和所有系统程序的源代码(注4)。

Linux 可以运行在低档、便宜的硬件平台上。你可以用一个4MB内存的旧Intel 80386 系统构建网络服务器。

Linux 是强大的。由于充分挖掘了硬件部分的特点,使得Linux 系统速度非常快。Linux的主要目标是效率,所以,商用系统的许多设计选择由于有降低性能的隐患而被Linus 舍弃,如STREAMSI/O 子系统。

Linux 的开发者都是非常出色的程序员。Linux系统非常稳定,有非常低的故障率和非常少系统维护时间。

Linux 内核非常小,而且紧凑。我们甚至可以把一个内核映像和一些系统程序放在一张1.4MB 的软盘上!据我们所知,没有一个商用Unix 变体能从一张软盘上启动。

Linux 与很多通用操作系统高度兼容。Linux 可以让你直接安装以下文件系统的所有版本:MS-DOS MS WindowsSVR4OS/2Mac OS XSolarisSunOSNEXTSTEP,还有很多 BSD 变体等等。另外, Linux 也能对很多网络层进行操作,这些网络层如以太网[如:快速以太网和高速(Gbit/s 10Gbit/s )以太网]、光纤分布式数据接口(Fiber Distributed Data InterfaceFDDI)、高性能并行接口(High Performance Parallel InterfaceHIPPI)、IEEE 802.11(无线局域网)和IEEE802.15(蓝牙)。。通过使用适当的库函数,Linux 系统甚至能直接运行为其他操作系统所编写的程序。例如,Linux 能执行为以下操作系统所编写的应用程序: MS-DOS MS WindowsSVR3 SV R44.4BSD SCO UnixXenix,以及其他在Intel 80x86 平台上运行的操作系统。

Linux 有很好的技术支持。不管你信不信,Linux比任何有版权的操作系统更容易获得补丁和更新!如果你把遇到的难题发给一些新闻组或邮件列表,经常在几个小时内就会得到回应。此外,当新的硬件产品投放市场以后,其Linux 驱动程序通常在几周内就可得到。与此相反,硬件厂商仅仅给少数商业操作系统发布设备驱动程序,通常只有微软一家。因此,所有商用Unix 变体只能运行在有限的硬件上。

 

支持的硬件平台(略)

阅读(1134) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~