Π§Ρ‚ΠΎ понимаСтся ΠΏΠΎΠ΄ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Π§Ρ‚ΠΎ понимаСтся ΠΏΠΎΠ΄ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Аннотация. Π‘Ρ‚Π°Ρ‚ΡŒΡ посвящСна ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ пСрСносимости ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ΡΡ ΠΎΠ±Π·ΠΎΡ€ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅, ΠΏΠΎΡΠ²ΠΈΠ²ΡˆΠΈΡ…ΡΡ Π·Π° врСмя развития ИВ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π°Π½Π°Π»ΠΈΠ· прСимущСств ΠΈ нСдостатков ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ…. Π Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ области примСнСния ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° пСрСносимости ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π½Π΅Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ»ΠΎΠΆΠ΅ собствСнно ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π•Ρ‰Π΅ Π² ΠΊΠΎΠ½Ρ†Π΅ ΡˆΠ΅ΡΡ‚ΠΈΠ΄Π΅ΡΡΡ‚Ρ‹Ρ… Π³ΠΎΠ΄ΠΎΠ² ΠΎΠ·Π°Π±ΠΎΡ‡Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сотрудников AT&T Labs ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ пСрСносимости ОБ UNIX Π½Π° Π½ΠΎΠ²Ρ‹Π΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΈΠ²Π΅Π»Π° ΠΊ созданию языка Π‘ΠΈ. Π’Π΅ΠΌΠΏΡ‹ развития ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ индустрии Ρ‚Π°ΠΊΠΎΠ²Ρ‹, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ сорокалСтнСй давности каТутся достаточно простыми ΠΈ Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹ΠΌΠΈ, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ сСгодня. Π‘Ρ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ связанных с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ отраслСй ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ постоянному появлСнию Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, ΠΈ Ρ‚.ΠΏ., Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ комплСксы уходят Π² Π½Π΅Π±Ρ‹Ρ‚ΠΈΠ΅.

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ПО, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, заинтСрСсованы Π² быстром пСрСносС своих ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Π½Π° Π½ΠΎΠ²Ρ‹Π΅ систСмы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ долю Ρ€Ρ‹Π½ΠΊΠ°. Если ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ с оглядкой Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ портирования, Ρ‚ΠΎ этот процСсс ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ сущСствСнно дСшСвлС создания Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. Π‘ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π½ΠΎΠ²ΠΎΠΉ систСмС увидят Ρ‚ΠΎ ΠΆΠ΅ самоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ способствуСт популярности ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях большоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ пСрСносимости ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ удСляСтся ΠΈ производитСлями ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… эти прилоТСния Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… аспСктов ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ IBM мэйнфрСйма System/S370 Π² ΠΊΠΎΠ½Ρ†Π΅ 60Ρ…-Π½Π°Ρ‡Π°Π»Π΅ 70Ρ… Π³ΠΎΠ΄ΠΎΠ² Π±Ρ‹Π»ΠΎ сохранСниС ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости с System/S360, с Ρ†Π΅Π»ΡŒΡŽ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ своих ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² [1]. ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с System/S360 ΡΠΎΡ…Ρ€Π°Π½ΡΠ»Π°ΡΡŒ Π½Π° протяТСнии всСго ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° System/S370; Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, сохраняСтся ΠΎΠ½Π° ΠΈ Π² Π΅Π΅ послСдоватСлях β€” System/S390 ΠΈ zSeries.

Однако Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΡΡ‚ΠΎΠ»ΡŒ Ρ‰Π΅ΠΏΠ΅Ρ‚ΠΈΠ»ΡŒΠ½Ρ‹, ΠΈ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ…Π²Π°ΡΡ‚Π°Ρ‚ΡŒΡΡ ΡΡ‚ΠΎΠ»ΡŒ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ сроком ΠΆΠΈΠ·Π½ΠΈ. НСрСдко с Ρ€Ρ‹Π½ΠΊΠ° уходят Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сами систСмы, Π½ΠΎ ΠΈ ΠΈΡ… создатСли, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ труднодоступными становятся Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сами систСмы, Π½ΠΎ ΠΈ всС свСдСния ΠΎΠ± ΠΈΡ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅. Π˜ΡΡ‡Π΅Π·Π½ΠΎΠ²Π΅Π½ΠΈΠ΅ Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ появлСнию унаслСдованного ПО β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для функционирования Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π’ случаС Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· строя Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π΅ΠΌΡƒ Π·Π°ΠΌΠ΅Π½Ρƒ ΠΎΡ‡Π΅Π½ΡŒ слоТно, Π΄ΠΎΡ€ΠΎΠ³ΠΎ, Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ попросту Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ°Ρ ОБ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° соврСмСнном ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ (Π»ΠΈΠ±ΠΎ ΠΏΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹, Π»ΠΈΠ±ΠΎ ΠΏΠΎ Π±ΠΎΠ»Π΅Π΅ прозаичСским ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π²ΠΈΠ΄Ρƒ отсутствия Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ²). Для ΠΌΠ½ΠΎΠ³ΠΈΡ… прСдприятий Π·Π°Π΄Π°Ρ‡Π° пСрСноса Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Π±ΠΎΠ»Π΅Π΅ соврСмСнноС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ являСтся ΠΊΡ€Π°ΠΉΠ½Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ [2,3].

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΠ· соврСмСнности

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ пСрСносимости извСстно достаточно Π΄Π°Π²Π½ΠΎ ΠΈ Π΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ посвящСно мноТСство Ρ€Π°Π±ΠΎΡ‚ ΠΈ исслСдований, постоянно Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ситуации, ΠΊΠΎΠ³Π΄Π° выясняСтся, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½ΠΎΠΌΡƒ вопросу воврСмя Π½Π΅ Π±Ρ‹Π»ΠΎ ΡƒΠ΄Π΅Π»Π΅Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ это ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ нСприятным послСдствиям. Рассмотрим нСсколько Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Ρ‚Π°ΠΊΠΈΡ… ситуаций.

