同一项目/程序的多个实例



同一项目/程序的多个实例的分离是如何完成的,这意味着哪种机制可以分离同一项目或程序的两个实例的数据?

编辑:示例:

  1. 当使用写入程序两次并使用FILE1和FILE2时。大多数操作系统如何将这两个实例分开?正如我在评论中所读到的,这些文件得到了不同的内存块。内存块是否"获取"文件名,如块143可以由FILE1寻址,块223可以由FILE2寻址
  2. 模拟:如果我在两个不同的数据输入文件上调用一个模拟类型(相同的命令行参数)。操作系统如何分离与不同内存块/实例寻址有关的文件

问候streight

以上讨论的答案:

操作系统为每个程序或程序实例分配特定的内存块。你试过访问随机存储器吗?大多数时候你的程序都会崩溃。这是由于操作系统的处理。如果您访问未分配给您的内存,操作系统会自动使您的程序崩溃(安全功能)。

对于CCD_ 1和CCD_。给程序运行的内存(类/函数名等所需的空间)与运行时分配的任何变量都是分开的。

这一切都是假设您的操作系统确实支持并行执行的多个进程——非常旧或非常有限的嵌入式系统可能根本不支持这一点。你(在学校)工作的很多董事会都不支持这样的事情,你必须自己写。

当你用不同的文件调用同一个程序时,每个文件都存在于它自己的内存空间中。不,他们没有被贴上这样的标签。编译后不要尝试guess的名称。它就是不起作用。

为什么?

1) 它依赖于编译器。不同的编译器使用不同的方法。

2) 它不是人类可读的(除非你自己编写编译器)(如果我错了,请纠正我)

操作系统/编译器为它们提供了一个唯一的名称(可以是时间相关的、操作系统相关的或一百种其他东西)。这些程序互不了解,在各自的空间中运行。

来源:@Hulk@Mohammad Ali Baydoun

相关内容

最新更新