关于许可问题...什么是共享地址空间

发布于 2024-07-27 04:46:26 字数 1455 浏览 2 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

居里长安 2024-08-03 04:46:26

GPL 上下文中的“共享地址空间”是“进程”的概括。 这意味着,例如,插入 gpl 程序或基于 gpl 库的程序本身应该具有相同的许可证。

不过,这一直是一个备受争议的观点。 例如,Lunux Torvalds 从来不喜欢 Linux 内核不能由于内核是 GPL,因此不支持纯二进制模块。 看似在 2008 年发生了变化,但事实上许多 Linux 内核模块都是尽管满足共享内核地址空间的要求,但部分专有。
这是一个非常不稳定的情况

"Shared address space" in the context of the GPL was meant as a generalization for "process". It means that, for example, a pluging of a gpl'ed program, or a program based on a gpl library, should have the same license itself.

It has been a strongly debated point, though. Lunux Torvalds, for example, never liked the idea that Linux kernel couldn't support binary-only modules because of the kernel being GPL. This seemingly changed in 2008 but in fact many Linux kernel modules are partially proprietary despite the fact of meeting the requirement of sharing the kernel address space.
It's a very fluid situation.

岁月苍老的讽刺 2024-08-03 04:46:26

这取决于情况,但从最广泛的角度来看,它指的是处理器集群之间共享的内存(其中最小集群大小可能为 1,即单个服务器)。 涉及此类内容的许可证通常允许您在集群或单个 CPU 上运行产品的一个副本,并使用术语共享地址空间来表示这一点。

如果没有看到许可证中更长的摘录,你实际上不可能说更多。

It depends, but in it's broadest terms it is talking about the memory shared between a cluster of processors (where the minimum cluster size may be 1, i.e. a single server). Licenses that refer to such things usually allow you to run one copy of a product on a cluster or a single CPU, and use the term shared address space to indicate this.

It's not really possible tyo say more without sight of a lengthier extract from the license(s).

呆° 2024-08-03 04:46:26

不。机器上的每个进程都以自己的“虚拟地址空间”运行。 不管机器有多少内存,每个进程都可以寻址32位(或64位或其他)虚拟内存。 映射到该地址空间的是进程本身以及任何共享库的代码。 单个共享库将映射到任意数量的进程的虚拟地址空间(因此是共享的)。

基本上,如果您链​​接到一个库,它将位于相同的地址空间中。 如果您调用另一个进程或只是让它在同一台服务器上运行,则事实并非如此。

No. Each process on a machine runs with its own "virtual address space". Regardless of how much memory the machine has, each process can address 32bit (or 64bit or whatever) virtual memory. Mapped onto this address space is the code for the process itself, and also for any shared libraries. A single shared library will be mapped to any number of processes' virtual address space (hence the shared).

Basically if you link against a library, it will be in the same address space. If you call another process or simply have it running on the same server, it's not.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文