【问题标题】:Getting started with OSX kernel programmingOSX 内核编程入门
【发布时间】:2012-04-30 15:19:55
【问题描述】:

对于熟悉 Linux 内核编程的人来说,OSX 内核编程入门有哪些资源?我已经阅读了一些 Apple Developer 资源,但它们看起来相当通用(例如基本的并发控制原语)。具体来说,我对文件系统开发很感兴趣。

【问题讨论】:

    标签: macos kernel


    【解决方案1】:

    Amit Singh 的书“Mac OS X Internals”包含一章描述 HFS+ 的实现,这可能会有所帮助。如果您找到描述 BSD 的 VFS 层的资源,那也可能会有所帮助,因为那是 OS X 的 VFS 层的起源(尽管有自己的页面缓存,称为统一缓冲区缓存或 UBC)。此外,您可以尝试在 MacFuse 及其后代的源代码中四处寻找。查看一些更简单的文件系统的来源(HFS+ 对此有点大)可能也会有所帮助。

    【讨论】:

    • 啊,我忘了 MacFuse 是打开的。好建议,谢谢。您知道用于设置开发环境的任何资源吗?我宁愿远离 XCode,但也想知道这是否只是最好的选择。
    • @NoahWatkins 我一直使用 XCode,至少用于构建。它带有一个名为xcodebuild 的 CLI 实用程序,它允许您在不打开 XCode 本身的情况下构建项目 - 然后您只需打开 XCode 即可将源文件添加到项目中。当然,没有什么能阻止您使用您喜欢的任何构建系统进行构建:XCode 为您提供了详细的构建日志,因此您只需在您选择的构建系统中复制这些命令。编译器的关键标志是-mkernel
    • @NoahWatkins 对于内存管理、同步、设置和调试等实用性,您可能还想看看 Ole Halvorsen 的 OSX Kernel 书,即使它没有涵盖 VFS。 (披露:我是那本书的技术评论员;但是我没有收到推荐它的动机)
    猜你喜欢
    • 2015-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-07
    相关资源
    最近更新 更多