Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«1.Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство Windows (Π³Π». 1-4)Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 17

Автор ΠœΠ°Ρ€ΠΊ Руссинович

ΠŸΡ€Π°Π²Π΄Π°, тСорСтичСски появляСтся другая ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ этот ΠΊΠΎΠ΄ выполняСтся Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ядра, ошибка (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ³ΠΎ указатСля) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹Π΅ структуры Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠ° ядра. Π”ΠΎ Windows NT 4 это ΠΌΠΎΠ³Π»ΠΎ привСсти ΠΊ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡŽ доступа, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ запись Π² страницы Ρ€Π΅ΠΆΠΈΠΌΠ° ядра ΠΈΠ· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ. Ho Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ стал Π±Ρ‹ ΠΊΡ€Π°Ρ… систСмы. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΆΠ΅ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ядра запись Π½Π° ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ страницу памяти ΠΏΠΎ Π½Π΅Π²Π΅Ρ€Π½ΠΎΠΌΡƒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΡ€Π°Ρ… систСмы. Ho, Ссли ΠΏΡ€ΠΈ этом Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Ρ‹ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ структуры Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΡ€Π°Ρ… скорСС всСго ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ риск, Ρ‡Ρ‚ΠΎ ΠΈΠ·-Π·Π° Ρ‚Π°ΠΊΠΎΠ³ΠΎ указатСля Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π° Π½Π΅ структура Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π±ΡƒΡ„Π΅Ρ€ памяти, ΠΈ это ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΠ»ΠΈ записи Π½Π° диск Π½Π΅Π²Π΅Ρ€Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

БущСствуСт Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ послСдствиС ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° графичСских Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² Π² Ρ€Π΅ΠΆΠΈΠΌ ядра. Π Π°Π½Π΅Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ части графичСского Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ Π² Csrss, Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ части β€” Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ядра. Π’Π΅ΠΏΠ΅Ρ€ΡŒ вСсь Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ядра. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ всС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Windows графичСских устройств Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Microsoft, ΠΎΠ½Π° тСсно сотрудничаСт с производитСлями оборудования, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈΠΌΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Ρ… ΠΈ эффСктивных Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ². ВсС поставляСмыС с систСмой Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы.

НаконСц, Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ такая схСма (ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ подсистСма ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΎΠΊΠΎΠ½ ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ выполняСтся Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ядра) Π½Π΅ являСтся ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ рискованной. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² устройств (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сСтСвых ΠΊΠ°Ρ€Ρ‚ ΠΈ ТСстких дисков). ВсС эти Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹, выполняСмыС Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ядра, Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ сниТали надСТности Windows NT

НСкоторыС Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ ΠΈΠ·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ насчСт сниТСния эффСктивности Π²Ρ‹Ρ‚Π΅ΡΠ½ΡΡŽΡ‰Π΅ΠΉ многозадачности Windows ΠΈΠ·-Π·Π° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° диспСтчСра ΠΎΠΊΠΎΠ½ ΠΈ GDI Π² Ρ€Π΅ΠΆΠΈΠΌ ядра. ВСория, которая стоит Π·Π° этой Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ зрСния, β€” увСличиваСтся врСмя, Π·Π°Ρ‚Ρ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Windows Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ядра. Π­Ρ‚ΠΎ ΠΌΠ½Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠ³ΠΎ понимания Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Windows. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах, Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π²Ρ‹Ρ‚Π΅ΡΠ½ΡΡŽΡ‰ΡƒΡŽ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ, ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ вытСсняСт ΠΏΠΎΡ‚ΠΎΠΊΠΈ, выполняСмыС Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ядра, ΠΈΠ»ΠΈ вытСсняСт, Π½ΠΎ лишь Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуациях. Однако Π² Windows Π»ΡŽΠ±Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ, выполняСмыС Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ядра, ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈ Π²Ρ‹Ρ‚Π΅ΡΠ½ΡΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°, β€” ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π΅Π½Ρ‚Π΅Ρ€Π°Π±Π΅Π»Π΅Π½. Помимо ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… сообраТСний, это просто Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для достиТСния высокого уровня ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ систСмы Π½Π° ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ SMR.

