标签: minix

有没有关于Minix 3.2(最新)如何启动的文档?

我发现这个网站:http://www.os-forum.com/minix/boot/ 声称记录了Minix的启动顺序.

但是在Minix 3.2的源代码树中我只是从Git获得,上面网站中描述的文件根本不存在.

他们是:

masterboot.s
bootblock.s
boothead.s
boot.c
bootimage.c
rawfs.c
Run Code Online (Sandbox Code Playgroud)

Minix会改变它的启动方式吗?

有没有关于Minix如何启动的文档?

谢谢!

minix bootloader

16
推荐指数
1
解决办法
2488
查看次数

使用Minix 2或3学习操作系统开发?

今年春天我参加了关于通用操作系统理论和原理的课程,现在我想花一个夏天来完成Tanenbaum的操作系统书籍,查看Minix源代码,并对实际操作系统实现有一个大概的了解.

在学校有两位OS教授,我去找他们询问借用Tanenbaum的书.有趣的是,有人说我应该使用本书较旧的第二版,并专注于Minix 2,因为它总体上更简单,并且理解的资源更少(因此在没有信息过载的情况下更容易学习).另一位教授说她不认为这会是一个问题,我应该选择Minix 3和他的书的最新版本,以便我看到更现代的实现.

Stack Overflow的想法是什么?这里的任何人都有这两个版本的Minix的经验吗?我想学习制作实际操作系统的原则,但我也不希望大量的信息过载会让我无法真正理解整个代码的内容.

operating-system minix

13
推荐指数
2
解决办法
3600
查看次数

政策和机制

我正在阅读我的操作系统教科书,我遇到了"分离机制和政策"的概念.我不确定这是什么意思,所以我检查了维基百科,我必须承认,也没有多大帮助.

机制与政策的分离[1]是计算机科学的设计原则.它指出机制(控制操作授权和资源分配的系统实现的那些部分)不应该根据哪些决策授权以及分配哪些资源来决定(或过度限制)策略. .

有人可以对此进行调整,并通过一些示例解释separation of mechanism and policy操作系统环境中的含义吗?

linux operating-system minix

10
推荐指数
1
解决办法
2569
查看次数

Minix vs Linux用于学习操作系统设计?

我希望学习操作系统设计.我想知道我是否应该在这个过程中处理Minix或GNU/Linux?我喜欢书籍所以我会主要关注一本书,虽然视频资源(可能是录像带讲座)也会受到欢迎.

我已经正式学习了C和C#,并且可以在其中编写中小型程序.我对数据结构也有一个非常基本的了解.

如果我采用Minix路线,我应该解决版本2(更简单??)还是版本3?

c c++ linux operating-system minix

8
推荐指数
3
解决办法
6390
查看次数

b/w Hurd和Minix有什么区别?

知道两者都是微内核,b/w Mach(赫德所基于的)和Minix的区别是什么.有任何架构差异吗?对"什么是L4"稍微有点了解将会非常有帮助.我找不到任何涉及此的文件.

minix microkernel mach

7
推荐指数
1
解决办法
1993
查看次数

这里有没有人有为Minix开发的经验?

最近我对Minix操作系统感到好奇.http://www.minix3.org/

我非常了解其稳健性和可靠性功能,但我注意到该平台可用的软件包很少.

有没有人在这里为Minix开发(或移植软件)软件?这个过程出乎意料吗?

minix

6
推荐指数
1
解决办法
990
查看次数

解决两个外部库中具有相同名称的函数的冲突类型

我已将以下库包含在我的代码中.

#include <minix/drivers.h>
#include <curl/curl.h>
#include <sys/stat.h>
#include <time.h>
#include <assert.h>
#include <string.h>
Run Code Online (Sandbox Code Playgroud)

现在我收到以下错误:

In file included from /usr/local/include/curl/curlbuild.h:152
                 from /usr/local/include/curl/curl.h:34
                 from xxx.c:2
/usr/pkg/gcc44/lib/gcc/i686-pc-minix/4.4.3/include-fixed/sys/socket.h:134: error: conflicting types for '_send'
/usr/include/minix/ipc.h:152: note: previous declaration was here
Run Code Online (Sandbox Code Playgroud)

据我所知,这意味着_send已在两个库(minix/drivers.hcurl/curl.h)中声明,我想知道是否有可能解决这个问题或以某种方式解决它?

c minix

6
推荐指数
1
解决办法
1286
查看次数

操作系统如何知道缺失页面的磁盘地址?

分页充当虚拟地址空间和物理地址空间之间的间接层。给定一个地址,操作系统 (OS)/内存管理单元 (MMU) 将其转换为主内存位置。

我的问题是:

在主内存中没有页面的情况下

  1. 操作系统如何知道在哪里可以找到磁盘上的页面?
  2. 它在哪里存储1的信息?(它没有存储在页表条目中)。代码示例的链接会很棒!

linux operating-system kernel minix

6
推荐指数
1
解决办法
930
查看次数

如何在Minix的EXEC调用中释放父内存?

在EXEC调用中,我希望通过删除父进程的内存来创建内存来允许更大的"子进程".

我正在使用MINIX 3.2并计划修改exec.c以调用alloc_new_memin 的修改版本alloc.c

以下是alloc.c的源代码 - https://github.com/minix3/minix/blob/master/servers/vm/alloc.c

寻找指针.

操作系统:MINIX3文件:alloc.c

c memory-management minix

5
推荐指数
1
解决办法
245
查看次数

在 Minix 中制作设备驱动程序

我正在尝试在 Minix 上创建一个字符设备驱动程序。我希望它能够接受read()write()调用。我的理解是,我需要sys_safecopyfrom()用于运行该read()函数的函数和sys_safecopyto()运行该write()函数的函数。问题是当我像这样运行它时,我不断收到类似的错误(虽然不完全相同,但我认为差异在于内存位置)。错误是:

verify_grant: grant verify failed: access invalid: want 0x..., have 0x...
grant 2 verify to copy ... -> ... by ... failed err -1
read: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

“...”是内存位置,除了内存位置之外,写入的错误类似,并且在最后一行显示“写入”而不是“读取”。

我认为相关代码如下:

#include <minix/drivers.h>
#include <minix/chardriver.h>
#include <stdio.h>
#include <stdlib.h>
#include <minix/ds.h>
...
static struct chardriver hello_tab =
{
    .cdr_open   = hello_open,
    .cdr_close  = hello_close,
    .cdr_read   = hello_read,
    .cdr_write  = hello_write,
};
...
static ssize_t hello_read(devminor_t UNUSED(minor), u64_t …
Run Code Online (Sandbox Code Playgroud)

c driver minix

5
推荐指数
1
解决办法
1154
查看次数