zoukankan      html  css  js  c++  java
  • 关于今后的进展

    好长时间不来了,前一阵子cebit去了。现在刚刚回归正常的生活轨道。对PRP所做的工作,大抵也是五一期间的进展

    我对fist生成的改动主要是在file.c,针对file_operation进行改动。改动的方法之前已经说过了。对目前的实现方式感到不满。一个open()的系统调用下来,到内核空间转换成sys_open(),之后filp_open(),open_namei()解析名称,在内存里进程的file_struct中建立file数据结构。之后调用dentry_open()函数将dentry和file数据结构挂起来。dentry_open()会象填表一样填完file数据结构中一些如fd,sb等等然后调用文件系统的file_open函数。正常的文件系统比如调用ext3_fileopen(),而在fist生成的代码中会多一个过程,就是利用上次说到的宏找到hidden_dentry,然后针对hidden_dentry调用dentry_open函数。之后的过程就都一样了。我所做的工作就是改变hidden_dentry指向的dentry结构以实现偷梁换柱的目的。


    我觉得这种做法很没效率,没准效果适得其反反而增加系统开销。毕竟中间多了好几次dentry查找过程。我想问问heavenbirdfly要是用设备驱动实现的话该怎么做。关键问题是名称解析这个工作相当上层。如果能够把sys_open这个函数置换掉是最好不过了。但是这样的结果是对于所有文件系统都要做名称变换而不只是我们mount的地方。

    要断网了,先写这么多。有疑问直接回复。
  • 相关阅读:
    程序员是怎样阅读简历的转
    在res/values下创建attrs.xml
    java clone技术 浅谈 转
    map list...
    Tab与TabHost转
    Silverlight以及Mvc最佳文件下载解决方案(附源码)
    如何将List<T>转换相应的Html(xsl动态转换)(二)
    UML 类图
    xxxxxx
    Xml日志记录文件最优方案(附源代码)
  • 原文地址:https://www.cnblogs.com/acesyp/p/156769.html
Copyright © 2011-2022 走看看