Π”Ρ€ΡƒΠ³ΠΎΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ спСкуляций касалось сниТСния ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ SMP Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΡƒΠΆΠ΅ описанных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ВСорСтичСскиС обоснования Π±Ρ‹Π»ΠΈ Ρ‚Π°ΠΊΠΈΠΌΠΈ: Ρ€Π°Π½ΡŒΡˆΠ΅ Π²ΠΎ взаимодСйствии ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ диспСтчСром ΠΎΠΊΠΎΠ½ ΠΈΠ»ΠΈ GDI участвовали Π΄Π²Π° ΠΏΠΎΡ‚ΠΎΠΊΠ°-, ΠΎΠ΄ΠΈΠ½ β€” Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈ ΠΎΠ΄ΠΈΠ½ β€” Π² Csrss.exe. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² SMP-систСмах, Π³Π΄Π΅ эти ΠΏΠΎΡ‚ΠΎΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ, пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ возрастаСт. Π­Ρ‚ΠΎ ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΎ Π½Π΅ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ²ΡˆΠΈΡ…ΡΡ Π΄ΠΎ Windows NT 4. B Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв клиСнтскиС прилоТСния Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ процСсс подсистСмы Windows синхронно, Ρ‚. Π΅. клиСнтский ΠΏΠΎΡ‚ΠΎΠΊ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ блокируСтся Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Ρ‹Π·ΠΎΠ²Π° сСрвСрным ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ ΠΈ возобновляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС этого. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ Π² SMP-систСмах нСдостиТим. Π­Ρ‚ΠΎ явлСниС Π»Π΅Π³ΠΊΠΎ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π² SMP-систСмах Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, интСнсивно Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ. ΠŸΡ€ΠΈ этом обнаруТится, Ρ‡Ρ‚ΠΎ Π² двухпроцСссорной систСмС ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ процСссор Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ Π½Π° 50 %; Ρ‚Π°ΠΊΠΆΠ΅ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ СдинствСнный ΠΏΠΎΡ‚ΠΎΠΊ Csrss, ΠΎΡ‚Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΎΡ‚ ΠΏΠΎΡ‚ΠΎΠΊΠ° прилоТСния. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΄Π²Π° ΠΏΠΎΡ‚ΠΎΠΊΠ° тСсно Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ находятся Π² сходном состоянии, для поддСрТания синхронизации процСссорам приходится постоянно ΡΠ±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ кэш. ИмСнно ΠΏΠΎ этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Π΅ графичСскиС прилоТСния Π² SMP-систСмах ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Windows NT 3.51 ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ Π² однопроцСссорных систСмах.

B Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсСнных Π² Windows NT 4, ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ½ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ SMP-систСм для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, интСнсивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… диспСтчСр ΠΎΠΊΠΎΠ½ ΠΈ GDI, β€” особСнно ΠΊΠΎΠ³Π΄Π° Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°. ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π΄Π²ΡƒΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² прилоТСния Π½Π° двухпроцСссорной машинС ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Windows NT 3.51 Π·Π° процСссорноС врСмя ΠΊΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‚ Π² ΠΎΠ±Ρ‰Π΅ΠΉ слоТности Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠ° (Π΄Π²Π° β€” Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈ Π΄Π²Π° β€” Π² Csrss). Π₯отя Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Π³ΠΎΡ‚ΠΎΠ²Ρ‹, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, лишь Π΄Π²Π° ΠΏΠΎΡ‚ΠΎΠΊΠ°, ΠΈΡ… Ρ€Π°ΡΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ Π²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ссылок ΠΈ синхронизации кэша. Π­Ρ‚ΠΎ происходит скорСС всСго ΠΈΠ·-Π·Π° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² прилоТСния с ΠΎΠ΄Π½ΠΎΠ³ΠΎ процСссора Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ. B Windows NT 4 ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² прилоТСния ΠΏΠΎ сути ΠΈΠΌΠ΅Π΅Ρ‚ собствСнный процСссор, Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ автоматичСской привязки ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π² Windows пытаСтся постоянно Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ процСссорС, максимально увСличивая Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ссылок ΠΈ сводя ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² синхронизации кэш-памяти ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… процСссоров.

B Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° диспСтчСра ΠΎΠΊΠΎΠ½ ΠΈ GDI ΠΈΠ· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Π² Ρ€Π΅ΠΆΠΈΠΌ ядра достигнуто Π±Π΅Π· сколько-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π·Π½Π°Ρ‡ΠΈΠΌΠΎΠ³ΠΎ сниТСния ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ надСТности систСмы β€” Π΄Π°ΠΆΠ΅ Π² случаС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сСансов, созданных Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Terminal Services.


ΠŸΠΎΠ΄ΡΠΈΡΡ‚Π΅ΠΌΠ° POSIX

POSIX, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ прСдставляСт собой Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρƒ ΠΎΡ‚ Β«portable operating system interface based on UNIXΒ» (пСрСносимый интСрфСйс ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Π½Π° основС UNIX), β€” это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… стандартов Π½Π° интСрфСйсы ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Ρ‚ΠΈΠΏΠ° UNIX. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹ POSIX стимулировали ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΈΠΌΠΈ UNIX-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… интСрфСйсов, Ρ‚Π΅ΠΌ самым позволяя программистам Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ свои прилоТСния ΠΌΠ΅ΠΆΠ΄Ρƒ систСмами.

