The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Проект QEMU представил минималистичную прошивку qboot

21.05.2015 23:26

В ответ на выпуск компанией Intel проекта Clear Linux разработчики QEMU подготовили новую прошивку для виртуальных машин - 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.

  1. Главная ссылка к новости (http://lists.nongnu.org/archiv...)
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/42277-qemu
Ключевые слова: qemu
Поддержать дальнейшую публикацию новостей на OpenNET.


Обсуждение (32) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 00:00, 22/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +16 +/
    За сутки?! Был написан за сутки!? Вот теперь пойду в сварщики, им тоже, как ходят слухи, неплохо платят.
     
     
  • 2.7, XoRe (ok), 00:37, 22/05/2015 [^] [^^] [^^^] [ответить]  
  • +15 +/
    > За сутки?! Был написан за сутки!?

    За сутки, Карл!

     
  • 2.20, arisu (ok), 11:59, 22/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > За сутки?! Был написан за сутки!? Вот теперь пойду в сварщики, им
    > тоже, как ходят слухи, неплохо платят.

    а отчего такое удивление? по сути, это просто объединение уже имеющихся компонентов, с небольшим клеем. обычный PoC, их примерно так и делают, если составные части уже готовы.

     
     
  • 3.26, Аноним (-), 17:26, 23/05/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Единственный фокус-чпокус: "PoC" вполне работает и делает нечто полезное и нужное ALL :)

    Это называется code reuse и это может творить чудеса, вплоть до того что сишник может показать бидонисту как быстро писать программы :)

     
     
  • 4.32, arisu (ok), 17:33, 23/05/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    тем не менее, это PoC. просто у нормальных программистов «поки» таки да, работают. к удивлению многих хипсторов. ;-)
     
     
  • 5.34, Аноним (-), 02:12, 24/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Я бы переформулировал. То что нормальный програмер называет PoC, хипстер называет релизом :)
     
     
  • 6.36, arisu (ok), 05:28, 24/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Я бы переформулировал. То что нормальный програмер называет PoC, хипстер называет релизом
    > :)

    или так, да.

     
  • 2.21, Michael Shigorin (ok), 12:03, 22/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > За сутки?!

    Когда свежую мысль подбросили и она сработала ещё одним центром кристаллизации для насыщенного раствора уже проделанной работы -- бывает и так, что не оторвёшься, пока эту мысль не запишешь, потому как очень уж интересно, как заработает. :)

     
     
  • 3.25, Аноним (-), 20:40, 22/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    это называется проперло ))
     
     
  • 4.27, Аноним (-), 17:28, 23/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > это называется проперло ))

    Это называется code reuse и отсутствие велосипедостроения там где это явно лишнее ;)

    Взять готовые компоненты и склеить их под задачу оптимально - много времени не занимает. Это ж не питонисты, которым все всегда именно с ноля надо писать.

     

  • 1.2, Аноним (-), 00:11, 22/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Учитесь, жабисты.
     
     
  • 2.6, Аноним (-), 00:36, 22/05/2015 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Угу... посмотрим как это г будет сегфолится от каждого чиха.
     
     
  • 3.15, Аноним (-), 10:20, 22/05/2015 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Как и JVM, написанная на С++?
     
  • 3.28, Аноним (-), 17:29, 23/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Угу... посмотрим как это г будет сегфолится от каждого чиха.

    С учетом его размеров и реюза уже существующего и проверенного кода - скорее всего все будет вполне кульурно, в отличие от монстряк накиданых за день с ноля :)

     
  • 2.4, 3draven (ok), 00:18, 22/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Yflрать код из своих же проектов, с которыми знаком хорошо, вполне можно.
     
  • 2.5, Xasd (ok), 00:20, 22/05/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > бездоказательная брехня

    вот список коммитов

    https://github.com/bonzini/qboot/commits/master

    и в частности вот первый коммит:

    https://github.com/bonzini/qboot/commit/edba90fb16ec7224da591ab8f83efe3673853a

     
     
  • 3.8, XoRe (ok), 00:38, 22/05/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> бездоказательная брехня
    > вот список коммитов

    Закоммичен за сутки

     

  • 1.9, anonymous (??), 02:08, 22/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    астрологи провозгласили неделю виртуализации?
     
  • 1.10, bOOster (ok), 07:36, 22/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    -"За сутки"
    Вот что значит - раз два кружева, три четыре прицепили :) Только как обычно это бывает - вкривь и вкось...
     
     
  • 2.29, Аноним (-), 17:30, 23/05/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > как обычно это бывает - вкривь и вкось...

    Волобуев, где ваш БАГ?

     

  • 1.12, Аноним (-), 09:45, 22/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ядро еще пусть за сутки обрежут до минимума.
     
  • 1.13, Аноним (-), 09:57, 22/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    это чтобы использовать виртуалки как cgi-скрипты?
     
     
  • 2.14, Andrey Mitrofanov (?), 10:04, 22/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > это чтобы использовать виртуалки как cgi-скрипты?

    И js-ы с-под броузеров кускать

     
     
  • 3.16, Аноним (-), 11:02, 22/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >> это чтобы использовать виртуалки как cgi-скрипты?
    > И js-ы с-под броузеров кускать

    не, для этого Qubes ось есть.

     

  • 1.17, Влад (??), 11:32, 22/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    но зачем 16-битный? Не лучше ли сразу делать 32- или 64-битный uefi? давно пора 16 бит выкинуть на свалку.
     
     
  • 2.18, irinat (ok), 11:38, 22/05/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > но зачем 16-битный? <...> давно пора 16 бит выкинуть на свалку.

    Все x86 стартуют в 16-битном режиме. Большинство firmware переходят в 32-битный режим где-то через 5-10 инструкций.

     
     
  • 3.30, Аноним (-), 17:31, 23/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Все x86 стартуют в 16-битном режиме.

    На самом деле там уже много лет как есть опция старта в 32 и даже 64-битном режиме IIRC.


     
     
  • 4.33, irinat (ok), 17:54, 23/05/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Все 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

     
     
  • 5.35, Аноним (-), 04:54, 24/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Это с каких моделей? Я вот смотрю в старенький документ от Intel
    > [1], там написано:

    Хм, действительно. Трижды перепроверил - вроде все так. Откуда ж у меня это отложилось? Изначально чтоли у амдшников была такая задумка - сразу стартовать в 64 битах. Но никаких упоминаний этого я в актуальных мануалах ни у интела ни у амд не нашел.

     
     
  • 6.37, arisu (ok), 05:32, 24/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Хм, действительно. Трижды перепроверил - вроде все так. Откуда ж у меня
    > это отложилось?

    мечта и ложная память. из разряда «ну не может же в x86 *всё* быть плохо и со временем только ухудшаться, хоть что‐то они должны были подрихтовать?!» может.

     

  • 1.19, Moomintroll (ok), 11:49, 22/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > … и загрузчик ядра Linux из QEMU

    Значит ли это, что оно умеет загружать только Linux? Если это так, то почему тогда не использовать возможность самого QEMU запускать линуксовую виртуалку напрямую из ядра?

     
     
  • 2.31, Аноним (-), 17:32, 23/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > напрямую из ядра?

    Да что там мелочиться, делаете kexec() на новое ядро. Ядро напрямую запускает указанное ядро.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:
    При перепечатке указание ссылки на opennet.ru обязательно



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру