Windows内核是否有读写fork()指令?

Windows内核是否有读写fork()指令?,windows,kernel,ntdll,Windows,Kernel,Ntdll,因为POSIX.1法规遵从性是Windows的一个强制性目标 操作系统旨在确保所需的基本系统 提供支持以实现POSIX.1 子系统(如fork函数,在 以及对Windows中硬文件链接的支持 文件系统) 这个fork函数是写拷贝的吗?如果是,它是否仍然存在于最新版本的Windows中?如果是这样的话,它是否也可以称为Win32应用程序(尽管是一个未记录的API) 从Windows内部的内存来看,fork是一个写时拷贝实现。基于Windows内存管理器其余部分的工作方式,如果它是其他任何东西,那将

因为POSIX.1法规遵从性是Windows的一个强制性目标 操作系统旨在确保所需的基本系统 提供支持以实现POSIX.1 子系统(如fork函数,在 以及对Windows中硬文件链接的支持 文件系统)


这个fork函数是写拷贝的吗?如果是,它是否仍然存在于最新版本的Windows中?如果是这样的话,它是否也可以称为Win32应用程序(尽管是一个未记录的API)

从Windows内部的内存来看,fork是一个写时拷贝实现。基于Windows内存管理器其余部分的工作方式,如果它是其他任何东西,那将是不寻常和令人惊讶的

我似乎还记得fork的实现方式是将所有内存分配放在section对象中,这样就可以使用copy-on-write设置跨进程复制节

不幸的是,这意味着您可能无法在非posix子系统进程中使用它,因为您需要仔细地设置您的地址空间,以便只包含节。标准Win32进程不这样做


另外,如果要支持fork(),每个人都需要支持它——从内核开始。对于一个可能会惊讶地得到Frk()-ED的系统的例子,考虑窗口系统。在这种情况下它会做什么?(我假设X11对此有一个答案,但我不知道它是什么)。由于在Windows上执行fork()-ing是一件非常不寻常的事情,因此如果对标准Win32进程执行,我希望您的进程会完全崩溃。

从Windows内部的内存来看,fork是一种写时拷贝实现。基于Windows内存管理器其余部分的工作方式,如果它是其他任何东西,那将是不寻常和令人惊讶的

我似乎还记得fork的实现方式是将所有内存分配放在section对象中,这样就可以使用copy-on-write设置跨进程复制节

不幸的是,这意味着您可能无法在非posix子系统进程中使用它,因为您需要仔细地设置您的地址空间,以便只包含节。标准Win32进程不这样做

另外,如果要支持fork(),每个人都需要支持它——从内核开始。对于一个可能会惊讶地得到Frk()-ED的系统的例子,考虑窗口系统。在这种情况下它会做什么?(我假设X11对此有一个答案,但我不知道它是什么)。由于在Windows上执行fork()-ing操作是一件非常不寻常的事情,因此如果要在标准Win32进程上执行,我希望您的进程会完全瘫痪