ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми: Π’Ρ€ΠΈ лСсни части. Част 1: Π’ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ (ΠΏΡ€Π΅Π²ΠΎΠ΄)

Π’ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ систСми

Π₯Π΅ΠΉ Π₯Π°Π±Ρ€! Π‘ΠΈΡ… искал Π΄Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ° Π½Π° Π²Π°ΡˆΠ΅Ρ‚ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ статии-ΠΏΡ€Π΅Π²ΠΎΠ΄ΠΈ Π½Π° Π΅Π΄Π½Π° интСрСсна спорСд ΠΌΠ΅Π½ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π° - OSTEP. Π’ΠΎΠ·ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» обсъТда доста дълбоко Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° с процСси, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΡ†ΠΈ, ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΡΡ‚Π°Π²Π»ΡΠ²Π°Ρ‚ ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π° Π½Π° всички ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈ Ρ‚ΡƒΠΊ Ρ‚ΡƒΠΊ. Моля, ΠΈΠΌΠ°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄, Ρ‡Π΅ ΠΏΡ€Π΅Π²ΠΎΠ΄ΡŠΡ‚ Π΅ Π½Π°ΠΏΡ€Π°Π²Π΅Π½ нСпрофСсионално (съвсСм свободно), Π½ΠΎ сС надявам Π΄Π° съм Π·Π°ΠΏΠ°Π·ΠΈΠ» общия смисъл.

Π›Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ Ρ‚Π΅ΠΌΠ°Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Ρ‚ΡƒΠΊ:

ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΡΡŠΡ‰ΠΎ Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°Ρ‚Π΅ ΠΊΠ°Π½Π°Π»Π° ΠΌΠΈ Π½Π° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠ° =)

Π Π°Π±ΠΎΡ‚Π° Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°

Какво сС случва, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΅Π΄Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Ρ€Π°Π±ΠΎΡ‚ΠΈ? Π Π°Π±ΠΎΡ‚Π΅Ρ‰Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° ΠΏΡ€Π°Π²ΠΈ Π΅Π΄Π½ΠΎ просто Π½Π΅Ρ‰ΠΎ - изпълнява инструкции. Всяка сСкунда ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΠΈ Π΄ΠΎΡ€ΠΈ Π΅Π²Π΅Π½Ρ‚ΡƒΠ°Π»Π½ΠΎ ΠΌΠΈΠ»ΠΈΠ°Ρ€Π΄ΠΈ инструкции сС ΠΈΠ·Π²Π»ΠΈΡ‡Π°Ρ‚ ΠΎΡ‚ процСсора ΠΎΡ‚ RAM, Π½Π° свой Ρ€Π΅Π΄ Ρ‚ΠΎΠΉ Π³ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π²Π° към ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ Ρ‚Π΅Π·ΠΈ инструкции) ΠΈ Π³ΠΈ изпълнява. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС добавянС Π½Π° Π΄Π²Π΅ числа, Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° условиС, ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ към функция ΠΈ Ρ‚.Π½. Π‘Π»Π΅Π΄ изпълнСниС Π½Π° Π΅Π΄Π½Π° инструкция, ΠΏΡ€ΠΎΡ†Π΅ΡΠΎΡ€ΡŠΡ‚ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π° към изпълнСниС Π½Π° Π΄Ρ€ΡƒΠ³Π°. И Ρ‚Π°ΠΊΠ° инструкция слСд инструкция, Ρ‚Π΅ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡ΠΈ.

Π’ΠΎΠ·ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ СстСствСно сС счита Π·Π° опростСн - Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚, Π·Π° Π΄Π° ускори процСсора, ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡΡ‚ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€ Π²ΠΈ позволява Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚Π΅ инструкции извън Ρ€Π΅Π΄, Π΄Π° изчисляватС възмоТни Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ, Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚Π΅ инструкции Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Ρ‚Ρ€ΠΈΠΊΠΎΠ²Π΅.

