Програмне забезпечення ЕОМ

 

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

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

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

Рис. 8.4. Структура програмного забезпечення ЕОМ

 

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

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

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

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

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

Кожен пакет, залежно від ЕОМ і його призначення, реалізується на конкретній мові програмування відповідно до вимог пакету і можливостей мови. Нижче приводяться деякі відомості про пакет наукових підпрограм, написаних на мові Фортран.

Фортран є найбільш поширеною мовою програмування обчислювальних завдань. Транслятор за допомогою цієї мови входить до складу математичного забезпечення майже всіх ЕОМ. На мові Фортран накопичена найбільша в світі бібліотека програм.

Важливе значення для наукових досліджень, що проводяться із застосуванням ЕОМ, мають пакети наукових підпрограм. Це сукупність підпрограм, що написані на мові базисного Фортрану і реалізовують найбільш вживані методи чисельного аналізу і статистики. Пакет має модульну структуру, що допускає можливість його розширення і заміни окремих модулів.

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

Математичні підпрограми охоплюють: звернення матриць; власні значення і власні вектори; системи лінійних рівнянь алгебри; підстановки; матричну арифметику (складання, множення і так далі); розбиття матриць; табулювання матриць і сортування рядків або стовпців; елементарні операції з рядками і стовпцями матриць; розкладання матриць; інтеграція і диференціювання функцій, заданих табличний; вирішення диференціальних рівнянь першого порядку; аналіз Фур’є функцій, заданих табличний; обчислення функцій Бесселя і модифікованих функцій Бесселя; обчислення у-функций; еліптичних функцій Якобі; еліптичних, експоненціальних інтегралів; інтегральних синусів і косинусів; інтегралів Френеля; знаходження дійсного коріння заданої функції; знаходження дійсного і комплексного коріння многочлена з дійсними коефіцієнтами; поліноміальну арифметику (складання, ділення і так далі); обчислення поліномів, інтеграція, диференціювання; поліноми Чебишева, Ерміта, Лагера, Лежандра; екстремуми функцій; апроксимацію, інтерполяцію і складання таблиць.