升级OS内核的方法

时间:2009-05-19 10:23:02

标签: java c++ multithreading operating-system kernel

我希望进入操作系统内核开发,并认为我的贡献是扩展SANOS操作系统以支持JDK 1.6和1.7。我一直在阅读有关操作系统(Tannenbaum)的书籍,以及研究BSD和Linux如何应对这一挑战,但仍然坚持几个概念。

  1. 什么是最快的方式来告诉我需要支持哪些额外的系统调用,因为SANOS从底层开始更多?

  2. 如果我有一个需要支持的系统调用列表,如果它们性质相似,最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

任何合理的* nix风格操作系统应具有的最小系统调用次数为(恕我直言):

  • 靠近
  • EXEC
  • waitpid函数

前4个允许您为程序提供输入并获得其输出。 (请记住,就操作系统而言,* nix就stdout而言只是操作系统的另一个文件句柄。)

另外3个是启动另一个程序并等待其结果所需的最低限度。但是,可以肯定SanOS已经拥有这些,因为它已经是一个非常实用的操作系统。

完全有可能您需要进行的添加不需要在内核级别完成。

修改

就支持更新JVM所需的内容而言,SanOS site中的这一段提供了一个很好的暗示:

  

您可以运行Windows的Sun版本   sanos下的HotSpot JVM。这是   可能因为桑诺斯支持   标准PE可执行格式(.EXE   和.DLL文件)。提供包装   对于像kernel32.dll这样的Win32 DLL,   user32.dll,wsock32.dll等   作为C运行时库msvcrt.dll。一世   用以下方法测试了sanos   的JVM:

基本上,JVM是标准的Windows exe文件。因此,您只需要找出引用的dll所调用的系统,并确保它们存在并正确实现。