Чисто теоретически наверное да, но проблема в том что OS это очень сложный механизм. И посему дырок там и всяких багов может быть огромное количество ведь практически невозможно полностью проверить нескольких десятком миллионов строк ядра современной OS. С другой стороны виртуализация, особенно если она реализована на уровне CPU, намного проще поддается подобной валидации.Marmot писал(а):Ага, действительно очень похоже...meser писал(а):что-то эта дискуссия мне стала напоминать дисскусси об ооп в середине 80, типа "зачем нужен с++, если анси с со всем справляется". в фидошных сетях очень живенько обсуждалось. аргументы о тупосте и ленности программеров не последние были в ходу.
Просто я пытаюсь понять кудя дальше пойдет развитие OSes.
Пока что я вижу, что виртуализация используется как средство лучшей изоляции и перемещения/распределения процессов.
Т.е. , если бы OS, могла делать тоже самое на уровне процессов, то, как мне кажется виртуализация была бы не нужна.
Или я не прав?
Случаи запуска ms-dos и windows из-под линукса я тут не рассматриваю.
Аналогично с разделением ресурсов. Ни одна из популярных операционок сегодня не проектировалась с учетом того что железо будет намного мощнее чем требования отдельного приложения и поэтому надо иметь возможность гарантировать отдельному приложению определенный "кусочек". Исправить это до какой-то степени можно (solaris containers, freebsd jais etc), но все равно останутся какие-то ресурсы которые будут использоваться совместно (например память ядра, разные кеши, I/O path) а значит одно приложение сможет повлиять на остальные нагрузив эти ресурсы.
То-же самое миграция и checkpointing.
В принципе я думаю придет время и производители железа станут во всю использовать тонкие гипервизоры даже в десктопных системах чтобы не тянуть за собой огромный балласт древних и не нужных практически никому кроме позователей legacy OS железячных интерфейсов. Иначе говоря, реализовывать какой-нибудь ISA контроллер, или допотопный i8254 ISA clock на материнке не надо будет - больше места под полезную функциональность, меньше времени на тестирования продукта итд. Ну и в процессоре я тоже думаю можно много места сэкономить если выкинуть оттуда 16-ти битные сегодня или даже 32-ти битные режимы через пару тройку лет и заменить их програмной трансляцией/эмуляцией.
-Maxim