Π€ΠΎΠ½ Нойманов ΠΌΠΎΠ΄Π΅Π» Π½Π° изчислСниС

ΠžΠΏΠΈΡΠ°Π½Π°Ρ‚Π° ΠΎΡ‚ нас опростСна Ρ„ΠΎΡ€ΠΌΠ° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° Ρ„ΠΎΠ½ Нойман Π·Π° изчислСниС. Π€ΠΎΠ½ Нойман Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ ΠΏΠΈΠΎΠ½Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈΡ‚Π΅ систСми, Ρ‚ΠΎΠΉ Π΅ ΠΈ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° тСорията Π½Π° ΠΈΠ³Ρ€ΠΈΡ‚Π΅. Π”ΠΎΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ, сС случват ΠΊΡƒΠΏ Π΄Ρ€ΡƒΠ³ΠΈ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ, работят ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ процСси ΠΈ Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° Ρ‚Ρ€Π΅Ρ‚ΠΈ страни, чиято основна Ρ†Π΅Π» Π΅ Π΄Π° опрости стартиранСто, Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° систСмата.

Има Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ софтуСр, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π΅Π½ Π·Π° улСсняванС Π½Π° стартиранСто Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅ (ΠΈΠ»ΠΈ Π΄ΠΎΡ€ΠΈ Π·Π° позволяванС Π½Π° мноТСство ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π΄Π° работят Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ), ΠΊΠΎΠΉΡ‚ΠΎ позволява Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅ Π΄Π° сподСлят Π΅Π΄Π½Π° ΠΈ ΡΡŠΡ‰Π° ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΈ Π΄Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠΈΡ€Π°Ρ‚ с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ устройства. Вакъв Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ софтуСр (софтуСр) ΠΏΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΠΎ сС Π½Π°Ρ€ΠΈΡ‡Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ наблюдСниС Π΄Π°Π»ΠΈ систСмата Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ ΠΈ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°Π½Π΅, Ρ‡Π΅ систСмата Π΅ лСсна Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма, ΡΡŠΠΊΡ€Π°Ρ‚Π΅Π½ΠΎ ОБ, Π΅ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈ Π΄Π° управляват ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈΡ‚Π΅ рСсурси ΠΈ Π΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Ρ‚ взаимодСйствиСто Π½Π° потрСбитСля с ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π°..

ОБ постига своята СфСктивност Π½Π° ΠΏΡŠΡ€Π²ΠΎ място, Ρ‡Ρ€Π΅Π· Π½Π°ΠΉ-Π²Π°ΠΆΠ½Π°Ρ‚Π° Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° – Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°Ρ‚Π° виртуализация. ОБ взаимодСйства с физичСски рСсурс (процСсор, ΠΏΠ°ΠΌΠ΅Ρ‚, диск ΠΈ Ρ‚.Π½.) ΠΈ Π³ΠΎ трансформира Π² ΠΏΠΎ-ΠΎΠ±Ρ‰Π°, ΠΏΠΎ-ΠΌΠΎΡ‰Π½Π° ΠΈ ΠΏΠΎ-лСсна Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ, Π·Π° ΠΎΠ±Ρ‰ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π³Ρ€ΡƒΠ±ΠΎ Π΄Π° сравнитС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина.

Π—Π° Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π΄Π° Π΄Π°Π²Π°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° машина (ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ стартиранС Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, разпрСдСлянС Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚, Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ„Π°ΠΉΠ» ΠΈ Ρ‚.Π½.), ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма прСдоставя някакъв интСрфСйс, Π½Π°Ρ€Π΅Ρ‡Π΅Π½ API (интСрфСйс Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° прилоТСния) ΠΈ към ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΡΠ²Π°Ρ‚Π΅ повиквания (ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅). Π’ΠΈΠΏΠΈΡ‡Π½Π°Ρ‚Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма позволява ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° стотици систСмни извиквания.

