Jump to content

Хронология развития виртуализации

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

Хронология [ править ]

Примечание. На этой временной шкале отсутствуют данные для важных исторических систем, в том числе: Atlas Computer (Манчестер), GE 645, Burroughs B5000.

1960 [ править ]

В середине 1960-х годов Кембриджский научный центр IBM разработал CP-40 , первую версию CP/CMS . В производство он поступил в январе 1967 года. С самого начала CP-40 предназначался для реализации полной виртуализации . Для этого потребовалась настройка аппаратного обеспечения и микрокода S/360-40, чтобы обеспечить необходимую трансляцию адресов и другие функции виртуализации. Опыт работы над проектом CP-40 послужил вкладом в разработку IBM System/360 Model 67 , анонсированной в 1965 году (вместе со злополучной операционной системой TSS/360 ). CP-40 был переработан для S/360-67 как CP-67, и к апрелю 1967 года обе версии уже находились в ежедневном производстве. CP/CMS стала общедоступной для клиентов IBM в форме исходного кода как часть неподдерживаемой библиотеки IBM Type-III в 1968 году.

1964 [ править ]

1965 [ править ]

1966 [ править ]

  • IBM поставляет компьютер S/360-67 в июне 1966 года.
  • IBM начинает работу над CP-67 , повторной реализацией CP-40 для S/360-67.

1967 [ править ]

  • CP-40 (январь) и CP-67 (апрель) вводятся в эксплуатацию с разделением времени.

1968 [ править ]

1971 [ править ]

1970 [ править ]

IBM анонсировала System/370 в 1970 году. К разочарованию пользователей CP/CMS – как и в случае с анонсом System/360 – эта серия не включала виртуальную память . В 1972 году IBM изменила направление, объявив, что эта опция будет доступна во всех моделях S/370, а также анонсировав несколько операционных систем виртуального хранилища, включая VM/370 . К середине 1970-х годов CP/CMS , VM и независимый VP/CSS работали на многочисленных крупных мэйнфреймах IBM. Сообщалось, что к концу 80-х годов лицензий VM было больше, чем лицензий MVS .

1972 [ править ]

  • Анонс виртуальной памяти, добавленной в серию System/370.
  • VM/370 анонсирован и запущен в день анонса. VM/370 включает возможность запуска VM под VM (ранее реализованная как в IBM, так и на пользовательских сайтах под CP/CMS, но не включенная в стандартные выпуски)

1973 [ править ]

  • Первая поставка анонсированных моделей S/370 с виртуальной памятью (апрель: -158, май: -168).

1977 [ править ]

  • Первоначальный коммерческий выпуск VAX/VMS , позже переименованный в OpenVMS.

1979 [ править ]

1985 [ править ]

1987 [ править ]

  • Январь 1987 г.: «оценочная» версия Merge/386 от Locus Computing Corporation стала доступна OEM-производителям. Merge/386 использовал режим Virtual 8086, обеспечиваемый процессором Intel 80386 , и поддерживал несколько одновременных виртуальных машин 8086 . Виртуальные машины поддерживали немодифицированные гостевые операционные системы и автономные программы, такие как Microsoft Flight Simulator ; но при типичном использовании гостем была MS-DOS с собственным перенаправителем Locus (также продаваемым для сетевых ПК как «PC-Interface») и «сетевым» драйвером, который обеспечивал связь с обычным процессом файлового сервера пользовательского режима, работающим под хостом. операционная система на той же машине.
  • Октябрь 1987: Начались поставки розничной версии 1.0 Merge/386, предлагаемой вместе с Microport Unix System V Release 3 .

1988 [ править ]

  • SoftPC 1.0 для Sun был представлен в 1988 году компанией Insignia Solutions. [1]
  • SoftPC появляется в своей первой версии для Apple Macintosh . Эти версии (Sun и Macintosh) поддерживают только DOS .

1991 [ править ]

  • IBM представила виртуальную машину DOS OS/2 (VDM) с поддержкой виртуального режима 8086 x86, способную виртуализировать DOS/Windows и другие 16-битные операционные системы, такие как CP/M-86 [2]

1994 [ править ]

1997 [ править ]

  • Первая версия Virtual PC для платформы Macintosh была выпущена в июне 1997 года компанией Connectix.