Π’ Π½Π°Ρ‡Π°Π»Π΅ 2000-Ρ… Π³ΠΎΠ΄ΠΎΠ² компания Borland Ρ€Π΅ΡˆΠΈΠ»Π° ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ свой Π²Π·ΠΎΡ€ Π½Π° ОБ Linux ΠΈ выпустила срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Kylix β€” Π°Π½Π°Π»ΠΎΠ³ Delphi ΠΈ C++ Builder. Π’Π°ΠΊΠΎΠΉ шаг Π±Ρ‹Π» ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ†Π΅Π½Π΅Π½ Linux-сообщСством (Π΄Π°ΠΆΠ΅ нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Kylix Π½Π΅ являлся ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Π° бСсплатной Π±Ρ‹Π»Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ базовая вСрсия систСмы) β€” Π² Ρ‚ΠΎ врСмя Π² этой ОБ Π½Π΅ Π±Ρ‹Π»ΠΎ сравнимых ΠΏΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ² упомянутых ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.. Однако Π² основС Kylix Π»Π΅ΠΆΠ°Π» исходный ΠΊΠΎΠ΄ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для ОБ Windows, Π° для запуска Π½Π° Linux использовался эмулятор wine[4]. Как ΠΏΠΎΠΊΠ°Π·Π°Π»Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, Ρ‚Π°ΠΊΠΎΠΉ прямолинСйный пСрСнос, ΠΊΠ°ΠΊ использованиС эмулятора, Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π» ΠΊ созданию конкурСнтноспособного ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° β€” довольно быстро Π²Ρ‹ΡΡΠ½ΠΈΠ»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ wine Π½Π΅ являСтся достаточно Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ [5]. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ ΠΊΠ°ΠΊ с ошибками Π² своих ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…, Ρ‚Π°ΠΊ ΠΈ с Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ эмулятора. Π’Π²ΠΈΠ΄Ρƒ закрытости ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° слоТно ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ, насколько Π·Π°Ρ‚Ρ€Π°Ρ‚Π΅Π½ Π±Ρ‹Π» Π±Ρ‹ пСрСнос ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° использованиС Β«Ρ€ΠΎΠ΄Π½Ρ‹Ρ…Β» Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Linux; Π½ΠΎ ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° Ρ‚ΠΎΠΌ Ρ„Π°ΠΊΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ Kylix Π±Ρ‹Π»Π° Π·Π°ΠΌΠΎΡ€ΠΎΠΆΠ΅Π½Π°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡Π° оказалась слишком рСсурсоСмка.

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ нСдальновидного ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ этому вопросу проявился Π² Ρ…ΠΎΠ΄Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° свободного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния (БПО) для ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΡ‡Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ России. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ всС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΎΡΡŒ ΠΏΠΎ Π·Π°ΠΊΠ°Π·Ρƒ ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²Π° образования Π Π€ Π² послСдниС Π³ΠΎΠ΄Ρ‹ Π±Ρ‹Π»ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Microsoft Windows. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° БПО Π½Π° основС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Linux большая Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π½Π΅Π΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ оказалась нСдоступна, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ· Π½ΠΈΡ… ΡƒΠ΄Π°Π²Π°Π»ΠΎΡΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ эмулятора wine [4].

Π‘Ρ…ΠΎΠΆΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΈ ΠΈ Π² станС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π˜Π·Π²Π΅ΡΡ‚Π½ΠΎ нСсколько случаСв, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-сСрвисов Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ ограничивался Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ совмСстимости с Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ Internet Explorer, Π° Ρ‡Π΅Ρ€Π΅Π· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя ΠΏΠΎΠ΄ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π±Ρ‹Π» Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½ Π΄ΠΎΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ПО для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½Π°Π±ΠΈΡ€Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Mozilla Firefox.

