CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
27.06.2016

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Заметки

Рабы закона Мура

CITKIT.ru
Цикл "Операционные системы:
Ностальгия по будущему
"

Страницы: 1 :: 2 :: 3 :: следующая

 

Зако́н Му́ра — эмпирическое наблюдение, сделанное в 1965 году (через шесть лет после изобретения интегральной схемы), в процессе подготовки выступления Гордоном Муром (одним из основателей Intel). Он высказал предположение, что число транзисторов на кристалле будет удваиваться каждые 24 месяца.

ВикипедиЯ

Многие комментарии к моим предыдущим заметкам (и другим материалам, опубликованным на CITKIT.ru) показывают, что некоторые люди полагают наличие полной гармонии между архитектурами современных операционных систем и сегодняшних и ожидаемых в ближайшем будущем аппаратных средств. Хотелось бы, чтобы это было действительно так. Ведь на самом деле по своему исходному назначению операционная система является гармоничным программным продолжением аппаратуры компьютера, облегчающим ее использование для разработчиков приложений (это одна из наиболее важных функций ОС). Однако, как я покажу далее, добиться ожидаемой гармонии крайне редко удавалось в прошлом, этого нет в настоящее время, и будущее пока что не сулит перемен.

Прошлое

Я снова буду говорить только о том, что видел собственными глазами. Наверное, можно было бы найти много других примеров, но они были бы для меня более абстрактными.

Начнем с БЭСМ-6. Эта машина проектировалась в ИТМ и ВТ при тесном взаимодействии инженеров-электронщиков и программистов и поначалу была идеальной платформой для требовавшихся в то время операционных систем. Обеспечивался простой и понятный механизм обработки внешних и внутренних прерываний, поддерживался привилегированный режим работы процессора с небольшим числом специальных команд, имелась аппаратная поддержка механизма виртуальной памяти и т.д. Первая операционная система для БЭСМ-6 (Д-68) действительно продолжала аппаратуру и (похоже) идеально с ней гармонировала.

Но у БЭСМ имелись два серьезных ограничения, которые не были ограничениями в конце 1950-х гг., но стали таковыми через 10 лет. Во-первых, длина адресной части команды составляла всего 15 разрядов и, тем самым, предельный размер виртуального адресного пространства составлял 215 6-байтовых машинных слов. При этом страницы виртуальной памяти были достаточно длинными – 1024 слова. Поначалу объем физической оперативной памяти в БЭСМ-6 также ограничивался объемом в 32 страницы, но со временем был расширен до 256 страниц. Малая виртуальная память стала ограничивать пользователей машины.

Во-вторых, к началу 1970-х гг. в связи с появлением проекта EC ЭВМ в странах «социалистического лагеря» стали массовым образом производиться внешние устройства, снабжаемые контроллерами и подключаемые к процессору на основе аналогов аппаратуры канала IBM. Эти внешние устройства (громоздкие и ненадежные) были все-таки более прогрессивными, чем доморощенные внешние устройства БЭСМ-6, и потребители желали ими пользоваться.

Первое ограничение БЭСМ-6 пытались преодолеть в ОС ИПМ. В этой операционной системе была сделана, в частности, программная реализация механизма управления виртуальной памятью, и виртуальное адресное пространство, поддерживаемое аппаратурой БЭСМ-6, было значительно расширено. С одной стороны, это был очень прогрессивный по тем временам шаг на пути к построению машинно-независимых ОС, но, с другой стороны, из-за принятия такого решения ОС ИПМ работала заметно медленнее других операционных систем для БЭСМ-6 и по этой причине использовалась в меньших масштабах. И уж, конечно, нельзя сказать, что ОС ИПМ гармонировала с аппаратурой БЭСМ-6; она ее не столько дополняла, сколько исправляла на программном уровне.

