Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Системное программирование. Учебное пособие-1
.pdf
Ǭ. Ǭ. ǨȏȎȦȔȕȉ
ǸǯǸǹǬdzǴǵǬ ǶǷǵǪǷǧdzdzǯǷǵǩǧǴǯǬ
ǺȞȌȈȔȕȌ ȖȕȘȕȈȏȌ
dzȕȘȑȉȇ ǩȕȒȕȊȋȇ
«ǯȔțȗȇ-ǯȔȍȌȔȌȗȏȦ»
2024

ɍȾɄ 004.45
ȻȻɄ 32.973.1
Ȼ59
Ɋɟɰɟɧɡɟɧɬɵ:
ɤɚɧɞɢɞɚɬ ɬɟɯɧɢɱɟɫɤɢɯ ɧɚɭɤ, ɡɚɜɟɞɭɸɳɢɣ ɤɚɮɟɞɪɨɣ ɤɨɦɩɶɸɬɟɪɧɵɯ ɫɢɫɬɟɦ
ɢ ɫɟɬɟɣ ȽɈɍ ȼɉɈ ɅɇɊ «Ʌɭɝɚɧɫɤɢɣ ɧɚɰɢɨɧɚɥɶɧɵɣ ɭɧɢɜɟɪɫɢɬɟɬ ɢɦ. ȼ. Ⱦɚɥɹ»
(ɝ. Ʌɭɝɚɧɫɤ) ɋ. ȼ. ɉɨɩɨɜ;
ɤɚɧɞɢɞɚɬ ɬɟɯɧɢɱɟɫɤɢɯ ɧɚɭɤ, ɡɚɜɟɞɭɸɳɢɣ ɤɚɮɟɞɪɨɣ ɫɩɟɰɢɚɥɢɡɢɪɨɜɚɧɧɵɯ
ɤɨɦɩɶɸɬɟɪɧɵɯ ɫɢɫɬɟɦ ȽɈɍ ȼɉɈ ɅɇɊ «ȾɨɧȽɌɍ» (ɝ. Ⱥɥɱɟɜɫɤ) ɋ. ȼ. Ƚɨɧɬɨɜɨɣ
Ȼɢɡɹɧɨɜ, ȿ. ȿ
.
Ȼ59 ɋɢɫɬɟɦɧɨɟ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟ : ɭɱɟɛɧɨɟ ɩɨɫɨɛɢɟ / ȿ. ȿ. Ȼɢɡɹɧɨɜ. –
Ɇɨɫɤɜɚ ; ȼɨɥɨɝɞɚ : ɂɧɮɪɚ-ɂɧɠɟɧɟɪɢɹ, 2024. – 192 ɫ. : ɢɥ., ɬɚɛɥ.
ISBN 978-5-9729-1574-3
ɫɢɫɬɟɦɧɨɝɨ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ. Ɋɚɫɫɦɨɬɪɟɧɵ ɫɢɫɬɟɦɧɵɟ ɪɟɫɭɪɫɵ ɤɨɦɩɶɸɬɟɪɚ. ɂɡɥɨɠɟɧɵ ɨɫɧɨɜɵ ɹɡɵɤɨɜ ɫɢɫɬɟɦɧɨɝɨ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ɧɢɡɤɨɝɨ ɭɪɨɜɧɹ – ɋɢ ɢ Ⱥɫɫɟɦɛɥɟɪɚ.
ɉɪɢɜɟɞɟɧɵ ɧɟɨɛɯɨɞɢɦɵɟ ɫɩɪɚɜɨɱɧɵɟ ɫɜɟɞɟɧɢɹ ɢ ɩɪɢɦɟɪɵ ɞɥɹ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ɚɩɩɚɪɚɬɧɵɯ ɫɪɟɞɫɬɜ ɤɨɦɩɶ ɸɬɟɪɚ , ɪɟɚɥɢɡɚɰɢɢ ɮɭɧɤɰɢɣ ɜɜɨɞɚ-ɜɵɜɨɞɚ, ɚ ɬɚɤɠɟ ɫɨɡɞɚɧɢɹ ɫɥɭɠɛ
Windows ɢ ɞɟɦɨɧɨɜ Linux.
«ɂɧɮɨɪɦɚɬɢɤɚ ɢ ɜɵɱɢɫɥɢɬɟɥɶɧɚɹ ɬɟɯɧɢɤɚ» ɜɫɟɯ ɮɨɪɦ ɨɛɭɱɟɧɢɹ.
ɉɪɢɜɟɞɟɧɵ ɬɟɨɪɟɬɢɱɟɫɤɢɟ ɩɨɥɨɠɟɧɢɹ ɢ ɩɪɟɞɫɬɚɜɥɟɧɵ ɩɪɚɤɬɢɱɟɫɤɢɟ ɩɪɢɦɟɪɵ
Ⱦɥɹ ɫɬɭɞɟɧɬɨɜ ɢ ɚɫɩɢɪɚɧɬɨɜ, ɨɛɭɱɚɸɳɢɯɫɹ ɩɨ ɧɚɩɪɚɜɥɟɧɢɸ ɩɨɞɝɨɬɨɜɤɢ 09.03.01
ɍȾɄ 004.45
ȻȻɄ 32.973.1
ISBN 978-5-9729-1574-3 Ȼɢɡɹɧɨɜ ȿ. ȿ., 2024
Ⱦɨɧɛɚɫɫɤɢɣ ɝɨɫɭɞɚɪɫɬɜɟɧɧɵɣ ɬɟɯɧɢɱɟɫɤɢɣ ɭɧɢɜɟɪɫɢɬɟɬ, 2024
ɂɡɞɚɬɟɥɶɫɬɜɨ «ɂɧɮɪɚ-ɂɧɠɟɧɟɪɢɹ», 2024
Ɉɮɨɪɦɥɟɧɢɟ. ɂɡɞɚɬɟɥɶɫɬɜɨ «ɂɧɮɪɚ-ɂɧɠɟɧɟɪɢɹ», 2024

