
M. Tim Jones 是一名嵌入式软件工程师,他是 GNU/Linux Application Programming、AI Application Programming以及 BSD Sockets Programming from a Multilanguage Perspective 等书的作者。他的工程背景非常广泛,从同步宇宙飞船的内核开发到嵌入式架构设计,再到网络协议的开发。Tim 是位于科罗拉多州 Longmont 的 Emulex Corp. 的一名顾问工程师。
学习
- 您可以参阅本文在 developerWorks 全球站点上的 英文原文 。
- 介绍了 GNU GPL,它涵盖了 Linux 内核及其附带的大量有用的应用程序。另外还介绍了一个比 GPL 限制更少的许可 Lesser GPL (LGPL)。
- 、 和 在 Wikipedia 上都有介绍,另外还详细介绍了操作系统系列。
- ,即 glibc,是标准 C 库的实现。它用于 GNU/Linux 操作系统,也可用于 微内核操作系统。
- 是 Linux 内核的一个移植,它可以在一些缺少 MMU 的系统上执行。这允许 Linux 内核在很小的嵌入式平台上运行,例如 PalmPilot PalmPilot Personal Digital Assistants (PDAs) 上使用的 Motorola DragonBall 处理器。
- “使用 Linux 系统调用的内核命令”(developerWorks,2007 年 3 月)对 SCI 进行了介绍,这是 Linux 内核中非常重要的一层,具有 glibc 的用户空间支持,可以在用户空间和内核之间启用函数调用。
- “Linux 调度器内幕”(developerWorks,2006 年 6 月)介绍了 Linux 2.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 一样,都是一种非常好的操作系统。
- “Linux slab 分配器详解” (developerWorks,2007 年 5 月)介绍了 Linux 内存管理中最有用的一个工具:slab 分配器。这种机制源自于 SunOS,不过它在 Linux 内核中找到了合适的位置。
- “虚拟 Linux”(developerWorks,2006 年 12 月)介绍了 Linux 是如何充分利用具有虚拟化能力的处理器。
- “Linux 和对称多处理”(developerWorks,2007 年 3 月)讨论了 Linux 怎样利用提供芯片级多处理能力的芯片。
- “探索 Linux 内核虚拟机”(developerWorks,2007 年 4 月)介绍了最近引入内核的虚拟化技术,它可以将 Linux 内核转换成其他虚拟化的操作系统的系统管理程序。
- 有关在用户空间对 Linux 进行编程的更多信息,请参考 Tim 撰写的 一书。
- 在 developerWorks Linux 专区 中可找到适合 Linux 开发人员的更多资源,包括 Linux 教程 以及上月 读者最喜欢的 Linux 文章和教程。
- 随时关注 developerWorks 技术活动和网络广播。
获得产品和技术
- 利用可直接从 developerWorks 下载的 IBM 试用软件 在 Linux 上构建您的下一个开发项目。
讨论
- 通过参与开发者博客、论坛、podcast 和新的 developerWorks 空间 中的社区主题,加入 developerWorks 社区。

