Многопоточность
Каждая исполняющаяся в NT программа представляется как процесс. Процесс
(process) - это программа (статическая последовательность команд и данные) и системные
ресурсы, необходимые для ее работы. ОС предоставляет каждому процессу адресное
пространство, выделенное для программы, и гарантирует, что программа каждого процесса
будет направляться на выполнение в определенном порядке и в нужное время. Чтобы
процесс смог заработать, он должен включать, по крайней мере, один поток исполнения
(thread of execution). Поток (thread) - единица
исполнения в NT. Поток - это сущность внутри процесса, которую ядро направляет
на исполнение, он может принадлежать только одному процессу. Поток состоит из
указателя текущей команды, пользовательского стека, стека ядра и набора значений
регистров. Все потоки процесса имеют одинаковый доступ к его адресному пространству,
описателям объектов и другим ресурсам. Потоки реализованы как объекты-потоки.
Начальный поток возникает при создании процесса, и затем он может создать дополнительные
потоки. Процедура
управления. Как было показано ранее, каждая вычислительная машина ведет циклический
счет порядковых номеров N(S) передаваемых номеров N(R) принимаемых ею информационных
кадров. Каждый поток имеет свой собственный приоритет, в соответствии с которым,
ОС будет принимать решение о его запуске. При этом принадлежность потока к конкретному
процессу не учитывается. |