ʠʝʓʔʟʕʏʜʗʔ
ɋɈȾȿɊɀȺɇɂȿ ........................................................................................................... 3
ȼȼȿȾȿɇɂȿ .................................................................................................................. 5
1. ɄɊȺɌɄɂȿ ɋȼȿȾȿɇɂə Ɉ ɋɂɋɌȿɆɇɈɆ ɉɊɈȽɊȺɆɆɂɊɈȼȺɇɂɂ ............. 6
1.1. ɉɪɟɞɦɟɬ ɢ ɡɚɞɚɱɢ ɫɢɫɬɟɦɧɨɝɨ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ........................................... 6
1.2. Ɉɛɡɨɪ ɫɪɟɞɫɬɜ ɫɢɫɬɟɦɧɨɝɨ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ................................................. 6
1.3. ɉɪɟɪɵɜɚɧɢɹ ......................................................................................................... 15
1.3.1. Ʉɥɚɫɫɢɮɢɤɚɰɢɹ ɩɪɟɪɵɜɚɧɢɣ .................................................................... 15
1.3.2. Ʉɨɧɬɪɨɥɥɟɪ ɚɩɩɚɪɚɬɧɵɯ ɩɪɟɪɵɜɚɧɢɣ ..................................................... 18
1.4. ɉɪɨɝɪɚɦɦɵ .......................................................................................................... 20
1.5. Ʉɨɧɬɪɨɥɶɧɵɟ ɜɨɩɪɨɫɵ ɤ ɪɚɡɞɟɥɭ 1 ................................................................... 21
2. əɁɕɄɂ ɋɂɋɌȿɆɇɈȽɈ ɉɊɈȽɊȺɆɆɂɊɈȼȺɇɂə ......................................... 23
2.1. Ɉɫɧɨɜɵ ɹɡɵɤɚ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ɋɢ .............................................................. 23
2.1.1. ɉɟɪɟɦɟɧɧɵɟ, ɤɨɧɫɬɚɧɬɵ, ɜɵɪɚɠɟɧɢɹ ɢ ɨɩɟɪɚɰɢɢ ................................. 24
2.1.2. Ɉɩɟɪɚɬɨɪɵ ɭɩɪɚɜɥɟɧɢɹ ɋɢ ...................................................................... 35
2.1.3. Ɏɭɧɤɰɢɢ..................................................................................................... 44
2.2. Ɉɫɧɨɜɵ ɹɡɵɤɚ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ Ⱥɫɫɟɦɛɥɟɪ ................................................ 47
2.2.1. ɋɬɪɭɤɬɭɪɚ ɩɪɨɝɪɚɦɦɵ ɧɚ Ⱥɫɫɟɦɛɥɟɪɟ ................................................... 47
2.2.2. ɋɢɧɬɚɤɫɢɫ ɤɨɦɚɧɞ Ⱥɫɫɟɦɛɥɟɪɚ ............................................................... 48
2.2.3. Ɍɢɩɵ ɞɚɧɧɵɯ ɢ ɩɟɪɟɦɟɧɧɵɟ .................................................................... 48
2.2.4. ɉɟɪɟɫɵɥɤɚ, ɚɞɪɟɫɚɰɢɹ ɢ ɨɛɦɟɧ ɞɚɧɧɵɦɢ ............................................... 50
2.2.5. Ⱥɪɢɮɦɟɬɢɱɟɫɤɢɟ ɢ ɥɨɝɢɱɟɫɤɢɟ ɨɩɟɪɚɰɢɢ .............................................. 53
2.2.6. ɍɩɪɚɜɥɟɧɢɟ ɯɨɞɨɦ ɜɵɩɨɥɧɟɧɢɹ ɩɪɨɝɪɚɦɦɵ .......................................... 57
2.3. ɂɧɬɟɪɮɟɣɫ ɹɡɵɤɨɜ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ɜɵɫɨɤɨɝɨ ɭɪɨɜɧɹ,
ɋɢ ɢ Ⱥɫɫɟɦɛɥɟɪɚ ........................................................................................................ 61
2.3.1. Ⱥɫɫɟɦɛɥɟɪɧɵɟ ɜɫɬɚɜɤɢ ............................................................................. 62
2.3.2. ɉɨɞɤɥɸɱɟɧɢɟ ɞɢɧɚɦɢɱɟɫɤɢɯ ɛɢɛɥɢɨɬɟɤ ................................................ 69
2.4. Ʉɨɧɬɪɨɥɶɧɵɟ ɜɨɩɪɨɫɵ ɤ ɪɚɡɞɟɥɭ
2 ................................................................... 72
3. ɉɊɈȽɊȺɆɆɂɊɈȼȺɇɂȿ ȺɉɉȺɊȺɌɇɕɏ ɋɊȿȾɋɌȼ .................................... 75
3.1. ȼɜɨɞ ɫ ɤɥɚɜɢɚɬɭɪɵ ɢ ɜɵɜɨɞ ɧɚ ɷɤɪɚɧ ............................................................... 75
3.2. Ⱦɢɫɤɨɜɵɟ ɧɚɤɨɩɢɬɟɥɢ ........................................................................................ 83
3.2.1. Ɋɚɛɨɬɚ ɫ ɞɢɫɤɚɦɢ ...................................................................................... 84
3.2.2. Ɋɚɛɨɬɚ ɫ ɤɚɬɚɥɨɝɚɦɢ ................................................................................. 88
3

3.2.3. Ɋɚɛɨɬɚ ɫ ɮɚɣɥɚɦɢ ...................................................................................... 92
3.3. ɉɨɪɬɵ ɜɜɨɞɚ-ɜɵɜɨɞɚ .......................................................................................... 95
3.3.1. Ɉɛɳɢɟ ɫɜɟɞɟɧɢɹ ɨ ɩɨɪɬɚɯ ɜɜɨɞɚ-ɜɵɜɨɞɚ ................................................ 95
3.3.2. ɉɚɪɚɥɥɟɥɶɧɵɣ ɩɨɪɬ .................................................................................. 96
3.3.3. ɉɨɫɥɟɞɨɜɚɬɟɥɶɧɵɣ ɩɨɪɬ ......................................................................... 100
3.3.4. ɉɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟ USB [7, 8] .............................................................. 115
3.4. Ʉɨɧɬɪɨɥɶɧɵɟ ɜɨɩɪɨɫɵ ɤ ɪɚɡɞɟɥɭ 3 ................................................................. 145
4. ɋɅɍɀȻɕ WINDOWS ɂ ȾȿɆɈɇɕ LINUX .................................................... 147
4.1. ɋɥɭɠɛɵ Windows [9] ........................................................................................ 147
4.1.1. ɋɬɪɭɤɬɭɪɚ ɫɥɭɠɛɵ .................................................................................. 147
4.1.2. Ɋɟɝɢɫɬɪɚɰɢɹ ɢ ɡɚɩɭɫɤ ɫɥɭɠɛɵ ............................................................... 152
4.1.3. ɇɚɫɬɪɨɣɤɚ ɫɨɫɬɨɹɧɢɹ ɫɥɭɠɛɵ ............................................................... 153
4.1.4. ɉɪɨɝɪɚɦɦɧɵɣ ɤɨɞ ɫɥɭɠɛɵ .................................................................... 156
4.2. Ⱦɟɦɨɧɵ Linux [10] ............................................................................................ 160
4.2.1. Ȼɚɡɨɜɵɟ ɩɨɥɨɠɟɧɢɹ ................................................................................ 160
4.3. Ʉɨɧɬɪɨɥɶɧɵɟ ɜɨɩɪɨɫɵ
ɪɚɡɞɟɥɭ 4 ................................................................. 166
ɤ
ɉȿɊȿɑȿɇɖ ɋɋɕɅɈɄ ............................................................................................. 167
ɉɊɂɅɈɀȿɇɂȿ Ⱥ. ȻɂȻɅɂɈɌȿɄɂ əɁɕɄȺ ɋɂ ................................................. 168
Ⱥ.1. Ȼɢɛɥɢɨɬɟɤɚ ɜɜɨɞɚ-ɜɵɜɨɞɚ stdio ...................................................................... 168
Ⱥ.2. Ȼɢɛɥɢɨɬɟɤɚ ɮɭɧɤɰɢɣ ɚɧɚɥɢɡɚ ɫɢɦɜɨɥɨɜ ctype .............................................. 172
Ⱥ.3. Ȼɢɛɥɢɨɬɟɤɚ ɮɭɧɤɰɢɣ ɪɚɛɨɬɵ ɫɨ ɫɬɪɨɤɚɦɢ string .......................................... 172
Ⱥ.4. Ȼɢɛɥɢɨɬɟɤɚ ɦɚɬɟɦɚɬɢɱɟɫɤɢɯ ɮɭɧɤɰɢɣ math ................................................. 174
Ⱥ.5. ȼɫɩɨɦɨɝɚɬɟɥɶɧɵɟ ɮɭɧɤɰɢɢ ............................................................................ 176
Ⱥ.6. Ɇɚɤɪɨɫ ɞɥɹ ɞɢɚɝɧɨɫɬɢɤɢ ................................................................................. 179
Ⱥ.7. ɋɢɫɬɟɦɧɨ ɡɚɜɢɫɢɦɵɟ ɤɨɧɫɬɚɧɬɵ .................................................................... 179
Ⱥ.8. Ȼɢɛɥɢɨɬɟɤɢ ɞɚɬɵ ɢ ɜɪɟɦɟɧɢ ........................................................................... 181
ɉɊɂɅɈɀȿɇɂȿ Ȼ. ɈɉɊȿȾȿɅȿɇɂȿ ɄɈɇɋɌȺɇɌ ȾɅə
ɉɊɈȽɊȺɆɆɂɊɈȼȺɇɂə USB .............................................................................. 184
4

