КАТЕГОРІЇ:
Автомобілі Астрономія Біологія Географія Будинок і сад Інші мови інше Інформатика Історія Культура література логіка Математика Медицина металургія механіка Освіта Охорона праці Педагогіка політика право Психологія релігія риторика Соціологія Спорт Будівництво технологія туризм фізика Філософія фінанси хімія Креслення Екологія Економіка електроніка
Архітектура Windows 9х (рис.7.4) являє собою трохи покращену версію архітектури Windows 3.1. Усередині системної VM виконуються додатки Win16 і Win32. Велика частина коду операційної системи і даних також розміщується тут. Додатки Win32 працюють на основі алгоритму витісняє багатозадачності в окремих адресних просторах. Всі додатки Win16 виконуються як єдиний процес у загальному адресному просторі на основі алгоритму невитискаючої багатозадачності. Бібліотеки динамічного компонування USER, USER32, GDI, GDI32, KERNEL і KERNEL32, які надають системні сервіси всіх програм, завантажуються в системну VM і відображаються в адресні простори кожного прикладного процесу. Це підвищує продуктивність за рахунок усунення витрат часу на переходи між кільцями захисту при виклику системних функцій. Однак з іншого боку, це також ставить під загрозу цілісність системи, відкриваючи доступ до частин ОС для прикладних програм. На віртуальних DOS-машинах (VDM) виконуються DOS-програми. Вони працюють в режимі витісняє багатозадачності.
У Windows 9х залишилося багато старого коду, за допомогою якого здійснюється виконання додатків. Наприклад, такі критичні компоненти операційної системи, як USER і GDI, які відповідно забезпечують управління вікнами і надають засоби графічного інтерфейсу, є як і раніше 16-розрядними і працюють в тому ж адресному просторі, що і 16-розрядні додатки. Тому 16-розрядний додаток, що містить помилки, може потенційно "підвісити" віртуальну машину, на якій працюють підсистеми USER і GDI, або, що ще гірше, змусити USER або GDI невірно працювати, що може привести до краху всієї ОС. Навіть 32-розрядні додатки можуть викликати зупинку системи. Велика частина нижньої пам'яті розміром в 1 Мбайт, що належить адресного простору системного коду Windows 95 (тобто системної віртуальної машині System VM), відкрита для операцій додатки Win32.
Багатозадачність - це ще одне потенційно слабке місце. Windows 9х пересилає всі виклики USER API через 16-розрядну системну віртуальну машину System VM, яка розміщується там же, де і виконується 16-розрядний додаток. Якщо 16-розрядний додаток "підвішує" машину System VM, відмовляючись обробляти повідомлення (зустрічається найчастіше тип помилки в існуючих програмах Windows), то всі інші процеси припиняються. Поки користувач не завершить в примусовому порядку зависло 16-розрядний додаток (в Windows 9х є хороший засіб для виконання цієї операції) і тим самим не звільнить машину System VM, інші виконуються програми, навіть 32-розрядні, будуть заблоковані.
Підсистема управління віртуальними машинами (VM Manager, VMM) надає сервісні функції низького рівня, такі як розподіл процесорного часу між VM і управління віртуальною пам'яттю. Сюди також відносяться драйвери віртуальних пристроїв (VxD) для апаратури.
Дата додавання: 2015-09-14; переглядів: 6; Порушення авторських прав