НапримСр, Π½Π° основС опроса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ прилоТСния Tasktop ΠΎ ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹Ρ… нововвСдСниях, ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π² 2008 Π³ΠΎΠ΄Ρƒ, Π²Ρ‹ΡΡΠ½ΠΈΠ»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ вострСбованными ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ОБ Linux ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° Firefox. РСализация этих свойств стала ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹ΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΈ Π±Ρ‹Π»Π° прСдставлСна ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΡƒΠΆΠ΅ Π² ноябрС 2008 Π³ΠΎΠ΄Π°, Π² Tasktop 1.3 [6]. ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ свойства, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½ΠΎΠ²ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Π½Π΅ заняло ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ основная Ρ‡Π°ΡΡ‚ΡŒ прилоТСния написана Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌ языкС Java, Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ для исполнСния этого ΠΊΠΎΠ΄Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ Π² Windows, Ρ‚Π°ΠΊ ΠΈ Π² Linux. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Tasktop ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свой ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΈ Π½Π° MacOS β€” Π²Π²ΠΈΠ΄Ρƒ наличия Π² этой ОБ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Java, такая Π·Π°Π΄Π°Ρ‡Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ прСдставляСтся слишком слоТной.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Π½Π°Ρ†Π΅Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π½Π° созданиС пСрСносимого ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° позволяСт достаточно Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ (Π»ΠΈΠ±ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… просто Π½Π΅ сущСствовало Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ). Π­Ρ‚ΠΎ позволяСт производитСлям Π½Π΅ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Π² сторонС ΠΎΡ‚ ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ развития Ρ€Ρ‹Π½ΠΊΠ° ΠΈ своСврСмСнно Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° запросы ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Как ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° извСстна Π΄Π°Π²Π½ΠΎ, ΠΈ Π·Π° врСмя ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния появилось достаточно ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ созданию ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, пСрСносимых ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ систСмами. Рассмотрим Ρ‚Π΅ ΠΈΠ· Π½ΠΈΡ…, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярными.

ΠŸΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²

Π§Ρ‚ΠΎ касаСтся Π½Π°Π±ΠΎΡ€ΠΎΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚ΠΎ ΠΈΡ… ΠΏΠΎΠ»Π½ΠΎΠΉ идСнтичности Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… систСмах ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях пСрСсСчСниС мноТСств прСдоставляСмых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ являСтся достаточно большим.

МногиС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Π² настоящСС врСмя заботятся ΠΎΠ± ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости своих ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Π½Π° Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ β€” гарантируСтся, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π΅ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ вСрсии ОБ, Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±Π΅Π· пСрСкомпиляции Π² Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹Ρ… вСрсиях систСмы Π½Π° Ρ‚ΠΎΠΉ ΠΆΠ΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅.

Π’ рядС случаСв поддСрТиваСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ запуска ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, написанных для Ρ‚ΠΎΠΉ ΠΆΠ΅ систСмы, Π½ΠΎ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ β€” Ρ‚Π°ΠΊ, опСрационная систСма MacOS X, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… Apple с процСссорами Intel, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ динамичСский транслятор Rosetta для выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для машин с процСссорами PowerPC [7]. Однако ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ слСдуСт с ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ обСспСчиваСтся Π·Π° счСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ слоя совмСстимости ΠΌΠ΅ΠΆΠ΄Ρƒ систСмой ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠΉ совмСстимости β€” Ρ‚Π°ΠΊ, ΡƒΠΆΠ΅ упомянутая Rosetta позволяСт ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄ для процСссоров G3, G4 ΠΈ AltiVec, Π½ΠΎ Π½Π΅ для G5. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ систСмы являСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ источником ошибок, Π° использованиС посрСдника Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС сниТаСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. НапримСр, процСссор Itanium способСн Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄, созданный для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ x86, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΅Π³ΠΎ Π² этом случаС ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ x86 процСссору с Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частотой [8].

ΠŸΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ исходного ΠΊΠΎΠ΄Π°

К соТалСнию, Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Π½Π° Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ выполняСтся Π² Ρ€Π°ΠΌΠΊΠ°Ρ… систСм ΠΎΠ΄Π½ΠΎΠ³ΠΎ производитСля, ΠΎΠ΄Π½Π°ΠΊΠΎ лишь Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠ΅ систСмы способны Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для выполнСния Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… поставщиков. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ использованию ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² явилось использованиС ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ исходного ΠΊΠΎΠ΄Π° для сборки прилоТСния Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… систСмах.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пСрСноса исходного ΠΊΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ появилась Π½Π΅ сразу. Π’ Ρ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ писались Π½Π° ассСмблСрС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ компиляции прилоТСния Π½Π° систСмС с Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ Π±Ρ‹Π»ΠΎ практичСски Π½Π΅Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ. БущСствСнной ΠΏΠΎΠ΄Π²ΠΈΠΆΠΊΠΎΠΉ Π² этом Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ стало созданиС высокоуровнСвых языков программирования, Π½Π΅ привязанных ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ конструкции Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… систСмах. НапримСр, ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ·Π°Π±ΠΎΡ‡Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сотрудников AT&T Labs ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ пСрСносимости ОБ UNIX Π½Π° Π½ΠΎΠ²Ρ‹Π΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΈΠ²Π΅Π»Π° ΠΊ созданию языка Π‘ΠΈ.

