- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习计算机体系结构,并遇到了一种说法:“完全可以在没有虚拟内存的情况下运行,只需物理内存(事实上,大多数嵌入式系统都以这种方式运行)”。
这是真的吗?如果是,那么我想知道如何?
谢谢。
最佳答案
不使用虚拟内存的嵌入式系统通常作为单个进程或线程运行,或者支持多线程而不是多处理任务模型。也就是说,所有线程/任务共享一个公共(public)地址空间,但具有单独的堆栈(尽管也在单个地址空间中)。
在具有 MMU 并支持虚拟内存的处理器上,这只需通过不配置 MMU 或至少具有具有一对一映射的静态 MMU 配置来完成,以便物理地址和 MMU 地址相同,或者至少这样有一个单一的虚拟地址空间。
PIC、AVR、ARM7、ARM Cortex-M、Zilog Z8 等嵌入式系统中使用的许多中低端架构缺少 MMU,并且通常具有比典型 ARM9/11/Cortex-A 小得多的内存资源或基于 x86 的系统。
对于无 MMU 系统中的多线程支持,您通常会使用实时操作系统 (RTOS)。大多数 RTOS,除了一些值得注意的异常(exception),都是带有 IPC 和同步原语的简单任务调度程序,并且不使用或支持 MMU。 QNX 和 VxWorks 等高端 RTOS 支持 MMU,尽管在 VxWorks 中它是可选的。
uCLinux 是针对具有足够内存资源来运行 Linux 但缺少诸如 ARM7 和 Cortex-M 之类的 MMU 的处理器的 GPOS。尽管可以说,没有 MMU 的 Linux 错过了使用 Linux 的主要优势之一,同时缺乏硬实时性能,并且需要大内存;一个典型的 RTOS 内核需要(远)少于 10kBytes 的代码。
关于operating-system - 完全可以在没有虚拟内存的情况下运行,只需要物理内存(事实上,大多数嵌入式系统都以这种方式运行)。如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19336407/
这是一个完全没有意义的问题......但我想知道答案: 为什么 Ax2012 中的所有 RecId(我认为都是从 v2.5 开始的??)都以 5637144576 开头?为什么不像 TempDB 表那
我知道 Camel 大小写规则,但我对这个 m 规则感到困惑。它代表什么?我是一名 PHP 开发人员。 “我们”使用变量的首字母作为类型的指示,例如“b”代表 bool 值,“i”代表整数等等。 'm
我在一个 div 中有一个 div,子元素都位于其父元素的中心并且比父元素大,因此它在它的两侧均等地溢出。 child 里面有另一个带有一些文本的 div。
我是一名优秀的程序员,十分优秀!