Второе ограничение было невозможно обойти чисто программными средствами, и в ИТМиВТ был образован проект АС-6 (о котором я уже говорил в первой заметке), исходной целью которого являлось создание «аппаратуры сопряжения» устройств ЕС ЭВМ с БЭСМ-6 (отсюда и происходит аббревиатура АС-6). Как уже отмечалось, этот проект быстро преобразовался в проект по созданию многомашинного вычислительного комплекса, в который, помимо БЭСМ-6, вошли новые компьютеры ПМ-6 и ЦП АС-6. ПМ-6 представляла собой специализированный компьютер, в котором развивались и расширялись идеи канала IBM, и к которому непосредственно подключались контроллеры устройств ЕС ЭВМ и других заново разрабатывавшихся устройств (в частности, сетевых контроллеров). В архитектуре ЦП АС-6 разработчики пытались преодолеть все известные к тому времени недостатки и ограничения БЭСМ-6 и сделать машину, «идеальную» для будущей ОС и разработчиков приложений. При этом следует особо отметить, что весь проект АС-6 с самого начала выполнялся совместно инженерами и программистами.

Что же в результате получилось? Как я писал раньше, операционную систему для ЦП АС-6 было делать очень интересно, и во многих отношениях она получилась удачной. Но при этом ОС ЦП «жила» в среде АС-6 совершенно естественной жизнью, поскольку именно для такой жизни она и предназначалась. На основе аппаратной поддержки в этой ОС была реализована специальная служба обмена сообщениями между компонентами АС-6, и эта служба естественным образом интегрировала ЦП с остальными компонентами. Однако ОС НД-70, которая использовалась в качестве основной ОС БЭСМ-6 в составе АС-6, была организована с этой точки зрения совсем не так естественно. Теперь в БЭСМ-6 можно было использовать как собственные внешние устройства, подключенные через ее «родные» интерфейсы, так и новые ресурсы, доступ к которым был возможен только через локальную сеть АС-6. Причем сам этот доступ осуществлялся через традиционный интерфейс БЭСМ-6. Даже если не вдаваться в подробности, видно, что «идеальной» гармонии операционной системы с новой аппаратурой снова не получилось.

На самом деле, идеала не удалось достичь и в ЦП АС-6. Во-первых, в составе ЦП имелась аппаратура (очень интересная и сложная аппаратура, позволяющая сохранять и динамически восстанавливать регистровый контекст процессов), которая, по сути, использовалась только для отладки операционной системы. Изначально мыслилось, что эта аппаратура будет использоваться в подсистемах поддержки времени выполнения языков программирования с динамическими контекстами (типа Algol-60). Однако в ходе разработки выяснилось, что у пользователей АС-6 нет заинтересованности в таких системах программирования. В системе команд АС-6 имелись и такие средства, которые не использовались ни в ОС, ни в компиляторах, ни в приложениях, в частности, средства машинной арифметики с фиксированной точкой.

Кроме того, а общесистемном уровне имелась аппаратура, позволяющая любому компоненту АС-6 иметь прямой доступ к основной памяти любого другого компонента. В ЦП это достигалось просто путем формирования соответствующего «машинного» адреса. Так вот, возможность записи в «чужую» память не использовалась ни в одной операционной системе (доступ по чтению использовался в упомянутой службе обмена сообщениями). Мне кажется (я не могу утверждать это обоснованно), что ровно так же обстоят дела в существенно более новых вычислительных системах, которые относятся к категории NUMA (Non-Unified Memory Access).

Так что гармонии системных программ и аппаратуры не удалось добиться даже в аппаратно-программном комплексе, который сообща проектировался инженерами и программистами.

Между прочим, аналогичные наблюдения распространяются и на всеми нами любимые компьютеры компании Digital Equipment серий PDP-11 и VAX-11. Если я не ошибаюсь, аппаратная поддержка сегментной виртуальной памяти в PDP-11 не использовалась ни в «родной» ОС компании DEC RSX-11 (там применялся механизм мультизадачности с постоянными разделами основной памяти без какой-либо подкачки или свопинга), ни в UNIX для PDP-11, где использовался простой свопинг. Несмотря на все удобство для операционных систем общей архитектуры и системы команд компьютеров семейства VAX-11 70% команд этой микропрограммной машины никогда не использовалось компиляторами. Сомневаюсь, что кто-то отважится назвать это гармонией.