Для обСспСчСния возмоТности использования ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠΎΠ΄Π° Ρ†Π΅Π»Π΅Π²Ρ‹Π΅ систСмы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ компиляторы для ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ языка программирования, вмСстС с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ. ЕстСствСнно, Ρ‡Ρ‚ΠΎ компиляторы для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… систСм ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ производитСлями ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ достаточно сильно ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. Π’Π°ΠΊΠΈΠ΅ отличия слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π°.

Частично эта Π·Π°Π΄Π°Ρ‡Π° облСгчаСтся слСдованиСм ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… стандартов, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… для ΠΌΠ½ΠΎΠ³ΠΈΡ… языков программирования. Однако Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всС компиляторы ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ стандарты Π² ΠΏΠΎΠ»Π½ΠΎΠΌ объСмС (хотя, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ спСцифичСскиС конструкции языка, Π² ΠΏΠ»Π°Π½Π΅ ΠΆΠ΅ прСдоставлСния Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ситуация Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π»ΡƒΡ‡ΡˆΠ΅). Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ являСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΡƒΠ·ΠΎΡΡ‚ΡŒ стандартов β€” нСсмотря Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΈΠ· Π½ΠΈΡ… пСрСчня Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒΡΡ любой ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰Π΅ΠΉ стандарту срСдой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, эти ΠΏΠ΅Ρ€Π΅Ρ‡Π½ΠΈ Π½Π΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, которая ΠΌΠΎΠ³Π»Π° Π±Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΏΡ€ΠΈ создании ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ графичСского интСрфСйса, Π»ΠΈΠ±ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ°.

Помимо стандартов языков программирования, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ стандарты, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ интСрфСйс ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ (API, Application Programming Interface) β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, POSIX. Однако Ρ‚Π°ΠΊΠΈΠ΅ стандарты Ρ‚Π°ΠΊΠΆΠ΅, достаточно ΡƒΠ·ΠΊΠΈ, ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСдостаточными для написания Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π’ случаС, Ссли нСобходимая ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ охватываСтся Π½ΠΈ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· стандартов, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ сторонних Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π½Π° всСх Ρ†Π΅Π»Π΅Π²Ρ‹Ρ… систСмах ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ возмоТности. Π’Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ выступаСт Π² Ρ€ΠΎΠ»ΠΈ ΠΌΠ΅Π΄ΠΈΠ°Ρ‚ΠΎΡ€Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой, скрывая ΠΎΡ‚ прилоТСния процСсс взаимодСйствия с послСднСй. Π₯Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΡΠ²Π»ΡΡŽΡ‚ΡΡ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ графичСского интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ β€” Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ Qt, Gtk ΠΈΠ»ΠΈ wxWidgets. РСализация этих Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ присутствуСт Π²ΠΎ всСх основных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах (FreeBSD, Linux, Windows, MacOS), Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ API, доступныС программистам, практичСски ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ для всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π»ΠΈΠ±Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΉ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΡ€ΠΈ создании достаточно большого спСктра ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Если ΠΆΠ΅ ΠΌΠ΅Π΄ΠΈΠ°Ρ‚ΠΎΡ€Π°, способного ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π½Π΅ нашлось, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ цСлСсообразно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой собствСнный, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Ρ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΠΏΡ€Π°Π²Π΄Π°Π½, Ссли ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΌΠ΅Π΄ΠΈΠ°Ρ‚ΠΎΡ€, ΠΈ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… частСй ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. Π’Π°ΠΊ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Mozilla Π² своС врСмя Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ собствСнный Π½Π°Π±ΠΎΡ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… стандартов бСзопасности (Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ появился Π½Π°Π±ΠΎΡ€ Network Security Services, NSS), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΡƒΡŽ достаточно Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ, ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Π²Π²ΠΎΠ΄ΠΎΠΌ-Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ ΠΈ Ρ‚.ΠΏ.). Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Ρ‹ стало созданиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ NSPR (NetScape Portable Runtime). ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈ NSS, ΠΈ NSPR, ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°ΠΌΠΈ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΈΡ… использованиС Π² настоящСС врСмя Π½Π΅ ограничиваСтся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ Mozilla Foundation.