1998 [ править ]

1999 [ править ]

8 февраля 1999 года компания VMware представила первый продукт виртуализации x86 для архитектуры Intel IA-32, известный как VMware Virtual Platform , основанный на более ранних исследованиях ее основателей в Стэнфордском университете .

Виртуальная платформа VMware была основана на программной эмуляции конструкции гостевой/хостовой ОС, которая требовала, чтобы все гостевые среды хранились в виде файлов в файловой системе хостовой ОС.

2000 [ править ]

2001 [ править ]

  • 31 января 2001 г. AMD и Virtutech выпускают Simics /x86-64 («Virtuhammer») для поддержки новой 64-битной архитектуры x86. [5] Virtuhammer используется для портирования дистрибутивов Linux и ядра Windows на x86-64 задолго до того, как в апреле 2003 года стал доступен первый процессор x86-64 ( Opteron ).
  • Июнь: Connectix выпускает свою первую версию Virtual PC для Windows. [6]
  • В июле компания VMware создала первый продукт для виртуализации серверов x86 . [7]
  • Egenera, Inc. выпускает программное обеспечение Processor Area Network (PAN Manager) и шасси BladeFrame, которые обеспечивают аппаратную виртуализацию внутреннего диска процессорного блейда (pBlade), сетевых карт и последовательной консоли. [8]
  • Virtuozzo (ранее называвшаяся SWsoft [4] ) позже с 1999 года назывался Containers for Linux. [5] и выпустил первую версию в 2001 году. [6]

2003 [ править ]

  • Первый выпуск первого x86 гипервизора с открытым исходным кодом, Xen . [9]
  • 18 февраля 2003 г. Microsoft приобрела технологии виртуализации (Виртуальный ПК и невыпущенный продукт под названием «Виртуальный сервер») у Connectix Corporation. [10]
  • В конце 2003 года EMC приобрела VMware за 635 миллионов долларов.
  • В конце 2003 года VERITAS приобрела Ejascent за 59 миллионов долларов.
  • 10 ноября 2003 г. Microsoft выпускает Microsoft Virtual PC — технологию виртуализации на уровне машины, чтобы облегчить переход на Windows XP.

2005 [ править ]

2006 [ править ]

2007 [ править ]

  • Выпущен KVM с открытым исходным кодом, который интегрирован с ядром Linux и обеспечивает виртуализацию только в системе Linux, ему требуется аппаратная поддержка.
  • 15 января 2007 г. компания InnoTek выпустила VirtualBox Open Source Edition (OSE), первое профессиональное решение для виртуализации ПК, выпущенное с открытым исходным кодом под лицензией GNU General Public License ( GPL ). Он включает в себя некоторый код из проекта QEMU .
  • Sun выпускает контейнеры Solaris 8 , позволяющие мигрировать компьютер с Solaris 8 в контейнер Solaris в системе Solaris 10 — только для SPARC.

2008 [ править ]

2013 [ править ]

Docker, Inc. выпускает Docker — серию продуктов «платформа как услуга» (PaaS), использующих виртуализацию на уровне ОС .

2014 [ править ]

, изначально разработанная Google 8 сентября 2014 г. Была выпущена первая общедоступная сборка Kubernetes . [7] Когда Kubernetes дебютировал, он предлагал ряд преимуществ перед Docker, самой популярной платформой контейнеризации того времени. Цель Kubernetes заключалась в том, чтобы упростить пользователям развертывание контейнерных приложений в большом кластере хостов-контейнеров. Чтобы предложить больше возможностей и возможностей для управления контейнерными приложениями в масштабе, Kubernetes был создан для дополнения Docker, а не для его полной замены. [8] [9]

Обзор виртуализации [ править ]

