Класифікація програмного забезпечення

2.1.1. Типи програмного забезпечення

Програмне забезпечення, програмні засоби, жарг. софтвер, софт (англ. software, на противагу hardware - апаратне забезпечення) - складова частина обчислювальної техніки, сукупність програм з даними і документації на них, що забезпечує її функціонування.

Це "сутність", яка не має видимого або відчутного втілення, "душа" комп'ютера: програми, інформація, записана в пам'яті та на носіях інформації. Програмне забезпечення - доповнення апаратного забезпечення. Робота обчислювальної техніки можлива тільки при наявності й того, й іншого.

Виникнення програмних помилок у процесі роботи комп'ютера не означає його псування - часто апаратна частина комп'ютера у цьому випадку залишається живою. Для ліквідації програмної помилки необхідно проаналізувати роботу системи або прикладної програми, лог файли - візуально або застосовуючи спеціальні програми (утиліти). Можливо потрібно перезавантажити або навіть перевстановити програму і в самому крайньому випадку операційну систему на комп'ютері. Програмна помилка часто призводить до втрати даних, які в ряді випадків можна відновити шляхом застосування спеціальних утиліт.

Призначенням комп'ютера є виконання програм. Програма містить команди, що визначають порядок дії комп'ютера. Сукупність програм для комп'ютера складає програмне забезпечення (ПЗ). За функціональною ознакою розрізняють системне і прикладне програмне забезпечення.

У першому наближенні всі програми, що працюють на комп'ютері, можна умовно розділити на три категорії:

  1. прикладні програми, які безпосередньо забезпечують виконання необхідних користувачам робіт;
  2. системні програми, що виконують різні допоміжні функції, наприклад:
    • управління ресурсами комп'ютера;
    • створення копій використовуваної інформації;
    • перевірка працездатності пристроїв комп'ютера;
    • видача довідкової інформації про комп'ютер тощо;
  3. інструментальні програмні системи, що полегшують процес створення нових програм для комп'ютера.

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

Якщо раніше можна було по пальцях перерахувати основні категорії ПЗ - операційні системи, транслятори, пакети прикладних програм, то зараз ситуація докорінно змінилася.