ИспользованиС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ ΠΊ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ пСрСносимости ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ являСтся написаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языках, использованиС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ создания исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. ВмСсто этого ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ считываСт ΠΈ выполняСт инструкции нСпосрСдствСнно ΠΈΠ· тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π‘ΠΎΠ»ΡŒΡˆΠ΅ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ удаСтся Π΄ΠΎΡΡ‚ΠΈΠ³Π½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΈ использовании компиляции β€œΠ½Π° лСту” (Just In Time compilation), ΠΊΠΎΠ³Π΄Π° Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ транслируСтся Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Однако Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ JIT-компиляторов Ρ‚Π°ΠΊΠΆΠ΅ приходится ΠΈΠ΄Ρ‚ΠΈ Π½Π° компромисс ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ, уходящим Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄Ρƒ, создаваСмому β€œΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈβ€ компиляторами. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, использованиС Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ оттранслированный ΠΊΠΎΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ хранится Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. Π’Π°ΠΊΠΆΠ΅ слСдуСт ΠΈΠΌΠ΅Ρ‚ΡŒ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ², Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ JIT-компиляторов, Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ.

ИспользованиС эмуляторов ABI

Говоря ΠΎ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ пСрСносимости, ΠΌΡ‹ ΡƒΠΆΠ΅ упомянули, Ρ‡Ρ‚ΠΎ Π² рядС случаСв опСрационная систСма ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ систСмой Π·Π° счСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ слоя совмСстимости. ΠŸΡ€ΠΈ этом Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ ограничиваСтся обСспСчСниСм совмСстимости Π² Ρ€Π°ΠΌΠΊΠ°Ρ… систСм ΠΎΠ΄Π½ΠΎΠ³ΠΎ производитСля. Из Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ запуска исполнимых Ρ„Π°ΠΉΠ»ΠΎΠ² Linux Π² систСмС FreeBSD. Π‘Π°ΠΌ Linux Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π» ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ запуска исполнимых Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄Ρ€ΡƒΠ³ΠΈΡ… UNIX-систСм, хотя эта Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ оказалась вострСбованной.

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

Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ привСсти wine [4], ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для запуска Windows-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Linux, Π° Ρ‚Π°ΠΊΠΆΠ΅ cygwin [9], ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ сторону. ΠŸΡ€ΠΈ этом, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ wine достаточно Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ прилоТСния, Π½Π΅ полагаясь Π½Π° Π΅Π³ΠΎ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΉ систСмС.

НСдостатком использования Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° эмуляторов являСтся ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ Π½Π΅ΠΏΠΎΠ»Π½ΠΎΡ‚Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ. Π’Π°ΠΊ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ wine ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± API Windows (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, стандарт ECMA-234); Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π½Π΅Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ возмоТности этой ОБ, Ρ‚ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π΅Π³ΠΎ запуска Π² wine ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΉ.

ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ для достиТСния высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹-эмуляторы Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ достаточно Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ способы взаимодСйствия с систСмой, Ρ‡Ρ‚ΠΎ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΈΡ… ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ. Π’Π°ΠΊ, Ρ‚ΠΎΡ‚ ΠΆΠ΅ wine содСрТит достаточно ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° языкС ассСмблСра Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ x86. БоотвСтствСнно, использованиС этого эмулятора Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ Π² нСпосрСдствСнно x86 систСмах, Π»ΠΈΠ±ΠΎ Π² систСмах, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ запуска x86 ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ стрСмлСнии ΠΎΡ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ большоС число Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Ρ… эмуляторов Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… систСмах.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ситуациях прямолинСйноС использованиС эмуляторов ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ Π΄Π°Π΅Ρ‚ ΠΌΠ΅Π½Π΅Π΅ эффСктивныС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, Ρ‡Π΅ΠΌ Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Β«Ρ€ΠΎΠ΄Π½Ρ‹Π΅Β» срСдства Ρ†Π΅Π»Π΅Π²ΠΎΠΉ систСмы. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ привСсти ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π²ΡˆΡƒΡŽΡΡ Ρ€Π°Π½Π΅Π΅ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Borland Kylix для Linux, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π° использовании эмулятора wine. КосвСнно использованиС эмулятора Π² этом случаС ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ использованиС Ρ‚Π΅Ρ… ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊ создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² исходной систСмС β€” ОБ Windows. Однако, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π»Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, эмуляция этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊ Π½Π΅ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΠΈ с Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌΠΈ срСдствами ОБ Linux β€” Π² частности, с компилятором GCC (ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго, Π² ΠΏΠ»Π°Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ срСды Kylix).

