Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Системное программирование. Учебное пособие-1

.pdf
Скачиваний:
1
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
Ǭ. Ǭ. ǨȏȎȦȔȕȉ
ǸǯǸǹǬdzǴǵǬ ǶǷǵǪǷǧdzdzǯǷǵǩǧǴǯǬ
ǺȞȌȈȔȕȌ ȖȕȘȕȈȏȌ
dzȕȘȑȉȇ ǩȕȒȕȊȋȇ
«ǯȔțȗȇ-ǯȔȍȌȔȌȗȏȦ»
ɍȾɄ 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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]