Розвиток ПЗ пішов як вглиб (з'явилися нові підходи до побудови операційних систем, мов програмування тощо), так і вшир (прикладні програми перестали бути прикладними і придбали самостійну цінність).

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

Крім того, з'явилися нетрадиційні програми, класифікувати які за усталеними критеріями дуже важко, а то й просто неможливо, як, наприклад, програма-електронний співрозмовник.

На сьогоднішній день можна сказати, що більш-менш точно склалися такі групи програмного забезпечення:

  • операційні системи та оболонки;
  • системи програмування (транслятори, бібліотеки підпрограм, відлагоджувачі тощо);
  • інструментальні системи;
  • інтегровані пакети програм;
  • динамічні електронні таблиці;
  • системи машинної графіки;
  • системи управління базами даних (СУБД);
  • прикладне програмне забезпечення.

Зрозуміло, цю класифікацію не можна вважати вичерпною, але вона більш-менш наочно відображає напрями удосконалення та розвитку програмного забезпечення.

2.1.2. Системне програмне забезпечення

Системне (базове) ПЗ - програмне забезпечення, що включає в себе операційні системи, мережеве ПЗ, сервісні програми, а також засоби розробки програм (транслятори, редактори зв'язків, відлагоджувачі тощо.).

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

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

Для розширення можливостей операційних систем та надання набору додаткових послуг використовуються сервісні програми. Їх можна розділити на наступні групи:

  • інтерфейсні системи;
  • оболонки операційних систем;
  • утиліти.

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

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

Утиліти надають користувачам засоби обслуговування комп'ютера і його ПЗ. Вони забезпечують реалізацію наступних дій:

  • обслуговування магнітних дисків;
  • обслуговування файлів і каталогів;
  • надання інформації про ресурси комп'ютера;
  • шифрування інформації;
  • захист від комп'ютерних вірусів;
  • архівація файлів тощо.

Існують окремі утиліти, використовувані для виконання однієї з перелічених дій, і багатофункціональні утиліти.

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

2.1.3. Прикладне програмне забезпечення

Програми, за допомогою яких користувач може вирішувати свої інформаційні завдання, не вдаючись до програмування, називаються прикладними програмами.

Як правило, всі користувачі вважають за краще мати набір прикладних програм, який потрібен практично кожному. Їх називають програмами загального призначення. До числа таких програм належать:

  • текстові та графічні редактори, за допомогою яких можна готувати різні тексти, створювати малюнки, будувати креслення; простіше кажучи, писати, креслити, малювати;
  • системи управління базами даних (СУБД), що дозволяють перетворити комп'ютер на довідник з будь-якої теми;
  • табличні процесори, що дозволяють організовувати дуже поширені на практиці табличні розрахунки;
  • комунікаційні (мережеві) програми, призначені для обміну інформацією з іншими комп'ютерами, об'єднаними з даним в комп'ютерну мережу.

Дуже популярним видом прикладного програмного забезпечення є комп'ютерні ігри. Більшість користувачів саме з них починає своє спілкування з ЕОМ.

Крім того, є велика кількість прикладних програм спеціального призначення для професійної діяльності. Їх часто називають пакетами прикладних програм. Це, наприклад, бухгалтерські програми, що виробляють нарахування заробітної плати та інші розрахунки, які робляться в бухгалтеріях; системи автоматизованого проектування, які допомагають конструкторам розробляти проекти різних технічних пристроїв; пакети, що дозволяють вирішувати складні математичні завдання без складання програм; навчальні програми з різних шкільних предметів і багато іншого.

2.1.4. Операційні системи

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

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

Цей процес називається завантаженням операційної системи.

У функції операційної системи входить:

  • здійснення діалогу з користувачем;
  • введення-виведення і керування даними;
  • планування й організація процесу обробки програм;
  • розподіл ресурсів (оперативної пам'яті та кеша, процесора, зовнішніх пристроїв);
  • запуск програм на виконання;
  • усілякі допоміжні операції обслуговування;
  • передача інформації між різними внутрішніми пристроями;
  • програмна підтримка роботи периферійних пристроїв (монітора, клавіатури, накопичувачів, принтера та ін.)

У залежності від кількості одночасно оброблюваних завдань і числа користувачів, яких можуть обслуговувати ОС, розрізняють чотири основні класи операційних систем:

  1. однокористувацькі однозадачні, які підтримують одну клавіатуру і можуть працювати тільки з одним (в даний момент) завданням;
  2. однокористувацькі однозадачні з фоновим друком, які дозволяють крім основного завдання запускати одне додаткове завдання, орієнтоване, як правило, на виведення інформації на друк. Це прискорює роботу при видачі великих обсягів інформації на друк;
  3. однокористувацькі багатозадачні, які забезпечують одному користувачеві паралельну обробку декількох завдань. Наприклад, до одного комп'ютера можна підключити декілька пристроїв, кожен з яких буде працювати на "своє" завдання;
  4. багатокористувацькі багатозадачні, що дозволяють на одному комп'ютері запускати кілька завдань декільком користувачам. Ці ОС дуже складні й вимагають значних машинних ресурсів.

У різних моделях комп'ютерів використовують операційні системи з різною архітектурою і можливостями. Для їхньої роботи потрібні різні ресурси. Вони надають різний ступінь сервісу для програмування та роботи з готовими програмами.

Операційна система для персонального комп'ютера, орієнтованого на професійне застосування, повинна містити такі основні компоненти:

  • програми управління введенням/виведенням;
  • програми, що управляють файловою системою і планують завдання для комп'ютера;
  • процесор командної мови, що приймає, аналізує і виконує команди, адресовані операційній системі.

Кожна операційна система має свою командну мову, яка дозволяє користувачеві виконувати ті чи інші дії:

  • звертатися до каталогу;
  • виконувати розмітку зовнішніх носіїв;
  • запускати програми;
  • інші дії.

Аналіз і виконання команд користувача, включаючи завантаження готових програм з файлів в оперативну пам'ять та їх запуск, здійснює командний процесор операційної системи.

Для управління зовнішніми пристроями комп'ютера використовуються спеціальні системні програми - драйвери. Драйвери стандартних пристроїв утворюють у сукупності базову систему введення-виведення (BIOS), яка зазвичай заноситься в постійний ЗП комп'ютера.

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