На днях в офисе Imagination Technologies в Санта-Кларе, штат Калифорния, ко мне подходит специалист по многоядерным Linux Леонид Егошин и говорит: Егошин: Вот написал самый маленький гипервизор в мире.
Я да? Как это называется? Егошин: Я еще об этом не думал.
И маркетинг не отпустил это название.
Придумайте имя! Это по-прежнему будет проект с открытым исходным кодом.
Я: Мне сложно придумать что-то подобное.
Как говорится, «как яхту назовешь, так она и поплывет».
Нам нужно спросить общественность.
Егошин: А я буду в Долгопрудном в апреле, в МФТИ.
Не был там с 20 века.
Есть ли кто-нибудь, кто интересуется MIPS-Linux/IoT/гипервизорами на MIPS? Я: Ну, вы также можете спросить об этом общественность.
Итак, я написал этот пост, чтобы задать вопрос общественности.
Но сначала я расскажу вам, кто такой Леонид Егошин и что такое гипервизор.
*** Не вся молодежь знает, но в СССР был свой Unix. Не при Брежневе, а уже при Андропове.
А одним из первых советских униксологов был Егошин (он единственный улыбающийся на фотографии на Красной площади в 1980-е годы).
Затем Егошин переехал в Силиконовую долину и начал работать в компании MIPS Technologies, которая стала Imagination Technologies. На фото справа Егошин уже в 2015 году с первой платой с российским микропроцессором Байкал-Т, привезенной в Америку из России — Егошин помогал отлаживать на ней Linux:
Что же такое гипервизор?
Гипервизор — это программа, которая управляет работой двух или более операционных систем, одновременно работающих на процессоре, внутри виртуальных машин.
Программному обеспечению внутри виртуальной машины кажется, что оно владеет всей реальной машиной, всеми ее портами ввода-вывода, памятью и прерываниями.
Виртуализация — это следующий шаг после режима ядра/пользователя.
В парадигме ядро/пользователь операционная система защищает себя от пользовательских программ и друг от друга.
Привилегированный режим ядра включается, когда во время выполнения пользовательской программы происходит прерывание.
Затем ОС смотрит, что произошло, и может перейти к выполнению другой пользовательской программы.
В случае виртуализации режимы root/гость также включаются поверх режима ядра/пользователя, чтобы защитить несколько гостевых операционных систем друг от друга и разделить ресурсы между ними.
Вот что делает гипервизор в корневом режиме: https://www.imgtec.com/mips/architectures/virtualization/
Виртуализацию не следует путать с виртуальной памятью.
Виртуальная память может существовать без виртуализации.
В парадигме виртуальной памяти ОС/ядро управляет аппаратно поддерживаемой таблицей преобразования виртуальных адресов, используемых пользовательскими программами, в физические адреса в памяти.
Таким образом, ОС создает иллюзию владения адресным пространством с одинаковыми виртуальными адресами для нескольких пользовательских программ, хотя их физические адреса могут быть разными.
В случае виртуализации таблица трансляции виртуальных адресов имеет следующий уровень, позволяющий создавать иллюзии не только для пользовательских программ, но и для гостевых операционных систем.
Существует несколько типов виртуализации, включая паравиртуализацию, когда необходимо модифицировать операционные системы, управляемые гипервизором, и полную виртуализацию, с аппаратной поддержкой, когда операционные системы, управляемые гипервизором, могут не ощущать присутствие гипервизора на компьютере.
все.
Вообще виртуализация как технология появилась более 40 лет назад; он уже был доступен на мэйнфреймах IBM IBM/370 (но не IBM/360).
В СССР виртуализация использовалась на ВМ ЕС, которые были аналогичны соответствующим IBM/370. Виртуализация нашла свое отражение даже в американской поп-культуре — некий стартап в фантастической книге времен первого интернет-бума 1990-х годов «Первые 20 миллионов долларов — самые трудные» занимался, в частности, виртуализацией Apple Mac на ультра- дешевые ПК за 300 долларов (в то время это считалось научной фантастикой).
Кстати, фильм по роману оказался одним из крупнейших провалов в истории Голливуда, заработав всего $5491 (пять тысяч с чем-то долларов) при потраченных $17 млн ( см.
) Но вернемся к Егошину.
Гипервизор Егошина работает на процессорном ядре MIPS M5150. Это экономичное ядро, которое используется в микроконтроллерах Microchip PIC32MZ и в чипах для Интернета вещей.
«Ой, а зачем виртуализация на микроконтроллере?!» - может воскликнуть читатель.
Для безопасности.
Даже на небольшом чипе для IoT могут одновременно работать, скажем, встроенный Linux и, скажем, очень безопасный код для работы с финансовыми транзакциями.
Теперь, если пользователь установит скомпрометированную операционную систему, он не сможет получить доступ к другой ОС, выполняющей критические операции, поскольку между двумя ОС существует гипервизор.
Это становится особенно важным в случае с Интернетом вещей, когда утюг или тостер, размещенные в домашней сети, теоретически могут обмениваться информацией с основным компьютером владельца.
На такой плате может работать Егошинский гипервизор Диджилент чикИТ WI-FIRE :
Теперь предоставим слово Леониду:
Юра, основная информация о гипервизоре: Память — код 35 килобайт, данные 24 КБ.В общем, если у вас есть хорошее имя для гипервизора или желание встретиться в МФТИ во время визита Леонида Егошина в его альма-матер в апреле, вы можете либо написать ему на Леонид.Егошин@imgtec.com или оставляйте комментарии здесь.Значения в реальном времени 1. Базовый вызов гипервизора (HYPCALL): 74 такта.
2. Принудительное переключение контекста в root и обратно: 336 тактов.
3. Эмуляция гостевого доступа к реестру охраняемых устройств: 207 тактов.
4. Время введения SW IRQ, без переключения контекста: 173 тактовых цикла.
Общие устройства эмулируются как собственные для каждого гостя:
На данный момент поддерживается только модель PIC32MZ(EF), ее контроллер прерываний и устройство — плата, которую можно приобрести недорого.
- PIC32MZ Контроллер прерываний в режиме EIC.
- Консольный UART.
- Регистры, доступные только для чтения, такие как часы и т. д. Минимальный размер блока регистров составляет 16 байт.
Конфигурация является статической, с использованием настольных сценариев Python, которые преобразуют адреса гостей и их IRQ в таблицы для TLB (PTE) и управления прерываниями.
В конце настройки все превращается в один файл .
srec, который можно закинуть в PIC32MZ с помощью программы pic32prog из Вакуленко .
UPD: Дополнительно недавняя ссылка на актуальность проблемы (вирус в банкоматах) - https://www.gazeta.ru/tech/2017/03/20/10584965/atm_virus.shtml#page2
*** Справка из Википедии по поводу фото слева:
Скрытый текст http://ru.wikipedia.org/wiki/%D0%94%D0%95%D0%9C%D0%9E%D0%A1 Примерно в 1982-1983 годах в Москву были привезены копии операционной системы UNIX (v6 и v7).В опросе могут участвовать только зарегистрированные пользователи.На их базе в Институте атомной энергии им.
И.
В.
Курчатов при участии ряда специалистов других организаций адаптировал систему к местным условиям - локализацию на русский язык и адаптацию к отечественной технике, в первую очередь к машинам СМ-4 и СМ-1420. При этом локализацию проводили в Институте повышения квалификации Минавтопрома, где новая система получила название «МНОС» (Машинно-независимая операционная система).
Позже две команды объединились, и система была переименована в DEMOS (Dialogue Unified Mobile Operating System).
В 1985 году была выпущена версия 2.0 ОС Demos (с использованием исходного кода BSD4.2).
Проект был закрыт в начале 1990-х годов.
Разработчики ДЕМОС были удостоены Премии Совета Министров СССР по науке и технике в 1988 году.
Авторы: Валерий Бардин, Сергей Аншуков, Вадим Антонов, Алексей Руднев, Сергей Рыжков, Николай Саух, Дмитрий Володин, Сергей Вакуленко, Михаил Коротаев, Павел Ходаков, Андрей «ноль» Чернов, Михаил Паремский, Сергей Усиков, Леонид Егошин, Михаил Давыдов, Михаил Флеров и другие.
Войти , Пожалуйста.
Дорогой читатель! Для статистики меня интересует: 82,32% Умеете ли вы программировать на языке C 163 61,62% Умеете ли вы программировать на языке ассемблера 122 68,18% Знаете ли вы, для чего предназначены режимы ядра/пользователя и как они работают в операционных системах 135 70,2% Знаете ли вы, как работает виртуальная память? 139 81,82% Знаете ли вы, для чего нужна виртуализация? 162 48,48% Знаете ли вы, как работает виртуализация? 96 5,56% Знаете ли вы, как работает управление распределением ресурсов SoC с помощью гипервизора? 11 38,38% Вы занимаетесь разработкой микроконтроллеров 76 16,67% Вы разрабатываете интегрированные чипы для Интернета вещей 33 Проголосовали 198 пользователей.
39 пользователей воздержались.
Теги: #mips #mips #mips M5150 #Микрочип PIC32MZ #технологии воображения #Виртуализация #информационная безопасность #открытый исходный код #разработка под Linux #программирование микроконтроллеров #разработки для Интернета вещей
-
Моделирование Воды
19 Oct, 24 -
Тдд Не Работает
19 Oct, 24 -
Преобразование Текста В Речь На Android
19 Oct, 24 -
Дизайн - Это...
19 Oct, 24 -
Первый Опыт Работы С Google Maps Api
19 Oct, 24 -
Что Такое Понятие «Реализация Себя В Жизни»?
19 Oct, 24