问题标签 [nachos]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
5197 浏览

c++ - C++ 中指针的分段错误

我正在尝试构建一个结构的对象,但是在分配值时遇到了分段错误。在我构建对象后,它将通过指针传递到列表中。这是我的实现:

在执行“cI->client=which”期间,会产生分段错误。这个项目是在 nachos 平台上为任何熟悉的人编写的,但是 List 的定义与 C++ 中的任何链表大致相同。对于不熟悉玉米片的人来说,'void thread' 是我的'int main'。

提前致谢。

0 投票
1 回答
236 浏览

operating-system - 一个简单的解释在哪里以及如何使用条件变量?

google 了将近 2 个小时,想知道使用条件变量的情况有哪些。但我只发现了一堆难以实现的恼人的代码片段。所以我需要对此有一个清晰的概念。

0 投票
0 回答
718 浏览

java - 在运行 java 版本的 nachos 时点击“RuntimePermission createClassLoader”

我尝试在 Windows 7 和 Redhat Linux 上运行 Java 版本的Nachos,但由于 RuntimePermission 问题,两者都失败了,如下所示。

用关键字RuntimePermission和google 搜索createClassLoader,找到了一些需要修改文件的解决方案:$(JAVA HOME)\jre\lib\security\java.policy. 所以我在上面附加了以下几行。

但是,它仍然无法工作。任何人都可以提供有关此问题的任何线索吗?谢谢。

0 投票
1 回答
380 浏览

java - 以信号量作为唯一同步原语的倒计时锁存器

谁能解释如何使用信号量编程倒计时锁存器作为唯一允许使用的同步原语。?谢谢。

0 投票
1 回答
350 浏览

c++ - NachOS timer.cc 构造函数

我正在尝试在 NachOS 中创建一个名为闹钟的新类。在其中,我需要创建一个用于触发中断的计时器对象。在timer.cc中,构造函数是

有人可以向我解释一下这个构造函数将采用什么输入,它是什么VoidFunctionPtr timerHandler以及它是如何工作的?我完全不知道要传递给这个函数的参数,所以我只是被困在这里无法做任何事情。任何帮助将不胜感激。

我知道它是一个指向函数的指针,但我不明白它是如何工作的。

0 投票
4 回答
544 浏览

c++ - 从另一个文件引用 C++ 类

我很难将我编写的 C++ 类与单独的“测试”C++ 文件链接起来。所以我有这三个文件:threadtest.cc、Elevator.h 和 Elevator.cc。在 Elevator.h 中,我定义了两个类:Passenger 和 Elevator。当我尝试从 threadtest.cc 文件中引用乘客或电梯的函数时,我得到未定义的引用错误。我做的第一件事是确保我在 threadtest.cc 中有一个 include 指令。我一直在尝试到处搜索链接和 NACHOS 类的一般指南,但我唯一能找到的是 NACHOS pdf 的路线图,它缺少出现此类问题时所需的详细信息。

我包含了 Elevator.h、threadtest.cc 和 Makefile 中可能与此链接问题最相关的部分片段。

以下是我在编译时最关心的错误:

以下是 threadtest.cc 从第 97 t0 111 行开始的有问题的行:

这是我对 Elevator.h 中的类的定义

最后,还有一个 GNU Makefile 用于编译 NACHOS 中的所有内容。以下是对应于 threadtest.cc 和 Elevator.h 的 Makefile 部分

以下是 Elevator.cc 中所有函数的定义

任何帮助或想法将不胜感激!我投资了 Bjarne Stroustrup 的 C++ 编程语言,希望它能在未来帮助解决这些问题。

0 投票
1 回答
463 浏览

operating-system - 如何在 NachOs 中使用 Fork() 获取返回值?

这是我的代码: void playerproc(int player) {

这是 NIM 游戏的代码。现在我想从方法 playerproc(我使用 fork() 生成)返回值,并在方法 NIM 管理器中获取它的返回值。我无法得到它。我正在使用 NachOs。

0 投票
1 回答
575 浏览

c++ - 使用 C++ 类在 NachOS 中创建线程

我正在尝试在 nachos 中创建一个生产者线程,为此我正在创建一个类Producer(我的作业所必需的)。我在类声明中有一个非静态成员函数Shout(),我使用上面的代码来创建和使用指向Shout()方法的函数指针。编译器给了我“无效使用非静态成员函数”。这里的错误在哪里?

0 投票
1 回答
734 浏览

java - NACHOS 在线程“main”中出现 Eclipse 异常

在 Eclipse 中运行 nachos 时出现以下错误:

以上两种方法如下:

nachos.machine.Lib.assertTrue:

nachos.machine.Machine.main:

0 投票
1 回答
443 浏览

nachos - 编译和运行 Nachos 的问题

第一个问题:我正在尝试导入 stdlib.h 以使用 malloc() 和 rand() 等函数。我在 threadtest.cc 工作,文件夹线程。这是我得到的错误

这可能是什么原因?

第二个问题:我正在尝试为分叉的新线程命名。

并在功能喊叫中测试它:

这个例子工作得很好。但是,如果我想给线程一个“动态”ID,我使用:

对 currentThread->getName() 使用相同的 printf 它让我很垃圾:

x�ӿ����_ ���

我使用了 Nachos 文档中的示例,并尝试了使用字符串函数传输动态 id 的不同方法,但没有任何效果,只有垃圾。

谢谢你的任何答案。