我发现这个网站: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如何启动的文档?
谢谢!
今年春天我参加了关于通用操作系统理论和原理的课程,现在我想花一个夏天来完成Tanenbaum的操作系统书籍,查看Minix源代码,并对实际操作系统实现有一个大概的了解.
在学校有两位OS教授,我去找他们询问借用Tanenbaum的书.有趣的是,有人说我应该使用本书较旧的第二版,并专注于Minix 2,因为它总体上更简单,并且理解的资源更少(因此在没有信息过载的情况下更容易学习).另一位教授说她不认为这会是一个问题,我应该选择Minix 3和他的书的最新版本,以便我看到更现代的实现.
Stack Overflow的想法是什么?这里的任何人都有这两个版本的Minix的经验吗?我想学习制作实际操作系统的原则,但我也不希望大量的信息过载会让我无法真正理解整个代码的内容.
我正在阅读我的操作系统教科书,我遇到了"分离机制和政策"的概念.我不确定这是什么意思,所以我检查了维基百科,我必须承认,也没有多大帮助.
机制与政策的分离[1]是计算机科学的设计原则.它指出机制(控制操作授权和资源分配的系统实现的那些部分)不应该根据哪些决策授权以及分配哪些资源来决定(或过度限制)策略. .
有人可以对此进行调整,并通过一些示例解释separation of mechanism and policy
操作系统环境中的含义吗?
我希望学习操作系统设计.我想知道我是否应该在这个过程中处理Minix或GNU/Linux?我喜欢书籍所以我会主要关注一本书,虽然视频资源(可能是录像带讲座)也会受到欢迎.
我已经正式学习了C和C#,并且可以在其中编写中小型程序.我对数据结构也有一个非常基本的了解.
如果我采用Minix路线,我应该解决版本2(更简单??)还是版本3?
知道两者都是微内核,b/w Mach(赫德所基于的)和Minix的区别是什么.有任何架构差异吗?对"什么是L4"稍微有点了解将会非常有帮助.我找不到任何涉及此的文件.
最近我对Minix操作系统感到好奇.http://www.minix3.org/
我非常了解其稳健性和可靠性功能,但我注意到该平台可用的软件包很少.
有没有人在这里为Minix开发(或移植软件)软件?这个过程出乎意料吗?
我已将以下库包含在我的代码中.
#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.h
和curl/curl.h
)中声明,我想知道是否有可能解决这个问题或以某种方式解决它?
分页充当虚拟地址空间和物理地址空间之间的间接层。给定一个地址,操作系统 (OS)/内存管理单元 (MMU) 将其转换为主内存位置。
我的问题是:
在主内存中没有页面的情况下
在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
我正在尝试在 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)