Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
вступ, ст 22-93.doc
Скачиваний:
5
Добавлен:
02.09.2019
Размер:
1.62 Mб
Скачать

Повторне використання ідей

Кібернетика (наука про комп'ютерах), як і безліч інших областей знання,

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

сконструювати. І персональні комп'ютери існують не тому, що мільйони людей

довгий час хотіли мати свій власний комп'ютер, але стримували цей

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

Через такий мінливості в даній книзі час від часу ми будемо розглядають

розглядати «застарілі» концепції, тобто ідеї, не оптимальні для сучасних

технологій. Але зміни в технології можуть повернути до життя деякі з так

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

Щоб пояснити нашу точку зору, розглянемо декілька прикладів. Ранні

комп'ютери мали вмонтований в апаратуру набір команд. Потім з'явилося

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

Ранні комп'ютерні системи розміщували файли на диску, розташовуючи їх у

сусідніх секторах, один за одним. Хоча ця схема здійснюється дуже просто, вона

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

І нарешті, розглянемо динамічне зв'язування. Система MULTICS проектувалася так, щоб вона могла функціонувати вдень і вночі без зупинок. Щоб програмно виправляти системні помилки, необхідно було знайти спосіб, що дозволяє замінювати бібліотечні процедури під час їх використання. Для цієї мети придумали поняття динамічного зв'язування. Після того як Її система MULTICS віджила своє, це поняття було на час забуто. Але його відкрили заново, коли сучасним операційним системам знадобився спосіб, дозволяє декількох програмах ділити між собою одну бібліотечну процедуру, не створюючи для себе власної копії (бо графічні бібліотеки зросли до неймовірних розмірів). Зараз більшість систем знову підтримує деяку форму динамічного зв'язування. Список можна ще продовжити, але мораль описаних вище прикладів така: ідея, яка сьогодні є застарілою, завтра може стати окрасою сезону. Не тільки технології впливають на системи та програмне забезпечення. Важливу роль відіграє і економіка. У 60-х і 70-х роках більшість терміналів було механічно друкуючими пристроями або алфавітно-цифровими дисплеями з електронно-променевими трубками, призначеним для виводу 25 х 80 символів,а не графічними терміналами з растровим відображенням. Цей вибір був обумовлений не технологіями. Растрові графічні термінали використовувалися ще до 1960 року. Але вони коштували кілька десятків тисяч доларів кожен. Тільки після сильного падіння цін люди (а не тільки військові) смоли задуматися про надання кожному користувачеві власного терміналу.