Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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
Linux pintos中与线程初始化相关的线程问题_Linux_Multithreading_Unix_Linux Kernel_Pintos - Fatal编程技术网

Linux pintos中与线程初始化相关的线程问题

Linux pintos中与线程初始化相关的线程问题,linux,multithreading,unix,linux-kernel,pintos,Linux,Multithreading,Unix,Linux Kernel,Pintos,我试图通读品多的来源。 在init.c文件中调用main之后,当调用thread_init时,它将指针移动到包含main方法的页面的开头。然后调用以下命令: 在thread.c文件的init_thread方法中设置memset t,0,sizeof*t 我需要知道,这是否清除了包含主要方法代码的内存内容 需要帮助….恐怕您的编程技能暂时无法解决此问题。我强烈建议您重新学习入门课程,尤其是C语言 我想你的意思是: init_thread (initial_thread, "main", PRI_D

我试图通读品多的来源。 在init.c文件中调用main之后,当调用thread_init时,它将指针移动到包含main方法的页面的开头。然后调用以下命令:

在thread.c文件的init_thread方法中设置memset t,0,sizeof*t

我需要知道,这是否清除了包含主要方法代码的内存内容


需要帮助….

恐怕您的编程技能暂时无法解决此问题。我强烈建议您重新学习入门课程,尤其是C语言

我想你的意思是:

init_thread (initial_thread, "main", PRI_DEFAULT);

>让我们看看iNITX线程:

init_thread (struct thread *t, const char *name, int priority)
首先,我们很容易看到main是线程的名称。与名为main的函数没有关系

{
  enum intr_level old_level;

  ASSERT (t != NULL);
  ASSERT (PRI_MIN <= priority && priority <= PRI_MAX);
  ASSERT (name != NULL);

  memset (t, 0, sizeof *t);

这里,字符串main与strlcpy一起放置到位。

首先,我没有要求解释memset、strlcpy等函数。我已经理解了它们。这个问题与pintos代码库有关,因此问题附带了一个上下文。在回答问题之前,请考虑上下文。Dude,说真的。你认为我是从哪里获取这些代码样本的?你好像被倾斜了。我只能建议你理性地看待这个问题。我确实彻底地回答了这个问题。
  t->status = THREAD_BLOCKED;
  strlcpy (t->name, name, sizeof t->name);