> man operating_systems
Создавая новое поколение - часть 1
Аппаратные средства
на Среда, 11 Август 2004, 23:41
добавил: Николас Блэхфорд (Nicholas Blachford) список авторов печатать элемент контента создать pdf-файл  элемент контента
категория Статьи
комментарии: 1
просмотров: 1787

После появления персональных компьютеров в семидесятых годах, они прошли через множество революционных изменений на множестве различных платформ. Однако прошло уже больше десяти лет с тех пор, как мы видели что-то действительно революционное, так увидим ли мы революцию снова? Я думаю, что мы не только сможем увидеть революцию, но можем и создать ее сегодня.<br /><br />
Перевод: Роман Химов aka Roman I Khimov <br />
<a href=http://www.osnews.com/story.php?news_id=7676>Оригинал </a> доступен на OSNews.com.
<hr>

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

Что значит революционная?
Очень редко новые платфомы ПК представляют собой что-либо действительно новое. Вместо этого они просто расширяются за счет технологий, которые уже испытывались в разработках или были доступны в более дорогих системах. Множество технологий, которые мы считаем "", были придуманы десятилетия назад.

Аппаратная многопоточность(ныне известная как "HyperThreading") - новичок в мире настольных систем, но она была впервые представлена сорок лет назад, еще в 1964 году, в компьютерах Сеймура Крея (Semore Cray) [Cray], в CDC 6600. Если разобраться, то очень многое из архитектур современных микропроцессоро впервые появилось в машинах Cray в 60-х.

В то же самое время Дуглас Энгельбарт (Douglas Engelbart) [Mouse] вместе с коллегами работали над такими технологиями, как сети передачи данных, видеоконференци, оконные интерфейсы, гиперссылки и мышь, все это - части современного компьютерного окружения.

Новые платформы 80-х просто взяли эти технологии и связали их так, как это никогда не делалось до этого, что и создало что-то, чего не видели до этого и что было способно показывать такие трюки, каких не могли делать старые системы.

Вот список некоторых персональных компьютеров/систем, которые я считаю революционными:

Apple I / II - 1977
Они могли бы не успеть стать первыми, но техническое мастерство Стива Возняка (Steve Wozinak) дополненное маркетинговой находчивостью Стива Джобса (Steve Jobs) привлекли внимание всего мира к персональному компьютеру.

Macintosh 1983
Начавшийся как представление Джефа Раскина (Jef Raskin) о дешевом компьютере, он радикально изменился благодаря стремлению Стива Джобса создать первый "простой в " компьютер.

Amiga - 1985
Джей Майнер (Jay Miner) соединил аппаратуру от видео игры с 68K процессором, эта сильная аппартная часть была связана с многозадачной операционной системой с GUI. Остальному миру потребовалось десять лет, чтобы достичь того же уровня.

Archimedes - 1987
Британская компания Acorn разработала свой ЦП на RISC. Они назвали его "Acorn RISC Machine" или ARM, и они были первыми, кто представил технологию для дешевых настольных компьютеров в виде Archimedes. Сегодня ARM продается в несколько раз успешнее, нежели x86, а все ЦП для настольных систем так или иначе следуют принципам RISC.

NeXT - 1988
И снова Стив Джобс, на сей раз с рабочей станцией. Он положил GUI на рабочую силу Unix и сдобрил ее передовыми аппаратными решениями. Сегодня NeXT продолжает жизнь в OS X.

BeOS - 1994
Они начали с того, что хотели создать мультимедийную систему в стиле Amiga. Аппаратная часть имела несколько CPU и DSP, но эта идея умерла после того, как AT&T решила прекратить выпуск своих чипов. Однако операционная система Be на годы опередила все, что существовало на рынке, и многое из того, что в нее было заложено, до сих пор не появилось в массовых системах.

Прошло много времени с того момента, как мы видели что-либо революционное, но инновации не застыли на месте, в недалеком будущем должна появиться одна революционная платформа.

200x - Sony/Toshiba/IBM Cell
Хоть Cell еще и не доступен в продаже, проект уже описан в патенте [Cell], он сочетает сеть быстрых векторных процессоров с распределенной системой вычислений.

Когда появлялись эти платформы, все делалось самостоятельно, и я имею ввиду все: аппаратная часть, корпуса, ОС, приложения, средства разработки и компиляторы. Сейчас никто не делает всего этого, и никто не делал со времен BeBox 1994 года, когда Be inc. создала полную систему, от ядра ОС до мультимедиа-плеера и апплетов, которые запускались поверх всего.

