">
本文对 Linux 内核体系结构及其特性和功能进行了简要介绍。有关内核的详细内容,可以参考每个 Linux 发行版中附带的 Documentation 目录。请一定查看本文末尾的 参考资料 一节,了解有关本文中所讨论主题的更详细信息。
参考资料
学习您可以参阅本文在developerWorks全球站点上的英文原文。
GNU站点介绍了GNUGPL,它涵盖了Linux内核及其附带的大量有用的应用程序。另外还介绍了一个比GPL限制更少的许可LesserGPL(LGPL)。UNIX、MINIX和Linux在Wikipedia上都有介绍,另外还详细介绍了操作系统系列。GNUCLibrary,即glibc,是标准C库的实现。它用于GNU/Linux操作系统,也可用于GNU/Hurd微内核操作系统。uClinux是Linux内核的一个移植,它可以在一些缺少MMU的系统上执行。这允许Linux内核在很小的嵌入式平台上运行,例如PalmPilotPalmPilotPersonalDigitalAssistants(PDAs)上使用的MotorolaDragonBall处理器。“使用Linux系统调用的内核命令”(developerWorks,2007年3月)对SCI进行了介绍,这是Linux内核中非常重要的一层,具有glibc的用户空间支持,可以在用户空间和内核之间启用函数调用。“Linux调度器内幕”(developerWorks,2006年6月)介绍了Linux2.6中引入的新O(1)调度程序,这是一个非常高效的算法,可以扩展到很大数量的进程(线程),并且可以利用SMP系统。“使用/proc文件系统来访问Linux内核的内容”(developerWorks,2006年3月)介绍了/proc文件系统,这是一个虚拟文件系统,为用户空间的应用程序提供了一种全新的方法与内核进行通信。这篇文章展示了/proc以及可加载内核模块。“服务器诊所:使虚拟文件系统工作”(developerWorks,2003年4月)深入介绍了VFS层,它允许Linux通过一个通用接口支持各种不同的文件系统。这个相同的接口也可以用于其他类型的设备,例如socket。“Linux引导过程内幕”(developerWorks,2006年5月)介绍了Linux的引导过程,该过程将启动一个Linux系统,并且不管是从硬盘、软盘、USB内存条还是通过网络引导系统,该过程是相同的。“Linux初始RAM磁盘(initrd)概述”(developerWorks,2006年7月)介绍了初始RAM磁盘,它将引导过程与所引导的物理介质隔离开来。“使用SCTP优化网络”(developerWorks,2006年2月)介绍了一种非常有用的网络协议:流控制传输协议,它的操作与TCP类似,但是增加了很多有用的特性,例如消息传递、多宿主和多流。如果您对网络协议感兴趣,那么Linux与BSD一样,都是一种非常好的操作系统。“Linuxslab分配器详解”(developerWorks,2007年5月)介绍了Linux内存管理中最有用的一个工具:slab分配器。这种机制源自于SunOS,不过它在Linux内核中找到了合适的位置。“虚拟Linux”(developerWorks,2006年12月)介绍了Linux是如何充分利用具有虚拟化能力的处理器。“Linux和对称多处理”(developerWorks,2007年3月)讨论了Linux怎样利用提供芯片级多处理能力的芯片。“探索Linux内核虚拟机”(developerWorks,2007年4月)介绍了最近引入内核的虚拟化技术,它可以将Linux内核转换成其他虚拟化的操作系统的系统管理程序。有关在用户空间对Linux进行编程的更多信息,请参考Tim撰写的GNU/LinuxApplicationProgramming一书。在developerWorksLinux专区中可找到适合Linux开发人员的更多资源,包括Linux教程以及上月读者最喜欢的Linux文章和教程。随时关注developerWorks技术活动和网络广播。获得产品和技术
定购SEKforLinux,共包含两张DVD,其中有用于Linux的最新IBM试用软件,包括DB2®、Lotus®、Rational®、Tivoli®和WebSphere®。
利用可直接从developerWorks下载的IBM试用软件在Linux上构建您的下一个开发项目。讨论
通过参与开发者博客、论坛、podcast和新的developerWorks空间中的社区主题,加入developerWorks社区。
关于作者
![]() | ||
![]() | M. Tim Jones 是一名嵌入式软件工程师,他是 GNU/Linux Application Programming、AI Application Programming 以及 BSD Sockets Programming from a Multilanguage Perspective 等书的作者。他的工程背景非常广泛,从同步宇宙飞船的内核开发到嵌入式架构设计,再到网络协议的开发。Tim 是位于科罗拉多州 Longmont 的 Emulex Corp. 的一名顾问工程师。 |