Русский
Русский
English
Статистика
Реклама

Bell labs

Краткая история холодных цифровых излучателей звука или о том, почему мы до сих пор используем аналоговые динамики

29.06.2020 18:10:05 | Автор: admin
На протяжении столетия самым популярным типом излучателей звука являются динамические громкоговорители. Традиционные аналоговые динамики применяются повсеместно. Именно они остаются последним аналоговым устройством в привычном для современного человека тракте звуковоспроизведения. Но если бы аналоговые динамические громкоговорители обнаружили археологи какой-нибудь цивилизации далекого будущего через, они бы, вероятно, ломали голову, зачем их предкам нужны были настолько нелогичные обогревательные приборы. Большую часть энергии динамик превращает в тепло и это не единственная его проблема.



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


Предпосылки к появлению


С середины 20-х безраздельное доминирование в электроакустике остается за электродинамическим громкоговорителем, в его разнообразных вариациях. Потеснить его не смогли ни электростаты, которые сначала здорово горели, срывая сеансы первых звуковых фильмов в 30-х, а потом стали просто баснословно дороги. Ни ионофоны, которые не способны к адекватному воспроизведению НЧ. Ни пьезоэлектрические излучатели, которые не выдержали конкуренции в силу небольшого частотного диапазона.


сгоревшая катушка динамика сабвуфера

При этом динамики сложно назвать технически совершенным решением. Так, для ВЧ динамиков температура катушки 100 градусов Цельсия не является пределом, КПД по этой причине редко превышает 1 %, а температура катушки НЧ динамических драйверов может легко превысить 150 и даже 200 градусов, при работе с номинальной мощностью. Искажения, как частотные, так и нелинейные, как правило, оставляют желать лучшего и требуют коррекции или технологий, которые позволят их значительно их уменьшить. Аналогичная история происходит с переходной характеристикой, которая в дорогих решениях заставляет постоянно гнаться за большим частотным диапазоном, который в идеале должен выходить значительно дальше слышимого человеческим ухом спектра.

Но, несмотря на все недостатки динамика, именно он стал наиболее востребованным по совокупности достоинств. При этом неутомимые исследователи не прекращали искать нечто более производительное, энергоэффективное, а также более управляемое. Инженеры стали искать способ преобразовать цифровой сигнал в звук напрямую, без использования ЦАП.


акустические эксперименты Bell Labs в 1920-х

Теоретически, цифровые динамики были описаны в разработках Bell Labs еще в 1920-х годах. Их принцип был достаточно прост. Наименьший значащий бит управляет динамиком, в котором значение 1 приводит его в действие с максимальной амплитудой, значение 0 полностью прекращает подачу сигнала. Далее младший значащий бит удваивал начальную площадь излучения, следующий за ним удваивал его площадь и т.д в соответствии с количеством разрядов. В 20-х не было насущной необходимости в таком типе преобразования цифровых сигналов в звук и теоретически труды легли ва стол на долгие годы.

Телефонный громкоговоритель Bell Lab


В ранних вариантах площадь излучения следующего бита располагалась концентрически вокруг сегмента предыдущего бита, но это правило не является обязательным. Теория впервые воплотилась в практику в 1980-м. Разработчиком также стала компания Bell Lab. Это был дискообразный электрод, на котором закреплялась тонкая пленочная мембрана. Электрод был разделен на изолированные сегменты, с соотношением площади, описанным выше, по числу разрядов 4,3, 2,1,0. Сегменты возбуждалось цифровым сигналом прямоугольной формы, в соответствии с его значением.

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

Японские эксперименты


Следующим этапом в развитии цифровых излучателей звука стало создание электретных и пьезоэлектрических цифровых громкоговорителей компанией SONY. Принцип действия не очень сильно отличался от использовавшегося в Bell Lab, но конструкция была иной. Электроды таких излучателей представляли собой концентрические секции с равной площадью. Секции подключались группами, количество групп зависело от разрядности излучателя.

Принципиально другой метод разделения секций цифрового громкоговорителя был предложен инженерами корпорации Matsushita Electric (сегодня Panasonic Corporation). В патентах, и сегодня принадлежащих компании, предложено объединять сегменты, излучающие звук по группам, в соответствии с весовым коэффициентом разряда.

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

