Logo Host-telecom.com — профессиональный хостинг в Европе! Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

ATLEX Выделенные серверы: в Европе / в России.

Виртуальные серверы: в Европе / в России.

Партнерская программа

Хостинг + Certum Commercial SSL и домен в подарок

VPS: SSD, KVM, бесплатные бэкапы и администрирование 24/7

Бесплатный перенос сайта + подарки к новоселью

хостинг сайтов ГиперХост — хостинг сайтов который Вы искали.

Виртуальный хостинг, Аренда VPS серверов, рация доменных имен, SSL сертификаты

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

Страницы: 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 :: следующая

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

Комментарии

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

аноним, Ср 25 фев 2009 17:03:02:
ДАРАГОЙ Сергей Кузнецов хватит уже писать этот бред, а? Сазнайся тарагой што ты извращенец и получаеш оргазым от своих пасквилей. ни один факт приводимый тобой не имеет под сабой здравого смысла. У тебя маразым? тебе скучно и ты одинок? за пешись в какой-нибудь кружок и не пеши больше такую гадость.
аноним, Ср 25 фев 2009 16:40:22:
Опять просто невероятная чушь! Теперь на 3(sic!) страницы. Хотя бы одно правильное высказывание было бы! Радует, что с последней статьи аффтар нашёл наконец Википедию.

Общая оценка: КГ/АМ
аноним, Ср 25 фев 2009 11:44:32:
Пообщайтесь с Андреем Тереховым с матмеха питерского универа относительно проекта "Самсон". Это уникальный отечественный компьютер с системой команд, оптимизированной для работы трансляторов. Между прочим, реально выпускается и работает.
grub, Ср 25 фев 2009 11:24:27:
ИМХО гармония доступна только в электрочайниках. Современные ОС многозадачные. Не в плане одновременности, а в плане применяемости: игры, работа, творчество. Какая может быть гармония, когда к одному продукту предъявляются такие разные и противоречивые требования?

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

Ваш комментарий

Имя:

Текст комментария (HTML-теги не допускаются):

💰 Самые низкие цены на домены

🔒 Отличный хостинг на SSD c бесплатными SSL

💻 Огромнейший выбор dedicated выделенных серверов

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Новости мира IT:

Архив новостей

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

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 985 1945361
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...