ВІКІСТОРІНКА
Навигация:
Інформатика
Історія
Автоматизація
Адміністрування
Антропологія
Архітектура
Біологія
Будівництво
Бухгалтерія
Військова наука
Виробництво
Географія
Геологія
Господарство
Демографія
Екологія
Економіка
Електроніка
Енергетика
Журналістика
Кінематографія
Комп'ютеризація
Креслення
Кулінарія
Культура
Культура
Лінгвістика
Література
Лексикологія
Логіка
Маркетинг
Математика
Медицина
Менеджмент
Металургія
Метрологія
Мистецтво
Музика
Наукознавство
Освіта
Охорона Праці
Підприємництво
Педагогіка
Поліграфія
Право
Приладобудування
Програмування
Психологія
Радіозв'язок
Релігія
Риторика
Соціологія
Спорт
Стандартизація
Статистика
Технології
Торгівля
Транспорт
Фізіологія
Фізика
Філософія
Фінанси
Фармакологія


Третій період (почало 60-х – 1980 р.). Комп'ютери на основі інтегральних мікросхем. Перші багатозадачні ОС

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

Підвищенню ефективності використання процесорного часу заважає низька швидкість роботи механічних пристроїв введення-виводу (швидкий считыватель перфокарт міг обробити 1200 перфокарт в хвилину, принтери друкували до 600 рядків в хвилину). Замість безпосереднього читання пакету завдань з перфокарт в пам'ять починають використовувати його попередній запис, спочатку на магнітну стрічку, а потім і на диск. Коли в процесі виконання завдання потрібне введення даних, вони читаються з диска. Так само вихідна інформація спочатку копіюється в системний буфер і записується на стрічку або диск, а друкується тільки після завершення завдання. Спочатку дійсні операції введення-виводу здійснювалися в режимі off-line, тобто з використанням інших, простіших, окремо вартих комп'ютерів. Надалі вони починають виконуватися на тому ж комп'ютері, який проводить обчислення, тобто в режимі on-line. Такий прийом отримує назва spooling (скорочення від Simultaneous Peripheral Operation On Line) або підкачки-відкачування даних. Введення техніки підкачки-відкачування в пакетні системи дозволило сумістити реальні операції введення-виводу одного завдання з виконанням іншого завдання, але зажадало розробки апарату переривань для сповіщення процесора про закінчення цих операцій.

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

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

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

· Реалізація захисних механізмів. Програми не повинні мати самостійного доступу до розподілу ресурсів, що приводить до появи привілейованих і непривілейованих команд. Привілейовані команди, наприклад команди введення-виводу, можуть виконуватися тільки операційною системою. Говорять, що вона працює в привілейованому режимі. Перехід управління від прикладної програми до ОС супроводиться контрольованою зміною режиму. Крім того, це захист пам'яті, що дозволяє ізолювати конкуруючі призначені для користувача програми один від одного, а ОС – від програм користувачів.

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

· Розвиток паралелізму в архітектурі. Прямий доступ до пам'яті і організація каналів введення-виводу дозволили звільнити центральний процесор від рутинних операцій.

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

· Організація інтерфейсу між прикладною програмою і ОС за допомогою системних викликів.

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

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

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

· Організація зберігання інформації на зовнішніх носіях у вигляді файлів і забезпечення доступу до конкретного файлу тільки певним категоріям користувачів.

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

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

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

Поява електронно-променевих дисплеїв і переосмислення можливостей застосування клавіатур поставили на чергу вирішення цієї проблеми. Логічним розширенням систем мультипрограмування сталі time-sharing системи, або системи розділення времени1). У них процесор перемикається між завданнями не тільки на час операцій введення-виводу, але і просто після певного часу. Ці перемикання відбуваються так часто, що користувачі можуть взаємодіяти зі своїми програмами під час їх виконання, тобто інтерактивно. В результаті з'являється можливість одночасної роботи декількох користувачів на одній комп'ютерній системі. У кожного користувача для цього має бути хоч би одна програма в пам'яті. Щоб зменшити обмеження на кількість працюючих користувачів, була упроваджена ідея неповного знаходження виконуваної програми в оперативній пам'яті. Основна частина програми знаходиться на диску, і фрагмент, який необхідно в даний момент виконувати, може бути завантажений в оперативну пам'ять, а непотрібний – викачаний назад на диск. Це реалізується за допомогою механізму віртуальної пам'яті. Основною гідністю такого механізму є створення ілюзії необмеженої оперативної пам'яті ЕОМ.

У системах розділення часу користувач дістав можливість ефективно проводити відладку програми в інтерактивному режимі і записувати інформацію на диск, не використовуючи перфокарти, а безпосередньо з клавіатури. Поява on-line-файлов привела до необхідності розробки розвинених файлових систем.

Паралельно внутрішній еволюції обчислювальних систем відбувалася і зовнішня їх еволюція. До початку цього періоду обчислювальні комплекси були, як правило, несумісні. Кожен мав власну операційну систему, свою систему команд і так далі В результаті програму, що успішно працює на одному типі машин, необхідно було повністю переписувати і наново відладжувати для виконання на комп'ютерах іншого типу. На початку третього періоду з'явилася ідея створення сімейств програмно сумісних машин, що працюють під управлінням однієї і тієї ж операційної системи. Першим сімейством програмно сумісних комп'ютерів, побудованих на інтегральних мікросхемах, стала серія машин IBM/360. Розроблене на початку 60-х років, це сімейство значно перевершувало машини другого покоління по критерію ціна/продуктивність. За ним послідувала лінія комп'ютерів PDP, несумісних з лінією IBM, і кращою моделлю в ній стала PDP-11.

Сила "однієї сім'ї" була одночасно і її слабкістю. Широкі можливості цієї концепції (наявність всіх моделей: від міні-комп'ютерів до гігантських машин; велика кількість різноманітної периферії; різне оточення; різні користувачі) породжували складну і громіздку операційну систему. Мільйони строчок Асемблера, написані тисячами програмістів, містили безліч помилок, що викликало безперервний потік публікацій про них і спроб виправлення. Тільки у операційній системі OS/360 містилося більше 1000 відомих помилок. Проте ідея стандартизації операційних систем була широко упроваджена в свідомість користувачів і надалі отримала активний розвиток.

© 2013 wikipage.com.ua - Дякуємо за посилання на wikipage.com.ua | Контакти