Основнi класи програмного забезпечення: системнi програми ос , системи програмування, ужитковi програми

Лекція 2. Програмне забеспечення

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2.1.5. Системи програмування

     Система програмування - це система для розробки нових програм на конкретній мові програмування.

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

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

     Популярні системи програмування - Turbo Basic, Quick Basic, Turbo Pascal, Turbo C.

2.1.6. Інструментальні програми

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

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

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

     Інструментальні програмні засоби можуть надати допомогу на усіх стадіях розробки ПЗ.

2.2. Інструментальні програмні засоби загального призначення

     Незважаючи на широкі можливості використання комп'ютерів для обробки різноманітної інформації, найпопулярнішими є програми, призначені для роботи з текстами - текстові редактори і видавничі системи. Текстовими редакторами називають програми для введення, обробки, зберігання і друкування текстової інформації у зручному для користувача вигляді. Експерти оцінюють використання комп'ютера як друкуючої машинки у 80%.

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

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

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

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

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

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

2.3. Інструментальні програмні засоби спеціального призначення

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

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

     Крім того, ці системи повинні вміти пояснювати свою поведінку і своє рішення.

     Принциповою відмінністю експертних систем від інших програм є їхня адаптивність, тобто мінливість в процесі самонавчання.

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

  • модуль бази знань;
  • модуль логічного виведення;
  • інтерфейс користувача.

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

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

     Розширення концепції гіпертексту на графічну та звукову інформацію приводить до поняття гіпермедіа. Ідеї гіпермедіа набули поширення в мережевих технологіях, зокрема в Інтернет-технологіях. Технологія WWW (World Wide Web) дозволила структурувати величезні світові інформаційні ресурси за допомогою гіпертекстових посилань. З'явилися програмні засоби, що дозволяють створювати подібні Web-сторінки. Почали розвиватися механізми пошуку потрібної інформації в лабіринті інформаційних потоків.

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

     Мультимедійні ігрові та навчальні системи починають витісняти традиційні "паперові бібліотеки". Сьогодні у бібліотеках CD-ROM можна "гуляти" по музеях, Московському Кремлю тощо за допомогою "електронного путівника".


     Запитання для самоконтролю:

  1. Що таке програмне забезпечення?
  2. За якими ознаками можна класифікувати програмне забезпечення?
  3. Як класифікують програмне забезпечення за функціональною ознакою?
  4. Що забезпечують прикладні програми?
  5. Які функції виконують системні програми?
  6. Що таке інструментальні програмні системи?
  7. Що включає в себе системне програмне забезпечення?
  8. Для чого призначене мережеве програмне забезпечення?
  9. Для чого використовуються сервісні програми?
  10. Що таке операційна система?
  11. Які сучасні операційні системи Ви знаєте?
  12. Що входить до функцій операційної системи?
  13. Які основні класи операційних систем Ви знаєте?
  14. Що входить до складу системи програмування?
  15. Які системи програмування Ви знаєте?
  16. Які програми відносяться до інструментальних програм?
  17. Як ви розумієте поняття "Інтернет-технології"?
  18. Що таке експертна система?
  19. Чим принципово відрізняються експертні системи від інших програм?
  20. Що таке утиліти?
  21. Які функції виконуються утилітами?
  22. Що таке резидентні програми?
  23. Що таке інструментальні програмні засоби?
  24. Що відноситься до інструментальних програмних засобів загального призначення?
  25. Що відноситься до інструментальних програмних засобів спеціального призначення?
  26. Які програми відносяться до допоміжних?
  27. Які функції виконує компілятор?
  28. Що таке інтерпретатор? Які функції він виконує?
  29. Що таке інтегроване середовище розробки?
  30. За яким принципом розроблялися універсальні інтегровані системи?
  31. Чи відома Вам сучасна концепція інтеграції програмних засобів?
  32. Які основні функції виконують програми обробки графічної інформації?
  33. За допомогою чого сполучають інформаційні дані з різних програмних систем?
  34. Що Ви знаєте про технологію WWW (World Wide Web)?
  35. Що таке гіпертекст?
  36. Які програми обробки гіпертекстової інформації Вам відомі?
  37. Що таке мультимедіа?
<< Попередній крок      Наступний крок >>

Источник: http://lib.mdpu.org.ua/e-book/vstup/L2.htm

  • Автор: Самойла
  • 19.05.2015, 15:06
  • Посмотрели: 1902


Имя:*
E-Mail:
Введите код: *
Помогает ли лечение пиявками при остеопорозу