Лекція 10. Історія розвитку операційних систем

10.1. Попередники ОС

Перші комп'ютери взагалі не мали ОС. На початку 1960-х вони лише комплектувались набором інструментів для розробки, планування та виконання завдань. Серед інших можна виділити системи від UNIVAC та Control Data Corporation.

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

У 1950-1960-х роках сформувалися і були реалізовані основні ідеї, що визначають функціональність ОС: пакетний режим, поділ часу і багатозадачність, поділ повноважень, реальний масштаб часу, файлові структури і файлові системи.

 

10.2. Пакетний режим

Необхідність оптимального використання дорогих обчислювальних ресурсів призвела до появи концепції «пакетного режиму» виконання програм. Пакетний режим передбачає наявність черги програм на виконання, причому система може забезпечувати завантаження програми з зовнішніх носіїв даних в оперативну пам'ять, не чекаючи завершення виконання попередньої програми, що дозволяє уникнути простою процесора.

Пакетний режим в своєму розвиненому варіанті вимагає поділу процесорного часу між виконанням декількох програм. Необхідність в поділі часу проявилася ще сильніше при поширенні в якості пристроїв введення-виведення телетайпів. Оскільки швидкість клавіатурного введення даних оператором багато нижче, ніж швидкість обробки цих даних комп'ютером, використання комп'ютера в «монопольному» режимі могло привести до простою дорогих обчислювальних ресурсів.

 

10.3. Розподіл часу та багатозадачність

Розподіл часу - спосіб розподілу обчислювальних ресурсів між багатьма користувачами за допомогою мультипрограмування і багатозадачності. Поява даної концепції на початку 1960-х років і активний розвиток в 1970-і призвело до значного технологічного прориву в історії обчислювальної техніки.

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

Концепція «поділу часу» з'явилася як результат розуміння того, що хоча кожен окремий користувач використовує комп'ютер неефективно, група користувачів разом - ні. Це пов'язано з самою формою взаємодії: користувач вводить інформацію посимвольно, між натисканнями клавіш слідує пауза, за час якої комп'ютер може виконати тисячі операцій, але якщо одночасно працює група користувачів, паузи одного користувача можуть заповнюватися активністю інших. Якщо підібрати оптимальний розмір групи, ефективність використання комп'ютера значно підвищиться. Точно так же користувачам можуть надаватися інтервали часу, які комп'ютер витрачає на очікування операцій читання диска, стрічки або передачі по мережі.

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

10.4. Розподіл повноважень

Поширення багатокористувацьких систем вимагало вирішення завдання розподілу повноважень, що дозволяє уникнути можливості зміни виконуваної програми або даних однієї програми в пам'яті комп'ютера іншою програмою (навмисно або помилково), а також зміни самої системи прикладної програмою.

Реалізація поділу повноважень в операційних системах була підтримана розробниками процесорів, які запропонували архітектури з двома режимами роботи процесора - «реальним» (в якому виконуваній програмі віддавався весь адресний простір комп'ютера) і «захищеним» (в якому доступність адресного простору обмежена діапазоном, виділеним при запуску програми на виконання).

 

10.5. Масштаб реального часу

Застосування універсальних комп'ютерів для управління виробничими процесами потребувало реалізації «масштабу реального часу» - синхронізації виконання програм із зовнішніми фізичними процесами.

Включення функції масштабу реального часу дозволило створювати рішення, одночасно обслуговуючі виробничі процеси і вирішальні інші завдання (в пакетному режимі і/або в режимі поділу часу).

Операційні системи реального часу ділять на два типи - системи жорсткого реального часу і системи м'якого реального часу.

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

Основна відмінність систем жорсткого і м'якого реального часу можна охарактеризувати так: система жорсткого реального часу ніколи не запізниться з реакцією на подію, система м'якого реального часу не повинна відставати від реакції на подію.

Остання зміна: Saturday 30 May 2020 14:48 PM