ʑʑʔʓʔʜʗʔ
ɋɢɫɬɟɦɧɨɟ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟ ɧɚɰɟɥɟɧɨ, ɜ ɩɟɪɜɭɸ ɨɱɟɪɟɞɶ, ɧɚ ɫɨɡɞɚɧɢɟ
ɩɪɨɝɪɚɦɦɧɵɯ ɦɨɞɭɥɟɣ ɢ ɩɪɨɝɪɚɦɦ, ɨɛɟɫɩɟɱɢɜɚɸɳɢɯ ɧɚɞɟɠɧɵɣ ɢ ɷɮɮɟɤɬɢɜɧɵɣ
ɢɧɬɟɪɮɟɣɫ ɦɟɠɞɭ ɚɩɩɚɪɚɬɧɨɣ ɱɚɫɬɶɸ ɜɵɱɢɫɥɢɬɟɥɶɧɨɣ ɫɢɫɬɟɦɵ ɢ ɩɪɢɤɥɚɞɧɵɦɢ
ɩɪɨɝɪɚɦɦɚɦɢ ɩɨɥɶɡɨɜɚɬɟɥɹ.
ɉɪɨɝɪɚɦɦɧɨɟ ɨɛɟɫɩɟɱɟɧɢɟ, ɪɚɛɨɬɚɸɳɟɟ ɧɚ ɤɨɦɩɶɸɬɟɪɟ, ɪɚɡɞɟɥɹɸɬ ɧɚ ɫɢɫɬɟɦɧɨɟ ɢ ɩɪɢɤɥɚɞɧɨɟ. ɉɪɢɤɥɚɞɧɨɟ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟ ɧɚɰɟɥɟɧɨ ɧɚ ɜɵɫɨɤɨɭɪɨɜɧɟɜɭɸ ɪɚɡɪɚɛɨɬɤɭ ɩɪɨɝɪɚɦɦ ɫ ɝɪɚɮɢɱɟɫɤɢɦ ɢɧɬɟɪɮɟɣɫɨɦ ɫ ɢɫɩɨɥɶɡɨɜɚɧɢɟɦ
ɹɡɵɤɨɜ ɜɵɫɨɤɨɝɨ ɭɪɨɜɧɹ (ɧɚɩɪɢɦɟɪ, C++, ɋ#, Object Pascal ɢɥɢ Java). ɉɪɨɝɪɚɦɦɢɫɬɭ, ɫɨɡɞɚɸɳɟɦɭ ɩɪɢɤɥɚɞɧɵɟ ɩɪɨɝɪɚɦɦɵ, ɧɟɨɛɹɡɚɬɟɥɶɧɨ ɡɧɚɬɶ ɜɨ ɜɫɟɯ ɩɨɞɪɨɛɧɨɫɬɹɯ ɜɧɭɬɪɟɧɧɟɟ ɭɫɬɪɨɣɫɬɜɨ ɤɨɦɩɶɸɬɟɪɚ. Ɉɫɨɛɟɧɧɨɫɬɶ ɫɢɫɬɟɦɧɨɝɨ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ɫɨɫɬɨɢɬ ɜ ɬɨɦ, ɱɬɨ ɩɪɨɝɪɚɦɦɢɫɬɵ ɞɨɥɠɧɵ ɨɛɥɚɞɚɬɶ ɝɥɭɛɨɤɢɦɢ
ɡɧɚɧɢɹɦɢ ɨɛ ɚɩɩɚɪɚɬɧɵɯ ɫɪɟɞɫɬɜɚɯ ɤɨɦɩɶɸɬɟɪɚ, ɚ ɬɚɤɠɟ ɨɛ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɟ, ɫ ɤɨɬɨɪɨɣ ɨɧɢ ɪɚɛɨɬɚɸɬ.
ȼ ɩɨɫɨɛɢɢ ɪɚɫɫɦɚɬɪɢɜɚɸɬɫɹ ɛɚɡɨɜɵɟ
ɩɪɢɧɰɢɩɵ ɫɨɡɞɚɧɢɹ ɫɢɫɬɟɦɧɵɯ ɩɪɨɝɪɚɦɦ ɢ ɦɨɞɭɥɟɣ (ɢɫɤɥɸɱɚɹ ɦɨɞɭɥɢ ɨɩɟɪɚɰɢɨɧɧɵɯ ɫɢɫɬɟɦ) ɫ ɢɫɩɨɥɶɡɨɜɚɧɢɟɦ
ɹɡɵɤɨɜ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ɧɢɡɤɨɝɨ ɭɪɨɜɧɹ ɋɢ ɢ Ⱥɫɫɟɦɛɥɟɪ. Ⱦɥɹ ɬɨɝɨ ɱɬɨɛɵ
ɫɬɭɞɟɧɬɵ ɦɨɝɥɢ ɩɪɢɦɟɧɢɬɶ ɭɤɚɡɚɧɧɵɟ ɹɡɵɤɢ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ, ɜ ɩɨɫɨɛɢɟ ɜɜɟɞɟɧ ɨɬɞɟɥɶɧɵɣ ɪɚɡɞɟɥ, ɜ ɤɨɬɨɪɨɦ ɩɪɢɜɟɞɟɧɵ ɧɟɨɛɯɨɞɢɦɵɟ ɫɜɟɞɟɧɢɹ ɨ ɋɢ ɢ Ⱥɫɫɟɦɛɥɟɪɟ. Ɍɚɤɠɟ ɪɚɫɫɦɨɬɪɟɧɵ ɦɟɬɨɞɵ ɜɫɬɪɚɢɜɚɧɢɹ ɮɪɚɝɦɟɧɬɨɜ
ɚɫɫɟɦɛɥɟɪɧɨɝɨ
ɤɨɞɚ ɜ ɩɪɨɝɪɚɦɦɵ ɧɚ ɹɡɵɤɚɯ ɜɵɫɨɤɨɝɨ ɭɪɨɜɧɹ ɢ ɩɨɞɤɥɸɱɟɧɢɹ ɩɨɞɩɪɨɝɪɚɦɦ,
ɧɚɩɢɫɚɧɧɵɯ ɧɚ Ⱥɫɫɟɦɛɥɟɪɟ ɤ ɩɪɨɝɪɚɦɦɚɦ, ɧɚɩɢɫɚɧɧɵɦ ɧɚ ɞɪɭɝɢɯ ɹɡɵɤɚɯ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ. ɋɜɟɞɟɧɢɹ ɨ ɋɢ ɢ Ⱥɫɫɟɦɛɥɟɪɟ ɩɪɟɞɫɬɚɜɥɟɧɵ ɜ ɨɛɴɟɦɟ, ɞɨɫɬɚɬɨɱɧɨɦ ɞɥɹ ɫɨɡɞɚɧɢɹ ɫɢɫɬɟɦɧɵɯ ɩɪɨɝɪɚɦɦ.
Ɂɧɚɱɢɬɟɥɶɧɚɹ ɱɚɫɬɶ ɩɨɫɨɛɢɹ ɩɨɫɜɹɳɟɧɚ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɸ ɚɩɩɚɪɚɬɧɵɯ
ɫɪɟɞɫɬɜ: ɭɫɬɪɨɣɫɬɜ ɜɜɨɞɚ/ɜɵɜɨɞɚ, ɞɢɫɤɨɜ. ɉɨɞɪɨɛɧɨ ɪɚɫɫɦɨɬɪɟɧɨ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟ
ɩɨɪɬɨɜ ɜɜɨɞɚ-ɜɵɜɨɞɚ, ɢɫɩɨɥɶɡɭɸɳɢɯ ɢɧɬɟɪɮɟɣɫɵ LPT, COM ɢ USB.
Ⱦɥɹ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ɪɚɡɧɨɪɨɞɧɵɯ ɭɫɬɪɨɣɫɬɜ ɧɟɨɛɯɨɞɢɦɨ ɡɧɚɬɶ ɚɩɩɚɪɚɬɧɵɟ ɪɟɝɢɫɬɪɵ, ɧɚɫɬɪɨɣɤɚ ɤɨɬɨɪɵɯ ɩɨɡɜɨɥɹɟɬ ɩɪɨɱɢɬɚɬɶ ɢɧɮɨɪɦɚɰɢɸ ɨɛ
ɭɫɬɪɨɣɫɬɜɚɯ, ɡɚɞɚɬɶ ɢɯ ɩɚɪɚɦɟɬɪɵ, ɨɩɪɟɞɟɥɢɬɶ ɪɟɠɢɦɵ ɪɚɛɨɬɵ ɢ ɬ. ɩ.
ȼ ɡɚɜɟɪɲɚɸɳɟɦ ɪɚɡɞɟɥɟ ɩɨɫɨɛɢɹ ɪɚɫɫɦɚɬɪɢɜɚɟɬɫɹ ɫɨɡɞɚɧɢɟ ɫɩɟɰɢɮɢɱɟɫɤɢɯ ɫɢɫɬɟɦɧɵɯ ɩɪɨɝɪɚɦɦ: ɫɥɭɠɛ Windows ɢ ɞɟɦɨɧɨɜ Linux.
Ȼɨɥɶɲɚɹ ɱɚɫɬɶ ɩɪɢɦɟɪɨɜ ɩɪɢɜɟɞɟɧɚ ɤɚɤ ɜ
ɜɢɞɟ ɩɪɨɝɪɚɦɦ ɧɚ ɋɢ, ɬɚɤ ɢ ɧɚ
Ⱥɫɫɟɦɛɥɟɪɟ. Ʉɪɨɦɟ ɬɨɝɨ, ɪɚɫɫɦɨɬɪɟɧɵ ɜɚɪɢɚɧɬɵ ɪɟɚɥɢɡɚɰɢɢ ɞɥɹ ɧɚɢɛɨɥɟɟ ɪɚɫɩɪɨɫɬɪɚɧɟɧɧɵɯ ɨɩɟɪɚɰɢɨɧɧɵɯ ɫɢɫɬɟɦ Windows ɢ Linux.
ɉɪɟɞɩɨɥɚɝɚɟɬɫɹ, ɱɬɨ ɱɢɬɚɬɟɥɶ ɡɧɚɤɨɦ ɫ ɫɭɳɟɫɬɜɭɸɳɢɦɢ ɫɢɫɬɟɦɚɦɢ ɫɱɢɫɥɟɧɢɹ, ɢɫɩɨɥɶɡɭɟɦɵɯ ɜ ɤɨɦɩɶɸɬɟɪɧɵɯ ɩɪɨɝɪɚɦɦɚɯ: ɞɜɨɢɱɧɨɣ ɢ ɲɟɫɬɧɚɞɰɚɬɟɪɢɱɧɨɣ, ɚ ɬɚɤɠɟ ɡɧɚɟɬ ɫɩɨɫɨɛɵ ɡɚɞɚɧɢɹ ɱɢɫɟɥ ɜ ɷɬɢɯ ɫɢɫɬɟɦɚɯ ɫɱɢɫɥɟɧɢɹ ɢ ɨɫɨɛɟɧɧɨɫɬɢ ɚɪɢɮɦɟɬɢɱɟɫɤɢɯ
ɢ ɥɨɝɢɱɟɫɤɢɯ ɨɩɟɪɚɰɢɣ ɫ ɧɢɦɢ.
Ⱥɜɬɨɪ ɜɵɪɚɠɚɟɬ ɛɥɚɝɨɞɚɪɧɨɫɬɶ ɪɟɰɟɧɡɟɧɬɚɦ ɡɚ ɜɵɫɤɚɡɚɧɧɵɟ ɪɟɤɨɦɟɧɞɚɰɢɢ
ɢ ɩɨɠɟɥɚɧɢɹ, ɩɨɡɜɨɥɢɜɲɢɟ ɭɥɭɱɲɢɬɶ ɩɪɟɞɫɬɚɜɥɟɧɧɵɣ ɜ ɩɨɫɨɛɢɢ ɦɚɬɟɪɢɚɥ.
5

1.ʙʟʏʡʙʗʔʠʑʔʓʔʜʗʮʝʠʗʠʡʔʛʜʝʛ
ʞʟʝʒʟʏʛʛʗʟʝʑʏʜʗʗ
ɋɢɫɬɟɦɧɨɟ ɩɪɨɝɪɚɦɦɧɨɟ ɨɛɟɫɩɟɱɟɧɢɟ ɩɪɟɞɫɬɚɜɥɹɟɬ ɫɨɛɨɣ ɤɨɦɩɥɟɤɫ ɭɩɪɚɜɥɹɸɳɢɯ ɢ ɨɛɪɚɛɚɬɵɜɚɸɳɢɯ ɩɪɨɝɪɚɦɦ, ɨɩɢɫɚɧɢɣ ɢ ɢɧɫɬɪɭɤɰɢɣ, ɨɛɟɫɩɟɱɢɜɚɸɳɢɯ ɮɭɧɤɰɢɨɧɢɪɨɜɚɧɢɟ ɜɵɱɢɫɥɢɬɟɥɶɧɨɣ ɫɢɫɬɟɦɵ, ɚ ɬɚɤɠɟ ɪɚɡɪɚɛɨɬɤɭ ɢ ɢɫɩɨɥɧɟɧɢɟ ɩɪɨɝɪɚɦɦ ɩɨɥɶɡɨɜɚɬɟɥɟɣ. ɋɨɫɬɚɜ ɫɢɫɬɟɦɧɨɝɨ ɩɪɨɝɪɚɦɦɧɨɝɨ ɨɛɟɫɩɟɱɟɧɢɹ
ɦɚɥɨ ɡɚɜɢɫɢɬ ɨɬ ɯɚɪɚɤɬɟɪɚ ɪɟɲɚɟɦɵɯ ɡɚɞɚɱ ɩɨɥɶɡɨɜɚɬɟɥɟɣ [1].
Ʉ ɡɚɞɚɱɚɦ ɫɢɫɬɟɦɧɨɝɨ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ɦɨɠɧɨ ɨɬɧɟɫɬɢ:
1.1. ɉɪɟɞɦɟɬ ɢ ɡɚɞɚɱɢ ɫɢɫɬɟɦɧɨɝɨ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ
ɪɚɡɪɚɛɨɬɤɭ ɦɨɞɭɥɟɣ ɨɩɟɪɚɰɢɨɧɧɵɯ ɫɢɫɬɟɦ (ɜɤɥɸɱɚɹ ɹɞɪɨ
), ɨɛɟɫɩɟ-
ɱɢɜɚɸɳɢɯ ɜɡɚɢɦɨɞɟɣɫɬɜɢɟ ɚɩɩɚɪɚɬɧɵɯ ɫɪɟɞɫɬɜ ɜɵɱɢɫɥɢɬɟɥɶɧɨɣ ɫɢɫɬɟɦɵ ɢ ɩɪɢɤɥɚɞɧɵɯ ɩɪɨɝɪɚɦɦ;
ɪɚɡɪɚɛɨɬɤɭ ɬɪɚɧɫɥɹɬɨɪɨɜ, ɤɨɦɩɢɥɹɬɨɪɨɜ;
ɪɚɡɪɚɛɨɬɤɭ ɡɚɝɪɭɡɱɢɤɨɜ ɢ ɩɪɨɝɪɚɦɦ ɫɜɹɡɵɜɚɧɢɹ;
ɪɚɡɪɚɛɨɬɤɭ ɞɪɚɣɜɟɪɨɜ ɭɫɬɪɨɣɫɬɜ;
ɪɚɡɪɚɛɨɬɤɭ ɫɥɭɠɛ (Windows) ɢ ɞɟɦɨɧɨɜ (Linux);
ɢ ɞɪɭɝɢɟ.
ɇɚ ɧɚɫɬɨɹɳɢɣ ɦɨɦɟɧɬ ɜɵɩɭɫɤɚɟɬɫɹ ɞɨɫɬɚɬɨɱɧɨ ɲɢɪɨɤɢɣ ɪɹɞ ɦɨɞɢɮɢɤɚɰɢɣ
ɜɵɱɢɫɥɢɬɟɥɶɧɵɯ ɦɚɲɢɧ, ɩɨɷɬɨɦɭ ɩɪɢ ɫɨɡɞɚɧɢɢ ɫɢɫɬɟɦɧɵɯ ɩɪɨɝɪɚɦɦ ɧɟɨɛɯɨɞɢɦɨ
ɭɱɢɬɵɜɚɬɶ ɫɩɟɰɢɮɢɱɟɫɤɢɟ ɫɜɨɣɫɬɜɚ ɢ ɩɚɪɚɦɟɬɪɵ ɚɩɩɚɪɚɬɧɨɣ ɱɚɫɬɢ, ɨɩɬɢɦɢɡɢɪɭɹ ɩɪɢ ɷɬɨɦ ɩɪɨɝɪɚɦɦɧɵɣ ɤɨɞ ɫ ɰɟɥɶɸ ɭɜɟɥɢɱɟɧɢɹ ɛɵɫɬɪɨɞɟɣɫɬɜɢɹ ɢ ɦɢɧɢɦɢɡɚɰɢɢ ɢɫɩɨɥɶɡɭɟɦɨɣ ɩɚɦɹɬɢ. ɇɟɫɦɨɬɪɹ ɧɚ ɬɨ, ɱɬɨ ɜɵɱɢɫɥɢɬɟɥɶɧɚɹ ɦɨɳɧɨɫɬɶ ɩɪɨɰɟɫɫɨɪɨɜ ɢ ɨɛɴɟɦɵ ɩɚɦɹɬɢ ɤɨɦɩɶɸɬɟɪɨɜ ɧɟɩɪɟɪɵɜɧɨ ɜɨɡɪɚɫɬɚɸɬ, ɜɨɩɪɨɫɵ ɨɩɬɢɦɢɡɚɰɢɢ ɩɪɨɝɪɚɦɦɧɨɝɨ ɤɨɞɚ ɨɫɬɚɸɬɫɹ ɚɤɬɭɚɥɶɧɵɦɢ.
ɉɨɫɬɨɹɧɧɨ ɪɚɫɬɭɳɢɣ ɨɛɴɟɦ ɩɪɨɝɪɚɦɦ, ɭɜɟɥɢɱɟɧɢɟ ɤɨɥɢɱɟɫɬɜɚ ɫɢɫɬɟɦɧɵɯ
ɛɢɛɥɢɨɬɟɤ
, ɪɚɫɲɢɪɟɧɢɟ ɧɨɦɟɧɤɥɚɬɭɪɵ ɚɩɩɚɪɚɬɧɨɝɨ ɨɛɟɫɩɟɱɟɧɢɹ ɭɫɥɨɠɧɹɟɬ ɪɚɛɨɬɭ ɫɢɫɬɟɦɧɨɝɨ ɩɪɨɝɪɚɦɦɢɫɬɚ, ɚ ɬɚɤɠɟ ɩɨɜɵɲɚɟɬ ɬɪɟɛɨɜɚɧɢɹ ɤ ɫɢɫɬɟɦɧɵɦ
ɩɪɨɝɪɚɦɦɚɦ: ɨɧɢ ɞɨɥɠɧɵ ɧɟ ɬɨɥɶɤɨ ɪɟɲɚɬɶ ɩɨɫɬɚɜɥɟɧɧɵɟ ɡɚɞɚɱɢ, ɧɨ ɢ ɨɛɪɚɛɚɬɵɜɚɬɶ ɨɲɢɛɤɢ, ɨɛɟɫɩɟɱɢɜɚɹ ɩɪɢ ɷɬɨɦ ɪɚɛɨɬɨɫɩɨɫɨɛɧɨɫɬɶ ɨɛɨɪɭɞɨɜɚɧɢɹ ɢ ɩɪɢɤɥɚɞɧɵɯ ɩɪɨɝɪɚɦɦ.
Ɍɚɤɢɦ ɨɛɪɚɡɨɦ, ɤɚɱɟɫɬɜɟɧɧɵɟ ɫɢɫɬɟɦɧɵɟ ɩɪɨɝɪɚɦɦɵ ɞɨɥɠɧɵ ɪɚɛɨɬɚɬɶ ɧɚ
ɥɸɛɨɦ ɨɛɨɪɭɞɨɜɚɧɢɢ ɢ ɩɨɞ ɭɩɪɚɜɥɟɧɢɟɦ
ɡɚɞɚɧɧɨɣ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɵ.
1.2. Ɉɛɡɨɪ ɫɪɟɞɫɬɜ ɫɢɫɬɟɦɧɨɝɨ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ
Ʉ ɫɪɟɞɫɬɜɚɦ ɫɢɫɬɟɦɧɨɝɨ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ɨɬɧɨɫɹɬɫɹ ɹɡɵɤɢ ɩɪɨɝɪɚɦɦɢ-
ɪɨɜɚɧɢɹ, ɤɨɦɚɧɞɧɵɟ ɢ ɝɪɚɮɢɱɟɫɤɢɟ ɨɛɨɥɨɱɤɢ.
ɂɡɧɚɱɚɥɶɧɨ ɫɢɫɬɟɦɧɵɟ ɩɪɨɝɪɚɦɦɵ ɡɚɩɢɫɵɜɚɥɢ ɜ ɦɚɲɢɧɧɨɦ ɤɨɞɟ (ɤɨɞɟ
ɤɨɦɚɧɞ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ), ɱɬɨ, ɫ ɨɞɧɨɣ ɫɬɨɪɨɧɵ, ɨɛɟɫɩɟɱɢɜɚɥɨ ɧɚɢɜɵɫɲɭɸ
ɨɩɬɢɦɚɥɶɧɨɫɬɶ ɩɪɨɝɪɚɦɦ, ɧɨ, ɫ ɞɪɭɝɨɣ ɫɬɨɪɨɧɵ ɬɪɟɛɨɜɚɥɨ ɜɵɫɨɱɚɣɲɟɣ ɤɜɚɥɢɮɢɤɚɰɢɢ ɨɬ ɫɢɫɬɟɦɧɵɯ ɩɪɨɝɪɚɦɦɢɫɬɨɜ, ɤɨɬɨɪɵɟ ɞɨɥɠɧɵ
ɛɵɥɢ ɡɧɚɬɶ ɧɟ ɬɨɥɶɤɨ
ɫɢɫɬɟɦɭ ɤɨɦɚɧɞ ɞɥɹ ɤɨɧɤɪɟɬɧɨɝɨ ɩɪɨɰɟɫɫɨɪɚ, ɧɨ ɢ ɨɫɨɛɟɧɧɨɫɬɢ ɧɚɫɬɪɨɣɤɢ ɢ
6

ɮɭɧɤɰɢɨɧɢɪɨɜɚɧɢɹ ɤɨɧɤɪɟɬɧɨɝɨ ɨɛɨɪɭɞɨɜɚɧɢɹ, ɩɨɞɤɥɸɱɟɧɧɨɝɨ ɤ ɩɪɨɰɟɫɫɨɪɭ.
ɉɪɨɝɪɚɦɦɚ ɜ ɦɚɲɢɧɧɨɦ ɤɨɞɟ ɜɵɝɥɹɞɟɥɚ ɩɪɢɦɟɪɧɨ ɬɚɤ, ɤɚɤ ɩɨɤɚɡɚɧɨ ɧɚ ɪɢɫɭɧɤɟ 1.1.
Ɋɢɫɭɧɨɤ 1.1. Ɏɪɚɝɦɟɧɬ ɩɪɨɝɪɚɦɦɵ ɜ ɦɚɲɢɧɧɨɦ ɤɨɞɟ
ɉɨɹɜɥɟɧɢɟ ɹɡɵɤɨɜ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ɧɢɡɤɨɝɨ ɢ ɜɵɫɨɤɨɝɨ ɭɪɨɜɧɹ ɩɨɡɜɨɥɢɥɨ ɫɭɳɟɫɬɜɟɧɧɨ ɮɨɪɦɚɥɢɡɨɜɚɬɶ ɩɪɨɰɟɫɫ ɪɚɡɪɚɛɨɬɤɢ ɫɢɫɬɟɦɧɵɯ ɩɪɨɝɪɚɦɦ, ɬɚɤ
ɤɚɤ ɤɨɦɚɧɞɵ Ⱥɫɫɟɦɛɥɟɪɚ ɢɥɢ ɋɢ ɫɬɚɥɢ ɜɵɝɥɹɞɟɬɶ ɩɪɢɦɟɪɧɨ ɨɞɢɧɚɤɨɜɨ ɜ ɩɪɨɝɪɚɦɦɚɯ ɞɥɹ Windows, Linux ɢ ɞɪɭɝɢɯ ɨɩɟɪɚɰɢɨɧɧɵɯ ɫɢɫɬɟɦ.
ɋɨɜɪɟɦɟɧɧɵɟ ɨɩɟɪɚɰɢɨɧɧɵɟ ɫɢɫɬɟɦɵ ɜɤɥɸɱɚɸɬ ɜ ɫɜɨɣ ɫɨɫɬɚɜ ɝɪɚɮɢɱɟɫɤɢɟ
ɫɪɟɞɫɬɜɚ ɜɡɚɢɦɨɞɟɣɫɬɜɢɹ ɫ ɩɨɥɶɡɨɜɚɬɟɥɟɦ, ɨɪɝɚɧɢɡɨɜɚɧɧɵɟ ɜ ɜɢɞɟ ɨɤɨɧɧɨɝɨ ɢɧɬɟɪɮɟɣɫɚ. ɇɟ ɨɫɬɚɥɢɫɶ ɜ ɫɬɨɪɨɧɟ ɢ ɪɚɡɪɚɛɨɬɱɢɤɢ ɝɪɚɮɢɱɟɫɤɢɯ ɨɛɨɥɨɱɟɤ ɞɥɹ ɫɢɫɬɟɦɧɨɝɨ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ. Ɉɛɨɥɨɱɤɢ ɞɥɹ ɚɫɫɟɦɛɥɟɪɨɜ, ɞɥɹ ɤɨɦɩɢɥɹɬɨɪɨɜ
ɹɡɵɤɨɜ ɋɢ ɢ ɋ++, ɨɬɥɚɞɱɢɤɢ ɢ ɞɪɭɝɢɟ ɫɪɟɞɫɬɜɚ ɫɭɳɟɫɬɜɟɧɧɨ ɭɩɪɨɳɚɸɬ ɪɚɡɪɚɛɨɬɤɭ ɢ ɧɚɥɚɞɤɭ ɩɪɨɝɪɚɦɦ.
Ɋɚɫɫɦɨɬɪɢɦ ɫɢɫɬɟɦɧɵɟ ɪɟɫɭɪɫɵ ɩɟɪɫɨɧɚɥɶɧɨɝɨ ɤɨɦɩɶɸɬɟɪɚ.
Ⱦɥɹ ɬɨɝɨ, ɱɬɨɛɵ ɫɨɡɞɚɜɚɬɶ ɫɢɫɬɟɦɧɨɟ ɩɪɨɝɪɚɦɦɧɨɟ ɨɛɟɫɩɟɱɟɧɢɟ, ɧɟɨɛɯɨɞɢɦɨ ɡɧɚɬɶ ɫɚɦ ɨɛɴɟɤɬ – ɤɨɦɩɶɸɬɟɪ
: ɤɚɤɨɣ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪ ɢɫɩɨɥɶɡɭɟɬɫɹ,
ɫɤɨɥɶɤɨ ɨɩɟɪɚɬɢɜɧɨɣ ɩɚɦɹɬɢ ɞɨɫɬɭɩɧɨ, ɤɚɤɨɟ ɨɛɨɪɭɞɨɜɚɧɢɟ ɢɦɟɟɬɫɹ ɜ ɫɢɫɬɟɦɟ
ɢ ɩɪ.
ɋɨɜɪɟɦɟɧɧɵɟ ɗȼɆ (ɤɨɦɩɶɸɬɟɪɵ) ɩɨɫɬɪɨɟɧɵ ɩɨ ɚɪɯɢɬɟɤɬɭɪɟ ɮɨɧ ɇɟɣɦɚɧɚ, ɜ ɤɨɬɨɪɨɣ ɝɥɚɜɧɵɦ ɭɫɬɪɨɣɫɬɜɨɦ ɹɜɥɹɟɬɫɹ ɩɪɨɰɟɫɫɨɪ, ɪɟɚɥɢɡɭɸɳɢɣ ɨɫɧɨɜɧɵɟ ɦɚɬɟɦɚɬɢɱɟɫɤɢɟ ɨɩɟɪɚɰɢɢ ɢ ɨɫɭɳɟɫɬɜɥɹɸɳɢɣ ɭɩɪɚɜɥɟɧɢɟ ɜɫɟɣ ɫɢɫɬɟɦɨɣ.
ȼ ɫɨɫɬɚɜ ɗȼɆ ɜɯɨɞɹɬ ɬɚɤɠɟ ɭɫɬɪɨɣɫɬɜɚ ɞɥɹ ɯɪɚɧɟɧɢɹ ɞɚɧɧɵɯ – ɜɧɭɬɪɟɧɧɹɹ ɢ
ɜɧɟɲɧɹɹ ɩɚɦɹɬɶ, ɲɢɧɵ ɞɥɹ ɨɛɦɟɧɚ ɞɚɧɧɵɦɢ ɢ ɩɟɪɟɞɚɱɢ ɫɢɝɧɚɥɨɜ ɭɩɪɚɜɥɟɧɢɹ, ɚ
ɬɚɤɠɟ ɝɪɭɩɩɵ ɜɫɩɨɦɨɝɚɬɟɥɶɧɵɯ ɭɫɬɪɨɣɫɬɜ ɞɥɹ ɪɟɚɥɢɡɚɰɢɢ ɛɚɡɨɜɵɯ ɨɩɟɪɚɰɢɣ
ɜɜɨɞɚ-ɜɵɜɨɞɚ ɞɚɧɧɵɯ, ɨɬɫɱɟɬɚ ɜɪɟɦɟɧɧɵɯ ɢɧɬɟɪɜɚɥɨɜ, ɯɪɚɧɟɧɢɹ ɞɚɧɧɵɯ ɢ ɬ. ɞ.
ɇɚ ɪɢɫɭɧɤɟ 1.2 ɢɡɨɛɪɚɠɟɧɨ ɭɫɬɪɨɣɫɬɜɨ ɩɟɪɫɨɧɚɥɶɧɨɣ ɗȼɆ (ɤɨɦɩɶɸɬɟɪɚ).
Ɋɚɫɫɦɨɬɪɢɦ ɩɪɢɜɟɞɟɧɧɭɸ ɫɯɟɦɭ ɩɨɞɪɨɛɧɟɟ.
ɉɪɨɰɟɫɫɨɪ (ɜ ɩɟɪɫɨɧɚɥɶɧɵɯ ɗȼɆ – ɦɢɤɪɨɩɪɨɰɟɫɫɨɪ Ɇɉ) ɫɨɞɟɪɠɢɬ ɫɥɟɞɭ-
ɸɳɢɟ ɨɫɧɨɜɧɵɟ
ɛɥɨɤɢ:
ɭɫɬɪɨɣɫɬɜɨ ɭɩɪɚɜɥɟɧɢɹ (ɍɍ), ɩɪɟɞɫɬɚɜɥɹɸɳɟɟ ɫɨɛɨɣ ɰɢɮɪɨɜɨɣ ɚɜɬɨɦɚɬ
ɫ ɦɢɤɪɨɩɪɨɝɪɚɦɦɧɵɦ ɭɩɪɚɜɥɟɧɢɟɦ, ɨɛɟɫɩɟɱɢɜɚɸɳɟɟ ɭɩɪɚɜɥɟɧɢɟ ɜɫɟɦɢ ɜɧɭɬɪɟɧɧɢɦɢ ɭɡɥɚɦɢ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ;
ɚɪɢɮɦɟɬɢɤɨ-ɥɨɝɢɱɟɫɤɨɟ ɭɫɬɪɨɣɫɬɜɨ (ȺɅɍ), ɪɟɚɥɢɡɭɸɳɟɟ ɚɪɢɮɦɟɬɢɱɟ-
ɫɤɢɟ ɢ ɥɨɝɢɱɟɫɤɢɟ ɨɩɟɪɚɰɢɢ ɫ ɰɟɥɨɱɢɫɥɟɧɧɵɦɢ ɞɚɧɧɵɦɢ;
7

ɜɧɭɬɪɟɧɧɸɸ ɩɚɦɹɬɶ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ, ɪɟɚɥɢɡɨɜɚɧɧɭɸ ɜ ɜɢɞɟ ɧɚɛɨɪɚ
ɢɦɟɧɨɜɚɧɧɵɯ ɹɱɟɟɤ (ɪɟɝɢɫɬɪɨɜ);
ɛɥɨɤɚ ɦɚɬɟɦɚɬɢɱɟɫɤɨɝɨ ɫɨɩɪɨɰɟɫɫɨɪɚ (Ɇɋɉ), ɨɛɟɫɩɟɱɢɜɚɸɳɟɝɨ ɜɵɩɨɥ-
ɧɟɧɢɟ ɨɩɟɪɚɰɢɣ ɫ ɜɟɳɟɫɬɜɟɧɧɵɦɢ ɱɢɫɥɚɦɢ.
Ɇɢɤɪɨɩɪɨɰɟɫɫɨɪ ɢɡɜɥɟɤɚɟɬ ɢ ɜɵɩɨɥɧɹɟɬ ɤɨɦɚɧɞɵ, ɯɪɚɧɹɳɢɟɫɹ ɜ ɩɚɦɹɬɢ,
ɩɨ ɨɱɟɪɟɞɢ. Ɉɱɟɪɟɞɧɨɫɬɶ ɜɵɩɨɥɧɟɧɢɹ ɤɨɦɚɧɞ ɩɪɢ ɷɬɨɦ ɨɩɪɟɞɟɥɹɟɬɫɹ ɍɍ.
ɋɢɫɬɟɦɧɚɹ ɲɢɧɚ ɜɤɥɸɱɚɟɬ ɜ ɫɟɛɹ ɲɢɧɭ ɚɞɪɟɫɚ (ɒȺ), ɲɢɧɭ ɞɚɧɧɵɯ (ɒȾ
ɢ ɲɢɧɭ ɭɩɪɚɜɥɟɧɢɹ (ɒɍ). ȼɫɟ ɲɢɧɵ ɩɪɟɞɫɬɚɜɥɹɸɬ ɫɨɛɨɣ ɧɚɛɨɪ ɩɪɨɜɨɞɧɢɤɨɜ,
ɤɨɥɢɱɟɫɬɜɨ ɤɨɬɨɪɵɯ ɨɩɪɟɞɟɥɹɟɬɫɹ ɪɚɡɪɹɞɧɨɫɬɶɸ ɩɪɨɰɟɫɫɨɪɚ.
ɒɢɧɚ ɚɞɪɟɫɚ ɹɜɥɹɟɬɫɹ ɨɞɧɨɧɚɩɪɚɜɥɟɧɧɨɣ (ɨɬ ɩɪɨɰɟɫɫɨɪɚ ɤ ɞɪɭɝɢɦ ɭɫɬɪɨɣɫɬɜɚɦ) ɢ ɩɪɟɞɧɚɡɧɚɱɟɧɚ ɞɥɹ ɡɚɞɚɧɢɹ ɚɞɪɟɫɚ ɭɫɬɪɨɣɫɬɜɚ, ɤ ɤɨɬɨɪɨɦɭ ɨɛɪɚɳɚɟɬɫɹ
ɦɢɤɪɨɩɪɨɰɟɫɫɨɪ.
ɒɢɧɚ ɞɚɧɧɵɯ ɨɛɟɫɩɟɱɢɜɚɟɬ ɨɛɦɟɧ ɞɚɧɧɵɦɢ ɦɟɠɞɭ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɨɦ ɢ
ɞɪɭɝɢɦɢ ɭɫɬɪɨɣɫɬɜɚɦɢ. Ⱦɚɧɧɵɟ ɩɨ ɒȾ ɦɨɝɭɬ ɩɟɪɟɞɚɜɚɬɶɫɹ
ɜ ɞɜɭɯ ɧɚɩɪɚɜɥɟɧɢ-
ɹɯ.
ɉɨ ɲɢɧɟ ɭɩɪɚɜɥɟɧɢɹ ɦɟɠɞɭ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɨɦ ɢ ɭɫɬɪɨɣɫɬɜɚɦɢ ɨɫɭɳɟɫɬɜɥɹɟɬɫɹ ɨɛɦɟɧ ɫɥɭɠɟɛɧɵɦɢ ɫɢɝɧɚɥɚɦɢ: ɝɨɬɨɜɧɨɫɬɢ ɤ ɪɚɛɨɬɟ, ɪɚɡɪɟɲɟɧɢɹ ɨɩɟɪɚɰɢɣ ɱɬɟɧɢɹ ɢ ɡɚɩɢɫɢ ɢ ɬ. ɩ.
ɉɚɦɹɬɶ ɤɨɦɩɶɸɬɟɪɚ ɪɚɡɞɟɥɟɧɚ ɧɚ ɩɚɦɹɬɶ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ (ɪɟɝɢɫɬɪɵ ɢ
ɤɷɲ-ɩɚɦɹɬɶ), ɩɨɫɬɨɹɧɧɨɟ ɡɚɩɨɦɢɧɚɸɳɟɟ ɭɫɬɪɨɣɫɬɜɨ (ɉɁɍ), ɨɩɟɪɚɬɢɜɧɨɟ ɡɚɩɨɦɢɧɚɸɳɟɟ ɭɫɬɪɨɣɫɬɜɨ (ɈɁɍ), ɚ ɬɚɤɠɟ ɞɢɫɤɨɜɭɸ ɩɚɦɹɬɶ
ɢ ɜɢɞɟɨɩɚɦɹɬɶ.
Ɋɟɝɢɫɬɪɵ – ɷɬɨ ɹɱɟɣɤɢ ɩɚɦɹɬɢ, ɪɚɡɦɟɳɟɧɧɵɟ ɜɧɭɬɪɢ ɫɚɦɨɝɨ Ɇɉ. Ɂɧɚɱɢɬɟɥɶɧɚɹ ɱɚɫɬɶ ɨɩɟɪɚɰɢɣ ɜɧɭɬɪɢ Ɇɉ ɨɫɭɳɟɫɬɜɥɹɟɬɫɹ ɢɦɟɧɧɨ ɱɟɪɟɡ ɪɟɝɢɫɬɪɵ.
Ɋɚɡɥɢɱɚɸɬ ɪɟɝɢɫɬɪɵ ɨɛɳɟɝɨ ɧɚɡɧɚɱɟɧɢɹ (ɊɈɇ) ɢ ɫɩɟɰɢɚɥɶɧɵɟ ɪɟɝɢɫɬɪɵ. Ʉɚɠɞɵɣ ɪɟɝɢɫɬɪ ɢɦɟɟɬ ɫɨɛɫɬɜɟɧɧɨɟ ɭɧɢɤɚɥɶɧɨɟ ɢɦɹ. Ⱦɥɹ ɊɈɇ ɷɬɨ ɢɦɹ ɨɬɨɛɪɚɠɚɟɬ
ɧɟ ɬɨɥɶɤɨ ɧɚɡɧɚɱɟɧɢɟ ɪɟɝɢɫɬɪɚ, ɧɨ ɢ ɟɝɨ ɪɚɡɪɹɞɧɨɫɬɶ. ȼ ɤɚɱɟɫɬɜɟ
ɩɪɢɦɟɪɚ ɧɚ ɪɢɫɭɧɤɟ 1.3 ɩɨɤɚɡɚɧ ɩɪɢɧɰɢɩ ɮɨɪɦɢɪɨɜɚɧɢɹ ɢɦɟɧɢ ɧɚɢɛɨɥɟɟ ɱɚɫɬɨ ɢɫɩɨɥɶɡɭɟɦɨɝɨ
ɊɈɇ – ɚɤɤɭɦɭɥɹɬɨɪɚ.
)
8

Ɋɢɫɭɧɨɤ 1.2. ɍɫɬɪɨɣɫɬɜɨ ɩɟɪɫɨɧɚɥɶɧɨɣ ɗȼɆ

Ɋɢɫɭɧɨɤ 1.3. ɉɪɢɧɰɢɩ ɮɨɪɦɢɪɨɜɚɧɢɹ ɢɦɟɧ ɪɟɝɢɫɬɪɨɜ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ
ȿɫɥɢ ɢɫɩɨɥɶɡɭɸɬɫɹ ɬɨɥɶɤɨ ɦɥɚɞɲɢɟ ɪɚɡɪɹɞɵ ɚɤɤɭɦɭɥɹɬɨɪɚ, ɷɬɨɬ ɫɟɝɦɟɧɬ
ɢɦɟɟɬ ɢɦɹ AL (L – ɨɬ ɫɥɨɜɚ low – ɧɢɠɧɢɣ), ɟɫɥɢ ɫɬɚɪɲɢɟ 8 ɛɢɬ – AH (H – high –
ɜɟɪɯɧɢɣ). 16-ɛɢɬɧɵɣ ɚɤɤɭɦɭɥɹɬɨɪ ɢɦɟɟɬ ɢɦɹ AX, 32 – EAX (E – exchanged –
ɪɚɫɲɢɪɟɧɧɵɣ), 64-ɛɢɬɧɵɣ ɚɤɤɭɦɭɥɹɬɨɪ ɧɚɡɵɜɚɟɬɫɹ RAX.
ɉɟɪɟɱɟɧɶ ɪɟɝɢɫɬɪɨɜ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ ɩɪɢɜɟɞɟɧ ɜ ɬɚɛɥɢɰɟ 1.1.
Ɍ ɚ ɛ ɥ ɢ ɰ ɚ 1.1
Ɋɟɝɢɫɬɪɵ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ
Ɋɟɝɢɫɬɪ
Ɋɚɡɪɹɞɧɨɫɬɶ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ
16-ɛɢɬɧɵɣ 32-ɛɢɬɧɵɣ 64-ɛɢɬɧɵɣ
Ⱥɤɤɭɦɭɥɹɬɨɪ AX EAX RAX
Ȼɚɡɨɜɵɣ BX EBX RBX
ɋɱɟɬɱɢɤ CX ECX RCX
Ɋɟɝɢɫɬɪ ɞɚɧɧɵɯ DX EDX RDX
ɍɤɚɡɚɬɟɥɶ ɫɬɟɤɚ SP ESP RSP
ɍɤɚɡɚɬɟɥɶ ɛɚɡɵ BP EBP RBP
ɂɧɞɟɤɫ ɢɫɬɨɱɧɢɤɚ SI ESI RSI
ɂɧɞɟɤɫ ɩɪɢɟɦɧɢɤɚ DI EDI RDI
Ⱦɨɩɨɥɧɢɬɟɥɶɧɵɟ ɪɟɝɢɫɬɪɵ
ɞɚɧɧɵɯ
R8W –
R15W
R8D –
R15D
R8 –
R15
Ⱥɞɪɟɫ ɢɧɫɬɪɭɤɰɢɢ IP EIP RIP
ɍɤɚɡɚɬɟɥɶ ɧɚ ɫɟɝɦɟɧɬ ɤɨɞɚ CS CS –
ɍɤɚɡɚɬɟɥɶ ɧɚ ɫɟɝɦɟɧɬ ɞɚɧɧɵɯ DS DS –
ɍɤɚɡɚɬɟɥɶ ɧɚ ɫɬɟɤ SS SS –
Ɋɚɫɲɢɪɟɧɧɵɣ ɭɤɚɡɚɬɟɥɶ ɧɚ
ɫɟɝɦɟɧɬ
ES ES –
ȼɧɢɦɚɧɢɟ! ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɪɟɝɢɫɬɪɨɜ RAX, RCX, RDX, RBX, RSP, RBP, RSI,
RDI, Rx, RxD, RxW, RxB, SPL, BPL, SIL, DIL ɜɨɡɦɨɠɧɨ ɬɨɥɶɤɨ ɜ 64-ɛɢɬɧɨɦ ɪɟ-
ɠɢɦɟ ɪɚɛɨɬɵ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ.
Ɋɟɝɢɫɬɪ ɮɥɚɝɨɜ FLAGS (16 ɛɢɬ) / EFLAGS (32 ɛɢɬɚ) / RFLAGS (64 ɛɢɬɚ) –
ɷɬɨ ɦɚɫɫɢɜ ɛɢɬ, ɨɬɪɚɠɚɸɳɢɯ ɬɟɤɭɳɟɟ ɫɨɫɬɨɹɧɢɟ ɩɪɨɰɟɫɫɨɪɚ, ɚ ɬɚɤɠɟ ɪɟɡɭɥɶɬɚɬɵ ɜɵɩɨɥɧɟɧɢɹ ɥɨɝɢɱɟɫɤɢɯ ɢɥɢ ɚɪɢɮɦɟɬɢɱɟɫɤɢɯ ɨɩɟɪɚɰɢɣ. ɋɨɫɬɚɜ ɪɟɝɢɫɬɪɚ
ɮɥɚɝɨɜ ɩɪɢɜɟɞɟɧ ɜ ɬɚɛɥɢɰɟ 1.2.
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
