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

4.1.2 Структура програмних засобів комп'ютерних систем

ОС і середовища. У англомовній технічній літературі термін System Software (системне ПЗ) означає програми і комплекси програм, що є загальними для всіх, хто спільно використовує технічні засоби комп'ютера, і вживані як для автоматизації розробки / створення нових програм, так і для організації виконання існуючих програм. З цих позицій системне ПЗ може бути розділено на наступні п'ять груп: ОС; Системи керування файлами; Інтерфейсні оболонки для взаємодії користувача з ОС і програмні середовища; Системи програмування; Утиліти.

Розглянемо ці групи ПЗ.

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

Основними функціями ОС є:

Рис.1 Узагальнена структура програмного забезпечення обчислюваної системи

- прийом від користувача завдань / команд, сформульованих на відповідній мові - у вигляді директив команд оператора або у вигляді вказівок (своєрідних команд) за допомогою відповідного маніпулятора (наприклад, за допомогою миші), - і їх обробка;

- прийом і виконання програмних запитів на запуск, припинення, зупинку інших програм;

- завантаження в ОП належних виконанню програм;

- ініціація програми (передача їй керування, внаслідок чого МП виконує програму);

- ідентифікація всіх програм і даних;

- забезпечення роботи систем керування файлами (СКФ) і/або систем керування БД;

- забезпечення режиму мультипрограмування, тобто виконання двох / більш програм на одному МП;

- забезпечення функцій по організації і керуванню всіма операціями вводу/виводу;

- задоволення жорстким обмеженням на час відповіді в режимі реального часу;

- розподіл пам'яті, а в більшості сучасних систем і організація ВП;

- планування і диспетчеризація задач відповідно до заданих стратегією і дисциплінами обслуговування;

- організація механізмів обміну повідомленнями і даними між програмами, що виконуються;

- захист однієї програми від впливу іншої; забезпечення збереження даних;

- надання послуг на випадок часткового збою системи;

- забезпечення роботи систем програмування, за допомогою яких користувачі готують свої програми.

Призначення СКФ - організація більш зручного доступу до даних, організованих як файли. Саме завдяки СКФ замість низькорівневого доступу до даних з вказівкою конкретних фізичних адрес потрібного запису використовується логічний доступ з вказівкою імені файлу і запису в ньому. Всі сучасні ОС мають відповідні СКФ. Проте виділення цього виду системного ПЗ в окрему категорію представляється доцільним, оскільки ряд ОС дозволяє працювати з декількома файловими системами. В цьому випадку говорять про додаткову СКФ, і в цьому значенні вони самостійні. Більш того, можна назвати приклади найпростіших ОС, які можуть працювати і без файлової системи (ФС), а значить, їм необов'язково мати СКФ, або вони можуть працювати з однією з вибраних ФС. Проте, будь-яка СКФ не існує сама по собі - вона розроблена для роботи в конкретній ОС і з конкретною ФС. Наприклад, що відома ФС 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, які замінюють Explorer і можуть нагадувати або UNIX з його графічним інтерфейсом, або OS/2, або MAC OS. Зазначимо, що про сімейство ОС Windows із загальним інтерфейсом, реалізовуваним програмними модулями з назвою Explorer (у файлі system.ini, який знаходиться в каталозі Windows, є рядок SHELL=EXPLORER. EXE), все ж таки можна сказати, що замінюваною в цих системах є тільки інтерфейсна оболонка, тоді як саме операційне середовище залишається незмінним; вона інтегрована в ОС. Іншими словами, операційне середовище визначається програмними інтерфейсами, тобто API (арplication program interface). Інтерфейс прикладного програмування (API) включає керування процесами, пам'яттю і вводом/виводом.

Ряд ОС можуть виконувати програми, які створені для інших ОС. Наприклад, в OS/2 можна виконувати як програми, створені для самої OS/2, так і програми, призначені для виконання в середовищі MS-DOS і Windows 3.x. Відповідна операційна середовище організовується в ОС в рамках окремої віртуальної машини (ВМ). Аналогічно, в системі Linux можна створити умови для виконання деяких програм, написаних для Windows 95/98. Певними можливостями виконання програм, створених для іншого ОС, володіє і Windows NT. Ця система дозволяє виконувати деякі програми, створені для MS-DOS, OS/2 1.x, Windows 3.x. Правда, в сімействі ОС Windows XP розробники відмовилися від підтримки можливості виконання DOS-програм.

Нарешті, до цього класу системного ПЗ слід віднести і емулятори, що дозволяють змоделювати в одній ОС яку-небудь іншу машину або ОС. Так, система емуляції WMWARE дозволяє запустити в середовищі Linux будь-яку іншу ОС, наприклад Windows. Можна, навпаки, створити емулятор, що працює в середовищі Windows, який дозволить змоделювати комп'ютер, що працює під керуваннямм будь-якої ОС, у тому числі і Linux.

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

Система програмування представлена перш за все такими компонентами, як транслятор з відповідної мови, бібліотеки підпрограм, редактори, компонувальники і відладчики. Не буває самостійних (відірваних від ОС) систем програмування. Будь-яка система програмування може працювати тільки у відповідній ОС, під яку вона і створена, проте при цьому вона може дозволяти розробляти ПЗ і під інші ОС. Наприклад, система програмування на мові C/C++ фірми Watcom для OS/2 дозволяє одержувати програми для самої OS/2, і для DOS та Windows.

У випадку, коли створювані програми повинні працювати зовсім на іншій апаратній базі, говорять про крос-системи. Так, для ПК на базі МП i80x86 є велика кількість крос-систем, що дозволяють створювати ПЗ для різних МП і мікроконтролерів.

Під утилітами розуміють спеціальні системні програми, з потужністю яких можна як обслуговувати саму ОС, так і готувати для роботи носії даних, виконувати перекодування даних, здійснювати оптимізацію розміщення даних на носії і проводити деякі інші роботи, пов'язані з обслуговуванням комп'ютерної системи. До утиліт слід віднести і програму розбиття НЖД на розділи, і програму форматування, і програму перенесення основних системних файлів самої ОС. Також до утиліт відносять ця і відомі комплекси програм від фірми Symantec, що носять ім'я Пітера Нортона. Природно, що утиліти можуть працювати тільки у відповідній ОС.