Виртуализация

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ эмуляции ABI Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ систСмы являСтся запуск ΠΊΠΎΠΏΠΈΠΈ Ρ‚Π°ΠΊΠΎΠΉ систСмы Π²Π½ΡƒΡ‚Ρ€ΠΈ основной ОБ, с использованиСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΡΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ обСспСчСниС β€” Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин. На Ρ‚Π°ΠΊΠΎΠΉ машинС устанавливаСтся опСрационная систСма ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ, Π° само ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ запускаСтся ΡƒΠΆΠ΅ Π² Ρ€ΠΎΠ΄Π½ΠΎΠΉ для Π½Π΅Π³ΠΎ срСдС.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ запуска прилоТСния Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС зависит, Π² основном, ΠΎΡ‚ возмоТностСй самой ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π½Π΅ΠΆΠ΅Π»ΠΈ ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² прилоТСния. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ с Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€ΠΎΠΉ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, ΠΌΠΎΠ³ΡƒΡ‚ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ трудности, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠΌ Π±ΡƒΠ΄Π΅Ρ‚ прСдоставлСн доступ ΠΊ устройствам Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π° Π½Π΅ нСпосрСдствСнно ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Вакая ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с графичСскими ускоритСлями ΠΈΠ·Π½ΡƒΡ‚Ρ€ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин.

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

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин ΡƒΠ΄Π΅Π»ΡΠ»ΠΎΡΡŒ ΠΌΠ½ΠΎΠ³ΠΎ внимания Π΅Ρ‰Π΅ Π² 70Π΅ Π³ΠΎΠ΄Ρ‹. Π’ΠΏΠ΅Ρ€Π²Ρ‹Π΅ трСбования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡ‚ΡŒ аппаратная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ эффСктивно Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, Π±Ρ‹Π»ΠΈ сформулированы ПопСком ΠΈ Π“ΠΎΠ»Π΄Π±Π΅Ρ€Π³ΠΎΠΌ Π² 1974 Π³ΠΎΠ΄Ρƒ [10]. ОсновноС Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ сводится ΠΊ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΡŽ всСх инструкций ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ уровням ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ; ΠΏΡ€ΠΈ этом всС инструкции, способныС ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ состояниС рСсурсов Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ инструкции, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… зависит ΠΎΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ этих рСсурсов, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ. ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин (Virtual Machine Monitor, VMM β€” программная прослойка, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰Π°ΡΡΡ распрСдСлСниСм физичСских рСсурсов ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ машинами), сам работая с Π½Π°ΠΈΠ²Ρ‹ΡΡˆΠΈΠΌΠΈ привилСгиями, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ эти инструкции ΠΈ ΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² соотвСтствии со своими потрСбностями. ВсС Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ инструкции Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ нСпосрСдствСнно Π½Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Π΅. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ доля ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… инструкций, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π½Π΅Π²Π΅Π»ΠΈΠΊΠ°, Ρ‚ΠΎ ΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° ΠΈΡ… ΡΠΌΡƒΠ»ΡΡ†ΠΈΡŽ Π±ΡƒΠ΄ΡƒΡ‚ ΠΌΠ°Π»Ρ‹.

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° Π“ΠΎΠ»Π΄Π±Π΅Ρ€Π³Π° ΠΈ ПопСка посвящСна машинам Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ поколСния (IBM 360, Honeywell 6000, DEC PDP-10), сформулированныС Π² Π½Π΅ΠΉ трСбования справСдливы ΠΈ сСгодня. Однако, для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° соврСмСнных Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π²Ρ‹ΡˆΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ выполняСтся β€” ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ инструкции, Π²Π»ΠΈΡΡŽΡ‰ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ рСсурсов Π»ΠΈΠ±ΠΎ зависящиС ΠΎΡ‚ Π½Π΅Π΅. Π’ частности, для «классичСской» Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ x86 ΠΊ числу Ρ‚Π°ΠΊΠΈΡ… инструкций относятся Ρ‚Π°ΠΊΠΈΠ΅ популярныС инструкции, ΠΊΠ°ΠΊ push/pop, call, jmp ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ (Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ данная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° рассмотрСна Π² [11]).

БСзусловно, построСниС Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Ρ‚Π°ΠΊΠΈΡ… инструкций. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… инструкций Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹; ΠΏΠΎ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ популярныС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ Ρ‚ΠΈΠΏΠ° VirtualBox [12] ΠΈ VMWare [13], ΡΡ‚Π°Ρ€Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ всС инструкции, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ отслСТивания выполняСмых инструкций ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Β«ΠΆΠΈΠ²ΠΎΠΉΒ» систСмой.

ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ осознаниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ваТности Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ появлСнию Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΎΡ‚ Intel (Intel Virtualization Technology [14]) ΠΈ AMD (AMD Virtualization [15]) для Π΅Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… x86 ΠΈ x86-64, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π»ΠΈΠ±ΠΎ вовсС избавится, Π»ΠΈΠ±ΠΎ сущСствСнно ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ число ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΈ эмулируСмых инструкций.

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π±ΠΎΡ€ΡŒΠ±Ρ‹ с «врСдоносными» инструкциями являСтся паравиртуализация, основанная Π½Π° внСсСнии ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π³ΠΎΡΡ‚Π΅Π²ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму ΠΏΠ΅Ρ€Π΅Π΄ Π΅Π΅ запуском Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСдС; извСстным ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ машин, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ ΠΏΠ°Ρ€Π°Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, являСтся Xen [16]. Однако Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ такая модификация Π½Π΅ всСгда доступна ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ vBlades для Itanium [17].

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ Π½Π° ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ использования Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ β€” Π² рядС случаСв ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² окруТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ довольна Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ достаточно Ρ€Π΅Π΄ΠΊΠΈ ситуации, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ сами ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ для запуска своих ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² систСмах, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ спСцифичСскиС систСмы, бСзопасноС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ запуска Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСдС. НапримСр, ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰Π°Ρ систСма Linuxgym [18] распространяСт ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±Ρ€Π°Π·Π° VMware, содСрТащСго Ubuntu Linux с прСдустановлСнными Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ.