Вкратце, существует три уровня виртуализации [ править ]

  • На аппаратном уровне виртуальные машины могут запускать несколько гостевых ОС. Это лучше всего использовать для тестирования и обучения, требующих сетевого взаимодействия между несколькими ОС, поскольку гостевые ОС не только могут отличаться от ОС хоста , но и гостевых ОС может быть столько же, сколько и виртуальных машин, при условии, что имеется достаточно ЦП . Оперативная память и место для хранения данных . IBM представила это примерно в 1990 году под названием «логическое разделение» (LPAR), сначала только в области мэйнфреймов.
  • На уровне операционной системы он может виртуализировать только одну ОС: гостевая ОС — это ОС хоста. Это похоже на множество сеансов терминального сервера без блокировки рабочего стола. Таким образом, это лучшее из обоих миров: скорость сеанса TS с преимуществом полного доступа к рабочему столу в качестве виртуальной машины, где пользователь по-прежнему может контролировать квоты для ЦП, ОЗУ и жесткого диска. Подобно аппаратному уровню, это по-прежнему считается виртуализацией сервера , где каждая гостевая ОС имеет свой собственный IP-адрес , поэтому ее можно использовать для сетевых приложений, таких как веб-хостинг .
  • На уровне приложения он работает непосредственно в хостовой ОС, без какой-либо гостевой ОС, которая может находиться на заблокированном рабочем столе, в том числе в сеансе терминального сервера . Это называется виртуализацией приложений или виртуализацией рабочих столов, которая виртуализирует внешний интерфейс, тогда как виртуализация сервера виртуализирует внутреннюю часть. Теперь под потоковой передачей приложений подразумевается доставка приложений непосредственно на рабочий стол и их локальный запуск. Традиционно в терминальных серверных вычислениях приложения выполняются на сервере, а не локально, и передают снимки экрана в потоковом режиме на рабочий стол.

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

Решения для виртуализации приложений, такие как VMware ThinApp , Softricity и Trigence, пытаются отделить файлы и настройки конкретных приложений от операционной системы хоста, что позволяет им работать в более или менее изолированных песочницах без установки и без затрат памяти и дисков полная виртуализация машин. Виртуализация приложений тесно привязана к операционной системе хоста и поэтому не переносится на другие операционные системы или оборудование. VMware ThinApp и Softricity ориентированы на Intel Windows, а Trigence поддерживает Linux и Solaris . В отличие от виртуализации машин, виртуализация приложений не использует эмуляцию или трансляцию кода, поэтому тесты, связанные с процессором, выполняются без изменений, хотя тесты файловой системы могут испытывать некоторое снижение производительности. В Windows VMware ThinApp и Softricity по существу работают путем перехвата запросов к файловой системе и реестру со стороны приложения и перенаправления этих запросов в предустановленную изолированную песочницу, что позволяет приложению запускаться без установки или изменений на локальном ПК. Хотя VMware ThinApp и Softricity начали независимую разработку примерно в 1998 году, «за кулисами» VMware ThinApp и Softricity реализуются с использованием разных методов:

  • VMware ThinApp работает путем упаковки приложения в один «упакованный» EXE-файл, который включает в себя среду выполнения, а также файлы данных приложения и реестр. Среда выполнения VMware ThinApp загружается Windows как обычное приложение Windows, после чего среда выполнения заменяет загрузчик Windows, файловую систему и реестр для целевого приложения и представляет объединенный образ главного компьютера, как если бы приложение было установлено ранее. VMware ThinApp заменяет все связанные функции API для хост-приложения. Например, API ReadFile, предоставленный приложению, должен пройти через VMware ThinApp, прежде чем он достигнет операционной системы. Если приложение читает виртуальный файл, VMware ThinApp самостоятельно обрабатывает запрос, в противном случае запрос будет передан операционной системе. Поскольку VMware ThinApp реализован в пользовательском режиме без драйверов устройств и не имеет предустановленного клиента, приложения могут запускаться непосредственно с USB-флеш-памяти или общих сетевых ресурсов без предварительного необходимости повышенных привилегий безопасности.
  • Softricity (приобретенная Microsoft) работает по аналогичному принципу, используя драйверы устройств для перехвата запросов файлов в Ring0 на уровне, более близком к операционной системе. Softricity устанавливает клиент в режиме администратора, к которому затем могут получить доступ ограниченные пользователи на компьютере. Преимущество виртуализации на уровне ядра заключается в том, что загрузчик Windows (отвечающий за загрузку файлов EXE и DLL ) не требует повторной реализации, а большая совместимость приложений может быть достигнута с меньшими усилиями (Softricity утверждает, что поддерживает большинство основных приложений). Недостатком реализации Ring0 является то, что для ее установки требуются повышенные привилегии безопасности, а сбои или дефекты безопасности могут возникать в масштабах всей системы, а не быть изолированными для конкретного приложения.

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