Сегодня ситуация в мире настольных систем совершенно другая. Из-за популярности клонов Unix, а в особенности Linux, существует целая эко-система программного обеспечения, от ядер до кодеков, от приложений до апплетов, которые можно использовать в проектах. Если вам нужна сегодня новая платформа, вам необходимо всего лишь поискать, выбрать и адаптировать под свои нужды.

Новая платформа
Я собираюсь рассказать о том, как построить новую платформу, но основанную на готовых частях и существующих открытых ОС. Ведь, как показывает опыт предыдущих платформ, сочетая существующие сильные технологии мы можем создать что-то совершенно новое.

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

Основные принципы

"Все должно быть настолько просто, насколько возможно, но не проще этого" - Альберт Эйнштейн.

Программы сложны и чем больше они существуют, тем более сложными они становятся. Начиная все сначала мы можем учесть все требования и создать концепцию, удовлетворяющую этим требованиям, вместо того, чтобы изменять существующие концепции, что тяжело само по себе и часто ведет к неудачам. Так что, когда мы начинаем проектировать или конструировать что-либо, это должно быть сделано просто. Простота - хорошая вещь, она может усложнять проектирование, но через это будет легче прийти к конечному результату, упростится сопровождение и уменьшится количество ошибок. В мире аппаратных решений это приведет к быстроте, именно так, например, Сеймур Крей проектировал свои машины в далеких 1950-х, машины, которые потом вдохновили создателей RISC.

Аппаратное обеспечение
Система - это нечто большее, чем ПО. Хотя, можно спроектировать только ОС и получить множество преимуществ, вам будет не хватать многого, особенно улучшений в производительноти. Так что, мы начнем с того какой должна быть физическая система, с того какое аппаратное обеспечение она будет использовать.

Аппаратура меняется. Производители процессоров сталкиваются с ограничениями супер-скалярных процессоров, которые могли бы производиться массово и нормально при этом охлаждаться.

Решение, к которому они приходят - многоядерные многопоточные ("Mulcoth" - multi-core multi-threading) процессоры на едином чипе, где несколько ядер CPU размещаются в одном кристалле и, при этом, каждое ядро способно запускать несколько потоков. Недавно анонсированные ЦП POWER5 построены по этой технологии, скоро присоединятся и другие производители (Intel, HP, Sun, AMD, Motorola), причем Sun особено агрессивно проводит эту стратегию в жизнь. Они планируют разместить 8 обычных ядер на одном чипе, и каждое ядро будет способно запускать 4 потока одновременно. В будущем, я уверен, одноядерные однопоточные ЦП станут историей настольных систем.

В будущем физические ограничения будут иметь все больший эффект, что поставит ограничения даже на простые методы проектирования ЦП [TISC]. Поэтому увеличение количества ядер ЦП на одном чипе может оказаться единственным способом поднять производительноть.

Если ваша система может получить выигрыш за счет паралеллизма, ЦП Mulcoth принесут вам большой прирост в производительноти, даже если отдельные ядра будут медленнее, чем решения на едином ядре. На самом деле замедление скорости ядер может привести к повышению производительноти, так как такие ядра могут быть построенны на меньших транзисторах, что освободит место в кристалле для увеличения кэша и размещения дополнительных ядер. Все современные процессоры ограничиваются в своих возможностях памятью, поэтому чем больше ее в чипе, тем быстрее они будут работать. Также, использование низкочастотных ядер означает возможность меньшего энергопотребленя.

Если мы хотим построить новую платформу, она должна принять во внимание эти новшества и использовать их. Если хорошо это сделать, то мы будем иметь самую быструю систему на рынке. Одна из операционых систем, которая была бы идеально приспособлена для таких процессоров - BeOS. Она вся очень сильно распараллелена и прекрасно работает с многозадачность, так что на Mulcoth чипе BeOS работала бы как в мечте. Однако, можно извлечь и большее, чем дает BeOS, преимущество из нескольких ядер, но к этому мы вернемся в разговоре об ОС.

ЦП Mulcoth не единственная существующая технология. Долго предсказывали появление в настольных системах FPGA, но его так и нет. Поточные процессоры - еще один тип ЦП, который, возможно, когда-нибудь разовьется.

индекс статьи
страница 1 - текущая : страница без заголовка
страница 2 : страница без заголовка


© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.