10.3. Багатозадачні пакетні системи
При використанні монітора бажано було б застосовувати також й інші можливості апаратного забезпечення, а саме:
захист пам’яті. Під час роботи програми користувача вона не повинна вносити зміни в область пам’яті монітора. Якщо це трапиться, то апаратне забезпечення процесора повинно виявити помилку та передати управління монітору;
таймер. Таймер використовується для того, щоб запобігти ситуації, коли одне завдання захопить безмежний контроль над системою. Таймер виставляється на початку кожного завдання, і після закінчення певного проміжку часу програма користувача зупиняється, а управління передається монітору;
привілейовані команди. Деякі команди повинні мати підвищені привілеї і виконуватися тільки монітором. Це, наприклад, команди введення-виведення. Якщо програмі користувача потрібно здійснити введення-виведення, вона повинна запитати для виконання цих операцій монітор;
переривання. Ця можливість надає ОС велику гнучкість при передачі управління програмі користувача та її відновленні.
Постачальники комп’ютерів швидко зрозуміли, що без таких можливостей апаратного забезпечення навіть прості пакетні ОС можуть привести до хаосу.
Третє покоління (1965-1980): інтегральні схеми та багатозадачність. На початку 60-х років у світі переважали комп’ютери типу IBM-7094 для числових розрахунків в науці та техніці, та IBM-1401, які широко використовувались банками для сортування та друку даних. Розвиток та підтримка цих двох ліній для виробників були достатньо дорогим задоволенням. Тому фірма IBM спробувала вирішити ці проблеми разом, випустивши єдину серію універсальних машин IBM/360, які повинні задовільняти потребам усіх покупців. Машини мали однакову структуру та набір команд, розрізнялися вони тільки ціною та продуктивністю (об’ємом пам’яті, швидкодією процесора, кількістю пристроїв введення-виведення і т.і.), і були програмно-сумісними знизу догори, тобто від простих моделей до більш складних.
Корпорація IBM досягла миттєвого успіху, а ідею родини сумісних комп’ютерів прийняла і решта всіх основних виробників. Програмна сумісність вимагала і сумісності операційних систем. Такі операційні системи повинні були б працювати і на великих, і на малих обчислювальних системах, з великою та з малою кількістю різноманітної периферії, у комерційній області та в області наукових досліджень. Тому, щоб управляти всією цією родиною комп’ютерів, була створена єдина операційна система OS/360, яка повинна була добре працювати на всіх цих моделях.
Ні IBM, ні інша фірма не могли написати ПЗ, яке задовольняло б багатьом суперечливим вимогам. В результаті з’явилася величезна та надзвичайно складна ОС. Вона складалась з мільйонів рядків, які були написані на Асемблері тисячами програмістів, і містила тисячі помилок. Не дивлячись на свої величезні розміри та недоліки, OS/360 та подібні до неї ОС 3-го покоління насправді непогано задовільняли вимогам клієнтів.
Іншим важливим плюсом ОС 3-го покоління стала здатність читати завдання з перфокарт на диск по мірі того, як їх приносили до машинної зали (або зі стрічки), як тільки закінчувалося поточне завдання. Цей технічний прийом називається “підкачкою” даних або спулингом (spooling, від Simultaneous Peripheral Operation On Line – миттєва периферійна операція в інтерактивному режимі). З появою підкачки стали більше не потрібні спеціальні пристрої та багаторазові перенесення магнітних стрічок.
Ефективність роботи процесора в ОС 3-го покоління значно підвищилася. Тепер у пам’яті комп’ютера було достатньо місця для операційної системи та двом або більше програмам користувачів. Тепер, коли одне із завдань чекає завершення операцій введення-виведення, процесор може перемикатися на інше завдання і так далі. Такий режим відомий як багатозадачність (multiprogramming) і є основною рисою в сучасних ОС.
Робота багатозадачної пакетної системи та деяких простих пакетних систем базувалася на певних апаратних особливостях комп’ютера. Найзначнішим доповненням, яке стало корисним для багатозадачності, з’явилося апаратне забезпечення, що підтримує переривання введення-виведення. Використовуючи цю можливість, процесор генерує команду введення-виведення для одного завдання та переходить до іншого на той час, поки контролером пристрою здійснюється введення-виведення. Після завершення операції введення-виведення процесор отримує переривання, і управління передається програмі обробки переривань зі складу ОС. Потім управління передається іншому завданню.
Багатозадачні ОС складніші за системи послідовної обробки завдань, хоча б через те, що, для того, щоб обробити декілька завдань одночасно, вони повинні знаходитись в основній пам’яті, а для цього потрібна система управління пам’яттю.
- Міністерство освіти і науки україни
- 9.12. Огляд WinDev 154
- 10. Історія операційних систем 169
- Список літератури 187
- Передмова
- 1. Передвісники комп’ютерної ери
- 1.1. Комп’ютерна програма–що це?
- 1.2. Доелектронна історія обчислювальної техніки
- Логарифмічна лінійка
- 1.3. Можливості двійкового коду
- 1.4. Розвиток двійкової системи
- 1.5. Винахід перших комп’ютерів
- Перша в історії працююча програмнокерована універсальна обчислювальна машина z-3 (1941 р.)
- 1.6. Гарвардська архітектура
- 1.7. Архітектура фон Неймана
- 1.8. Створення зрозумілих людині кодів
- 1.9. Крок на благо програмування
- 1.10. Можливості програмного управління
- 2. Нові мови програмування
- 2.1. Поневіряння пакетної обробки
- 2.2. Універсальна мова програмування
- 2.3. Усунення неоднозначності
- 2.4. Заклик до дотримання математичної строгості
- 2.5. Пошук та усунення помилок
- 2.6. Нелегке мистецтво програмування
- 2.7. Обчислювальна техніка та програмування в срср
- 3. Розквіт та хаос програмного забезпечення
- 3.1. Місце народження хакерів
- 3.2. Два чародії програмування
- 3.3. Перші промислові стандарти
- 3.4. Дружній інтерфейс
- 3.5. Прообраз сучасного «ноутбука»
- 4. Болісний шлях розвитку програмування
- 4.1. Плануюче обчислення
- 4.2. Внесок Великої Британії
- 4.3. Програмування англійською мовою
- 5. Три комерційні гіганти
- 5.1. Перша комерційна мова програмування
- 5.2. Обчислювальна техніка приходить у бізнес
- 5.3. Народження codasyl
- 5.4. Конференція в Цюріху
- 5.5. На шляху до сумісності комп’ютерів
- 5.6. Розбіжності Нового Світу
- 6. Десятиліття динамічного розвитку
- 6.1. Перші кроки непроцедурної мови
- 6.3. Алфавітне хрещення
- 6.4. Успіх та суперечки
- 6.5. Інженерний підхід
- 6.6. Структурний підхід
- 6.7. Поява мови “Ада”
- 7. Програмування приходить у наші домівки
- 7.1. Розквіт Бейсіка
- 7.2. Поява мови Модула-2
- 7.3. Музикальний француз
- 7.4.Довгожитель Lisp – інструмент функціонального програмування
- 7.5. Prolog – нездійснена мрія еом V покоління
- 7.6. Революція на ім’я Java
- 8. Історія і шляхи розвитку супер-еом
- 8.1. Усе починалося з менфреймов
- 8.2. Напрями розвитку обчислювальної техніки
- 8.3. Розвиток елементної бази. Закон Мура
- 8.4. Вдосконалення архітектури
- Звичайна послідовн обробка
- Конвеєрна обробка
- 9. Сучасний стан та перспективи розвитку програмування
- 9.1. Криза у програмуванні
- 9.2. Методологія процедурно-орієнтованогопрограмування
- 9.3. Методологія об’єктно-орієнтованогопрограмування
- 9.4. Методологія об’єктно-орієнтованогоаналізу та проектування
- 9.5. Технології програмування
- 9.6. Case –засоби
- 9.7. Методологія rad
- 9.11.1. Знайомство с LightSwitch
- 9.11.2. Архитектура LightSwitch
- 9.11.3. Створення проекту в Microsoft Visual Studio LightSwitch
- 9.11.4. Дванадцять основних переваг LightSwitch
- 9.12. Огляд WinDev
- 9.12.1. ПризначенняWinDev
- 9.12.2. Деякі характеристики wLanguage
- 9.13. Технологія model checking
- 9.14. NeoBook – программирование для непрограммистов
- 9.14.1. Введення для секретарок
- 9.14.3. Можливості та області застосування
- 9.15. Файлові системи найближчого майбутнього
- 9.15.1. Зетта-повінь настає
- 9.15.2. Файлова система zfs
- 9.15.3. Файлова системаBtrfs
- 9.15.4. Файлова системаHammer
- 10. Історія операційних систем
- 10.1. Послідовна обробка даних
- 10.2. Прості пакетні системи
- 10.3. Багатозадачні пакетні системи
- 10.4. Системи з режимом розподілу часу
- 10.5. Основні досягнення
- 10.6. Сучасні системи unix
- 10.7. Os/2. Битва двох гігантів
- Список літератури