The OpenNET Project / Index page

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

Доступен новый экспериментальный гипервизор KSM

30.01.2017 22:50

Опубликован экспериментальный выпуск проекта KSM 1.5, в рамках которого развивается простой и быстрый гипервизор для 64-разрядных процессоров Intel, поддерживающих технологии VT-x и EPT. Код KSM написан на языке Си и поставляется под лицензией GPLv2. Из операционных систем поддерживаются Linux и Windows.

В отличие от Xen и KVM новый гипервизор не нацелен на обособленный запуск разных операционных систем на одном компьютере. Вместо этого KSM развивается в направлении создания дополнительного уровня защиты для текущей выполняемой ОС, предоставляя sandbox для изоляции приложений с виртуализацией физической памяти и движок для интроспекции операций с памятью. KSM поддерживает вложенную виртуализацию и может эмулировать окружение для запуска других систем виртуализации, таких как KVM.

Особенностью KSM также является использование таких новых возможностей процессоров Intel, как обработка исключений #VE (Virtualization Exception) при нарушении вложенных таблиц памяти EPT (Extended Page Tables) и применение VM-функций (VMFUNC) над EPTP (Extended-Page-Table Pointer). Из планов на будущее отмечается поддержка платформы macOS, виртуализация APIC, поддержка UEFI, задействование технологии Intel TXT (Trusted Execution Technology) и поддержка виртуализации на базе AMD-V и NPT.



  1. Главная ссылка к новости (https://github.com/asamy/ksm/r...)
  2. OpenNews: В OpenBSD включена по умолчанию система виртуализации VMM
  3. OpenNews: Для процессоров MIPS представлен первый открытый гипервизор
  4. OpenNews: Первый выпуск гипервизора Bareflank
  5. OpenNews: Релиз гипервизора Xen 4.8
  6. OpenNews: Компания Siemens выпустила гипервизор Jailhouse 0.6
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/45946-ksm
Ключевые слова: ksm, virtual
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (39) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, A.Stahl (ok), 23:38, 30/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Что это за хрень на скриншоте? Указатель мыши для слепых?
     
     
  • 2.2, VHS (??), 23:42, 30/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    кнопка "Play"
     
     
  • 3.4, A.Stahl (ok), 23:43, 30/01/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Тьфу... Ну как я мог сразу догадаться? Жесть полимер-чугунная...
     
     
  • 4.6, VHS (??), 23:45, 30/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты на скриншот кликни, там какой-то коуб/инстаграм/ютуб для кpасноглазых. Вот уж где жесть.
     
     
  • 5.18, Аноним (-), 07:25, 31/01/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А мне понравилось. От туда текст можно копировать если что, так сказать юзер френдли)
     
  • 5.19, Аноним (-), 09:40, 31/01/2017 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Я правильно понимаю? ньюфаг впервые увидел ascii плеер?
     
     
  • 6.20, Fidel Castro (?), 10:24, 31/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    он ещё плёночные фильмы смотрит..
     
  • 5.25, EuPhobos (ok), 12:45, 31/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    "Forget screen recording apps and blurry video. Enjoy a lightweight, purely text-based approach to terminal recording."
    Написано "Легковестный плеер", у меня одного на этом видео кулеры взлететь с системником пытаются?
    https://asciinema.org/a/28404
     
     
  • 6.26, Crazy Alex (??), 14:41, 31/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    recorde и плеер - это разные вещи
     
  • 6.27, Аноним84701 (ok), 16:46, 31/01/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Написано "Легковестный плеер", у меня одного на этом видео кулеры взлететь с системником пытаются?

    Все, как обычно. Хипстеры переписали  (а скорее всего, переизобрели, потому как ни разу не слышали) утилиту script
    https://linux.die.net/man/1/script
    > The script command appeared in 3.0BSD.
    > Linux July 30, 2000 Linux

    на жабоскрипте и решили, что раз кроме браузера для проигрывания ничего не нужно, то это "легковесно" ;)

     

  • 1.3, Аноним (-), 23:43, 30/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Из планов на будущее отмечается поддержка платформы macOS

    будущее не в то русло

     
     
  • 2.9, 123 (??), 00:12, 31/01/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    там он точно не нужен - там jail нормально себя ведет.
     
     
  • 3.21, Аноним (-), 10:41, 31/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты хорошо себя чувствуешь?

    гипервизор != jail

     

  • 1.5, Аннымзус (?), 23:45, 30/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    https://ru.wikipedia.org/wiki/KSM
     
     
  • 2.11, Аноним (-), 00:51, 31/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > "..в частности, экспериментальная реализация KSM от Red Hat показала, что 52 виртуальных > экземпляра Windows XP с выделенными 1 ГБ памяти, могут работать на компьютере с 16 ГБ"

    Это как?

     
     
  • 3.12, Ivan1986 (?), 00:58, 31/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Как как - дедуплекация.Как будто эти 52 винды много чем друг от друга отличаются
     
  • 3.14, qwerty123 (??), 01:01, 31/01/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >> "..в частности, экспериментальная реализация KSM от Red Hat показала, что 52 виртуальных > экземпляра Windows XP с выделенными 1 ГБ памяти, могут работать на компьютере с 16 ГБ"
    > Это как?

    Могут работать, а могут и не работать.
    Или работать, но очень недолго.

     

  • 1.7, Аноним (-), 23:57, 30/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Готов для продакшена?
     
     
  • 2.8, gre (?), 00:10, 31/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Ну чего тебе не хватает?
     

  • 1.10, Archuser (?), 00:19, 31/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Годнота!
     
  • 1.13, Аноним (-), 00:59, 31/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Управления гостями как происходит?
    С терминала?
     
  • 1.15, Аноним (-), 03:25, 31/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Заголовок, как будто убийца KVM вышел. Кто-нить хоть в код то смотрел?

    Явно пацанчик просто учится. Там полный фарш: сравнения unsigned с -1, кривые "кроссплатформенные" дефайны, которые по-разному ведут себя на винде и линуксах, кривые спецификаторы форматов в printf, какие-то дикие касты несовместимых типов, ворнинги компилятора ваще игнорируются, они ж для слабаков...
    Про статический анализ разработчик явно не слышал ни разу.

    Максимум можно для экспериментов использовать как заготовку для какого-то своего инструмента и понимания принципов работы гипервизоров, не более того.

     
     
  • 2.28, flop (?), 06:50, 01/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Your argument is really stupid and the fact that you don t even understand why t... большой текст свёрнут, показать
     
     
  • 3.29, flop (?), 06:57, 01/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    > to use it and failed, that's what made you argue about
    > this, so get over it and admit your failure, asking for
    > help via e-mail or github issues is not embarassing, don't worry,
    > nobody cares.
    > So, quite frankly, your argument is shit, and it's made even more
    > shit by the fact that you have provided 0 premises to
    > back them up.
    > Sure, I wouldn't argue that I did some mistakes with it, some
    > are horrible, but still, I always fix them immediately when I
    > notice, but still, that doesn't validate your arguments.

    To elaborate more on the signed/unsigned comparison thing, I think these have historical reasons, and I was too lazy to remove, if you want them removed, welcome to open source; provide a patch and I will happily apply it.

     
  • 3.30, Ordu (ok), 23:23, 01/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    If you are trying to mimic Torvalds you should spend more time on learning how to use word "bullshit" well and, I believe, you lack Linus's entourage, you are really miss mailing list full of supporters.

    And... y'know, your sayings is not very smart. If we take into consideration, for instance, casts between different types in C, I could give you three examples of software were such casts are widely used _without_ any compiler warnings despite -Wall used: linux kernel, gtk+, enlightenment libraries. So, just take a look at those code and learn how to deal with casts properly.

     
     
  • 4.31, flop (?), 02:52, 02/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > If you are trying to mimic Torvalds you should spend more time
    > on learning how to use word "bullshit" well and, I believe,
    > you lack Linus's entourage, you are really miss mailing list full
    > of supporters.

    Mimic Torvalds in what exactly?  I don't see what you're talking about.  I don't need supporters or mailing list to prove someone wrong.

    > And... y'know, your sayings is not very smart. If we take into
    > consideration, for instance, casts between different types in C, I could
    > give you three examples of software were such casts are widely
    > used _without_ any compiler warnings despite -Wall used: linux kernel, gtk+,
    > enlightenment libraries. So, just take a look at those code and
    > learn how to deal with casts properly.

    You're wrong and yet again, try casting a function pointer to a void pointer (inverse works, too) under both GCC and MSVC, see what you get.   I do not have these warnings ignored under GCC, I have them ignored under MSVC, idiot.  Both GTK and Linux Kernel use GCC.

     
  • 4.32, flop (?), 03:21, 02/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > And... y'know, your sayings is not very smart. If we take into
    > consideration, for instance, casts between different types in C, I could
    > give you three examples of software were such casts are widely
    > used _without_ any compiler warnings despite -Wall used: linux kernel, gtk+,
    > enlightenment libraries. So, just take a look at those code and
    > learn how to deal with casts properly.

    Also the incompatible pointer warning that was _only_ ignored for just 1 function is from here: https://github.com/asamy/ksm/blob/master/ksm.h#L563 which is reasonable, if you know how to container_of works, then you'll understand why this spurious warning happens.  (The funny part, GCC has this problem, but not MSVC, hah.)

     
     
  • 5.33, Ordu (ok), 05:04, 02/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    In your harsh replies to critics, obviously And what I should get cat tmp c ... большой текст свёрнут, показать
     
     
  • 6.34, flop (?), 06:03, 02/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > In your harsh replies to critics, obviously.

    Harsh replies automatically allocate me as Linus Torvalds, ok.

    > And what I should get?
    > $ cat tmp.c
    > void (*casting_pointers())()
    > {
    >  void *void_fn = (void*)casting_pointers;
    >  void (*fn)() = (void (*)()) void_fn;
    >  return fn;
    > }
    > $ gcc -Wall -c tmp.c
    > $

    Under MSVC, you'd get a warning saying you're casting a function pointer to a data pointer, which is why I disable this warning under MSVC only.

    > I don't know what warnings of MSVC you are talking about, but
    > assuming you are right with it and MSVC warnings are useless,
    > you should use gcc -Wall and its warnings or some external
    > static code analizer to check your code.

    It's already implicility used...

    >[оверквотинг удален]
    > getting those warnings. Clean your code and either make an explicit
    > cast of vcpu to struct list_head*, or change type of an
    > arg in function declaration to reflect the type of field in
    > struct ksm.
    >> Also the incompatible pointer warning that was _only_ ignored for just 1 function...
    > If it is true, than I understand your behaviour even less. Why
    > you need to speak about MSVC and your hatred of compiler
    > warnings, instead of clear explanation of the issue? One unresolved warning
    > is not so bad as systematically ignored warnings. Acting such a
    > way you are showing youself as ignorant fool.

    You're the ignorant fool here for not bothering to look at the actual definitions before making these arguments, the vcpu_list is not a list_head, it's simply an array of 'struct vcpu', declared as follows:

    struct vcpu vcpu_list[MAX_VCPUS];

    So my point is still valid, you're (or the other guy) are arguing about ignoring the warnings while they are actually justified and are mostly substandard.

     
     
  • 7.35, Ordu (ok), 08:28, 02/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Harsh replies automatically allocate me as Linus Torvalds, ok.

    No, you cannot be used as a replacement for him, but still looks similar. At least your first comment in this thread has such funny property.

    > the vcpu_list is not a list_head, it's simply an array of 'struct vcpu', declared as follows:
    > struct vcpu vcpu_list[MAX_VCPUS];

    Wow... I'm impressed. Unexpected use for container_of. But yes, you are right about I was a fool, I could catch it looking only into this function, but I didn't.

    But nevertheless... You are using container_of in a way its not indended to use. Even without looking on the rest of your code I can say this to you with great confidence. If you do not believe me, you might ask any kernel developer and try to convince him that you have important reasons to such a design that leads to use container_of in this case.

    container_of is a tool to design some data structures like list, where different struct types have common parts. For example struct list_head field.
    container_of is not a magic way to use pointers into structures as substitute for pointers to structures. Because container_of is using explicit casts which is bad. Such casts used everywere in kernel not because it is a good practice, but because C gives no other ways to do some things. Pointer arith even worse, but in some cases its the only choice also. Your case is not valid case for using pointer arith, expicit casts and container_of.

    Just add to struct vcpu field 'struct ksm *parent', and your vcpu_to_ksm will not need any casts anymore. Its completely safe: such a pointer will not become dangling, because struct vcpu shares lifetime with containing struct ksm. Just do not forget to initialize this pointer.

     
     
  • 8.36, flop (?), 08:50, 02/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Good thing you admit your failure, that s one step forward Have common parts ... большой текст свёрнут, показать
     
     
  • 9.37, Ordu (ok), 10:04, 02/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    I see You are not enlightened yet So, go away and code And do not come back... текст свёрнут, показать
     
     
  • 10.38, flop (?), 12:40, 02/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    At least I understand shit before I try to argue they are wrong You re the one ... текст свёрнут, показать
     
     
  • 11.39, Ordu (ok), 21:38, 02/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    I m not trying to be offensive, but arguing is also the way do discover things ... текст свёрнут, показать
     

  • 1.16, Gannet (ok), 04:42, 31/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >простой и быстрый гипервизор для 64-разрядных процессоров Intel

    Давайте теперь напишем отдельный для AMD, потом для ARM и т. д. - каждому процу по своей виртуалке!

     
     
  • 2.17, angra (ok), 04:56, 31/01/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Как было замечено выше, это любительский проект одиночки. Какой процессор на его локалхосте стоит, под такой и пишет.
     
  • 2.22, Аноним (-), 10:44, 31/01/2017 [^] [^^] [^^^] [ответить]  
  • –4 +/
    >>простой и быстрый гипервизор для 64-разрядных процессоров Intel
    > Давайте теперь напишем отдельный для AMD, потом для ARM и т. д.
    > - каждому процу по своей виртуалке!

    Правильно UNIX way - одна задача - одна программа. Только перенести эту аксиому на процессоры.

     
     
  • 3.23, angra (ok), 11:20, 31/01/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А если в слове ХЛЕБ сделать четыре ошибки, то получится ПИВО.
     
     
  • 4.24, Юзер (??), 11:47, 31/01/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А если пять ошибок - получится слово ВОДКА, ага
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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