Управляемая среда выполнения [ править ]

Другой метод, который иногда называют виртуализацией, — это выполнение переносимого байт-кода с использованием стандартной переносимой собственной среды выполнения (также известной как управляемая среда выполнения). Два наиболее популярных решения сегодня включают Java и .NET . Оба этих решения используют процесс, называемый JIT- компиляцией (точно в срок), для перевода кода с виртуального переносимого машинного языка в собственный код локального процессора. Это позволяет компилировать приложения для единой архитектуры, а затем запускать их на множестве разных машин. Помимо портативных приложений, дополнительным преимуществом этого метода являются надежные гарантии безопасности. Поскольку весь собственный код приложения генерируется управляющей средой, перед выполнением его можно проверить на корректность (возможные уязвимости безопасности). Программы должны быть изначально разработаны для рассматриваемой среды или вручную переписаны и перекомпилированы для работы в этих новых средах. Например, невозможно автоматически преобразовать или запустить собственное приложение Windows/Linux на .NET или Java. Поскольку переносимые среды выполнения пытаются представить общий API для приложений для широкого спектра оборудования, приложения менее способны использовать преимущества функций, специфичных для ОС. Среды переносимых приложений также требуют более высоких затрат памяти и ЦП, чем оптимизированные собственные приложения, но эти затраты намного меньше по сравнению с полной виртуализацией машин . Среды переносимого байт-кода, такие как Java, стали очень популярными на серверах, где существует большое разнообразие оборудования, а набор требуемых API-интерфейсов для конкретной ОС является стандартным для большинства версий Unix и Windows. Еще одна популярная функция среди управляемых сред выполнения — сборка мусора, которая автоматически обнаруживает неиспользуемые данные в памяти и освобождает память без необходимости явного вызова «свободных» операций разработчиком.

взгляд на виртуализацию Нейтральный приложений

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

  • Первый тип — это упаковщики приложений (VMware ThinApp, Softricity), а второй — компиляторы приложений (Java и .NET). Поскольку это упаковщик, его можно использовать для потоковой передачи приложений без изменения исходного кода, тогда как последний можно использовать только для компиляции исходного кода.
  • Другой способ взглянуть на это — с гипервизора точки зрения . Первый из них — «гипервизор» в пользовательском режиме, а другой — «гипервизор» в режиме выполнения. Гипервизор взят в кавычки, поскольку оба они имеют схожее поведение: перехватывают системные вызовы в разном режиме: пользовательском; и режим выполнения. Пользовательский режим перехватывает системные вызовы из режима выполнения перед переходом в режим ядра. Настоящему гипервизору достаточно перехватить системный вызов, используя гипервызов в режиме ядра. Будем надеяться, что когда в Windows появится гипервизор и монитор виртуальных машин и CLR может даже отпасть необходимость , в JRE . Более того, в случае Linux, возможно, JRE можно модифицировать для работы поверх гипервизора в качестве загружаемого модуля ядра , работающего в режиме ядра , вместо медленного устаревшего времени выполнения в пользовательском режиме. Теперь, если бы он работал непосредственно поверх гипервизора Linux , тогда его следовало бы называть Java OS , а не просто еще одним JIT- режимом времени выполнения .
  • Мендель Розенблюм [10] назвал режим выполнения виртуальной машиной языка высокого уровня в августе 2004 года. Однако в то время первый тип, перехват системных вызовов в пользовательском режиме, был безответственным и немыслимым, поэтому он не упомянул о нем в своей статье. Таким образом, в 2004 году потоковая передача приложений все еще оставалась загадкой. [11] Теперь, когда JVM , больше не виртуальные машины языка высокого уровня, становится ОС Java , работающей на гипервизоре Linux , тогда у приложений Java появится новый уровень игрового поля, точно так же, как приложения Windows уже имеют Softricity .
  • Таким образом, первый из них — это виртуализация двоичного кода , чтобы его можно было установить один раз и запускать где угодно, тогда как другой — это виртуализация исходного кода с использованием байтового или управляемого кода , чтобы его можно было написать один раз и запустить где угодно. Оба они на самом деле являются частичным решением двойной проблемы переносимости: переносимости приложений; и переносимость исходного кода. Возможно, пришло время объединить две проблемы в одно комплексное решение на уровне гипервизора в режиме ядра .

