gpt4 book ai didi

windows - Windows 中事件进程列表的用途?

转载 作者:可可西里 更新时间:2023-11-01 12:05:23 28 4
gpt4 key购买 nike

我注意到所有 _EPROCESS 对象都通过 ActiveProcessList 链接相互链接。
这个列表的目的是什么。
操作系统使用这个事件进程列表做什么?

最佳答案

在Windows NT中,可调度的单位是线程。进程充当线程的容器,也充当定义哪些虚拟内存映射处于事件状态(以及其他一些东西)的抽象。

所有操作系统都需要保持此信息可用。在不同的时间,操作系统的不同组件可能需要搜索与特定特征匹配的进程,或者需要评估所有事件进程。

那么,我们如何存储这些信息呢?为什么不是内存中的巨大数组?那么,这个阵列有多大?我们是否愿意将事件进程的数量限制为该数组的大小?如果我们不能增长数组会怎样?我们是否准备好预先保留所有内存以跟踪进程?在低进程用例中,那不是浪费了很多内存吗?

所以我们可以将它们保存在链表中。

在 NT 中,有些情况下我们关心进程上下文而不是线程上下文。其中之一是 I/O 完成。当操作系统异步处理 I/O 操作时,该 I/O 的最终完成可能在与请求进程上下文不同的进程上下文中。所以,我们需要一些关于原始进程的记录和信息,以便我们可以“附加”到这个进程。 “附加”到进程将我们交换到具有可用的适当用户模式内存的适当上下文中。我们不关心线程上下文,我们关心进程上下文,所以这是可行的。

关于windows - Windows 中事件进程列表的用途?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5396882/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com