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 :: следующая

Фонин, Сб 28 фев 2009 12:24:13:
Сергей Дмитриевич, огромное Вам спасибо за статью. Дай бог вам здоровья... а ситфоруму побольше статей о проблемах а не о решениях:)
Фонин, Сб 28 фев 2009 12:22:53:
>>Аку-Аку, пятница, 27 февраля 2009 г. 21:33:22:
>>//Но к моей заметке ни то, ни другое отношения >>не имеет.
>>А что тогда имеет?
>>Я понимаю, если бы вы как Таненбаум или тот же >>Завалишин предложили какую-то (полосатую :) ) ос. :)
>>А так, вы только поназадавали вопросов в пустое >>пространство.
Уважаемый Аку-Аку,
Это как раз тот случай когда ценность формулировки пролемы выше ценности конечного решения. Дело в том, что в современном Айти-бизнесе первая задачу - определить проблему, за решение которой заплатят. И неправильное решение первой задачи есть гарантия того, что все последующие шаги приведут в никуда.
Вот есть две светлые головы, один прочитал статью Таненбаума о миникс, а второй статью Кузнецова о проблемах. Вопрос -кто из них быстрее побежит создавать что-то своё, генерить идей?

Сергей Дмитриевич, огромное спасиьу
Аку-Аку, Пт 27 фев 2009 21:33:22:
//Но к моей заметке ни то, ни другое отношения не имеет.

А что тогда имеет?

Я понимаю, если бы вы как Таненбаум или тот же Завалишин предложили какую-то (полосатую :) ) ос. :)
А так, вы только поназадавали вопросов в пустое пространство.
Причем вопросов достаточно банальных. И? Что дальше-то?

Например вот
//И кто знает, не станут ли многоядерные процессоры со временем массовыми.

Они как бы уже стали массовыми.

Так что, при всем уважении к вам, и к тому что вы написали -- маловато будет.
Dogmatik, Пт 27 фев 2009 11:42:41:
"По-моему, если вдруг не найдется гений, который придумает, как с пользой для человечества и без риска для жизни программистов использовать эту технику будущего (похоже, не столь уж отдаленного), то компьютерная индустрия просто зайдет в тупик. Утешает только то, что это понятно многим специалистам, а человечество, когда его загоняют в тупик, обычно ухитряется что-то придумать."

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

P.S. Немного реалий.
"Пока что на многоядерность процессоров можно закрыть глаза. В конце концов, два или даже четыре ядра благополучно может использовать сама операционная система, ничего не говоря о их наличии пользователям, а просто выполняя на них отдельные, никак не взаимодействующие приложения."

Кодирование видео, аудио, игры, архиваторы - самые что ни на есть житейские и очень ресурсоемкие задачи и многоядерность там уже вовсю используется.
Аку-Аку, Пт 27 фев 2009 10:31:17:
//Но к моей заметке ни то, ни другое отношения не имеет.

А что тогда имеет?

Я понимаю, если бы вы как Таненбаум или тот же Завалишин предложили какую-то (полосатую :) ) ос. :)
А так, вы только поназадавали вопросов в пустое пространство.
Причем вопросов достаточно банальных. И? Что дальше-то?

Например вот
//И кто знает, не станут ли многоядерные процессоры со временем массовыми.

Они как бы уже стали массовыми.

Так что, при всем уважении к вам, и к тому что вы написали -- маловато будет.
Сергей Кузнецов, Пт 27 фев 2009 02:20:04:
Аку-Аку: Письмо президенту писать не буду. Не понимаю, про что и зачем. Завалишина и его проект знаю, желаю ему удачи. Но к моей заметке ни то, ни другое отношения не имеет.
Crazy Alex, Пт 27 фев 2009 00:29:33:
Оно кажется бредом, пока не работаешь с многопоточностью. Автор, вообще-то не первый в этой области. У Того же Страуструпа статья на эту тему уже года два как вышла. Наверняка и до него кто-то был... Впрочем, как раз в линуксе с его легковесными процессами все это не так критично - ну будет как в хроме реализовано - по процессу на страницу. Опять же - подозреваю, что нейросети на такой архитектуре себя уютно чувствовать будут... Но что нужны какие-то новые парадигму программирования - это точно. То же ООП многопоточность тянет не самым естественным образом...
добрый аноним, Чт 26 фев 2009 14:11:03:
Этот сайт не заслуживает своих посетителей.
Аку-Аку, Чт 26 фев 2009 10:12:08:
Вот какраз рассуждения на тему новой ОС.
Автор на заметку.

http://webplanet.ru/review/soft/2009/02/25/national_os.html

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

А то, чтобы философствовать об отвлеченном, много сил и ума не надо.
аноним, Ср 25 фев 2009 18:22:52:
Ну и? Оживят какой нить мультикс и делов то.

Вон у нас в колонии Ares-437BS2 на допотопных 64 ядерниках как раз клон мультикса крутится и ничего.

Страницы комментариев: предыдущая :: 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
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...