快速业务通道

看到好文章了(linux内核方面),大家共分享

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-14
此.SCI 实际上是一个非常有用的函数调用多路复用和多路分解服务.在 ./linux/kernel 中您可以找到 SCI 的实现,并在 ./linux/arch 中找到依赖于体系结构的部分.有关这个组件的更详细信息可以在 参考资料 一节中找到.

进程管理

内核是什么?
如 图 3 所示,内核实际上仅仅是一个资源管理器.不管被管理的资源是进程、内存还是硬件设备,内核负责管理并裁定多个竞争用户对资源的访问(既包括内核空间也包括用户空间).

进程管理的重点是进程的执行.在内核中,这些进程称为线程,代表了单独的处理器虚拟化(线程代码、数据、堆栈和 CPU 寄存器).在用户空间,通常使用进程 这个术语,不过 Linux 实现并没有区分这两个概念(进程和线程).内核通过 SCI 提供了一个应用程序编程接口(API)来创建一个新进程(fork、exec 或 Portable Operating System Interface [POSIX] 函数),停止进程(kill、exit),并在它们之间进行通信和同步(signal 或者 POSIX 机制).

进程管理还包括处理活动进程之间共享 CPU 的需求.内核实现了一种新型的调度算法,不管有多少个线程在竞争 CPU,这种算法都可以在固定时间内进行操作.这种算法就称为 O(1) 调度程序,这个名字就表示它调度多个线程所使用的时间和调度一个线程所使用的时间是相同的. O(1) 调度程序也可以支持多处理器(称为对称多处理器或 SMP).您可以在 ./linux/kernel 中找到进程管理的源代码,在 ./linux/arch 中可以找到依赖于体系结构的源代码.在 参考资料 一节中可以了解有关这个算法的更多内容.

内存管理

内核所管理的另外一个重要资源是内存.为了提高效率,如果由硬件管理虚拟内存,内存是按照所谓的内存页 方式进行管理的(对于大部分体系结构来说都是 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 层提供了一种标准化的方法来管理连接,并在各个终点之间移动数据

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号