B Windows Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ лишь ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ… стандартов POSIX, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ POSIX.l, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ называСтся ISO/IEC 9945-1:1990, ΠΈΠ»ΠΈ IEEE POSIX стандарта 1003 1-1990. Π­Ρ‚ΠΎΡ‚ стандарт ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π» Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² основном для соотвСтствия трСбованиям ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Π° БША, установлСнным Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ 80-Ρ… Π³ΠΎΠ΄ΠΎΠ². B Ρ„Π΅Π΄Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠΌ стандартС Federal Information Processing Standard (FIPS) 151-2, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΌ государствСнным институтом стандартов ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ (NIST), содСрТится Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ совмСстимости с POSIX l.Windows NT 3.5, 3.51 ΠΈ 4 ΠΏΡ€ΠΎΡˆΠ»ΠΈ тСстированиС Π½Π° соотвСтствиС FIPS 151-2.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с POSIX. 1 Π±Ρ‹Π»Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ, Π² Windows Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° нСобходимая базовая ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° подсистСмы POSIX1 β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, функция fork, рСализованная Π² ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмС Windows, ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой Windows ТСстких Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… связСй (hard file links). Однако POSIX.l ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚Π»ΠΈΡˆΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ сСрвисов (ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ процСссами, взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ процСссами, простой ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄ ΠΈ Ρ‚. Π΄.), ΠΈ поэтому подсистСма POSIX Π² Windows Π½Π΅ являСтся ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ срСдой программирования. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… подсистСм Windows Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½, Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, доступный прилоТСниям POSIX ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, строго ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ сСрвисами, опрСдСляСмыми POSIX1. Бмысл этих ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ: ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ POSIX Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊ ΠΈΠ»ΠΈ ΠΎΠΊΠ½ΠΎ Π² Windows, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ RPC ΠΈΠ»ΠΈ сокСты.

Для прСодолСния этого ограничСния ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Microsoft Windows Services for UNIX, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ (Π² вСрсии 3.5) ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½ΡƒΡŽ подсистСму окруТСния POSIX, которая прСдоставляСт ΠΎΠΊΠΎΠ»ΠΎ 2000 Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ UNIX ΠΈ 300 инструмСнтов ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ Π² стилС UNIX. (Π”Π΅Ρ‚Π°Π»ΠΈ см. Π½Π° wivwmicrosoft.com/ windows/sfu/default.asp).

Π­Ρ‚Π° ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Π°Ρ подсистСма POSIX Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ UNIX-прилоТСния Π² Windows. Однако, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ эти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ всС Ρ€Π°Π²Π½ΠΎ связаны с исполняСмыми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ POSIX, Windows-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠΌ нСдоступны. Π§Ρ‚ΠΎΠ±Ρ‹ UNIX-прилоТСния, пСрСносимыС Π² Windows, ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Windows-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΡƒΠΆΠ½ΠΎ приобрСсти ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для пСрСноса UNIX-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² Windows, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°ΠΌ MKS Toolkit, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Mortice Kern Systems Inc. (www.mkssoJtware.com). Π’ΠΎΠ³Π΄Π° UNIX-прилоТСния ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°Π½ΠΎΠ²ΠΎ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ Windows ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ постСпСнный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Β«Ρ€ΠΎΠ΄Π½Ρ‹Π΅Β» Windows-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.


Π­ΠšΠ‘ΠŸΠ•Π Π˜ΠœΠ•ΠΠ’: наблюдаСм старт подсистСмы POSIX

ΠŸΠΎΠ΄ΡΠΈΡΡ‚Π΅ΠΌΠ° POSIX ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ сконфигурирована Π½Π° запуск Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π°Ρ‡Π°Π»Π° выполнСния прилоТСния POSIX. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, старт подсистСмы POSIX ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ, запустив ΠΊΠ°ΠΊΡƒΡŽ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ POSIX, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ POSIX ΠΈΠ· Windows Services for UNIX (нСбольшой Π½Π°Π±ΠΎΡ€ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΈ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ \Apps\POSIX Π½Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚-дискС рСсурсов Windows 2000; ΠΎΠ½ΠΈ Π½Π΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ рСсурсов). Для запуска подсистСмы POSIX слСдуйтС инструкциям, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π½ΠΈΠΆΠ΅.

1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΎΠΊΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

2. Π—апуститС Process Explorer ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ подсистСма POSIX Π΅Ρ‰Π΅ Π½Π΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° (Ρ‚. Π΅. процСсса Psxss.exe Π² систСмС Π½Π΅Ρ‚). Π’Π°ΠΊΠΆΠ΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Process Explorer ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ список процСссов ΠΊΠ°ΠΊ Π΄Π΅Ρ€Π΅Π²ΠΎ (Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl+T).

3. Π—апуститС POSIX-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ C Shell ΠΈΠ»ΠΈ Korn Shell, ΠΏΠΎΡΡ‚Π°Π²Π»ΡΠ΅ΠΌΡƒΡŽ с Windows Services for UNIX) ΠΈΠ»ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ POSIX ΠΈΠ· рСсурсов Windows 2000, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ \Apps\POSIX\Ls.exe.