2013-07-30 6 views
0

Я хотел бы спросить, в чем разница между PsCreateSystemThread и CreateThread. Из описания MSDN кажется, что PsCreateSystemThread предназначен для Kernel Thread.CreateThread vs PsCreateSystemThread - В чем разница?

CreateThread выглядит как поток ядра, но совместно использует одну и ту же виртуальную память. Это означает, что у меня может быть много потоков, работающих вместе, но я не могу получить доступ к другому пространству памяти процесса.

ответ

1

CreateThread создает поток пользовательского режима, который работает в адресном пространстве процесса. Это не имеет никакого отношения к ядру. Этот API составляет около 20 лет.

PsCreateSystemThread создает поток ядра.

2

CreateThread создает поток для выполнения в виртуальном адресном пространстве вызывающего процесса, в то время как PsCreateSystemThread создает системный поток, который выполняется в режиме ядра и возвращает дескриптор для потока.