Процессы, недогоняю немного в теории...

Тема в разделе "WASM.BEGINNERS", создана пользователем rubic_, 2 ноя 2007.

  1. rubic_

    rubic_ Женя

    Публикаций:
    0
    Регистрация:
    9 июл 2007
    Сообщения:
    121
    Адрес:
    Омск
    ТАк немного запутался в процессах, помогите разобраться так ли я все понял:
    Допустим мы создаем программу, потом компилирулем ее в например в ехе файл.
    После запуска нашей программы создается процесс нашей программы, который закружает
    нашь ехе в отведенное ему виртуальное адресное пространство. Далее создается Треад, который служит чем-то вроде конвеером, который выполняет команду за командой в нашей программе. У процесса есть такая структура как PROCESS_INFORMATION STRUCT
    1) Какая информация заносится в эту структуру при создании главного процесса?
    При создании процесса из нашей проги мы используем функцию CreateProcess, которая проделывает все тоже самое что и для нашей проги(выделяет вирт. адр. пространство, создает свой треад)
    2) При создании такого процесса требуется заполнить так же структуру PROCESS_INFORMATION STRUCT, для вновь создаваемог процесса. У Iczilion'a
    это делалось следующим образом
    LOCAL startInfo: STARTUPINFO
    invoke GetStartupInfo,ADDR startInfo по МСДН, про эту функцию написанно,что она извлекает содержимое данной структуры, которая была созданна тогда, когда создавался процесс.
    3) Какой процесс тут имеется ввиду, и когда вообще происходит заполнение данной структуры?
    мож дурацкий вопрос, но что-то немного каша в голове...
     
  2. UTeX

    UTeX New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2007
    Сообщения:
    584
  3. rubic_

    rubic_ Женя

    Публикаций:
    0
    Регистрация:
    9 июл 2007
    Сообщения:
    121
    Адрес:
    Омск
    сам практический процесс создания я понял, но вот как это происходит на уровне винды не доганяю...именно не понимаю ответа на те вопросы которые я задал..
     
  4. rubic_

    rubic_ Женя

    Публикаций:
    0
    Регистрация:
    9 июл 2007
    Сообщения:
    121
    Адрес:
    Омск
    я нахожусь на этапе изучения английского, поэтому иногда не доконца понимаю смысл предложения..приходиться пользовать словарем..поэтому хотел получить простой ответ на русском, чтобы иметь хотя бы примерный каркас алгоритма создания процесса в винде, который начинается от создания главного процесса когда мы загружаем программу и как дочерний процесс регистрируется относительно главного...особенно не понимаю как заполняется структура STARTUPINFО.

    в вашем примере в функции CreateProcess в параметре который должен содержать данную структуры вы просто даете ссылку на переменную, которая имеет тип данной структуры.
    но эта структура имеет вид
    Код (Text):
    1. typedef struct _STARTUPINFO {  
    2. DWORD cb;  
    3. LPTSTR lpReserved;  
    4. LPTSTR lpDesktop;  
    5. LPTSTR lpTitle;
    6.  DWORD dwX;  
    7. DWORD dwY;  
    8. DWORD dwXSize;  
    9. DWORD dwYSize;  
    10. DWORD dwXCountChars;  
    11. DWORD dwYCountChars;  
    12. DWORD dwFillAttribute;  
    13. DWORD dwFlags;  
    14. WORD wShowWindow;  
    15. WORD cbReserved2;  
    16. LPBYTE lpReserved2;  
    17. HANDLE hStdInput;  
    18. HANDLE hStdOutput;  
    19. HANDLE hStdError;
    20. } STARTUPINFO, *LPSTARTUPINFO;
    каким образом заполняется данная структура и где это происходит...Буду благодарен за ответ.
     
  5. UTeX

    UTeX New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2007
    Сообщения:
    584
  6. UTeX

    UTeX New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2007
    Сообщения:
    584
  7. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    мутно всё как-то, давайте для устранения недоразумений прочитаем руссиновича а потом будем постить, ок?
     
  8. rubic_

    rubic_ Женя

    Публикаций:
    0
    Регистрация:
    9 июл 2007
    Сообщения:
    121
    Адрес:
    Омск
    ну посоветуй книгу
     
  9. rubic_

    rubic_ Женя

    Публикаций:
    0
    Регистрация:
    9 июл 2007
    Сообщения:
    121
    Адрес:
    Омск
    UTeX спасиб тебе, вроде пошаманил, дошло...
    rain книгу все же посоветуй, какую ты имел вввиду
     
  10. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    есть на русском
     
  11. rubic_

    rubic_ Женя

    Публикаций:
    0
    Регистрация:
    9 июл 2007
    Сообщения:
    121
    Адрес:
    Омск
    это которая Внутренние устройство что ли?
     
  12. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    это которая да
     
  13. rubic_

    rubic_ Женя

    Публикаций:
    0
    Регистрация:
    9 июл 2007
    Сообщения:
    121
    Адрес:
    Омск
    ок, гляну спс