| 贵 州 学 习 网 |
|
内存管理 内核所管理的另外一个重要资源是内存。为了提高效率,如果由硬件管理虚拟内存,内存是按照所谓的内存页 方式进行管理的(对于大部分体系结构来说都是 4kb)。linux 包括了管理可用内存的方式,以及物理和虚拟映射所使用的硬件机制。 不过内存管理要管理的可不止 4kb 缓冲区。linux 提供了对 4kb 缓冲区的抽象,例如 slab 分配器。这种内存管理模式使用 4kb 缓冲区为基数,然后从中分配结构,并跟踪内存页使用情况,比如哪些内存页是满的,哪些页面没有完全使用,哪些页面为空。这样就允许该模式根据系统需要来动态调整内存使用。 为了支持多个用户使用内存,有时会出现可用内存被消耗光的情况。由于这个原因,页面可以移出内存并放入磁盘中。这个过程称为交换,因为页面会被从内存交换到硬盘上。内存管理的源代码可以在 ./linux/mm 中找到。 虚拟文件系统 虚拟文件系统(vfs)是 linux 内核中非常有用的一个方面,因为它为文件系统提供了一个通用的接口抽象。vfs 在 sci 和内核所支持的文件系统之间提供了一个交换层(请参看图 4)。 图 4. vfs 在用户和文件系统之间提供了一个交换层
在 vfs 上面,是对诸如 open、close、read 和 write 之类的函数的一个通用 api 抽象。在 vfs 下面是文件系统抽象,它定义了上层函数的实现方式。它们是给定文件系统(超过 50 个)的插件。文件系统的源代码可以在 ./linux/fs 中找到。 文件系统层之下是缓冲区缓存,它为文件系统层提供了一个通用函数集(与具体文件系统无关)。这个缓存层通过将数据保留一段时间(或者随即预先读取数据以便在需要是就可用)优化了对物理设备的访问。缓冲区缓存之下是设备驱动程序,它实现了特定物理设备的接口。 网络堆栈 网络堆栈在设计上遵循模拟协议本身的分层体系结构。回想一下,internet protocol (ip) 是传输协议(通常称为传输控制协议或 tcp)下面的核心网络层协议。tcp 上面是 socket 层,它是通过 sci 进行调用的。 socket 层是网络子系统的标准 api,它为各种网络协议提供了一个用户接口。从原始帧访问到 ip 协议数据单元(pdu),再到 tcp 和 user datagram protocol (udp),socket 层提供了一种标准化的方法来管理连接,并在各个终点之间移动数据。内核中网络源代码可以在 ./linux/net 中找到。 设备驱动程序 linux 内核中有大量代码都在设备驱动程序中,它们能够运转特定的硬件设备。linux 源码树提供了一个驱动程序子目录,这个目录又进一步划分为各种支持设备,例如 bluetooth、i2c、serial 等。设备驱动程序的代码可以在 ./linux/drivers 中找到。 依赖体系结构的代码 尽管 linux 很大程度上独立于所运行的体系结构,但是有些元素则必须考虑体系结构才能正常操作并实现更高效率。./linux/arch 子目录定义了内核源代码中依赖于体系结构的部分,其中包含了各种特定于体系结构的子目录(共同组成了 bsp)。对于一个典型的桌面系统来说,使用的是 i386 目录。每个体系结构子目录都包含了很多其他子目录,每个子目录都关注内核中的一个特定方面,例如引导、内核、内存管理等。这些依赖体系结构的代码可以在 ./linux/arch 中找到。 linux 内核的一些有用特性 如果 linux 内核的可移植性和效率还不够好,linux 还提供了其他一些特性,它们无法划分到上面的分类中。 作为一个生产操作系统和开源软件,linux 是测试新协议及其增强的良好平台。linux 支持大量网络协议,包括典型的 tcp/ip,以及高速网络的扩展(大于 1 gigabit ethernet [gbe] 和 10 gbe)。linux 也可以支持诸如流控制传输协议(sctp)之类的协议,它提供了很多比 tcp 更高级的特性(是传输层协议的接替者)。 linux 还是一个动态内核,支持动态添加或删除软件组件。被称为动态可加载内核模块,它们可以在引导时根据需要(当前特定设备需要这个模块)或在任何时候由用户插入。 linux 最新的一个增强是可以用作其他操作系统的操作系统(称为系统管理程序)。最近,对内核进行了修改,称为基于内核的虚拟机(kvm)。这个修改为用户空间启用了一个新的接口,它可以允许其他操作系统在启用了 kvm 的内核之上运行。除了运行 linux 的其他实例之外, microsoft? windows? 也可以进行虚拟化。惟一的限制是底层处理器必须支持新的虚拟化指令。nCc{/jQ"Ev^X [本_文_来_源_于_我_的_学_习_网IT认证Linux认证 http://Www.GZU521.Com ]nCc{/jQ"Ev^X |
责任编辑:gzu521