Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lesson_01_SPZ.doc
Скачиваний:
4
Добавлен:
10.11.2018
Размер:
2.31 Mб
Скачать
    1. Призначення та склад операційних систем.

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

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

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

  3. ОС реального часу – повинні гарантувати виконання запитів користувачів за певний заданий відрізок часу. Запити в таких системах надходять як від користувачів, так і від зовнішніх пристроїв і при цьому швидкість виконання обчислювальних процесів повинна бути узгоджена зі швидкістю процесів, які виконуються поза обчислювальною системамою, що керує ними. Час відповіді на запит не повинен перевищувати певних заданих значень реального часу (сек., хв., год.). Необхідний час відповіді системи визначається властивостями об’єктів які вона обслуговує. Обчислювальні системи під керівництвом таких ОС, як правило, працюють у багатозадачному режимі.

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

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

Системне програмування – це сукупність засобів, яка забезпечує автоматизацію розробки та відлагодження програм і включає в себе: мови програмування; транслятори; бібліотеки підпрограм; компонувальники та відлагоджувальники програм.

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

Вхідна програма або вихідний модуль – це програма, яка написана на одній з мов програмування і складається з послідовних операторів.

Структура мов програмування:

  • машинна мова;

  • мова низького рівня (Assembler, Macro Assembler);

  • мова високого рівня (Pascal, Delphi, C++).

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

Мова Macro Assembler поряд з мнемонічними позначеннями (mul, add) множин команд допускають використання спеціальних макрокоманд, які не мають прямих аналогів в машинній мові. При перекладі на машинну мову оператор, який позначає макрокоманду, замінюється групою машинних команд.

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

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

Загальна схема трансляції

Програма, яка перетворює вихідний модуль в об’єктний на мові низького рівня або машинній мові називається транслятор.

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

Асемблер – це транслятор з мови низького рівня. Вхідний модуль перетворюється Асемблером у об’єктний модуль, який є особливим записом об’єктної програми. Об’єктний модуль містить машинні команди та інформацію необхідну для об’єднання цього модуля з іншими незалежно – трансльованими модулями, а також і інформацію необхідну для розміщення цього модуля в оперативній пам’яті. Безпосередньо цей модуль не є виконуваною програмою – тому він потребує додаткової обробки компонувальниками.

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

Схема інтерпретації програми

Схема компіляції програми

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

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

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

uses crt;

#include <dos.h>

Компонувальник об’єднує декілька об’єктних модулів в один виконуваний (завантажувальний модуль), який готовий до безпосереднього виконання ЕОМ після його завантаження і розміщення в оперативній пам’яті (це файли з розширенням *.exe).

Схема компонування завантажуваного модуля

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]