Операційна система і середовища
Структура програмних засобів обчислювальної системи
Операційні системи і середовища
У англомовній технічній літературі термін System Software (системне програмне забезпечення) означає програми і комплекси програм, що є загальними для всіх, хто спільно використовує технічні засоби комп'ютера, і вживані як для автоматизації розробки (створення) нових програм, так і для організації виконання існуючих програм. З цих позицій системне ПЗ може бути розділено на наступні п'ять груп:
Операційні системи.
Системи управління файлами.
Інтерфейсні оболонки для взаємодії користувача з ОС і програмні середовища.
Системи програмування.
Утиліти.
Розглянемо коротко ці групи системних програм.
1. Під операційною системою (ОС) звичайно розуміють комплекс управляючих і обробляючих програм, який, з одного боку, виступає як інтерфейс між апаратурою комп'ютера і користувачем з його задачами, а з іншого - призначений для найефективнішого використовування ресурсів обчислювальної системи і організації надійних обчислень. Будь-який з компонентів прикладного ПЗ обов'язково працює під управлінням ОС. На мал. 1 зображена узагальнена структура програмного забезпечення обчислювальної системи. Видно, що жоден з компонентів ПЗ, за винятком самої ОС, не має безпосереднього доступу до апаратури комп'ютера. Навіть користувачі взаємодіють з своїми програмами через інтерфейс ОС. Будь-які їх команди, перш ніж потрапити в ПП, спочатку проходять через ОС.
Основними функціями, які виконує ОС, є наступні:
Прийом від користувача (або від оператора системи) завдань або команд, сформульованих на відповідній мові - у вигляді директив (команд) оператора або у вигляді вказівок (своєрідних команд) за допомогою відповідного маніпулятора (наприклад, за допомогою миші), - і їх обробка;
- прийом і виконання програмних запитів на запуск, припинення, зупинку інших програм;
- завантаження в ОП належних виконанню програм;
- ініціація програми (передача їй управління, внаслідок чого процесор виконує програму);
- ідентифікація всіх програм і даних;
- забезпечення роботи систем управлінь файлами (СУФ) и/или систем управління базами даних, що дозволяє різко збільшити ефективність всього ПЗ;
- забезпечення режиму мультипрограмування, тобто виконання двох або більш програм на одному процесорі, створююче видимість їх одночасного виконання;
- забезпечення функцій по організації і управлінню всіма операціями в/в;
- задоволення жорстким обмеженням на час відповіді в режимі реального часу (характерно для відповідних ОС);
- розподіл пам'яті, а в більшості сучасних систем і організація ВП;
- планування і диспетчеризація задач відповідно до заданих стратегією і дисциплінами обслуговування;
- організація механізмів обміну повідомленнями і даними між програмами, що виконуються;
- захист однієї програми від впливу іншої; забезпечення збереження даних;
- надання послуг на випадок часткового збою системи;
- забезпечення роботи систем програмування, за допомогою яких користувачі готують свої програми.
2. Призначення системи управління файлами - організація більш зручного доступу до даних, організованих як файли. Саме завдяки системі управління файлами замість низькорівневого доступу до даних з вказівкою конкретних фізичних адрес потрібного нам запису використовується логічний доступ з вказівкою імені файлу і запису в ньому. Як правило, всі сучасні ОС мають відповідні системи управління файлами. Проте виділення цього виду системного ПЗ в окрему категорію представляється доцільним, оскільки ряд ОС дозволяє працювати з декількома файловими системами (або з однією з декількох, або відразу з декількома одночасно). В цьому випадку говорять про вмонтовувані ФС (додаткову систему управління файлами можна встановити), і в цьому значенні вони самостійні. Більш того, можна назвати приклади найпростіших ОС, які можуть працювати і без ФС, а значить, їм необов'язково мати систему управління файлами, або вони можуть працювати з однією з вибраних файлових систем. Треба, проте, розуміти, що будь-яка система управління файлами не існує сама по собі - вона розроблена для роботи в конкретній ОС і з конкретною ФС. Можна сказати, що всім відома ФС FAT (file allocation table) 1 має безліч реалізацій як система управління файлами, наприклад FAT-16 для самої MS-DOS, super-FAT для OS/2, FAT для Windows NT і т.д. Іншими словами, для роботи з файлами, організованими відповідно до деякої ФС, для кожної ОС повинна бути розроблена відповідна система управління файлами; і ця система управління файлами працюватиме тільки в тій ОС, для якої вона і створена.
Для зручності взаємодії з ОС можуть використовуватися додаткові інтерфейсні оболонки. Їх основне призначення - або розширити можливості по управлінню ОС, або змінити вбудовані в систему можливості. Як класичні приклади інтерфейсних оболонок і відповідних операційних середовищ виконання програм можна назвати різні варіанти графічного інтерфейсу X Window в системах сімейства UNIX (наприклад, До Desktop Environment в Linux), PM Shell або Object Desktop в OS/2 з графічним інтерфейсом Presentation Manager; нарешті, можна вказати різноманітні варіанти інтерфейсів для сімейства ОС Windows компанії Microsoft, які замінюють Explorer і можуть нагадувати або UNIX з його графічним інтерфейсом, або OS/2, або MAC OS. Слід зазначити, що про сімейство ОС компанії Microsoft із загальним інтерфейсом, реалізовуваним програмними модулями з назвою Explorer (у файлі system.ini, який знаходиться в каталозі Windows, є рядок SHELL=EXPLORER. EXE), все ж таки можна сказати, що замінюваною в цих системах є тільки інтерфейсна оболонка, тоді як саме операційне середовище залишається незмінним; вона інтегрована в ОС. Іншими словами, операційне середовище визначається програмними інтерфейсами, тобто API (арplication program interface). Інтерфейс прикладного програмування (API) включає управління процесами, пам'яттю і в/в.
Ряд ОС можуть організовувати виконання програм, створених для інших ОС. Наприклад, в OS/2 можна виконувати як програми, створені для самої OS/2, так і програми, призначені для виконання в середовищі MS-DOS і Windows 3.x.