Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операцiйнi системи та середовища6.05.07(Антонов...doc
Скачиваний:
11
Добавлен:
04.05.2019
Размер:
801.79 Кб
Скачать

2.4 Концепція віртуалізації

Метою віртуалізації ресурсів в ОС є зменшення конфліктів при керуванні процесами й розподілі ресурсів та надання користувачеві ресурсів, які реально не існують, тобто віртуальних ресурсів, або реальних, але з погіршеними характеристиками. Віртуалізація ресурсів для паралельно виконуваних процесів створює ілюзію одночасного використання того, що у фоннеймановських процесорах одночасно існувати не може, і є основою багатозадачності. Користувачі дістануть ресурси, які значною мірою задовольняють їх за своїми характеристиками, знімається велика частка обмежень на кількість розподілюваних ресурсів. Це збільшує швидкість розвинення процесів та гнучкість їхнього керування у межах багатозадачності [2].

На прикладі інтервального таймера можна подати віртуалізацію фізичного пристрою, коли він “розмножується” й на його підставі будується потрібна кількість віртуальних таймерів, але жоден з користувачів-процесів не відчуває нестачі цього ресурсу.

Принцип віртуалізації у даному разі є такий: таймер – це пристрій, який може оцінювати інтервал часу, після завершення якого він подає сигнал на переривання обслуговування процесу. До диспетчера інтервального таймера формується черга запитів від окремих процесів. Процеси у черзі розташовано за зростанням часових інтервалів, і це трактується як пріоритет процесів на використання ресурсу інтервального таймера. Після чергового переривання на інтервальний таймер встановлюється інтервал, що він дорівнює різниці поміж моментом часу, коли має виникнути наступне поточне переривання, та моментом поточного переривання, тощо.

Віртуалізація каналів (шин), до яких в обчислювальній системі підмикаються різні периферійні пристрої, зреалізовується засобами мультиплексування, і для кожного пристрою складається ілюзія використання власного каналу. Під час роботи вони працюють з номінальними для них швидкостями.

Віртуалізація периферійних пристроїв, які за своїм типом є послідовно використовуваними ресурсами, називається спулінгом. Найбільш типовим з таких пристроїв є принтер, який у системі, зокрема в локальній мережі, надто активно використовується, причому процесами, які розвиваються паралельно.

Спулінг зреалізовується за таким алгоритмом: кожний периферійний пристрій як віртуальний моделюється областю зовнішньої пам’яті, як правило, на твердому диску. Така пам’ять може тлумачитися як буфер поміж реальним пристроєм та відповідним процесом, який потребує цього пристрою. Буфер накопичує дані в міру виконання процесом команд виведення, але ці команди надсилають дані насправді не на принтер, а до буфера на диску. У кожного з процесів виникає ілюзія, що він надіслав дані на реальний пристрій. Фактичне ж передавання інформації на принтер відбудеться за чергою після того, як процес завершиться. Це зберігає цілісність даних. Так само може бути віртуалізовано пристрій введення. Одночасно багатозадачна операційна система підтримує безліч вхідних та вихідних буферів; їхне заповнення, моменти готовності використання процесами вхідних буферів та моменти завершення процесами заповнювання вихідних буферів нескінченно змінюються, тому вхідні та вихідні буфери сполучаються у черги, які обслуговуються за певними дисциплінами.

Віртуалізація пам’яті здійснюється на підставі твердого диска та апаратної підтримки на рівні архітектури сучасних 32-розрядних процесорів сегментного, сторінкового або сегментно-сторінкового обміну (свопингу) поміж ПЗП та твердим диском під керуванням ОС.

Узагальненням поняття віртуалізації є віртуальна машина. Надана користувачеві віртуальна машина відтворює архітектуру реальної машини, але з новими, зоптимізованими характеристиками:

  • необмежена за обсягом пам’ять з довільним, зручним для користувача доступом;

  • один чи більше процесорів, здатних виконувати програми, написані кількома мовами програмування;

  • необхідна кількість зовнішніх пристроїв зі зручним способом доступу та подання інформації без обмеження щодо її обсягу.

Чим більше наближується віртуальна машина до ідеальної, тим більше її характеристики відрізняються від тих, які має апаратна платформа, на базі якої засобами конкретної ОС вона зреалізовується, й тим вище ступінь її віртуальності.

Примірні характеристики віртуальної машини можуть бути такі:

1 Єдина за логікою роботи віртуальна пам’ять, практично необмежена за обсягом пам’ять із середнім терміном доступу, близьким до значення цього параметра для ПЗП. Робота з інформацією, розміщеною в такій пам’яті, провадиться в термінах опрацьовування даних на рівні обраної мови програмування.

2 Необхідна кількість віртуальних процесорів, які можуть працювати паралельно та взаємодіяти під час роботи, способи керування процесорами – синхронізація, інформаційна взаємодія – доступні користувачам з рівня використовуваної мови програмування в термінах керування процесами.

3 Необхідна кількість віртуальних зовнішніх пристроїв, здатних працювати з пам’яттю віртуальної машини паралельно чи послідовно, асинхронно чи синхронно стосовно роботи того чи іншого віртуального процесора, які ініціюють роботу цих пристроїв. Дані, що передаються або зберігаються на віртуальних пристроях, є не обмежені за обсягом, доступ до них здійснюється на підставі послідовного чи прямого доступу до пам’яті.

Концепція віртуалізації широко використовується у проектуванні та зреалізовуванні операційних систем, структуру яких можна подати у вигляді набору планувачів процесів та розподілювачів ресурсів, моніторів, які й забезпечують їхню віртуалізацію [2].