Тем не менее, у компьютеров прошлых лет имелась одна общая особенность. Операционные системы для них делались в тех же организациях, где и аппаратура. Разработчики аппаратуры имели представление о замыслах программистов (и наоборот), и они, по крайней мере, стремились к гармоничности аппаратных и программных решений, хотя идеала достичь и не удавалось. И тогда закон Гордона Мура) еще не оказывал такого давления на разработчиков аппаратуры, а программисты не были его рабами.




Страницы: 1 :: 2 :: 3 :: следующая

Комментарии

Страницы комментариев: 1 :: 2 :: 3 :: 4 :: следующая

аноним, Wed Oct 14 10:47:19 2009:
такое впечатление, что развитие эвм в союзе тормозилось с само верха. уже тогда готовились к его ликвидации?
аноним, Wed Sep 2 20:26:25 2009:
Какой нах закон мура?! Это просто маркетинговая уловка! Ну что поменяется, если этому закону не следовать? Аж ничего! Лучше бы по-моему дорабатывали существующее железо и софт. ТОгда и проблемы с безопасностью глядишь исчезли бы. И быстрее все стало бы работать из-за оптимизации.
Бородулин Вячеслав, Tue Jun 2 05:55:21 2009:
Спасибо и за Вашу статью "Восход и закат High Performance Fortran: наглядный урок истории"
Тоже очень понравилась.
Бородулин Вячеслав, Tue Jun 2 05:52:16 2009:
Спасибо Сергей за интересную статью. Я думаю, что если произвести отсев всех комментариев хотя бы по критерию орфографии и оконченных 11 классов то из них уже отсталось бы 3-5 штук. А если отсеять тех кто не программировал под параллельные системы, и не написал ни одной статьи, так и подавно будет человека два.

Сам недавно начал работать с университетским кластером и задумался над фундаментальными проблемами распараллеливания вычислений. Оказалось не всё выражается простой маркетинговой фразой интел - "чем больше ядер, тем выше производительность"...

С уважением, Бородулин Вячеслав, ТОГУ
SKeeper, Mon Apr 13 14:15:13 2009:
Браво! Хоть и как-то пессимистично, но все равно интересно.
дао, Sun Apr 12 15:19:29 2009:
мне кажется автора просто не понимают!
это относится и ко всем предыдущим статьям.
tweak, Wed Apr 8 22:19:11 2009:
креатив ниасилил, многабуков. Автор ставит интересный вопрос, но не предлагает вариантов решения проблемы "закона Мура для software".
В отличие от более другого автора http://www.moserware.com/2008/04/towards-moores-law-software-part-1-of-3.html
аноним, Wed Apr 1 09:25:33 2009:
привет кузнецов
аноним, Mon Mar 30 21:18:43 2009:
блин.. интересная статья, наверно. потом по-читаю. не грусти, Серега!
Rigdzin, Mon Mar 30 18:30:21 2009:
А вот почему я возбухаю по поводу лараби: http://www.thg.ru/graphic/intel_larrabee/index.html
В этой статье четко говорится, что интел собирается использовать х86 инструкции именно для графического проца. Причем сами инструкции предполагается модифицировать.
Аргумент, что интел пытается отвоевать рынок встроенной графики - неправилен. Интел и так владеет этим рынком чуть-ли не на 60%. Она скорее пытается подвинуть АТИ и Нвидию с перспективного рынка высокопроизводительных вычислений в объёме десктопа. А кто там обеспечивает такое? Правильно: Радеон и ДжиФорс. Вот интел по аналогии с ними тоже выпускает ГПУ, правда пихает в него х86, забывая, что Рдеон и ДжиФорс такие мощные не потому, что там х86, а как раз наоборот.
По поводу стоимости компьютеров DEC на базе процессоров Alpha - жизнь всегда наказывала жлобство. Я так подозреваю, что их руководство назначало более высокую цену по принципу, если наши компы быстрее - значит круче, и мы будем требовать за них большие деньги, и нам плевать, что продажи наши падают - вот и умер DEC.

Страницы комментариев: 1 :: 2 :: 3 :: 4 :: следующая

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds