最近感觉很挫败,连续3~4天手头的工作一点进度都没有,今天找时间总结下知识积累,也算是一种收获吧。
1.java调C函数
使用JNI实现JAVA调C函数的操作
2.编译内核,为系统重装内核
编译后的代码在源代码的旁边生成.o文件,但是无法直接用头文件中的函数,这点很郁闷
编译内核可以分为原系统内核以及内核源代码两种编译,我第二次编译内核源代码时成功了,并安装了内核
其实编译内核目的在于对一些系统特性的重选择/精简系统,像我是为了找内核支持的函数再重编译就没多大必要了。编译后的内核函数在链接时仍报undefined reference错误。
3.研究JVM中全局进程ID和线程ID的关系
后来仔细跑程序发现,进程ID和实际工作的线程ID并没有在数值相差保持一致的关系,具体的机制还有待研究
本来具体思路是先写C文件实现对内核的直接访问(让信息在调用的时候立即返回,而不是像系统调用一样周期性搜集信息)再回到JAVA程序中实现。
后来绕过这一难题,接着想使用系统命令来实现,发现了上面说的第三个问题,ID的关系不确定性,给研究带来很大的难度。
明天接着做,加油~
明天的任务,找到具体的工作线程ID,获得运行的差值。