В ответ на выпуск компанией Intel проекта Clear Linux (http://www.opennet.me/opennews/art.shtml?num=42272) разработчики QEMU
подготовили (http://lists.nongnu.org/archive/html/qemu-devel/2015-05/msg0...) новую прошивку для виртуальных машин - qboot (https://github.com/bonzini/qboot), содержащую только минимально необходимый набор функций и загружающуюся существенно быстрее полноценного SeaBIOS. Например, для запуска виртуальной машины в урезанной сборке QEMU при использовании qboot на сервере с CPU Ivy Bridge Core i7 тратится всего 40 мс, в то время, как в обычных условиях на запуск виртуальной машины уходит 500-700 мс.
Интересно, что qboot был написан за сутки и включает минимальный 16-разрядный BIOS на основе реализации BIOS из kvmtool, серию процедур инициализации оборудования, написанных с оглядкой на SeaBIOS, минимальный 32-разрядный libc, основанный на kvm-unit-tests, и загрузчик ядра Linux из QEMU.
URL: http://lists.nongnu.org/archive/html/qemu-devel/2015-05/msg0...
Новость: http://www.opennet.me/opennews/art.shtml?num=42277
За сутки?! Был написан за сутки!? Вот теперь пойду в сварщики, им тоже, как ходят слухи, неплохо платят.
> За сутки?! Был написан за сутки!?За сутки, Карл!
> За сутки?! Был написан за сутки!? Вот теперь пойду в сварщики, им
> тоже, как ходят слухи, неплохо платят.а отчего такое удивление? по сути, это просто объединение уже имеющихся компонентов, с небольшим клеем. обычный PoC, их примерно так и делают, если составные части уже готовы.
Единственный фокус-чпокус: "PoC" вполне работает и делает нечто полезное и нужное ALL :)Это называется code reuse и это может творить чудеса, вплоть до того что сишник может показать бидонисту как быстро писать программы :)
тем не менее, это PoC. просто у нормальных программистов «поки» таки да, работают. к удивлению многих хипсторов. ;-)
Я бы переформулировал. То что нормальный програмер называет PoC, хипстер называет релизом :)
> Я бы переформулировал. То что нормальный програмер называет PoC, хипстер называет релизом
> :)или так, да.
> За сутки?!Когда свежую мысль подбросили и она сработала ещё одним центром кристаллизации для насыщенного раствора уже проделанной работы -- бывает и так, что не оторвёшься, пока эту мысль не запишешь, потому как очень уж интересно, как заработает. :)
это называется проперло ))
> это называется проперло ))Это называется code reuse и отсутствие велосипедостроения там где это явно лишнее ;)
Взять готовые компоненты и склеить их под задачу оптимально - много времени не занимает. Это ж не питонисты, которым все всегда именно с ноля надо писать.
Учитесь, жабисты.
Угу... посмотрим как это г будет сегфолится от каждого чиха.
Как и JVM, написанная на С++?
> Угу... посмотрим как это г будет сегфолится от каждого чиха.С учетом его размеров и реюза уже существующего и проверенного кода - скорее всего все будет вполне кульурно, в отличие от монстряк накиданых за день с ноля :)
Yflрать код из своих же проектов, с которыми знаком хорошо, вполне можно.
> бездоказательная брехнявот список коммитов
https://github.com/bonzini/qboot/commits/master
и в частности вот первый коммит:
https://github.com/bonzini/qboot/commit/edba90fb16ec7224da59...
>> бездоказательная брехня
> вот список коммитовЗакоммичен за сутки
астрологи провозгласили неделю виртуализации?
-"За сутки"
Вот что значит - раз два кружева, три четыре прицепили :) Только как обычно это бывает - вкривь и вкось...
> как обычно это бывает - вкривь и вкось...Волобуев, где ваш БАГ?
Ядро еще пусть за сутки обрежут до минимума.
это чтобы использовать виртуалки как cgi-скрипты?
> это чтобы использовать виртуалки как cgi-скрипты?И js-ы с-под броузеров кускать
>> это чтобы использовать виртуалки как cgi-скрипты?
> И js-ы с-под броузеров кускатьне, для этого Qubes ось есть.
но зачем 16-битный? Не лучше ли сразу делать 32- или 64-битный uefi? давно пора 16 бит выкинуть на свалку.
> но зачем 16-битный? <...> давно пора 16 бит выкинуть на свалку.Все x86 стартуют в 16-битном режиме. Большинство firmware переходят в 32-битный режим где-то через 5-10 инструкций.
> Все x86 стартуют в 16-битном режиме.На самом деле там уже много лет как есть опция старта в 32 и даже 64-битном режиме IIRC.
>> Все x86 стартуют в 16-битном режиме.
> На самом деле там уже много лет как есть опция старта в
> 32 и даже 64-битном режиме IIRC.Это с каких моделей? Я вот смотрю в старенький документ от Intel [1], там написано:
9.1.1 Processor State After Reset
Table 9-1 shows the state of the flags and other registers following power-up for the Pentium 4, Intel Xeon, P6 family (including Intel processors with CPUID DisplayFamily signature of 06H), and Pentium processors. The state of control register CR0 is 60000010H (see Figure 9-1). This places the processor is in real-address mode with paging disabled.
[1] Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 3A: System Programming Guide, Part 1
> Это с каких моделей? Я вот смотрю в старенький документ от Intel
> [1], там написано:Хм, действительно. Трижды перепроверил - вроде все так. Откуда ж у меня это отложилось? Изначально чтоли у амдшников была такая задумка - сразу стартовать в 64 битах. Но никаких упоминаний этого я в актуальных мануалах ни у интела ни у амд не нашел.
> Хм, действительно. Трижды перепроверил - вроде все так. Откуда ж у меня
> это отложилось?мечта и ложная память. из разряда «ну не может же в x86 *всё* быть плохо и со временем только ухудшаться, хоть что‐то они должны были подрихтовать?!» может.
> … и загрузчик ядра Linux из QEMUЗначит ли это, что оно умеет загружать только Linux? Если это так, то почему тогда не использовать возможность самого QEMU запускать линуксовую виртуалку напрямую из ядра?
> напрямую из ядра?Да что там мелочиться, делаете kexec() на новое ядро. Ядро напрямую запускает указанное ядро.