【发布时间】:2012-07-21 02:10:22
【问题描述】:
一个小介绍,
我目前正在编写一个小型(读取微小的)RTOS 内核,它应该与内核中的大多数内容是一体的。但是我在下面列出的一些事情上找不到太多信息,这会很有帮助,除此之外,它实际上不是某种大学项目,而是我按照自己的意愿做的事情。
回答所有问题的更好选择是,如果您可以向我推荐一个免费提供的 RTOS(甚至是一本免费书籍),最好是用于 arm ,它实现了用户空间并且是可抢占的(但并不复杂像Linux)。 Linux 有一些迄今为止我见过的最糟糕的文档(我确实尝试从 linux 代码中找出问题,但是只有大量的定义分散在百万个文件和函数挂钩中,名称很奇怪,而且每个版本都被重命名了有时会移动...)
“抢占”和“上下文切换”有什么区别?
抢占式和非抢占式内核之间的主要区别是什么?程序员需要做哪些工作才能使内核抢占式?
-
如何创建和使用用户模式?
ARM 文档说,在用户模式下,任何切换到特权模式的指令都将被视为未定义指令。
如果是这样,用户空间程序使用内核代码的唯一方法是系统调用吗?
那么内核如何响应或与用户空间交互?
这是否意味着启动后的唯一内核线程(在简单系统中)将是空闲线程?
-
如果内核代码和数据所在的页面在切换到用户进程时未映射,那么在系统调用或中断时,内核代码如何在不映射到虚拟地址空间的情况下执行?
“可抢占内核”是否仅意味着内核的设计方式是在内核代码执行期间进行上下文切换是安全的?还是需要做更多的工作?
哦,如果这里不允许这样多个问题,抱歉,找不到任何相关信息。
【问题讨论】:
-
来自faq:“你的问题应该有合理的范围。如果你能想象一本书可以回答你的问题,那你就问得太多了。”这里的问题太多了,而且范围真的很广。看起来你需要一本关于操作系统设计的好书,尤其是关于 ARM 的一本好书。
-
是的,如问题中所述,一本书将是一件好事。问题的范围本身并不是那么广泛,它们要么是关于抢占,要么是关于内核用户的关系。但是,我担心它们对于单个帖子来说太多了,对此感到抱歉。我会看看 mod 建议将其分解或将其更改为“需要一本好的 arm 系统设计书”之类的内容。..
-
图书推荐问题在这里不起作用。 (有一些历史悠久的,但不欢迎新的。)
-
我很乐意以任何形式获得我的答案,无论是指向与我一样古老的线程的链接、指向书籍的链接、此处的长答案、指向某些源代码的链接好的(免费)软件等。但是,如果我确实需要推荐一本好的系统设计书(虽然我只是在寻找一些答案,但好好阅读不会有什么坏处),我在哪里发布呢?这是我能想到的最相关的堆栈站点。
-
Stack Exchange 网站通常是问答,而不是推荐引擎。
标签: architecture kernel arm rtos