Я с интересом изучил расширения аппаратной виртуализации, добавленные Intel и AMD, в архитектуру x86 (известные как VMX и SVM, соответственно). Хотя это по-прежнему относительно недавнее дополнение к процессору x86, я понимаю, что архитектура мэйнфрейма широко использовала виртуализацию с 70-х по 80-е годы, например, в виде почтенной операционной системы z/VM. Использовалась даже вложенная виртуализация.Архитектура виртуализации на мэйнфрейме (z/Architecture)
Мой вопрос: существует ли публичная документация на аппаратные средства, предоставляемые z/Architecture, используемые операционной системой z/VM для реализации этой виртуализации? То есть управляющие регистры и структуры данных, которые аппаратное обеспечение реализует, позволяет гипервизору имитировать состояние гостя и ловить необходимые инструкции? Еще одна вещь, о которой мне интересно, - это то, что z/Architecture поддерживает перевод адресов второго уровня (который был добавлен позже в VMX и SVM).
Я помню, что посещал курс «Linux под VM», и им было сказано, что на одном этапе во время установки, гостевая ОС будет очень медленной. Это было связано с тем, что на мэйнфрейме выполнялась виртуальная машина, и каждый из них создал свои собственные виртуальные машины, в которых мы тогда запускали виртуальную машину (до сих пор ОК). В рамках этой виртуальной машины мы создали гостя Linux, и это стало бы медленным, потому что не было аппаратной поддержки для запуска гостевой ОС (linux) под гостевой ОС под гостевой ОС, а последний уровень эмуляции был в программном обеспечении. Как только мы загрузили нашу виртуальную машину Linux под собственной виртуальной машиной, все было в порядке. –
Если я правильно помню, оригинальная VM позже была реализована в прошивке как PR/SM (Prism) и является стандартным гипервизором мейнфрейма z-серии для LPAR (логические параметры - или VM). –
Возвращаясь к моему первому комментарию, мы могли бы запустить Linux под VM под VM под PR/SM, когда он стал медленным. Linux под VM под PR/SM был в порядке с полной аппаратной эмуляцией. –