Топ питань
Часова шкала
Чат
Перспективи

SVC (мейнфрейми IBM)

З Вікіпедії, вільної енциклопедії

Remove ads

SVC (англ. Supervisor Call) — інструкція процесора мейнфреймів IBM System/360 і сумісних з ними, а також подальших серій, аж до поточної IBM Z, призначена для виклику сервісів операційної системи.

Крім оригінальної System/360, інструкція присутня також у мейнфреймах Amdahl (470V, 580/5880, 5990 та інших), UNIVAC 90/60, 90/70 та 90/80, а також Fujitsu M180/M200.

Обгрунтування

Узагальнити
Перспектива

Мейнфрейми IBM System/360 можуть працювати у двох режимах: так званий проблемний режим (англ. problem state) — за сучасною термінологією «режим користувача», у якому запускаються прикладні програми («програми, що вирішують проблеми користувача»), і режим супервізора (англ. supervisor state), призначений для системного програмного забезпечення. Додатково визначаються 16 так званих «ключів доступу до пам'яті» (англ. storage access keys). У «проблемному режимі» програма може використовувати не всі інструкції процесора — деякі так звані привілейовані інструкції доступні лише у режимі супервізора. Код супервізора, для якого поточне значення ключа доступу до пам'яті дорівнює 0, має доступ до всієї пам'яті комп'ютера.

Коли прикладна програма бажає здійснити системний виклик, вона викликає машинну інструкцію SVC, у другому байті якої кодується номер потрібного виклику. У OS/360 немає обмежень на те, які виклики дозволені програмі. Наступні операційні системи, такі як OS/VS1, SVS і MVS/370 додали процедуру авторизації, яку повинна пройти програма перед здійсненням деяких викликів. Авторизація здійснюється такими сервісами, як DEBCHK (номер 117), TESTAUTH (номер 119) і деякими іншими.[уточнити]

У OS/VS1, VS2 і MVS/370 додано спеціальний сервіс MODESET (номер 107), який значно спростив процедуру одночасної зміни режиму (проблемний на супервізора) і ключа доступу (ключі 8-15 призначено для користувацьких програм, а 0-7 — для системних).

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

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

Remove ads

Реалізація

SVC є двобайтовою інструкцією з кодом операції 0A0x, де x — номер системного виклику. Обробник SVC є обробником переривання. Інформація до і від обробника передається у регістрах процесора або у оперативній пам'яті.

Виклики супервізора поділяються на кілька типів, спочатку пронумерованих від 1 до 4. MVS/370 додала ще один «тип 6».

Для операційних систем, розроблених у IBM, повернення з обробника для викликів типу 2, 3 і 4 здійснюється функцією EXIT, яка теж має свій номер системного виклику (SVC 3). Для інших типів повернення до прикладної програми здійснюється інструкцією процесора LPSW. OC, розроблені іншими фірмами, використовують винятково LPSW для повернення.

У ОС MVS/370 і пізніших альтернативою викликам SVC є прямі виклики за визначеними адресами (англ. branch and link entry points).

У різних операційних системах IBM сумісність у семантиці викликів SVC вкрай незначна.

У системах, що додали підтримку апаратної віртуалізації (таких, як VM/370 і z/VM) інструкція DIAG є схожою за ідеєю на SVC, але призначена для переходу з режиму супервізора до режиму гіпервізора.

Remove ads

Системні виклики OS/360

Узагальнити
Перспектива

У системі OS/360 і її наступниках виклики, нумеровані від 0 до приблизно 127 означені самою IBM, а від 255 і «униз» — доступні для використання у конкретній інсталяції системи. У z/OS розподіл змінився: номери від 0 до приблизно 200 — для IBM, від 255 униз — для інсталяцій як «додаткові системні сервіси» (наприклад, підтримка шифрування і дешифрування). Власне процедури-обробники SVC повинні мати назви модулів, що починаються на IGC.

Термін «заблоковані» (англ. disabled) означає, що системний виклик заборонений (фізично) для всіх переривань за винятком переривань контролю машини у системах, раніших MVS/370, і заборонений за методом local lock для даного адресного простору у MVS/370 і новіших системах. У кожного адресного простору MVS/370 є свій local lock.

У OS/360 означалися чотири типи процедур SVC. MVS/370 додав «тип 6», аналогічний типові 1, але з фізичним блокуванням. «Тип 5» ніколи не означався.

У наступній таблиці наводяться типи процедур SVC і їх особливості.

Більше інформації Угода, Тип 1 / тип 6 ...
Remove ads

Список системних викликів у OS/360 версії 21.6

Узагальнити
Перспектива

У таблиці наведено системні виклики операційної системи OS/360 версії 21.6, описані у публікації «IBM Field Engineering Handbook: System/360 Operating System» (липень 1971-го року)[2].

Більше інформації №, Назва ...
Remove ads

Виноски

  1. Використання регістрів процесора для SVC у OS/360 і MVS:
    • R3: адреса CVT
    • R4: адреса TCB
    • R5: адреса RB
    • R6: точка входу (лише для MVS)
    • R7: адреса ASCB (лише для MVS)
    • R14 адреса повернення
  2. Перша назва — файл початкового коду, друга — лінкера
  3. R15: список параметрів
  4. У MFT з підзадачами — IEAQCH00
  5. R2: ↑DECB
  6. R2: ↑QUEUE

Джерела

  • IBM System/360 Operating System: Programmer's Guide to Debugging (OS Release 21.7) (PDF) (англ.). IBM. April 1973. Архів оригіналу (PDF) за 29 січня 2020. Процитовано 15 квітня 2020.
  • OS Release 21: IBM System/360 Operating System Supervisor Services and Macro Instructions (PDF) (англ.). IBM. September 1974. Архів оригіналу (PDF) за 29 січня 2020. Процитовано 17 квітня 2020.
  • SVC descriptions (англ.). IBM. Архів оригіналу за 27 жовтня 2016. Процитовано 18 квітня 2020.
Remove ads

Примітки

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads