问题标签 [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.
minix - _sendrec.s 中的说明
我偶然发现了 src/lib/i386/rts/_sendrec.s 中的以下说明
一开始,写出以下语句。
我如何解释上述陈述?例如,SRCDEST = 8,我应该将其读取为 SRCDEST 的值为 8。如果是,则以下语句对我没有任何意义。如果不是,什么是 SRCDEST、MESSAGE 和 BOTH?它们是内置函数吗?如果是,它们在 .s 文件中的何处定义?
根据评论,eax = dest-src
。dest 和 src 的值是多少?
ebx = message pointer
. 这是否意味着 ebx 是对基指针的引用?至于mov ecx, BOTH ! _sendrec(srcdest, ptr)
,这里到底发生了什么?如果有人能对以下陈述有所了解或指出一两个链接,我将不胜感激。已经在网上查找了几天,但没有运气找到信息。感谢您的时间。
minix - Minix3 只读问题
我只想知道有没有一种方法可以覆盖MINIX 3main.c
中内核文件夹(dir /usr/src/kernel/main.c
)中的文件。我想更改文件中的一些代码(我知道所涉及的风险)但问题是我不能保存。我已经尝试以身份登录,bin
但root
仍然是同样的问题。
还有另一种方法吗?
c - Minix - 在 C 中创建堆栈跟踪
这是使用 Minix (http://www.minix3.org)。
对于 Uni 的一个项目,我正在使用 fkey 创建一个堆栈跟踪。我可以访问进程表,并且正在打印进程计数器、堆栈指针和基指针。现在,我被卡住了——我需要能够打印出正在调用的子例程的名称,因为我在堆栈调用中退一步。
例如:我有 proc “getty”,SP:0x1669 PC:0x41B0 BP:41B4
我的解释:
SP 指向堆栈指针当前所在的位置 - 执行中的某个位置。
PC 指向下一条要执行的指令,每步加一
BP 指向当前子程序的顶部
我将如何从这些内存地址获取子例程名称和/或我将如何退后一步通过堆栈?
ls - 需要 "ls -s" 在 MINIX 中显示正确的块数
我正在学习涉及 minix 的操作系统课程,我想要一些建议。
我试图弄清楚如何修改 minix 以便它ls -s
可以做与 linux 中相同的事情。
我知道虽然 minix 和 linuxls -s
很相似,但是当一个文件是故意使用 :dd of=XXXX bs=4096 count=1 seek=5
时,linux 会显示文件大小为 4 个块,而 minix 将显示 24 个块。
我理解为什么会发生这种情况,因为与 minix 不同,linux 识别有 20 个空块,所以它报告它的逻辑大小,忽略空块。
我一直在想从哪里开始,我的讲师指给servers/fs/stadir.c
我看,所以我查了一下课程。
我认为相关的唯一部分(涉及 st_size)是:
这是 minix 源代码的第 27700-27706 行。
有人可以给我提示在哪里看,或者如果我在看正确的地方,提示或其他东西。
c - UNIX 中的 Fork() 是否创建一致或顺序运行的进程?
当在类似 Unix 的操作系统(即 MINIX 3)中运行的程序中使用 fork() 函数时,它是否会创建许多单独的进程,这些进程是独立处理的,因此可以提前完成(这实际上是我想要)还是会创建一系列顺序流程,这些流程仅按照它们创建的顺序完成。
这是我用来 fork() 的代码
谢谢你的时间
system-calls - 计算 Minix 3 中进程的系统调用并使用 F8 打印进程/#of sys 调用
我需要一种方法来计算每个进程使用了多少系统调用(用户、系统等),然后使用F8
. 我猜我需要更改proc.c
并proc.h
添加一个流程字段并更改keyboard.c
以使F8
按钮打印所有内容。
任何有关如何处理的帮助将不胜感激。
linux - 将 JVM 移植到 MINIX
正如您从标题中看到的那样,出于某种原因,我需要使在 Minix 上运行 .class 文件成为可能(不需要编译器)。那么有人可以指出我的任何方向,建议一些文献或提供一些建议吗?一般来说,你会怎么做?
直到现在我才发现OpenJDK
(但这并不是我想要的)。我还阅读了 Tanenbaum 的“操作系统设计和实现”。它让我对 minix 内部结构有了很多了解。
c - 如何在 Minix 的 EXEC 调用中释放父内存?
在 EXEC 调用中,我希望通过删除父进程的内存来创建内存来允许更大的“子进程”。
我正在使用 MINIX 3.2 并计划修改exec.c
以调用alloc_new_mem
in的修改版本alloc.c
这是 alloc.c 的源代码 - https://github.com/minix3/minix/blob/master/servers/vm/alloc.c
寻找指针。
操作系统:MINIX3 文件:alloc.c
kernel - 如何使用 PID 从服务器层获取进程名称
我希望能够使用进程的名称,servers/sched/schedule.c
但是schedproc
结构不包含名称变量。我考虑过使用endpoint_lookup()
函数来获取指向proc
结构的指针,但由于它是在中定义的,kernel/proc.c
我不确定是否可以在schedule.c
(从用户空间)中调用它。
kernel - Minix 从 /kernel/system 写入文件
/home/log.txt
我需要从kernel/system/do_kill.c
(Minix)将一些信息写入我的特殊日志文件(例如, )。
我已经尝试过:
但文件没有出现。(但printf()
在控制台中显示文本)。
编译时使用fprintf()
会导致错误(make clean all
from /usr/src/tools
)。