C-没有目录为/usr/src/linux-2.x/include/asm-i386/unistd.h



我正在尝试通过遵循Silberschatz,Galvin和Gagne在书籍操作系统概念中给出的项目部分来构建一个业余爱好项目。这本书指出:

最新版本的Linux内核的系统调用号码 在/usr/src/linux-2.x/include/asm-i386/unistd.h。

中列出

,但我找不到此目录。没有像linux-2.x这样的目录;所有都是linux-3.x的形式。

这些标头如今自动生成,而这些标头在例如: linux-4.4.5/arch/x86/entry/syscalls/中。根据分布的不同,您可能需要单独安装内核标头,例如:使用Ubuntu(数据包linux-headers-$VERSION。版本必须适合内核版本!)。我发现它们安装在/usr/src/linux-headers-3.13.0-37-generic/arch/x86/include/generated/asm/(基于Ubuntu的Linux Mint)。在/usr/src/linux-headers-3.16.0-37/arch/x86/include/asm/unistd.h中,从常规unistd.h(再次为X86)中找到那里的标题。(内核的实际版本可能会有所不同)。

最高版本2的最后一个内核是2011年8月的2.6.39.4。如果您拥有如此旧的机器或具有足够马力的机器可以运行虚拟奔腾机器,则可以使用它。但是我建议改为升级您的预订。

如果您想知道为什么(和我)有一个版本3,而不是最近的4.9:如果您的硬件运行,则它没有严重的安全性错误,并且您不需要任何内容最近的内核,然后使用您的发行版给您的,他们知道自己在做什么(他大胆地说)。

最新更新