
- •Теми на самостійне вивчення
- •Урок №2
- •Урок №5
- •Урок №6
- •Урок №7
- •Урок №8
- •Урок №10
- •Урок №11
- •Урок №13
- •Урок №18
- •Урок №19
- •Урок №20
- •Урок №21
- •Урок №22
- •Урок №23
- •Урок №24
- •Урок №25
- •Урок №29
- •Урок №30
- •Урок №31
- •Урок №34
- •Урок №35
- •Урок №36
- •Урок №39
- •Урок №42
- •Урок №43
- •Операційна система та її оточення.
- •Яка роль переривань в роботі операційної системи?
- •Урок №47
Урок №7
(згідно навчальної робочої програми)
Тема: «Підтримка багатопроцесорного оброблення»
Питання:
1. Підтримка багатопроцесорного оброблення
2. Режими багатопроцесорного оброблення
3. Підтримка 64-бітових процесорів
Підтримка багатопроцесорного оброблення
Сучасні сервери, як правило, є багатопроцесорними системами. Такі системи звичайно складаються з набору запам'ятовувальних пристроїв і кількох центральних процесорів, що працюють під керуванням однієї ОС. Усі процесори звичайно мають доступ до будь-якої ділянки пам'яті будь-якого запам'ятовувального пристрою. Для забезпечення максимальної продуктивності таких систем ОС повинна ефективно виконувати розпаралелювання потоків самої операційної системи і користувачів. При розпаралелюванні в багатопроцесорній системі значно ускладнюються проблеми синхронізації. Покажемо це на простому прикладі. Нехай процесор записує дані, оновлені дані знаходяться в кеші цього процесора і переписуються в оперативну пам'ять не відразу. Як забезпечити використання цих даних іншим процесором? Чергова функція операційних систем — підтримка багатопроцесорного оброблення. Сучасні операційні системи підтримують багатопроцесорну роботу. Оскільки ОС UNIXвикористовується досить тривалий час для великих обчислювальних систем (mainframe), що, як правило, є багатопроцесорними, вона допускає одночасну роботу з 256 і більше процесорами.
Операційні системи фірми Microsoftвикористовувалися донедавна тільки на персональних ЕОМ, для яких підтримка багатопроцесорного режиму була неактуальною.Наближення за обчислювальною потужністю комп'ютерів, на яких використовуються обидва типи ОС, привело до того, що сучасні ОС фірми Microsoft(після WINDOWS'98) також підтримують багатопроцесорний режим роботи.Операційна система WINDOWS' 2003 може працювати із системами з числом процесорів не більше 32.
Багатопроцесорне оброблення може бути забезпечене у двох режимах:
• Симетрична система (symmetric multi processing— SMP) — усі потоки можуть виконуватися на будь-якому процесорі, тобто процесори розглядаються як однакові. Усі процесори розділяють один адресний простір з погляду його доступності. Зауважемо, що в таких системах достовірність даних забезпечується на іратному рівні. Саме такий режим реалізований у WINDOWS.
Слід зазначити, що хоча можливість доступу до будь-якої ділянки пам'яті дійсно забезпечується такими системами, але час :тупу залежить від місця розташування цієї ділянки. Так, час доступу до «своєї» пам'яті значно менший, ніж до «чужої». Така істивість пам'яті називається NUMA(Non-Uniform Memory Access)— неоднаковий доступ до пам'яті. Отже, ОС для забезпечення ксимальної продуктивності повинна враховувати і цей фактор.
• Несиметрична система (asymmetric multiprocessing— MP)— операційна система вибирає один процесор для виконан- потоків ядра (master processor),а інші процесори використовуються для потоків користувальницьких додатків.
Операційна система, що підтримує багатопроцесорність у си- гричному режимі, повинна забезпечити можливість виконання будь-якого потоку додатка на кожному з доступних процесорів, в тому числі потоків одного додатка. У цьому випадку потрібні звичайні засоби синхронізації. Тільки такий режим використання забезпечує збільшення швидкодії системи зі збільшенням числа процесорів (масштабування).
Підтримка 64-бітових процесорів
У наш час широко впроваджуються 64-бітові процесори. Це означає не тільки розширення адресного простору і збільшення швидкості виконання команд, але й використання нових принципів сонання програм. На зміну уявному паралельному виконанню жим розподілу часу) приходить справжнє розпаралелювання. Модулі ОС, що залежать від процесора, повинні бути написані мовою 64-бітового процесора, інші модулі якнайповніше мають ураховувати всі його можливості, і паралельне виконання — у першу чергу. Існують ОС, що використовуються винятково для 64-бітових щесорів (АІХ), сучасні ОС підтримують роботу з процесорами цього класу.
Контрольні питання:
Для чого використовується багатопроцесорне оброблення?
Як працює багатопроцесорне оброблення?
В яких режимах працює багатопроцесорне оброблення?
Для чого необхідна підтримка 64-бітових процесорів?
Література: Бондаренко М.Ф. Операційні системи : навч. посібник / М.Ф. Бондаренко, О.Г. Качко. – Х.: Компанія СМІТ, 2008. – 432 с., стор.18-19