问题标签 [minix]

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 投票
1 回答
1795 浏览

c - Minix - 系统调用没有正确调用函数?

我需要在 Minix 中为家庭作业创建一个系统调用。我已经完成了大部分设置,但由于某种原因,系统调用实际调用的函数没有被正确找到。(请原谅任何不好的措辞选择,我不确定最好的词来解释这一点)。

我用以下代码创建了一个mylib.hin /usr/include(and /usr/src/include):

我还添加mylib.h到适当的Makefile.

我已经在 中定义MYCALL/usr/src/include/minix/callnr.h,并且我已经添加do_mycall到了相应的插槽中/usr/src/servers/pm/table.h.

我已经添加int do_mycall(void);到 中/usr/src/servers/pm/proto.h,并且在 中添加了一个简单的函数声明misc.c

我也尝试将它放在它自己的.c文件中,我将其添加到该Makefile目录中。

make/usr/src/servers/pm//usr/src/include中表演make includes/usr/src/releasetools

但是,当我调用mycall()并捕获返回值时,它是-1。

我添加了一些打印,我可以看出mylib.h正在调用 in 的函数,并且 MYCALL 被正确定义为 in 的索引table.h,并且table.h 应该正确放置该do_mycall行(尽管我真的不知道如何测试它是执行时在那里)。所以,我只能说 in _syscall,do_mycall没有正确映射到它的功能。

我尝试用其中photo.h的代码替换原型misc.c(因此原型会丢失),但没有发生任何不同,并且make也没有抱怨。

谁能帮我弄清楚是什么原因造成的,或者我如何缩小断开连接的位置?

如果有人知道在哪里_syscall定义,那可能会有所帮助,因为我可能会在其中添加一些打印件以弄清楚它有多远。

0 投票
4 回答
7304 浏览

c - 如何在minix操作系统中执行c文件

有人可以向我解释什么是 a.out它以及它是如何工作的吗?这是我第一次使用 Unix (minix)。我有一个文件夹,其中包含两个文件filename.ctest.sh(包含以 ./a.out 和一些 f=values 开头的三行)。filename.c如果不是,我只想编译和执行?

0 投票
1 回答
407 浏览

python - MINIX 上的 Python C 扩展

我试图构建我写的这个包(我知道它正在工作),首先以通常的方式通过distutils

好吧,好吧;distutils是那些经常在不太流行的平台上中断的模块之一。所以我尝试手动编译扩展部分:

这行得通——也就是说,它_posix.so毫无怨言地生成了——但是,尝试在 Python 中导入生成的模块并没有:

谷歌认为这与操作系统加载共享库(Python 扩展是)的能力有关。我去看了,结果发现 MINIX 直到去年才支持共享库,但现在应该支持了。事实上,/usr/pkg/include/python2.7/pyconfig.h定义了HAVE_DLOPENHAVE_DYNAMIC_LOADING,所以它显然是这样的。

这是怎么回事?

0 投票
1 回答
310 浏览

cpu - VirtualBox Minix3 恐慌

谷歌搜索,搜索报告,如果在 PC 上禁用虚拟化,可能会出现这样的错误。我已经检查了 BIOS 配置,它已启用。我的 CPU 是酷睿 i3。

在此处输入图像描述

0 投票
2 回答
797 浏览

process - 如何在 Minix 3 中的系统调用中等待

我需要在 minix 中实现一个系统调用,等待某个条件为真后再返回。但是,我发现只是尝试类似

不起作用,因为虽然它确实阻塞了进程,但它也阻塞了在 minix 中运行的所有其他进程。我什至无法切换到另一个虚拟终端并登录。我认为 minix 进程应该彼此独立运行,但看起来当任何进程阻塞系统调用时,所有其他进程同时被挂起。这可能是正确的吗?谢谢

0 投票
1 回答
2812 浏览

c - C - 无法让 shmget/shmat 编译

我正在拔头发,试图弄清楚为什么这在我的 Minix 系统上不起作用。

当我尝试编译我的 C 程序时,我收到以下错误:

这是我的代码:

正如你所看到的,我已经为这些调用包含了正确的头文件,它仍然说引用是未定义的。我能够在另一个程序中成功地使用它,所以我完全不知道为什么它在这种情况下不起作用。

编辑:这是在系统调用中。我认为这没有什么区别。

0 投票
0 回答
1041 浏览

operating-system - 从函数中调用 minix _syscall()

关于我编写的系统调用,我最近在 minix 中遇到了一个非常奇怪的问题。基本上,代码在 main() 函数中运行良好,并且调用完成了它应该做的事情。但是,如果我将代码放在一个函数中并从 main() 中调用该函数,它就会失败。这是一个例子:

看起来如果你从你的代码中调用一个函数,它应该做同样的事情,就好像你只是在 main 函数中编写代码一样。我在这里想念什么?

0 投票
1 回答
2460 浏览

minix - 黑白 Hurd 和 Minix 有什么区别?

知道两者都是微内核,b/w Mach(Hurd 所基于的)和 Minix 有什么区别。有任何架构差异吗?稍微了解一下“什么是 L4”会很有帮助。我找不到任何涉及此内容的文件。

0 投票
1 回答
393 浏览

keyboard - minix3的终端驱动keyboard.c中,为什么存在ibuf?

《操作系统设计与组织》第 3 版,第 351 页。键盘中断服务程序是 kbd_interrupt(第 15335 行),每当按下或释放键时都会调用。它调用 scode 从键盘控制器芯片获取扫描码。...所有原始扫描代码都放置在循环缓冲区中,并引发当前控制台的 tp​​->tty _events 标志(第 15350 行)。...并且 kbd_interrupt 在此之后立即返回。... 第 13795 行的 continue 语句导致主循环的新迭代立即在第 13764 行开始。当执行转移到循环顶部时,现在发现控制台设备的 tp->tty _events 标志为set 和 kb _read(第 15360 行),特定于设备的例程,使用控制台 tty 结构的 tp->tty _devread 字段中的指针调用。

我认为 ibuf 不能有多个扫描码。所以我认为一个 char 变量就足够了。为什么会存在圆形 ibuf?

0 投票
1 回答
1125 浏览

compilation - 尝试在 minix3 中编译

我在 VMware Player 上使用 minix3,但在编译系统调用时遇到问题。我实际上试图看看我是否可以在系统调用中添加一个简单的命令来查看它的工作情况,然后我在它所在的文件中printf("my message");放置了一个简单的命令。protect.cusr/src/servers/vfs

make我保存了它,并在我位于 vfs 目录时尝试使用命令对其进行编译。它说这protect.c是最新的。

我尝试更改文件的所有者(protect.c其中包含 chown 模式代码),结果我正在等待我的消息。相反,它只是正确运行命令而不打印我的消息。

我认为我在编译时做错了,我在互联网上搜索了几个小时试图修复它。但唯一反复传来的命令是make hdboot。我知道这个命令不起作用,因为我使用 minix3 作为虚拟操作系统,但我尝试它只是为了确认它,正如我所说的那样不起作用。

有人知道在minix3中编译吗?