ИспользованиС Web-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ

Π’Π°ΠΊΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ довольно условно, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ части, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² с Π΄Ρ€ΡƒΠ³ΠΈΡ… машин. НапримСр, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ устроСн Web-интСрфСйс сСрвСра ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ CUPS (Common Unix Printing System), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован для настройки ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ΠΎΠ² ΠΊΠ°ΠΊ Π½Π° локальной, Ρ‚Π°ΠΊ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ….

Π’ любом случаС, использованиС web-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΈ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… инструмСнтов ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ графичСского интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΈΠ±ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ HTML-прСдставлСниС интСрфСйса, нСпосрСдствСнно ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ρ‚ΠΈΠΏΠ° Flash, Silverlight ΠΈ JavaFX, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, для воспроизвСдСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… достаточно наличия ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ проигрыватСля Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅. Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒ встраиваСтся Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΊΠ°ΠΊ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅.

Однако Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ситуациях трСбования ΠΊ срСдС, Π³Π΄Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ сСрвСрная части прилоТСния, сущСствСнно Π±ΠΎΠ»Π΅Π΅ строгиС, Ρ‡Π΅ΠΌ трСбования ΠΊ клиСнтской систСмС. ПослСдниС Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ сводятся ΠΊ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ наличия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ возмоТности. Для сСрвСрной ΠΆΠ΅ части ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²ΠΏΠΎΠ»Π½Π΅ конкрСтная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-аппаратная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°.

ИспользованиС web-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° для отрисовки графичСского интСрфСйса ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ°ΠΊ прСимущСства, Ρ‚Π°ΠΊ ΠΈ нСдостатки. К прСимущСствам, ΠΏΠΎΠΌΠΈΠΌΠΎ упомянутого Π²Ρ‹ΡˆΠ΅ сниТСния Π·Π°Ρ‚Ρ€Π°Ρ‚ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, стоит отнСсти Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ настройки интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΏΠΎ своСму вкусу β€” ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ², ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° страницы ΠΈ Ρ‚.ΠΏ. Основной нСдостаток ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° являСтся слСдствиСм Π΅Π³ΠΎ достоинств β€” Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ страница ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ β€” ΠΊΠ°ΠΊ вслСдствиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… настроСк, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ·-Π·Π° особСнностСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. БСзусловно, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ стандарты Π½Π° HTML, CSS, JavaScript ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ элСмСнты, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ web-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ этим стандартам Π² Ρ€Π°Π·Π½ΠΎΠΉ стСпСни [19]. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ приходится Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ тСстированиС Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… [20], Π»ΠΈΠ±ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ· Π½ΠΈΡ…. Для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ процСсса тСстирования ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ свободно доступныС инструмСнты β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сСрвис BrowserShots [21] позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ снимки экрана с Π²ΠΈΠ΄ΠΎΠΌ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ страницы Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… (Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ доступно Π±ΠΎΠ»Π΅Π΅ 80) Π² Linux, Mac OS ΠΈ Windows.

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

К ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ описания ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° взаимодСйствия ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² распрСдСлСнной систСмы ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ CORBA (Common Object Request Broker Architecture), Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΡƒΡŽ консорциумом OMG [22]. Однако CORBA Π² силу ряда ΠΏΡ€ΠΈΡ‡ΠΈΠ½ Π½Π΅ снискала большой популярности, ΠΈ Π² настоящСС врСмя Π³ΠΎΡ€Π°Π·Π΄ΠΎ больший интСрСс проявляСтся ΠΊ web-сСрвисам, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями Π½Π° Π±Π°Π·Π΅ XML. ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ слоТных распрСдСлСнных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… комплСксов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° сСрвисно-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ (Service-oriented architecture, SOA [23]); ΠΏΡ€ΠΈ этом ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ комплСксы часто Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ web-сСрвисов.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Если Π½Π΅Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ пСрСносимости ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ послСдствиям ΠΈ сущСствуСт мноТСство ΠΏΡƒΡ‚Π΅ΠΉ ΠΏΠΎ Π΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ, Ρ‚ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос: Ρ‚Π°ΠΊ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΆΠ΅ ИВ индустрия Π½Π΅ пСрСориСнтируСтся Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ пСрСносимого ПО? НСслоТно Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° пСрСносимого ПО ΠΈΠΌΠ΅Π΅Ρ‚ свои нСдостатки.

Π‘Ρ€Π΅Π΄ΠΈ рассмотрСнных Π²ΠΈΠ΄ΠΎΠ² пСрСносимости ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² являСтся пСрСнос нСпосрСдствСнно Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° Π½ΠΎΠ²ΡƒΡŽ систСму, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π·Π°Ρ‚Ρ€Π°Ρ‚Π°Ρ… (Π² основном уходящих Π½Π° тСстированиС) ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π° Π½ΠΎΠ²ΠΎΠΉ систСмС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π΅ всю Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. ΠŸΡ€ΠΈ этом ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ссли ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚, Ρ‚ΠΎ совсСм нСбольшиС.