Цифровые динамики


Попытки создания электродинамического цифрового излучателя начались почти сразу после появления пьезо и электретных громкоговорителей этого типа. Проблемы последних заключались в узком диапазоне частот и своеобразной АЧХ, которая не позволяла их эффективно использовать нигде, кроме устройств связи для воспроизведения голоса и ВЧ секций АС.


чертеж из патента Philips

Philips и Sony начали эксперименты по созданию цифрового динамика ещё в 1982-м. Принцип заключался в том, что количество катушек в излучателе увеличивается, число секций при этом соответствует разрядности. Результатом стал патент компании Philips 4612420 (http://personeltest.ru/aways/patents.justia.com/patent/4612420), незадолго до этого в Японии был зарегистрирован 58-31699, демонстрирующий похожую конструкцию цифрового динамика.
Можно считать, что цифровой динамик с многозвеньевой катушкой был одним из самых долгоживущих вариантов цифрового излучателя. Последнее упоминание об аналогичной разработке датируется 2000 годам, когда похожий принцип применила компания B&W, флагман аудиофильской разработки.

Университетские пьезоизлучатели


Помимо корпораций, создающих электронику, тему цифрового излучателя активно разрабатывали в университетах. Группа ученых из университета Шинцу в Нагано в 1990-х сосредоточила усилия на создании пьезоэлектрических цифровых громкоговорителей. Они получили первый результат в 1993-м году, а к 1999-му показали излучатель, рассчитанный на 16-битный сигнал с частотой дискретизации 48 кГц.
Можно говорить, что эта разработка стала первым цифровым излучателем, характеристики которой были достаточны для ограниченного мультимедийного использования. Характеристики устройства были следующими:
  • Диапазон частот: 40-10000 Гц;
  • Неравномерность АЧХ в пределах 4дБ.
  • THD 3,5% на частоте 50 Гц и 0,1% на 10000 Гц
  • Чувствительность 84 дБ

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

Брайтонская решетка или хельсинкский алгоритм


Приснопамятные британские ученые применили принципиально новый принцип. Группа исследователей из Брайтонского университета при финансовой поддержке B&W разработала АС, в которой цифровой излучатель не пытались впихнуть в один корпус, а представили в виде распределенной решетки из множества отдельных динамических излучателей, которые объединялись в группы в соответствии с разрядом сигнала. Таким образом было открыто два направления для развития цифровых громкоговорителей. Первый повышение разрядности квантования, что позволяло уменьшить шумы, второй коррекция сигнала, для компенсации искажений динамических (или иных) излучателей.

Создание нового типа цифрового излучателя вызвало живой интерес в академическом сообществе. В результате финская компания Audio Signal Processing Espoo и Хельсинкский университет создали алгоритм, оптимизирующий работу брайтонской секционной решетки. Алгоритм позволил выровнять фазу и амплитуду во всем спектре воспроизводимых частот. Алгоритм также появился в 2000-м году.

The Digital Sound Projector


Описанные выше разработки были использованы компанией 1..limited для создания The Digital Sound Projector, устройства, которое было представлено в 2002-м году. Можно сказать, это первый в истории электроакустики полноценный продукт, использующий для воспроизведения музыки с высокой верностью цифровой излучатель.



В создании The Digital Sound Projector приняли участие производители микропроцессоров ARM Ltd, междисциплинарная научная компания Cambridge Display Technology, производитель микросхем Analog Devices. Позже мелкосерийный выпуск продукта продолжила компания Pioneer.

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



Одним из значимых достижений стал КПД, который достигал 10 %, что существенно превышало значения классических аналоговых динамиков. Принцип распределенного управляемого цифрового излучения также позволил значительно снизить гармонические и интермодуляционные искажения. Пожалуй, самым значительный и явным недостатком системы была её сложность, низкая технологичность, а соответственно, высокая стоимость. В начале нулевых мир не был готов принять нечто настолько сложное и, очевидно, что не готов принять до сих пор. Ощутимые проблемы в виде сложности и стоимости не сделали технологию решеток массовой и похоронили её на кладбище не выстреливших идей.

Современный этап развития


Несмотря на очевидные сложности, технология цифрового излучения получила неожиданное развитие. Так в 2015-м году было заявлено о создании MEMS-излучателя, в основе которого лежит комплементарная структура металл-оксид-полупроводник (CMOS). Мы привыкли к MEMS-микрофонам и MEMS-акселерометрам, пришла очередь громкоговорителей.


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



Ещё одним примером использования цифровых излучателей являются наушники Audio-Technica ATH-DSR9BT, которые лишены привычного ЦАПа и оснащены цифровыми громкоговорителями Pure Digital Drive. Суть технологии производитель подробно не раскрывает, однако, судя по доступной информации, это реинкарнация цифрового динамика с множеством катушек, однако в отличие от излучателей Philips середины 80-х, Pure Digital Drive оперирует мультибитным сигналом.



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



Теплое аналоговое ближайшее будущее


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

Ещё одной проблемой является стоимость. И пока не вырастет технологичность, стоимость не уменьшится, а она не вырастет быстро по причине уже упомянутой скорости развития MEMS. Простота и откатанность производства динамиков настолько полюбились производителям, что для того, чтобы их на что-то поменять нужны очень веские аргументы, и повышение КПД явно не один из них. Поэтому сторонники технооархаики и прочего аналогового аудиофильского стимпанка могут не беспокоится. Ламповые усилители, конечно, не вернутся вслед за воскресшим винилом, но теплые и даже горячие (в прямом смысле) true-аналоговые динамики поживут ещё десяток другой лет. К сожалению, удел цифровых громкоговорителей сегодня это всё ещё сравнительно дорогие редкие экспериментальные продукты и научные изыскания.

Подробнее..

Почему работать в консоли настолько приятно? Так задумано отцами-основателями Unix

19.04.2021 12:12:03 | Автор: admin

Кен Томпсон и Деннис Ритчи

Unix. Легендарная операционная система оказала огромное влияние на разработку программного обеспечения и всю информатику в целом. Из неё выросли целые семейства Unix-подобных ОС, которыми все мы пользуемся.

Язык программирования Си, Ричард Столлман и GNU, движение Open Source, Линус Торвальдс с ядром Linux, маки, айфоны и Android. Почти всё в системном программировании 21века можно отследить до истоков до Unix.

Unix это фундаментальная база. Но что же в ней такого особенного? Есть один секрет. Точнее, два.

Философия Unix


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

Во-вторых это была правильная операционная система. Сделанная в соответствии с некими общими принципами, в соответствии с цельной философией Unix.

Брайан Керниган и Роб Пайк в книге Unix. Программное окружение формулируют основную идею этой философии:

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

Многие Unix-программы по отдельности выполняют довольно тривиальные задачи, но будучи объединёнными с другими, образуют полный и полезный инструментарий.

Другими словами, философия Unix это взаимодействие программ. Как говорил в своей презентации Брайан Керниган, программы Unix словно строительные блоки, которые можно комбинировать, складывая в эффективные конструкции. Выход одной программы является входом другой программы. Своеобразный конвейер (пайп).

Команды сочетаются в конвейер не только стандартными, очевидными способами. Бывают и весьма нетривиальные сочетания.

Волшебные конвейеры


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

Список лидеров по числу коммитов


Начнём с простого примера: отобразить список авторов репозитория git, отсортированных по количеству коммитов. Если представить задачу в терминах конвейеров, то она довольно простая. Выводим логи коммитов командой git log. Опция --format=<format> позволяет указать, в каком формате отображать коммиты. В нашем случае --format='%an' выводит только имена авторов для каждого коммита.

$ git log --format='%an'AliceBobDeniseDeniseCandiceDeniseAliceAliceAlice

Теперь утилита sort сортирует их по алфавиту.

$ git log --format='%an' | sortAliceAliceAliceAliceBobCandiceDeniseDeniseDenise

Далее используем uniq.

$ git log --format='%an' | sort | uniq -c    4 Alice    1 Bob    1 Candice    3 Denise

Согласно man-странице uniq, она учитывает только соседние совпадающие строки. Вот почему нужно было сначала отсортировать список. Флаг -c выводит перед каждой строкой количество вхождений.

Как видим, выдача по-прежнему отсортирована по алфавиту. Осталось только изменить способ сортировки по числовым значениям. Для этого есть флаг -n.

$ git log --format='%an' | sort | uniq -c | sort -nr    4 Alice    3 Denise    1 Candice    1 Bob

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

Просмотр мемов из /r/memes и установка обоев из /r/earthporn


Вы знали, что можно добавить .json к любому URL на Reddit, чтобы получить выдачу в формате JSON вместо обычного HTML? Это открывает целый мир возможностей! Например, просмотр мемов прямо из командной строки (ну, не совсем, потому что фактическое изображение будет отображаться в графической программе). Мы можем просто запросить файл напрямую через curl или wget: https://reddit.com/r/memes.json.

$ wget -O - -q 'https://reddit.com/r/memes.json''{"kind": "Listing", "data": {"modhash": "xyloiccqgm649f320569f4efb427cdcbd89e68aeceeda8fe1a", "dist": 27, "children":[{"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "memes","selftext": "More info available at....'......

Wget принимает опцию -O с указанием файла для записи. Большинство программ, которые принимают такую опцию, также допускают значение -, что означает стандартный вывод stdout (или ввод, в зависимости от контекста). Опция -q просто означает работу в тихом режиме, не отображая информацию типа статуса скачивания. Теперь у нас есть большая структура JSON. Чтобы проанализировать и осмысленно использовать эти данные в командной строке, можно взять утилиту jq, аналог sed/awk для JSON. У неё простой интуитивно понятный язык.

Ответ JSON выглядит примерно так:

{    "kind": "Listing",    "data": {        "modhash": "awe40m26lde06517c260e2071117e208f8c9b5b29e1da12bf7",        "dist": 27,        "children": [],        "after": "t3_gi892x",        "before": null    }}

Итак, здесь у нас тип Listing и массив children. Каждый элемент этого массива отдельный пост.

Вот как выглядит один из элементов массива:

{    "kind": "t3",    "data": {        "subreddit": "memes",        "selftext": "",        "created": 1589309289,        "author_fullname": "t2_4amm4a5w",        "gilded": 0,        "title": "Its hard to argue with his assessment",        "subreddit_name_prefixed": "r/memes",        "downs": 0,        "hide_score": false,        "name": "t3_gi8wkj",        "quarantine": false,        "permalink": "/r/memes/comments/gi8wkj/its_hard_to_argue_with_his_assessment/",        "url": "https://i.redd.it/6vi05eobdby41.jpg",        "upvote_ratio": 0.93,        "subreddit_type": "public",        "ups": 11367,        "total_awards_received": 0,        "score": 11367,        "author_premium": false,        "thumbnail": "https://b.thumbs.redditmedia.com/QZt8_SBJDdKLVnXK8P4Wr_02ALEhGoGFEeNhpsyIfvw.jpg",        "gildings": {},        "post_hint": "image",        ".................."        "много строк скипнуто"        ".................."    }}

Здесь много интересных атрибутов, в том числе URL картинки с мемом.

Мы можем легко получить список всех URL со всех постов:

$ wget -O - -q reddit.com/r/memes.json | jq '.data.children[] |.data.url'"https://www.reddit.com/r/memes/comments/g9w9bv/join_the_unofficial_redditmc_minecraft_server_at/""https://www.reddit.com/r/memes/comments/ggsomm/10_million_subscriber_event/""https://i.imgur.com/KpwIuSO.png""https://i.redd.it/ey1f7ksrtay41.jpg""https://i.redd.it/is3cckgbeby41.png""https://i.redd.it/4pfwbtqsaby41.jpg"......

Игнорируйте первые две ссылки, это в основном закреплённые посты от модераторов.

Утилита jq считывает данные из стандартного входа и получает JSON, который мы видели ранее. Затем указан массив постов .data.children. Синтаксис .data.children[] | .data.url означает: пройти по каждому элементу массива и вывести поле url, которое находится в поле data каждого элемента.

Таким образом, мы получаем список URL всех топовых мемов в подреддите /r/memes на данный момент. Если хотите посмотреть лучшие посты недели, нужно писать https://reddit.com/r/memes/top.json?t=week. Топ всех времён: t=all, за год: t=year и так далее.

Как только у нас есть список всех URL, можно просто передать его в xargs. Это действительно полезная утилита для построения командных строк из стандартного ввода. Из описания:

Команда xargs объединяет зафиксированный набор заданных в командной строке начальных аргументов с аргументами, прочитанными со стандартного ввода, и выполняет указанную команду один или несколько раз.

Пустые строки игнорируются.

То есть такая команда:

$ echo "https://i.redd.it/4pfwbtqsaby41.jpg" | xargs wget -O meme.jpg -q

будет равнозначна этой:

$ wget -O meme.jpg -q "https://i.redd.it/4pfwbtqsaby41.jpg"

Теперь можно просто передать список URL'ов в просмотрщик изображений feh или eog, который принимает URL в качестве допустимого аргумента.

$ wget -O - -q reddit.com/r/memes.json | jq '.data.children[] |.data.url' | xargs feh

И у нас запускается feh с мемами, которые можно листать клавишами со стрелками, словно это картинки на локальном диске.



Или можно загрузить все изображения с помощью wget, заменив feh на wget в строке выше.

А возможности безграничны. Ещё один вариант использования картинок с Reddit через JSON установка топовой картинки подреддита /r/earthporn в качестве обоев рабочего стола:

$ wget -O - -q reddit.com/r/earthporn.json | jq '.data.children[] |.data.url' | head -1 | xargs feh --bg-fill

Если хотите, можно настроить cron-задание, которое выполняется каждый час.


Лес в Нидерландах [20001333]


Гренландия [40323024]

Конечно, вместо /r/earthporn можно брать картинки из других подреддитов.

Вот в чём мощь конвейеров Unix. Одна-единственная строка делает всё: скачивает файл JSON, разбирает его, находит нужные данные, потом скачивает картинку по URL и устанавливает её в качестве обоев.

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

Работа, которая доставляет удовольствие


Особая философия Unix настолько глубока и фундаментальна, что породила целые классы Unix-подобных систем, к числу которых относятся BSD, macOS и Linux. Все они построены на этой философии. А побочный эффект работы в такой системе чувство правильности и цельности. Что так всё и должно работать: из кирпичиков, маленьких строительных блоков, которые сцепливаются в конвейеры любой сложности. Это же гениально.

Интересные факты об отцах-основателях


Может, через много лет Томпсона и Ритчи канонизируют, причислив к лику отцов-основателей разумного компьютерного мира. А сейчас цифровые археологи продолжают откапывать всё новые факты из истории Unix.

Например, в 2014 году исследователь Лея Нойкирхер нашла в дампах исходного дерева BSD 3 файл /etc/passwd с паролями всех ветеранов, таких как Деннис Ричи, Кен Томпсон, Брайан В. Керниган, Стив Борн и Билл Джой.

Для хэшей использовался алгоритм crypt(3) с максимальной длиной пароля 8 символов. Лея взломала их стандартными брутерами john и hashcat. Большинство паролей были очень слабыми. Только пароль Кена Томпсона не поддавался взлому. Даже полный перебор всех строчных букв и цифр (несколько дней) не дал результата. Неужели он использовал специальные символы? Лишь в 2017 году Найджел Уильямс в списке рассылки The Unix Heritage Society раскрыл эту тайну. Пароль со всеми возможными символами оказался q2-q4!: это первый ход пешкой на две клетки в описательной нотации и начало многих типичных дебютов, что очень хорошо вписывается в бэкграунд Кена Томпсона по компьютерным шахматам. Брутфорс на видеокарте AMD Radeon Vega64 занял более четырёх дней.

Некоторые из разработчиков Unix живы и здравствуют. Если хотите посмотреть, какие операционные системы и программы они используют на своих домашних компьютерах вот галерея 2002 года и 2015 года. Каждого в электронном письме попросили сделать скриншот текущего десктопа сразу, как только они прочитают эти слова.


Десктоп Брайана Кернигана (октябрь 2015)

Деннис Ритчи (19412011) в 2002 году использовал необычную установку: его домашний клиент на NT4 подключён по ISDN к удалённому серверу Plan9 в центральном офисе Bell Labs.



Plan9 инновационная ОС, основанная на концепции распределённых вычислений. Любая машина может использовать любые ресурсы с любой другой машины как собственные. Сейчас эту концепцию пытаются реализовать в виде контейнеров, VM и микросервисов, а там она реализована на уровне ядра ОС.

Дальше у нас Брам Моленар, автор многофункционального текстового редактора Vim:


Десктоп Брама Моленара (сентябрь 2002)


Десктоп Брама Моленара (ноябрь 2015)

Джордан Хаббард, один из сооснователей проекта FreeBSD:


Десктоп Джордана Хаббарда (ноябрь 2015)

P. S. К сожалению, Линус Торвальдс не смог сделать скриншот из своей консоли в текстовом режиме.

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



На правах рекламы


Устанавливайте любые операционные системы на наших VDS с мгновенной активацией. Сервер готов к работе через минуту после оплаты!

Подробнее..

Перевод Истоки виртуализации

03.11.2020 20:15:07 | Автор: admin

Внимание, вопрос: кто стоял у истоков виртуализации? При всей любви к продуктам этой компании, ответ VMware будет неверен. Пионерами на этом рынке были General Electric, Bell Labs и IBM.

Сотворение виртуальной машины

Уже в начале шестидесятых портфолио IBM насчитывало десятки различных систем. Каждое новое поколение разительно отличалось от предыдущего. Покупатели рвали на себе волосы в тщетных попытках поспеть за всеми инновациями и требованиями нового железа. Кроме того, в те годы еще была актуальна парадигма один компьютер за один присест выполняет только одну задачу. Вам нужно больше? Будьте добры прибегнуть к пакетной обработке (batch processing), когда одно задание выполняется на ЭВМ вслед за другим без вмешательства оператора. Неудобно, правда? Но специалисты IBM не считали это проблемой. Большая часть пользователей их машин принадлежала к научному сообществу. Им вполне хватало.

Но разнообразие систем понемногу начало досаждать IBM. Компания приняла решение заместить свой технологический зоопарк новым мейнфреймом S/360, который ко всему прочему обладал бы обратной совместимостью. Предполагалось, что компьютер будет однопользовательским и сможет работать с пакетами задач.

К первому июля 1963 года эта концепция развалилась. MIT анонсировал Project MAC Mathematics and Computation, а не то, о чем вы могли бы подумать. Более поздняя расшифровка этого названия звучит как Multiple Access Computer. Финансировался проект щедрым грантом DARPA объемом в $2 млн средства были выделены в том числе на изучение особенностей и перспектив компьютеростроения в основном, в области разработки операционных систем, искусственного интеллекта и теории вычислений. А новый грант это новые задачи. И, соответственно, новый компьютер, который сможет с ними справиться. MIT требовалась не простая, а многопользовательская машина. Первое, о чем подумали инженеры почему бы не заказать готовый компьютер у GE или IBM?. Однако IBM на тот момент пребывала в уверенности, что спроса на машины с разделением времени практически нет. А модифицированную под все хотелки версию стокового IBM-компьютера в MIT покупать не хотели. GE, напротив, с удовольствием приняла предложение MIT и решилась взяться за разработку многопользовательской машины.

И тут оказалось, что спрос на такие машины на рынке есть. Притом весьма солидный даже в Bell Labs заинтересовались в их приобретении. Тревожный звоночек.

В ответ на предложения от MIT и Bell Labs в IBM была срочно разработана и выпущена CP-40. Это первая операционная система, которая реализовывала полную виртуализацию. CP-40 была предназначена специально для IBM S/360 model 40 и поддерживала до 14 виртуальных машин c 256 Кб виртуальной памяти одновременно.

Параллельно с CP-40 была разработана программа CMS. Она обеспечивала среду для запуска приложений и взаимодействия с пользователями. CMS была крохотной интерактивной ОС для одного пользователя. Вся магия виртуализации обеспечивалась именно CP. Суть в том, что CP запускалась на мейнфрейме и создавала N-ное количество виртуальных машин под управлением CMS. Первый релиз CP/CMS состоялся в 1968-ом году, а к 1972-му на рынок была выпущена ее стабильная версия.

Традиционно компьютеры с таймшерингом поровну делили между несколькими пользователями процессорное время, память и прочие ресурсы. Характерный пример ОС MultiCS, разработанная в MIT для Project MAC. Позднее она была передана в Bell Labs, где впоследствии эволюционировала в Unix.

Подход CP был существенно проще и удобнее для пользователя: каждый, кто садился за компьютер, получал свою собственную машину. Выгода заключалась в том, что виртуальные машины имели доступ сразу ко всем ресурсам мейнфрейма, а не запирались в урезанном выделенном сегменте. Кроме того, это было более безопасно и надежно: никто не мог залезть в чужую ОС или уронить сразу весь мейнфрейм.

Вслед за CP-40 была разработана ОС CP-67. Именно ее можно назвать первым промышленным гипервизором. Позднее CP-67 эволюционировала в VM/370 для мейнфрейма S/370.

Переносимость программного обеспечения

Чуть выше мы упомянули Unix. Несмотря на то, что эта ОС не умеет запускать гостевые операционные системы, она подойдет для иллюстрации другого свойства ПО.

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

В зависимости от конфигурации системы пользователь может установить собственный набор дополнительного ПО и управлять политиками безопасности. Но не только этим славна Unix де-факто, это первая операционная система, открывшая дорогу к виртуализации приложений.

Все ее предшественники писались на голом языке ассемблера, что намертво привязывало их к конкретному компьютерному железу. В то же время C, на котором была написана Unix, позволял портировать ее на любой компьютер с куда меньшими усилиями. Достаточно было переписать специфичные участки кода и перекомпилировать ОС для новой платформы. Переносимость сделала Unix самой популярной системой своего времени.

Виртуализация приложений

Любой искушенный пользователь Unix, владеющий компиляторами C, мог без труда запустить любую программу на любом компьютере. Удобно? Почти. Осталось найти способ переносить приложения между компьютерами, минуя процесс компиляции. То есть виртуализировать их.

В 1990 году Sun Microsystems запустила проект Stealth. Он был инициирован инженерами компании, которым не нравился подход Sun к использованию API C и C++. Они были уверены в том, что есть лучший способ писать и запускать приложения. Проект несколько раз переименовывали среди версий были даже экзотичные Oak и Web Runner. Как вы уже наверняка догадались, в 1995 году проект достиг релиза под окончательным именем Java.

Планировалось, что наибольшее применение Java найдет во всемирной паутине. Интернет это колоссальная сеть, состоящая из компьютеров, работающих под разными операционными системами. Платформа, которая позволит запускать одни и те же приложения на всех этих машинах без необходимости переписывать и перекомпилировать их, была обречена на успех. В 1996 году в свет вышел Java Development Kit (JDK).

Java был уникален в своем роде. Можно было запустить написанную на нем программу на любом компьютере с установленной бесплатной Java Run-Time Environment (JRE).

Говоря упрощенно, Java работает так: сначала написанная программа компилируется в байт-код Java. Это своеобразный язык-посредник, с которым умеет работать JRE. Непосредственно в момент запуска программы JRE компилирует программу из байт-кода для целевого железа. Программисту не надо заботиться о том, для какого железа и какой ОС он пишет код, а пользователю не приходится заниматься компиляцией.

JRE включает в себя массу компонентов, наиболее интересным из которых является Java Virtual Machine. Любое приложение запускается именно в ней. Можно представить себе JVM как очень маленькую ОС, созданную для того, чтобы запускать Java-приложения. Заботы о портировании JVM для всех мыслимых устройств Sun/Oracle берет на себя. Тем не менее, этот подход имеет известные ограничения.

Широкое распространение аппаратной виртуализации

Как было сказано выше, IBM первой применила концепцию виртуальных машин в коммерческой среде. Виртуальные машины, подобные тем, что запускались на мейнфреймах IBM, до сих пор используются, хотя большинство компаний отказались от мейнфреймов.

Еще в январе 1987 года Insignia Solutions продемонстрировала программный эмулятор под названием SoftPC. Он позволял запускать приложения DOS на рабочих станциях под управлением Unix. Это был невероятный цифровой подвиг. В то время ПК, способный запустить MS-DOS, стоил порядка $1500, а использование SoftPC обходилось всего в $500.

К 1989 году Insignia Solutions выпустила версию SoftPC для Mac. В этой версии была добавлена возможность запускать приложения Windows. К 1994 году Insignia Solutions начала продавать свое программное обеспечение с разными предустановленными операционными системами в том числе с SoftWindows и SoftOS/2.

Успех SoftPC вдохновил и других игроков. В 1997 году Apple создала программу под названием Virtual PC и начала распространять ее через компанию Connectix. Virtual PC, как и SoftPC, позволял пользователям запускать копию Windows на Mac, это позволило обойти проблему несовместимости программного обеспечения. А в 1998 году была основана всемирно известная компания VMware. Год спустя на рынок вышла первая версия VMware Workstation. Сначала она была доступна только в Windows, но позже добавилась поддержка других операционных систем.

VMware достойна упоминания хотя бы потому, что на данный момент это безусловный лидер рынка виртуализации. В 2001 году VMware выпустила два новых продукта для корпоративного сегмента: ESX Server и GSX Server. GSX Server позволял пользователям запускать виртуальные машины поверх существующей операционной системы, например Microsoft Windows. Это так называемый гипервизор 2-го типа. ESX Server, гипервизор 1-го типа, не требует наличия ОС-хоста.

Гипервизоры 1-го типа намного более эффективны, поскольку для их работы не требуется выделять ресурсы на запуск основной системы. Кроме того, они традиционно более гибки в настройке.

После выпуска ESX Server в 2001 году в корпоративном сегменте наметился экспоненциальный рост интереса к виртуализации. VMware добавила много дополнительных продуктов для улучшения функционала ESX Server.

Появились и другие поставщики ПО для виртуализации. В 2003 году Microsoft приобрела Connectix, и Virtual PC была переиздана. Сначала под брендом Microsoft Virtual PC 2004, затем Microsoft Virtual Server 2005.

В 2007 на рынке виртуализации появился еще один игрок Citrix Inc. Компания приобрела XenSource, платформу виртуализации с открытым исходным кодом, созданную в 2003 году, и вскоре после этого переименовала продукт в XenServer.

Публикация приложений

Во времена UNIX доступ к опубликованным приложениям можно было получить через Telnet, а затем SSH.

Windows и OS/2 не давали удаленного доступа к приложениям без использования сторонних инструментов. А существовавшее специализированное ПО было доступно только одному пользователю за раз.

Кому-то в IBM пришла в голову идея создать многопользовательский интерфейс для OS/2, однако боссам компании идея не пришлась по вкусу. В 1989 году Эд Якобуччи ушел из IBM и основал собственную компанию под названием Citrus. Вскоре компания была переименована в Citrix, комбинацию Citrus и Unix.

Citrix получила лицензию на исходный код OS/2 и приступила к созданию программного расширения для нее. Два года спустя OS/2 таки получила многопользовательский интерфейс MULTIUSER.

В 1991 году Microsoft объявила об окончании поддержки OS/2, и Citrix пришлось свернуть проект. Однако полученный опыт позволил переориентироваться на создание подобного ПО, но уже для Windows.

В 1993 году Citrix приобрела Netware Access Server у Novell. В 1995 году этот продукт начал продаваться под именем WinFrame. WinFrame представляла из себя Windows NT 3.5 с возможностями удаленного доступа. Сразу несколько пользователей могли одновременно подключиться к ней для удаленного запуска приложений.

Во время разработки WinFrame для Windows NT 4.0 Microsoft отказала Citrix в лицензии, и продукт по соглашению сторон был интегрирован в Windows NT 4.0 в качестве набора служб терминалов. Citrix согласилась не создавать конкурирующий продукт, но получила возможность расширить функциональные возможности служб терминалов.

Виртуальные рабочие столы

Виртуальные рабочие столы в их современном понимании это весьма молодая тема. В чем-то их концепция похожа на то, что IBM предложила в далеких 1960-х. Каждый пользователь получает собственную выделенную ОС и может делать в ней всё, что ему заблагорассудится, не подвергая опасности других пользователей в системе.

Переход от виртуальных рабочих столов на мэйнфреймах к виртуальным рабочим столам в том виде, в каком мы их знаем сегодня, на самом деле произошел только в 2007 году, когда VMware представила свой продукт для VDI. В принципе, сотрудники компаний и ранее могли пользоваться виртуальными рабочими столами в качестве основного ПК, но это было сопряжено с массой административных сложностей. А появление Virtual Machine Manager и аналогичных продуктов дало мощный старт целому направлению в области виртуализации.

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

Подробнее..

Категории

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

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru