Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



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

Рис. 1. Однопрограмний та багатопрограмний режим роботи ОС.

 

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

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

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

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

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

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

 

3. Призначення та склад операційних систем.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

 

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

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

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

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

 

 

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

 

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

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

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

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

uses crt;

#include <dos.h>

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


Читайте також:

  1. Глобалізація бізнесу та нове системне проектування
  2. Динамічне програмування.
  3. Економічна сутність динамічного програмування. Основні типи задач та моделі ДП.
  4. Концепція функціонального програмування.
  5. Лінійне програмування.
  6. Математична постановка задач лінійного програмування. Система гіпотез.
  7. Мови програмування.
  8. Нелінійне програмування.
  9. Опукле програмування. Необхідні та достатні умови існування сідлової точки. Теорема Куна-Такера.
  10. Поняття про двоїсту задачу лінійного програмування.
  11. Приклад 3. Розв’язати лінійну задачу цілочислового програмування.
  12. Публічне адміністрування як системне явище




Переглядів: 1830

<== попередня сторінка | наступна сторінка ==>
Системне програмування. | Процеси

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.015 сек.