🐾 CatOPDS Browser
Cover
МодСли ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования πŸ‘€ Π€Π΅Π΄ΠΎΡ‚ΠΎΠ² И. Π•.
Книга посвящСна Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… высокоуровнСвых ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ распрСдСлСнного программирования. Π’ порядкС услоТнСния ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ нСсколько ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ: ярусно-ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, сСти ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΎΠ², сСти ΠŸΠ΅Ρ‚Ρ€ΠΈ, модСль Π°ΠΊΡ‚Π΅Ρ€ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ модСль ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²Ρ‹Ρ… вычислСний. ΠŸΡ€ΠΈΠ²ΠΎΠ΄ΡΡ‚ΡΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° C++ с использованиСм Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… срСдств распараллСливания ([b]OpenMP[/b], [b]MPI[/b], [b]POSIX Threads[/b], [b]Windows API[/b]). Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ случаС Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ вопросы контСкстно-нСзависимой Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ конструкций описываСмой ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±Π΅Π· привязки ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ Π·Π°Π΄Π°Ρ‡Π°ΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ с использованиСм Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡. НСкоторыС ΠΈΠ· описанных ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ (ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, модСль Π°ΠΊΡ‚Π΅Ρ€ΠΎΠ²), Π² настоящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π°ΡŽΡ‚ всС Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ вслСдствиС распространСния основанных Π½Π° Π΅Π΅ использовании языков ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Книга ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ читатСля Π² области программирования. Π‘ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π° программистам, ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΠΌ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ высокоуровнСвыС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈ распрСдСлСнных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, студСнтам ΡΡ‚Π°Ρ€ΡˆΠΈΡ… курсов, аспирантам ΠΈ прСподаватСлям тСхничСских Π’Π£Π—ΠΎΠ², ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°ΡŽΡ‰ΠΈΠΌ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π’ΠΎΡ‚ ΡƒΠΆΠ΅ нСсколько Π»Π΅Ρ‚, ΠΊΠ°ΠΊ соврСмСнныС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ Π²ΠΏΠ»ΠΎΡ‚Π½ΡƒΡŽ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΠ»ΠΈΡΡŒ ΠΊ своСму ΠΏΡ€Π΅Π΄Π΅Π»Ρƒ Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹Ρ… частот. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ процСссоров (Ρ‚ΠΎΡ‡Π½Π΅Π΅, ΠΈΡ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ядСр) пСрСстала Π½Π°Ρ€Π°ΡΡ‚Π°Ρ‚ΡŒ сказочными Ρ‚Π΅ΠΌΠΏΠ°ΠΌΠΈ, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ остаСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ дальнСйшСС ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… мощностСй лишь Π·Π° счСт увСличСния ΠΈΡ… количСства: ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π½Π°Ρ‡Π°Π»Π° расти "Π²ΡˆΠΈΡ€ΡŒ", Π° Π½Π΅ "Π² высоту". Π’ связи с этим ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡƒΠΆΠ΅ пСрСстало Π±Ρ‹Ρ‚ΡŒ узкоспСциализированной дисциплиной для Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСний ΠΈ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π°Π΅Ρ‚ всС Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ для ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… масс прСдставитСлСй программистского сообщСства. Π•ΡΡ‚ΡŒ Π½Π΅ΠΌΠ°Π»ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΉ, посвящСнных Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… систСм ΠΈ тСорСтичСским вопросам распараллСливания ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². Π’Π°ΠΊΠΆΠ΅ сущСствуСт достаточно ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… пособий ΠΈ статСй, посвящСнных Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… интСрфСйсов ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя, довольно Π΄Π°Π²Π½ΠΎ создано Π½Π΅ΠΌΠ°Π»ΠΎ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… процСссов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ основой ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ слишком популярных инструмСнтов построСния ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π’Π°ΠΊΠΈΠΌ модСлям посвящСно Π½Π΅ΠΌΠ°Π»ΠΎ ΡƒΡ‡Π΅Π±Π½ΠΎΠ³ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° тСорСтичСского Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ ощущаСтся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Ρ„ΠΈΡ†ΠΈΡ‚ Π² области практичСского ΠΈΡ… рассмотрСния с доступными ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° основС соврСмСнных срСдств. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ освСщСния Ρ‚Π°ΠΊΠΈΡ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ лишь с тСорСтичСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΎΠ½ΠΈ, ΠΏΠΎΡ€ΠΎΠΉ, ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π²Π½Π΅ практичСского арсСнала программиста, ΠΎΡ‚Ρ‡Π΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΠΈΡ… ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π΄Π°ΠΆΠ΅ Π½Π΅ рассматриваСтся. НастоящСС ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ стрСмится Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ стСпСни Π²ΠΎΡΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π½ΠΈΡˆΡƒ ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’ ΠΊΠ½ΠΈΠ³Π΅ приводятся исходныС тСксты ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π½Π° языкС C++ с использованиСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ шаблонов [b]STL[/b], Π² связи с Ρ‡Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ знакомство читатСля с Π½ΠΈΠΌΠΈ. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ описанных ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ использованиС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ [b]OpenMP[/b] ΠΈ [b]MPI[/b], Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… интСрфСйсов [b]Win32 API[/b] ΠΈ [b]POSIX Threads (pthreads)[/b]. ПослСдниС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² случаях, ΠΊΠΎΠ³Π΄Π° срСдства высокоуровнСвых интСрфСйсов ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ нСдостаточно Π³ΠΈΠ±ΠΊΠΈΠΌΠΈ. Для компиляции ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ компиляторы [b]MS Visual C++[/b] вСрсии ΠΎΡ‚ 8.0 (2005) ΠΈΠ»ΠΈ [b]GNU C++[/b]. Для компиляции Π² срСдС MS Windows ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ интСрфСйса [b]POSIX Threads[/b], Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ использованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Pthreads-w32 ΠΈΠ»ΠΈ эмулятора Cygwin.Π“ΠΎΠ΄ издания: 2012Π€ΠΎΡ€ΠΌΠ°Ρ‚: pdfΠ―Π·Ρ‹ΠΊ: ruΠ Π°Π·ΠΌΠ΅Ρ€: 2504 KbΠ‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π½ΠΈΠΉ: 156
PDF ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ / Π‘Π΅Ρ€ΠΈΠΈ