
- •1 Предмет і завдання курсу
- •2 Короткий нарис історії ос
- •3 Класифікація ос
- •3.1 За призначенням.
- •3.2 За характером взаємодії з користувачем.
- •2 Ефективність
- •3 Зручність
- •4 Масштабованість
- •5 Здатність до розвитку
- •2 Структура ос
- •2 Windows
- •2 Реалізація багатозадачного режиму
- •3 Квазіпаралельне виконання процесів
- •4 Стани процесу
- •2 Дескриптор і контекст процесу
- •3 Реєнтерабельність системних функцій
- •4 Дисципліни диспетчеризації і пріоритети процесів
- •1 У наявності деякий різнобій в загальноприйнятій термінології: в системі з невитісняючою диспетчеризацією витіснення процесу все-таки можливе, але тільки за ініціативою самого процесу.
2 Ефективність
Як відомо, ефективність будь-якої програми визначається двома групами показників, які можна узагальнено назвати «час» і «пам'ять». При розробці системи доводиться приймати багато непростих рішень, пов'язаних з оптимальним балансом цих показників.
Найважливішим показником часової ефективності є продуктивність системи, тобто усереднена кількість корисної обчислювальної роботи, що виконується в одиницю часу. З іншого боку, для діалогових ОС не менш важливий час реакції системи на дії користувача. Ці показники можуть в деякій мірі суперечити один одному. Наприклад, в системах розділення часу збільшення кванта часу підвищує продуктивність(за рахунок скорочення числа перемикань процесів), але погіршує час реакції.
У програмуванні відома аксіома: виграш в часі досягається за рахунок програшу в пам'яті, і навпаки. Це повною мірою відноситься до ОС, розробникам яких постійно доводиться шукати баланс між витратами часу і пам'яті.
Турбота від ефективності довгий час стояла не першому місці при розробці програмного забезпечення, і особливо ОС. На жаль, зворотною стороною стрімкого збільшення потужності комп'ютерів стало послаблення інтересу до ефективності програм. Нині ефективність є первинною вимогою хіба що відносно систем реального часу.
3 Зручність
Цей критерій найбільш суб'єктивний. Можна запропонувати, наприклад, такий підхід: система або її частина зручна, якщо вона дозволяє легко і просто вирішувати ті завдання, які зустрічаються найчастіше, але в той же час містить засоби для вирішення широкого кола менш стандартних завдань(нехай навіть ці засоби не такі прості). Приклад: така часта дія, як копіювання файлу, повинні виконуватися за допомогою однієї простої команди або легкого руху миші; в той же час для зміни розділів диска не гріх шанувати керівництво, оскільки це може знадобитися навіть не щороку.
Розробники кожної ОС мають власні уявлення про зручність, і кожна ОС має своїх прибічників, що вважають саме її ідеалом зручності.
4 Масштабованість
Досить дивний термін «масштабованість»(scalability) означає можливість налаштування системи для використання в різних варіантах, залежно від потужності обчислювальної системи, від набору конкретних периферійних пристроїв, від ролі, яку грає конкретний комп'ютер(сервер, робоча станція або ізольований комп'ютер) від призначення комп'ютера(домашній, офісний, дослідницький і тому подібне).
Гарантією масштабованості служить продумана модульна структура системи, що дозволяє в ході установки системи збирати і настроювати потрібну конфігурацію. Можливий і інший підхід, коли під загальною назвою об'єднуються, по суті, різні системи, що забезпечують в розумних межах програмну сумісність. Прикладом можуть служити версії Windows NT/2000/XP, Windows 95/98 і Windows CE.
В деяких випадках фірми, що виробляють програмне забезпечення, штучно відключають в дешевших версіях системи ті можливості, які насправді реалізовані, але стають доступні, тільки якщо користувач купує ліцензію на дорожчу версію. Але це вже питання, пов'язане не з технічною стороною справи, а з маркетинговою політикою.