logo search
СПЗ_лекції

Лекція 18.

Особливості проектування операційних систем.

1.Постановка задачі проектування операційної системи.

Для універсальних операційних систем основними є такі питання:

1) Визначення абстракції;

2) Забезпечення ізоляції;

3) Керування апаратурою.

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

2. Причини ускладнення проектування операційних систем.

Закон Мура стверджує, що апаратне забезпечення комп’ютера збільшує свою продуктивність в 100 разів за кожні 10 років. Для програмного забезпечення таких законів ще немає. З точки зору надійності роботи сучасні ОС працюють гірше ніж наприклад Unix 7 ver. Основні причини це інерція і бажання зберегти зворотню сумісність.

3. Розробка інтерфейсу операційних систем.

ОС представляє собою набір служб, велику частину типів даних і множину операцій з ними. Разом вони формують інтерфейс для користувачів системи. В даному контексті користувачів ОС є програмісти, які пишуть програми з системними викликами, а не користувачі, які запускають прикладні програми. Крім основного інтерфейсу системних викликів в більшості ОС є додаткові інтерфейси. Наприклад, потрібно написати драйвер пристрою, щоб добавити його в ОС. Ці драйвери представляють певні функції і можуть звертатись до певних системних викликів. Функції і виклики визначають інтерфейс, який суттєво відрізняється від використовуваного прикладними програмами. Основні принципи, які використовуються при проектуванні інтерфейсу: 1. Простота (досконалість досягається не тоді коли вже не має більше чого добавити). 2. Повнота – інтерфейс повинен володіти повнотою. ОС повинна виконувати те що від неї вимагається але не більше того. 3. Ефективність (якщо яка-небудь функція чи системний виклик не можуть бути реалізовані ефективно то їх не слід реалізовувати.