问题标签 [address-space]

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.

0 投票
1 回答
4015 浏览

linux - 什么是“内核地址空间”?

从Understanding The Linux Kernel,这里有一些关于内核线程与用户进程(即常规进程)的讨论:

除了用户进程外,Unix 系统还包括一些称为内核线程的特权进程,具有以下特征:

• 它们在内核地址空间中以内核模式运行。

• 它们不与用户交互,因此不需要终端设备。

• 它们通常在系统启动期间创建,并且在系统关闭之前一直保持活动状态。

...

在 Linux 中,内核线程在以下方面不同于常规进程:

• 内核线程仅在内核模式下运行,而常规进程在内核模式和用户模式下交替运行。

• 因为内核线程只在内核模式下运行,所以它们只使用大于 PAGE_OFFSET 的线性地址。另一方面,常规进程在用户模式或内核模式下使用所有 4 GB 的线性地址。

我听说过用户进程即常规进程的虚拟地址空间,并且一部分地址空间映射到内核代码和数据

我的问题:

  • 我想知道上面引用中的“内核地址空间”是什么意思?
  • 它不是用户进程的虚拟地址空间的一部分吗?
  • 这是否意味着内核拥有自己的虚拟地址空间,就像用户进程拥有自己的虚拟地址空间一样?
0 投票
0 回答
106 浏览

bus - 为什么 CPU 物理地址空间和总线地址空间不同?

我正在阅读有关 DMA 的内容,它指的是以下地址空间:

  • CPU 虚拟地址空间

  • CPU 物理地址空间

  • 总线地址空间

我理解为什么虚拟地址空间和物理地址空间不同......为什么物理地址空间和总线地址空间之间需要映射?什么会导致这些不同?

0 投票
2 回答
417 浏览

multithreading - 有没有办法强制一个进程与另一个进程共享地址空间?

这是一个纯粹的理论问题。就我而言,每个进程都有不同的寻址空间,并且一个进程中的每个线程共享相同的内存空间?

有没有办法改变这种行为,尤其是在某些 UNIX 系统中。更清楚地说,让两个进程共享相同的地址空间?或者使来自同一进程的两个线程具有不同的地址空间?

0 投票
0 回答
89 浏览

linux - 将 .BSS 与堆访问区分开来

据我了解,[heap]Linux 进程地址空间中的虚拟内存区域(VMA)包含.bss数据和堆数据(Link)。

我想在[heap]VMA 中捕获堆访问。据我所知,.bss映射在编译时由前端(例如,Clang)发生。为了过滤堆访问,我应该在哪里更改?

0 投票
2 回答
134 浏览

c - 为什么没有使用 malloc 时堆部分存在

如果我们不调用 malloc,我试图找出进程的地址空间中是否存在堆。

即使我不调用 malloc,地图中也存在堆部分

我在 Ubuntu 18.04 上试过这个,gcc 版本是 7.4.0,你们能帮我理解为什么即使我们没有任何 malloc 也会创建堆部分。

0 投票
1 回答
241 浏览

intel - 什么定义了cpu的地址空间?

我的困惑是基于这三个想法-

  1. 是 2^(cpu 上所有可用地址引脚的数量)吗?

  2. 是 2^(一个特定寄存器的大小)吗?

  3. 它是理解地址范围内所有地址的硬件电路吗?那这是什么?

我这里不是问虚拟地址空间,不知道叫什么,可能是包括ram在内的所有物理设备的物理地址空间。另外即使我得到一个正确的答案我也想问一下,为什么我的cpu有2^39位(512GB)的内存地址空间和64KB+3的I/O内存空间。此信息写在我的系统的 intel 文档中(intel core i3-4005U with an Integrated lynx point-m PCH)。

如果我问错了,欢迎您编辑我的问题。谢谢你。

0 投票
0 回答
92 浏览

arduino - ATmel 处理器不调用 LLVM 全局构造函数

我已经编译了一个 cpp 代码并将其下载到 Arduino Uno 以使 LED 闪烁。代码工作正常。但是,当我将它转换为.ll目标.ll文件然后转换为十六进制并上传时,代码停止工作。Arduino 没有 LED 闪烁。

如果我直接寻址端口:

它会正常工作,但如果我初始化通过全局构造函数寻址的端口,它就不起作用:

这是因为根本没有调用全局构造函数。如果我通过主函数调用它

它会起作用的。

我使用以下命令编译并下载ll文件到 Arduino uno:

眨眼1.ll

这是 LLVM 错误还是我做错了?

0 投票
1 回答
74 浏览

go - 令人困惑,Go Routines 中的通道内这是什么

程序 :

输出 :

该输出(824634122336)是什么意思?我认为 (0xc00009e000) 是通道的起始地址。

  • 如果(0xc00009e000 是通道地址)

    • 那么请告诉我这是什么(824634122336)
  • 别的

    • 那么请告诉那些输出是什么。
0 投票
0 回答
17 浏览

memory - 内存接口:微处理器的地址空间从一个随机位置开始

我正在尝试绘制 8088 微处理器和 8 个 4K x 8 EPROM 之间的接口电路图。这是一个例子。在本例中,地址空间从 F8000h 开始,到 FFFFFh 结束。如果我希望地址空间从另一个位置开始,例如 F8123h,该怎么办?我需要在电路中进行哪些更改?我想了很多,但无济于事。

0 投票
0 回答
31 浏览

java - 通过 JAVA 自动生成 OPC UA 对象的实例(为 OPC UA 服务器的地址空间生成 XML)

我有各种类型的 OPC UA 的 XML 文档和添加到其中的一些自定义对象类型。例如((1)具有年龄属性的 StudentType,出生地(2)具有 Name 属性的 TeacherType,专业知识))

此外,我还有另一个文本输入,上面写着 (XX -- FolderType, AA -- StudentType, BB --TeacherType) 简而言之,它提到了实例名称和实例的类型。

当然,这个完整的东西可以用 UAModeller 工具构建,但是我们计划编写一个 java 程序,它会在提供输入时自动为我们做这件事。

首先,我获取了 types.xml 文件,并对其进行了解析。我创建了一个 UAObjectTypes、UAVariableTypes、StudentTypes、TeacherTypes 等列表。

我给自己做了一个列表,将实例的输入列表映射到它们的 ObjectType。但我无法按预期建立参考。例如:

结构 类型 OPC UA 中的每个节点都通过引用连接到其他节点。例如:类是“OrganisedBy”对象。班级“组织”学生和教师。学生“组织”罗山等等。

我正在努力通过代码建立此地址空间的动态生成。我有该工具生成的示例地址。但是java程序不会产生相同的结果。

请给我一些指导。到现在完全一无所知。