none
kernel32, csrss и потоки RRS feed

  • Общие обсуждения

  • Коллеги, доброго времени суток !

    У меня вопрос такой. Работа заставила заняться изучением Windows API (до того специализировался на UNIX/POSIX/Sys V системах), в ходе этого процесса запнулся об один вопрос, ответа на который не могу найти. Изучая подноготную метода CreateProcess обратил внимание вот на какую, с моей точки зрения,  странность. (далее в соответствии с тем что написано у Руссиновича и Jeffrey Richter, Programming Applications for Microsoft Windows). На определенном этапе подготовки процесса к началу работы исполнительная система (Executive) отправляет процессу csrss сообщение (каким образом ? LPC ?) о новом процессе, csrss создает СВОЙ объект процесс (собственно и Executive и ядро уже создали к этому времени EPROCESS и KPROCESS, причем один является частью другого и это логично, потому как планировщик ядра , как я понял, интересует только PCB). Далее создается первичный тред процесса, в создании которого так же участвует Windows Environment Subsystem (насколько я понимаю в этом участвует именно csrss). Для чего такая сложная схема ? Каким образом userspace  процесс csrss КОНКРЕТНО участвует в создании процесса и треда и почему создание "легковестной" структуры, которая по идее должна управляться ядром, настолько усложнено ? К сожалению из открытых источников (как и из вышеперчисленных книг) не могу найти ответа на этот вопрос, кроме общих фраз о том что csrss занимается управлением потоками в системе Windows, что , конечно, "ни о чем".

    Заранее спасибо за ответ. :)
    • Изменен тип I.VorontsovModerator 19 марта 2010 г. 7:21 Ждём топиккастера
    • Перемещено SachinW 1 октября 2010 г. 21:48 MSDN Forums Consolidation (От:Начинающие разработчики)
    7 января 2010 г. 10:21

Все ответы

  • Здравствуйте, я не знаю ответа на Ваш вопрос. Но у меня к Вам встречный вопрос - в связи с какой практической задачей у Вас возник такой вопрос? Вероятно в формулировке с практической точки зрения ответ будет получен быстрее. А вообще знания о процессах происходящих на уровне ниже WinAPI в программировании для Windows не являются насущной необходимостью, а потому мало интересны и мало освещены.
    10 января 2010 г. 11:45