Дальнейшее развитие [ править ]

Microsoft купила Softricity 17 июля 2006 года и популяризировала потоковую передачу приложений , предоставив традиционным приложениям Windows равные условия с веб-приложениями и Java-приложениями в отношении простоты распространения (т. е. больше не требуется установка, просто щелкните и запустите). Вскоре все JRE и CLR смогут работать практически в пользовательском режиме без установки драйверов режима ядра, так что в оперативной памяти может даже одновременно работать несколько версий JRE и CLR .

Интеграция гипервизора Linux в ядро ​​Linux и гипервизора Windows в ядро ​​Windows может привести к появлению таких методов руткита , как драйвер фильтра. [12] устаревший [ не удалось пройти проверку ] .Это может занять некоторое время, поскольку гипервизор Linux все еще ожидает гипервизором Xen и гипервизором полной совместимости между VMware, поскольку Oracle нетерпеливо стучится в дверь, чтобы позволить гипервизору войти в ядро ​​Linux, чтобы он мог на полной скорости работать с его в сфере грид-вычислений жизнь . Тем временем Microsoft решила обеспечить полную совместимость с гипервизором Xen [12] . IBM, конечно, не сидит без дела, работая с VMware над серверами x86 и, возможно, помогая Xen перейти с x86 на Power ISA с открытым исходным кодом , используя rHype .Теперь, чтобы превратить вечеринку по гипервизорам в аншлаг, Intel VT-x и AMD-V надеются упростить и ускорить паравиртуализацию, чтобы гостевую ОС можно было запускать без изменений. [ нужно обновить ] [ нужны разъяснения ]

См. также [ править ]

Ссылки [ править ]

  1. ^ Мелл, Эмили (2 апреля 2020 г.). «Эволюция контейнеров: Docker, Kubernetes и будущее» . ТехТаржет . Проверено 7 января 2023 г.
  2. ^ Дилленбург, Стефан (3 мая 2020 г.). «Краткая история виртуализации контейнеров» . Средний (веб-сайт) . Проверено 7 января 2023 г.
  3. ^ Хесс, Кен (25 августа 2011 г.). «Мышление внутри и за пределами Bochs с Кевином Лоутоном» . зднет . Проверено 3 декабря 2015 г.
  4. ^ «Хронология истории компании Virtuozzo» . зиппия. 27 августа 2020 г. . Проверено 7 января 2023 г.
  5. ^ Колышкин Кир (26 декабря 2014 г.). «Хронология истории компании Virtuozzo» . Живой Журнал . Проверено 7 января 2023 г.
  6. ^ Хохштеттер, Кристоф Х. (14 марта 2007 г.). «Хронология истории компании Virtuozzo» . зднет . Проверено 7 января 2023 г.
  7. ^ «Выпуск Kubernetes v0.2» . Гитхаб .
  8. ^ «Red Hat и Google сотрудничают в Kubernetes для управления контейнерами Docker в большом масштабе» . Красная шляпа.
  9. ^ Бур, Мартин. «Все, что вы хотели знать о Kubernetes, но боялись спросить» . Google . Проверено 22 декабря 2022 г.
  10. ^ Реинкарнация виртуальных машин. Архивировано 15 августа 2004 г. в очереди ACM Wayback Machine, том. 2, нет. 5 – июль/август 2004 г. – Мендель Розенблюм, Стэнфордский университет и VMWare
  11. ^ Кто-нибудь транслирует приложения? Архивировано 28 сентября 2007 г. в Wayback Machine. Брайен М. Поузи MCSE, специально для ZDNet Asia Среда, 14 апреля 2004 г., 15:55.
  12. ^ Драйвер фильтра файловой системы

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 4d40e159a8fd00c78ae67fe581fc148d__1716464160
URL1:https://arc.ask3.ru/arc/aa/4d/8d/4d40e159a8fd00c78ae67fe581fc148d.html
Заголовок, (Title) документа по адресу, URL1:
Timeline of virtualization development - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)