Однако для любой ОБ число ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, совмСстимых с Π½Π΅ΠΉ Π½Π° Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, достаточно Π½Π΅Π²Π΅Π»ΠΈΠΊΠΎ. ИспользованиС эмуляторов ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ ΠΈΡ… ΠΊΡ€ΡƒΠ³, Π½ΠΎ эмулятор β€” Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ источник ошибок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈ этом ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π½Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ всСх Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

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

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΈΡ… языков Π½Π΅ привязаны ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… систСмах ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π‘Ρ€Π΅Π΄ΠΈ нСдостатков ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.

АрхитСктура SOA Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ слоТных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… комплСксов, прСдлагая ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈΡ… Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡ€Π° достаточно ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° своСй собствСнной ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈ Π² случаС нСобходимости ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пСрСнСсСн Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ (Π»ΠΈΠ±ΠΎ Π·Π°ΠΌΠ΅Π½Π΅Π½ Π½Π° Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ).

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹
ΠžΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Π½Π° стандартыРяд ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ GNU (tar, wget ΠΈ Π΄Ρ€.), написанныС с ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Π½Π° POSIX
ΠœΠ΅Π΄ΠΈΠ°Ρ‚ΠΎΡ€Ρ‹ сторонних Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²Skype β€” использованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Qt для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ GUI
БобствСнныС ΠΌΠ΅Π΄ΠΈΠ°Ρ‚ΠΎΡ€Ρ‹Mozilla Firefox β€” использованиС собствСнных кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ NSS (Network Security Services) для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… стандартов бСзопасности
ЭмуляцияGoogle Picasa β€” ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ wine для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Linux
ВиртуализацияLinuxgym β€” ΠΊΠ»ΠΈΠ΅Π½Ρ‚ распространяСтся Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±Ρ€Π°Π·Π° VMware

Π’Π°Π±Π»ΠΈΡ†Π° 1. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ функционирования ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠ°ΠΊ Π² Windows, Ρ‚Π°ΠΊ ΠΈ Π² Linux.

ИспользованиС Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… усилий со стороны Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ПО, хотя этот способ достаточно Π½Π°ΠΊΠ»Π°Π΄Π΅Π½, ΠΊΠ°ΠΊ Π² смыслС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‚Π°ΠΊ ΠΈ Π²Π²ΠΈΠ΄Ρƒ нСобходимости ΠΈΠΌΠ΅Ρ‚ΡŒ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ Π½Π° всС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ΠΎ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° пСрСнос прилоТСния ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ способом прСдставляСтся экономичСски нСэффСктивным. Π’ частности, это относится ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ унаслСдованным систСмам, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ ΠΎΠ·Π½Π°Ρ‡Π°Π»ΠΎ Π±Ρ‹ практичСски ΠΏΠΎΠ»Π½ΠΎΠ΅ пСрСписываниС прилоТСния.

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 1 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ пСрСносимости ПО, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ для создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠ°ΠΊ Π² Windows, Ρ‚Π°ΠΊ ΠΈ Π² Linux. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Google, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ побоялся ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒΡΡ Π½Π° слой эмуляции wine для запуска Google Picasa Π² ОБ Linux, нСсмотря Π½Π° практичСски ΠΏΠΎΠ»Π½ΠΎΠ΅ отсутствиС ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄. ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ с использованиСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ-ΠΌΠ΅Π΄ΠΈΠ°Ρ‚ΠΎΡ€ΠΎΠ² Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π΅Π½ ΠΈ примСняСтся Π½Π΅ ΠΎΠ΄ΠΈΠ½ дСсяток Π»Π΅Ρ‚.

Вопрос обСспСчСния пСрСносимости слСдуСт Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π² самом Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½Π° стадии проСктирования ΠΈ Π²Ρ‹Π±ΠΎΡ€Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ инструмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΏΡ€ΠΈ Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. К соТалСнию, вряд Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° срСдств для увСличСния пСрСносимости – Ρ‚Π°ΠΊΠΎΠΉ Π²Ρ‹Π±ΠΎΡ€ сильно зависит ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΠ΅ΠΌΡ‹Ρ… ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ. На взгляд Π°Π²Ρ‚ΠΎΡ€ΠΎΠ², Π² настоящСС врСмя ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ наибольший ΠΎΡ…Π²Π°Ρ‚ Π΄Π°Π΅Ρ‚ использованиС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков – ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° достаточно большом числС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. ЕстСствСнно, использованиС Ρ‚Π°ΠΊΠΈΡ… языков ΠΈΠΌΠ΅Π΅Ρ‚ свои нСдостатки, ΠΈ для ряда ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ΠΌ.

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

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

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *