Внимание, вопрос: кто стоял у истоков виртуализации? При всей любви к продуктам этой компании ответ «VMware» был бы неверным.
Пионерами на этом рынке были General Electric, Bell Labs и IBM.
Создание виртуальной машины
Уже в начале шестидесятых годов портфолио IBM включало десятки различных систем.Каждое новое поколение разительно отличалось от предыдущего.
Покупатели рвали на себе волосы, тщетно пытаясь угнаться за всеми новинками и требованиями к новому оборудованию.
Кроме того, в те годы еще была актуальна парадигма «один компьютер выполняет только одну задачу за один присест».
Вам нужно больше? Пожалуйста, прибегайте к пакетной обработке, когда одна задача выполняется на виртуальной машине за другой без вмешательства оператора.
Это неудобно, не так ли? Но специалисты IBM не сочли это проблемой.
Большинство пользователей их машин принадлежали к научному сообществу.
Им этого было достаточно.
Но постепенно разнообразие систем начало беспокоить IBM. Компания решила заменить свой технологический зоопарк новым мейнфреймом S/360, который также будет иметь обратную совместимость.
Предполагалось, что компьютер будет однопользовательским и сможет работать с пакетами задач.
К первому июля 1963 года эта концепция развалилась.
Массачусетский технологический институт анонсировал проект MAC — математика и вычисления, и это не то, о чем вы могли подумать.
Более поздняя расшифровка этого имени звучит как Компьютер с множественным доступом.
Проект финансировался за счет щедрого гранта DARPA в размере $2 млн — средства были выделены, в том числе, на изучение особенностей и перспектив компьютерной инженерии — главным образом в области разработки операционных систем, искусственного интеллекта и теории вычислений.
А новый грант – это новые задачи.
И, соответственно, новый компьютер, который с ними справится.
MIT нужна была не простая, а многопользовательская машина.
Первое, о чем подумали инженеры: «а почему бы не заказать готовый компьютер у GE или IBMЭ» Однако в IBM на тот момент были уверены, что спроса на машины с разделением времени практически нет. Но MIT не хотел покупать модифицированную версию стандартного компьютера IBM, удовлетворяющую всеобщим потребностям.
GE, напротив, с радостью приняла предложение MIT и решила взяться за разработку многопользовательской машины.
А потом оказалось, что на такие машины на рынке есть спрос.
Причём весьма солидный — их приобретением заинтересовалась даже Bell Labs. Тревожный звонок.
В ответ на предложения MIT и Bell Labs IBM быстро разработала и выпустила CP-40. Это была первая операционная система, реализовавшая полную виртуализацию.
CP-40 был разработан специально для IBM S/360 model 40 и поддерживал одновременно до 14 виртуальных машин с 256 КБ виртуальной памяти.
Параллельно с СР-40 разрабатывалась программа CMS. Он обеспечивал среду для запуска приложений и взаимодействия с пользователями.
CMS представляла собой крошечную однопользовательскую интерактивную ОС.
Всю магию виртуализации обеспечил CP. Дело в том, что CP работал на мэйнфрейме и создал N виртуальных машин, на которых работал CMS. Первый выпуск CP/CMS состоялся в 1968 году, а к 1972 году на рынок вышла его стабильная версия.
Традиционно компьютеры с разделением времени делили процессорное время, память и другие ресурсы поровну между несколькими пользователями.
Типичным примером является ОС MultiCS, разработанная в Массачусетском технологическом институте для Project MAC. Позже он был передан в Bell Labs, где впоследствии «развился» в Unix.
Подход CP был значительно проще и удобнее: каждый, кто сел за компьютер, получал свою «машину».
Преимущество заключалось в том, что виртуальные машины имели доступ ко всем ресурсам мэйнфрейма одновременно, а не были «привязаны» к усеченному выделенному сегменту.
Кроме того, это было более безопасно и надежно: никто не мог «залезть» в чужую ОС или «уронить» весь мэйнфрейм сразу.
Вслед за СР-40 была разработана ОС СР-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 (JRE).
Проще говоря, Java работает следующим образом: сначала написанная программа компилируется в байт-код Java. Это своего рода промежуточный язык, с которым может работать JRE. Сразу в момент запуска программы JRE компилирует программу из байт-кода для целевого оборудования.
Программисту не нужно беспокоиться о том, для какого железа и какой ОС он пишет код, а пользователю не приходится заниматься компиляцией.
JRE включает в себя множество компонентов, наиболее интересным из которых является виртуальная машина Java. В нем запускается любое приложение.
Вы можете думать о JVM как об очень маленькой ОС, предназначенной для запуска приложений Java. Sun/Oracle позаботится о портировании JVM на все мыслимые устройства.
Однако этот подход имеет известные ограничения.
Широкое внедрение аппаратной виртуализации.
Как упоминалось выше, 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. Это так называемый гипервизор второго типа.
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 и подобных продуктов дало мощный старт целому направлению в области виртуализации.
В будущих статьях мы подробнее рассмотрим наиболее интересные аспекты истории виртуализации — поговорим как об аппаратных, так и о знаковых программных решениях.
Теги: #Виртуализация #История ИТ #vmware #java #Старое оборудование #ibm #мейнфрейм #Bell Labs #general electric
-
Обнаружены Онлайн-Курсы Переподготовки Cisco
19 Oct, 24 -
Киберпонедельник От 3Dtool Стартовал
19 Oct, 24 -
Какие Новости Они Сейчас Читают В Интернете?
19 Oct, 24