Головна

Коротка історія еволюції обчислювальних систем

  1.  A. Розділ біомеханіки, в якому досліджується рух крові по судинній системі.
  2.  ArcView GIS. Загальні відомості про систему
  3.  B. Процес, при якому для повернення системи в початковий стан потрібні витрати енергії.
  4.  C. Астигматизм, обумовлений асиметрією оптичної системи, сферична аберація, астигматизм косих пучків, дисторсия, хроматична абеpрація.
  5.  D. Міра невизначеності в системі
  6.  I. Структура на основних сетівні системи. Строеж на зрітелната і слуховата сетівна системи.
  7.  IBM Power 7 | Нові серверні системи

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

Перший період (1945-1955). Лампові машини. Операційні систем були відсутні.

Ми почнемо дослідження розвитку комп'ютерних комплексів з появи електронних обчислювальних систем (опускаючи історію механічних і електромеханічних пристроїв).

Перші кроки по створенню електронних обчислювальних машин були зроблені в кінці Другої світової війни. В середині 40-х були створені перші лампові обчислювальні пристрої, і з'явився принцип програми, що зберігається в пам'яті машини (John Von Neumann, червень 1945р). У той час одна і та ж група людей брала участь і в проектуванні, і в експлуатації, і в програмуванні обчислювальної машини. Це була радше науково-дослідницька робота в області обчислювальної техніки, а не регулярне використання комп'ютерів як інструмент вирішення будь-яких практичних завдань з інших прикладних областей. Програмування здійснювалося виключно на машинному мовою. Про операційних системах не було й мови, всі завдання організації обчислювального процесу вирішувалися вручну кожним програмістом з пульта управління. За пультом міг перебувати тільки один користувач. Програма завантажувалася в пам'ять машини в кращому випадку з колоди перфокарт, а зазвичай за допомогою панелі перемикачів. Обчислювальна система виконувала одночасно тільки одну операцію (введення-виведення, власне обчислення, роздуми програміста). Налагодження програм велася з пульта управління за допомогою вивчення стану пам'яті і регістрів машини. В кінці цього періоду з'являється перша системне програмне забезпечення: в 1951-52 рр. виникають прообрази перших компіляторів з символічних мов (Fortran і ін.), а в 1954 р Nat Rochester розробляє асемблер для IBM-701. В цілому перший період характеризується вкрай високою вартістю обчислювальних систем, їх малою кількістю і низькою ефективністю використання.

Другий період (1955-Початок 60-х). Комп'ютери на основі транзисторів. Пакетні операційні системи

З середини 50-х років почався новий період в еволюції обчислювальної техніки, пов'язаний з появою нової технічної бази - напівпровідникових елементів. Застосування транзисторів замість часто перегорають електронних ламп призвело до підвищення надійності комп'ютерів. Тепер вони змогли безперервно працювати настільки довго, щоб на них можна було покласти виконання дійсно практично важливих задач. Знизилося споживання обчислювальними машинами електроенергії. Простіше стали системи охолодження. Розміри комп'ютерів зменшилися. Експлуатація та обслуговування обчислювальної техніки подешевшали. Почалося використання ЕОМ комерційними фірмами. Одночасно спостерігається бурхливий розвиток алгоритмічних мов (ALGOL-58, LISP, COBOL, ALGOL-60, PL-1 і т. Д). З'являються перші справжні компілятори, редактори зв'язків, бібліотеки математичних і службових підпрограм. Спрощується процес програмування. Пропадає необхідність звалювати на одних і тих же людей весь процес розробки і використання комп'ютерів. Саме в цей період відбувається поділ персоналу на програмістів і операторів, фахівців з експлуатації та розробників обчислювальних машин.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Четвертий період (1980-теперішній час). Персональні комп'ютери. Класичні, мережеві і розподілені системи.

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

Комп'ютери стали широко використовуватися неспеціалістами, що зажадало розробки "дружнього" програмного забезпечення, це поклало кінець кастовості програмістів.

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

В середині 80-х стали бурхливо розвиватися мережі комп'ютерів, в тому числі персональних, що працюють під управлінням мережевих або розподілених операційних систем.

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

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

Надалі автономні операційні системи ми будемо називати класичними операційними системами.

Що ми винесли з історії розвитку обчислювальних систем?

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

  1. Планування завдань і використання процесора.
  2. Забезпечення програм засобами комунікації і синхронізації.
  3. Управління пам'яттю.
  4. Управління файлової системою.
  5. Управління введенням-виведенням.
  6. Забезпечення безпеки

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

Основні поняття, концепції ОС.

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




 Структура обчислювальної системи |  виняткові ситуації |  Монолітне ядро |  Листкові системи (Layered systems) |  Віртуальні машини |  Мікроядерна архітектура. |  змішані системи |  Класифікація ОС |  поняття процесу |  стану процесу |

© um.co.ua - учбові матеріали та реферати