Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用c程序模拟文件系统跟踪_C_Process_Filesystems - Fatal编程技术网

用c程序模拟文件系统跟踪

用c程序模拟文件系统跟踪,c,process,filesystems,C,Process,Filesystems,我有一个文件,记录类型为“PID,调用时间,系统调用”和不同进程所做的调用是交织的。现在,我正在编写一个模拟器来重播系统调用,并且需要一个由PID 1发出的调用由一个与PID 2发出的调用不同的进程发出。此外,同一进程必须以跟踪文件中显示的相同顺序执行PID 1发出的所有调用。我非常感谢你的帮助。谢谢你…一个简单的方法是创建一个包含一个PID成员的链接列表。对于每个调用,您可以遍历列表(如果找不到PID,则添加一个节点),并使每个节点保存一个文件句柄或一些可以向流程提供数据的内容。 如果你的PI

我有一个文件,记录类型为“PID,调用时间,系统调用”和不同进程所做的调用是交织的。现在,我正在编写一个模拟器来重播系统调用,并且需要一个由PID 1发出的调用由一个与PID 2发出的调用不同的进程发出。此外,同一进程必须以跟踪文件中显示的相同顺序执行PID 1发出的所有调用。我非常感谢你的帮助。谢谢你…

一个简单的方法是创建一个包含一个PID成员的链接列表。对于每个调用,您可以遍历列表(如果找不到PID,则添加一个节点),并使每个节点保存一个文件句柄或一些可以向流程提供数据的内容。 如果你的PID不是“随机”数,而是1、2、3、4等。。。您可以对数组(指针)执行相同的操作,以避免遍历列表所需的时间。
不确定这对您是否足够,但您也没有给出太多细节…

当然,我们不是来为您编写代码的,但如果我处于您的位置,我会先编写一个main()函数,充实它,然后从那里开始。@Bill我知道没有人会为我编写代码,我也不希望这样。这里的逻辑并不像看上去那么简单。Main()读取文件跟踪文件…检查跟踪的PID并使线程重放该跟踪..控件返回Main()…Main()再次读取跟踪文件,如果它与以前的PID相同,则假定相同的线程进行该调用,但它不再存在。谢谢。我一试就会回来