И накрая, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ виртуализацията позволява мноТСство ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π΄Π° сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ (ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ сподСлят процСсора) ΠΈ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π΄Π° ΠΈΠΌΠ°Ρ‚ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ инструкции ΠΈ Π΄Π°Π½Π½ΠΈ (ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ сподСлят ΠΏΠ°ΠΌΠ΅Ρ‚) ΠΈ Π΄Π° ΠΈΠΌΠ°Ρ‚ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ дисковС (ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ сподСлят I/O устройства). ), ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма сС Π½Π°Ρ€ΠΈΡ‡Π° ΠΎΡ‰Π΅ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ Π½Π° рСсурси. ВсСки процСсор, диск ΠΈ ΠΏΠ°ΠΌΠ΅Ρ‚ Π΅ рСсурс Π½Π° систСмата ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ Π΅Π΄Π½Π° ΠΎΡ‚ Ρ€ΠΎΠ»ΠΈΡ‚Π΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма става Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π΄Π° управлява Ρ‚Π΅Π·ΠΈ рСсурси, Π΄Π° Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ, чСстно ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, Π² зависимост ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π°, Π·Π° която Ρ‚Π°Π·ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π°.

Виртуализация Π½Π° процСсора

ΠŸΠΎΠΌΠΈΡΠ»Π΅Ρ‚Π΅ Π·Π° слСдната ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°:
(https://www.youtube.com/watch?v=zDwT5fUcki4)

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми: Π’Ρ€ΠΈ лСсни части. Част 1: Π’ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ (ΠΏΡ€Π΅Π²ΠΎΠ΄)

Π’ΠΎΠΉ Π½Π΅ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ спСциални дСйствия, Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ, Π΅ Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π° функция Π²ΡŠΡ€Ρ‚Π΅Π½Π΅(), чиято Π·Π°Π΄Π°Ρ‡Π° Π΅ Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ ΠΏΡ€Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ‚Π° Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ ΠΈ Π΄Π° сС Π²ΡŠΡ€Π½Π΅ слСд ΠΈΠ·Ρ‚ΠΈΡ‡Π°Π½Π΅ Π½Π° Π΅Π΄Π½Π° сСкунда. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ Ρ‚ΠΎΠΉ повтаря Π±Π΅Π·ΠΊΡ€Π°ΠΉΠ½ΠΎ Π½ΠΈΠ·Π°, ΠΊΠΎΠΉΡ‚ΠΎ потрСбитСлят Π΅ ΠΏΡ€Π΅Π΄Π°Π» ΠΊΠ°Ρ‚ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚.

НСка Π΄Π° стартирамС Ρ‚Π°Π·ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° ΠΈ Π΄Π° ΠΉ ΠΏΡ€Π΅Π΄Π°Π΄Π΅ΠΌ Π·Π½Π°ΠΊΠ° "A" ΠΊΠ°Ρ‚ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚. Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ Π½Π΅ Π΅ особСно интСрСсСн - систСмата просто изпълнява ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, която ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ ΠΈΠ·Π²Π΅ΠΆΠ΄Π° символа "А".

Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° ΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅ опцията, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ копия Π½Π° Π΅Π΄Π½Π° ΠΈ ΡΡŠΡ‰Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° работят, Π½ΠΎ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π±ΡƒΠΊΠ²ΠΈ, Π·Π° Π΄Π° станС ΠΏΠΎ-ясно. Π’ Ρ‚ΠΎΠ·ΠΈ случай Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ Ρ‰Π΅ бъдС ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Π΅Π΄ΠΈΠ½ процСсор, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° сС изпълнява Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Как сС случва? Но сС ΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма, Π½Π΅ Π±Π΅Π· ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ, създава илюзия. Π˜Π»ΡŽΠ·ΠΈΡΡ‚Π°, Ρ‡Π΅ систСмата ΠΈΠΌΠ° мноТСство Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ процСсори, ΠΏΡ€Π΅Π²Ρ€ΡŠΡ‰Π°ΠΉΠΊΠΈ Π΅Π΄ΠΈΠ½ физичСски процСсор Π² Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΡ‡Π½ΠΎ Π±Π΅Π·ΠΊΡ€Π°Π΅Π½ Π±Ρ€ΠΎΠΉ ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ позволявайки Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ΄Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π΄Π° работят Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π’Π°Π·ΠΈ илюзия сС Π½Π°Ρ€ΠΈΡ‡Π° Виртуализация Π½Π° процСсора.

Π’Π°Π·ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° ΠΏΠΎΠ²Π΄ΠΈΠ³Π° ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡŠΠΏΡ€ΠΎΡΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°ΠΊΠΎ няколко ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ искат Π΄Π° работят Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, коя Ρ‰Π΅ бъдС стартирана? β€žΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈΡ‚Π΅β€œ Π½Π° ОБ са ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π½ΠΈ Π·Π° Ρ‚ΠΎΠ·ΠΈ Π²ΡŠΠΏΡ€ΠΎΡ. ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈΡ‚Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ мСста Π² ОБ ΠΈ отговарят Π½Π° Π²ΡŠΠΏΡ€ΠΎΡΠΈ ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΎΠ·ΠΈ ΠΈ са основнитС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ОБ ΠΏΡ€ΠΈΠ»Π°Π³Π°. ΠžΡ‚Ρ‚ΡƒΠΊ ΠΈ ролята Π½Π° ОБ ΠΊΠ°Ρ‚ΠΎ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ Π½Π° рСсурси.

Виртуализация Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°

Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°. ЀизичСският ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π² ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ‚Π΅ систСми сС прСдставя ΠΊΠ°Ρ‚ΠΎ масив ΠΎΡ‚ Π±Π°ΠΉΡ‚ΠΎΠ²Π΅.. Π—Π° Π΄Π° Ρ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, трябва Π΄Π° посочитС ΠΊΠ»Π΅Ρ‚ΡŠΡ‡Π΅Π½ адрСсза Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π½Π΅Π³ΠΎ. Π—Π° Π΄Π° Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΈΠ»ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ Π΄Π°Π½Π½ΠΈ, трябва ΡΡŠΡ‰ΠΎ Π΄Π° посочитС Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΈ адрСса Π½Π° ΠΊΠ»Π΅Ρ‚ΠΊΠ°Ρ‚Π°, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Π΄Π° Π³ΠΈ Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅.

Π”ΠΎΡΡ‚ΡŠΠΏΡŠΡ‚ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π΅ постоянСн ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° изпълнСниС Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° цялата си структура ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΡΠ²Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ нСя Ρ‡Ρ€Π΅Π· изпълнСниС Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ инструкции. ΠœΠ΅ΠΆΠ΄ΡƒΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ инструкциитС ΡΡŠΡ‰ΠΎ сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ тя ΡΡŠΡ‰ΠΎ Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½Π° Π·Π° всяка заявка Π·Π° слСдваща инструкция.

malloc() ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅

ΠŸΠΎΠΌΠΈΡΠ»Π΅Ρ‚Π΅ Π·Π° слСдната ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, която разпрСдСля област ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ malloc () (https://youtu.be/jnlKRnoT1m0):

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми: Π’Ρ€ΠΈ лСсни части. Част 1: Π’ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ (ΠΏΡ€Π΅Π²ΠΎΠ΄)

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° ΠΏΡ€Π°Π²ΠΈ няколко Π½Π΅Ρ‰Π°. ΠŸΡŠΡ€Π²ΠΎ, Ρ‚ΠΎΠΉ разпрСдСля ΠΌΠ°Π»ΠΊΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚ (Ρ€Π΅Π΄ 7), слСд Ρ‚ΠΎΠ²Π° ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚Π²Π° адрСса Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°Ρ‚Π° ΠΊΠ»Π΅Ρ‚ΠΊΠ° (Ρ€Π΅Π΄ 9), записва Π½ΡƒΠ»Π° Π² ΠΏΡŠΡ€Π²ΠΈΡ слот Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°Ρ‚Π° ΠΏΠ°ΠΌΠ΅Ρ‚. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π²Π»ΠΈΠ·Π° Π² Ρ†ΠΈΠΊΡŠΠ», Π² ΠΊΠΎΠΉΡ‚ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° стойността, ΡΡŠΡ…Ρ€Π°Π½Π΅Π½Π° Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° адрСса Π² ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° "p". Π’ΠΎΠΉ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚Π²Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π½Π° самия процСс. ID Π½Π° процСса Π΅ ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½ Π·Π° всСки Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ процСс. Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ стартирахмС няколко копия, Ρ‰Π΅ сС Π½Π°Ρ‚ΡŠΠΊΠ½Π΅ΠΌ Π½Π° интСрСсСн Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚: Π’ ΠΏΡŠΡ€Π²ΠΈΡ случай, Π°ΠΊΠΎ Π½Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π½ΠΈΡ‰ΠΎ ΠΈ просто стартиратС няколко копия, Ρ‚ΠΎΠ³Π°Π²Π° адрСситС Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ. Но Ρ‚ΠΎΠ²Π° Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π° Π² Π½Π°ΡˆΠ°Ρ‚Π° тСория! ΠŸΡ€Π°Π²ΠΈΠ»Π½ΠΎ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΡ‚Π΅ дистрибуции ΠΈΠΌΠ°Ρ‚ рандомизация Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅. Ако Π΅ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½, ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ очаквания Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ - адрСситС Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° Π΄Π²Π΅ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Ρ‰Π΅ ΡΡŠΠ²ΠΏΠ°Π΄Π°Ρ‚.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми: Π’Ρ€ΠΈ лСсни части. Част 1: Π’ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ (ΠΏΡ€Π΅Π²ΠΎΠ΄)

Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° сС ΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ Π΄Π²Π΅ нСзависими ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ работят със свои собствСни частни адрСсни пространства, ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΡ‚ своя страна сС ΠΊΠ°Ρ€Ρ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ€Π°Ρ‚ ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма във физичСска ΠΏΠ°ΠΌΠ΅Ρ‚. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° адрСси Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π΅Π΄Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° няма Π΄Π° повлияС ΠΏΠΎ никакъв Π½Π°Ρ‡ΠΈΠ½ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ ΠΈ Π·Π° всяка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, Ρ‡Π΅ ΠΈΠΌΠ° собствСна част ΠΎΡ‚ физичСската ΠΏΠ°ΠΌΠ΅Ρ‚, изцяло прСдоставСна Π½Π° нСя. РСалността ΠΎΠ±Π°Ρ‡Π΅ Π΅, Ρ‡Π΅ физичСската ΠΏΠ°ΠΌΠ΅Ρ‚ Π΅ сподСлСн рСсурс, управляван ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма.

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎΡΡ‚

Π”Ρ€ΡƒΠ³Π° ΠΎΡ‚ Π²Π°ΠΆΠ½ΠΈΡ‚Π΅ Ρ‚Π΅ΠΌΠΈ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ систСми Π΅ βˆ’ послСдоватСлност. Π’ΠΎΠ·ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π² систСмата, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π²ΡŠΠ·Π½ΠΈΠΊΠ½Π°Ρ‚ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅Ρ‰Π° Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π² Π΅Π΄Π½Π° ΠΈ ΡΡŠΡ‰Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с послСдоватСлността Π²ΡŠΠ·Π½ΠΈΠΊΠ²Π°Ρ‚ Π΄ΠΎΡ€ΠΈ Π² самата ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма. Π’ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π·Π° виртуализация Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ процСсора Ρ€Π°Π·Π±Ρ€Π°Ρ…ΠΌΠ΅, Ρ‡Π΅ ОБ управлява ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅Ρ‰Π° Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ – стартира ΠΏΡŠΡ€Π²ΠΈΡ процСс, слСд Ρ‚ΠΎΠ²Π° втория ΠΈ Ρ‚.Π½. ΠšΠ°ΠΊΡ‚ΠΎ сС ΠΎΠΊΠ°Π·Π°, Ρ‚ΠΎΠ²Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ някои ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. Π’Π°ΠΊΠ° Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ‚Π΅ многонишкови ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ ΠΈΠ·ΠΏΠΈΡ‚Π²Π°Ρ‚ Ρ‚Π°ΠΊΠΈΠ²Π° трудности.

ΠŸΠΎΠΌΠΈΡΠ»Π΅Ρ‚Π΅ Π·Π° слСдната ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°:

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми: Π’Ρ€ΠΈ лСсни части. Част 1: Π’ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ (ΠΏΡ€Π΅Π²ΠΎΠ΄)

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π² основната функция създава Π΄Π²Π΅ нишки, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ pthread_create(). Π’ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΅Π΄Π½Π° нишка ΠΌΠΎΠΆΠ΅ Π΄Π° сС Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°Ρ‚ΠΎ функция, изпълнявана Π² Π΅Π΄Π½ΠΎ ΠΈ ΡΡŠΡ‰ΠΎ пространство Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π·Π°Π΅Π΄Π½ΠΎ с Π΄Ρ€ΡƒΠ³ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°Ρ‚ΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ Π΅Π΄Π½Π° функция сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π’ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ всяка нишка стартира ΠΈ изпълнява функцията worker(), ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π° свой Ρ€Π΅Π΄ просто ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π°,.

НСка стартирамС Ρ‚Π°Π·ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ 1000. ΠšΠ°ΠΊΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π±ΠΈ сС досСщатС, Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ трябва Π΄Π° Π΅ 2000, Π·Π°Ρ‰ΠΎΡ‚ΠΎ всяка нишка ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° 1000 ΠΏΡŠΡ‚ΠΈ. Всичко ΠΎΠ±Π°Ρ‡Π΅ Π½Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° просто. НСка сС ΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅ Π΄Π° изпълним ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° с ΠΏΠΎΡ€ΡΠ΄ΡŠΠΊ ΠΏΠΎΠ²Π΅Ρ‡Π΅ повторСния.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми: Π’Ρ€ΠΈ лСсни части. Част 1: Π’ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ (ΠΏΡ€Π΅Π²ΠΎΠ΄)

Π§Ρ€Π΅Π· въвСТданС Π½Π° число, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 100000 200000, ΠΎΡ‡Π°ΠΊΠ²Π°ΠΌΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° ΠΊΠ°Ρ‚ΠΎ числото 100000 XNUMX. Ако ΠΎΠ±Π°Ρ‡Π΅ изпълним числото XNUMX XNUMX няколко ΠΏΡŠΡ‚ΠΈ, Π½Π΅ само няма Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ правилния ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€, Π½ΠΎ ΠΈ Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠ½ΠΈ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈ. ΠžΡ‚Π³ΠΎΠ²ΠΎΡ€ΡŠΡ‚ сС ΠΊΡ€ΠΈΠ΅ във Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ Π·Π° ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° числото са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Ρ‚Ρ€ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ - ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° числото ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°Π½Π΅ ΠΈ слСд Ρ‚ΠΎΠ²Π° записванС Π½Π° числото ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ. Въй ΠΊΠ°Ρ‚ΠΎ всички Ρ‚Π΅Π·ΠΈ инструкции Π½Π΅ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎ (всички ΠΏΠΎ Π΅Π΄Π½ΠΎ ΠΈ ΡΡŠΡ‰ΠΎ Π²Ρ€Π΅ΠΌΠ΅), ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС случат странни Π½Π΅Ρ‰Π° ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΎΠ²Π°. Π’ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ сС Π½Π°Ρ€ΠΈΡ‡Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ ΡΡŠΡΡ‚Π΅Π·Π°Ρ‚Π΅Π»Π½ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅. ΠšΠΎΠ³Π°Ρ‚ΠΎ нСизвСстни сили Π² нСизвСстСн ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° повлияят Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° някоя ΠΎΡ‚ Π²Π°ΡˆΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€