Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС по С_Р.docx
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
2 Мб
Скачать
☆

2.3. Абстракції, процеси та ресурси

Для спрощення розробки ОС використовується принцип •Розділяй і владарюй». Відповідно до цього принципу складні 5'єкти поділяються на прості об'єкти: поділ виконується доти, _:оки реалізація об'єкта не стає простою. Найбільш придатною одиницею декомпозиції для ОС є процес.

Процес, аналогічно об'єкту в ООП, є носієм даних і виконує функції. Завдяки драйверам зовнішніх пристроїв їхні індивіду­альні властивості маскуються, наприклад, для читання з диске­ти, вінчестера, флеш-диска використовуються ті самі команди. Зовнішні пристрої, процесор, пам'ять, у тому числі й зовнішня, розглядаються як ресурси, якими повинна керувати ОС.

Одиниця, що претендує на обмежене число ресурсів усередині обчислювальної системи, називається процесом. Основним ресур­сом є час процесора. Оскільки в обчислювальній системі одночасно може бути значно більше процесів, ніж процесорів, вони конкуру­ють за володіння процесором. З огляду на це проблема керування процесами набуває особливої актуальності. Мета керування про­цесами — зменшити кількість пристроїв, що простоюють, і збіль­шити продуктивність обчислювальної системи в цілому.

Для керування процесами використовуються системні про­цеси, що перебувають у пам'яті одночасно з користувальницькими. Системні процеси можуть використовувати загальні ресурси, напри­клад, бібліотеки для графічних функцій. Оскільки загальні ресурси знаходяться в пам'яті тільки в одному екземплярі, досягається економія пам'яті.

Таким чином, у пам'яті одночасно присутні системні й ко- ристувальницькі процеси. У чому їхня відмінність? Системні ресурси, як правило, керуються системними процесами. Ці про­цеси не можуть конкурувати один з одним, тому що керують різ­ними ресурсами. Користувальницькі процеси надсилають запити системним процесам. Системні процеси можуть породити інший процес, виділивши йому необхідні ресурси. Користувальницькі процеси не можуть породжувати процеси. Системний процес не може надіслати запит на обслуговування системному процесові. Користувальницький процес не може виконати безпосередньо операцію введення/виведення, а системний процес може. Корис­тувальницький процес може запитати ресурс, для системного процесу або початково виділяються необхідні ресурси, або він сам керує цим ресурсом.

2.2. Реалізація архітектури операційних систем

Рис. 2.1. Виконання системного виклику в архітектурі з мікроядром

Головним недоліком мікроядрового підходу є зниження продуктивності. За­мість двох перемикань режиму процесора у разі системного виклику відбуваєть­ся чотири (два — під час обміну між клієнтом і мікроядром, два - між сервером та мікроядром).

Зазначений недолік є, швидше, теоретичним, на практиці продуктивність і на­дійність мікроядра залежать насамперед від якості його реалізації. Так, в ОС (ЖХ мікроядро займає кілька кілобайтів пам'яті й забезпечує мінімальний набір функцій, при цьому система за продуктивністю відповідає ОС реального часу.