The OpenNET Project / Index page

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

Доступен новый экспериментальный гипервизор 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
Тип: Программы
Ключевые слова: ksm, virtual
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (39) Ajax/Линейный | Раскрыть все сообщения | 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'd rather laugh at confused people while they try to understand my
    > code.

    I see... You are not enlightened yet. So, go away and code. And do not come back until enlightened.

     
     
  • 10.38, flop (?), 12:40, 02/02/2017 [^] [ответить]    [к модератору]  
  • +/
    > I see... You are not enlightened yet. So, go away and code.
    > And do not come back until enlightened.

    At least I understand shit before I try to argue they are wrong.
    You're the one interested in my stuff regardless.  Anyways, point proven, no need for me to come here again.  The only reason I came was through Github Traffic, it got an abnormal amount of traffic and I was surprised because I did not advertise it, so it seemed to point to here and 2 other articles on the web.

     
     
  • 11.39, Ordu (ok), 21:38, 02/02/2017 [^] [ответить]    [к модератору]  
  • +/
    > At least I understand shit before I try to argue they are wrong.

    I'm not trying to be offensive, but arguing is also the way do discover things. Yes I might clone your repo, run etags on it and find definitions of all structs, lurk some time in different parts of code, and become much more correct with my initial guesses about reasons behind the patterns used. But nevertheless my guesses would remains just guesses. Now my knowledge is more reliable. I cleared my mind from influence of OP's opinion and your hostile behaviour. I have built my own opinion instead. And, I hope, you also got something from discussion. I hope I was not just using you for reaching my goals, but giving you something also.

    And one more hint. Less subtle. Psychologists tend to differentiate two strategies of behaviour: need for success and failure avoidance. And I work hard to bring myself to the first. I'd like to fail in discussion, which not a super important to me -- it costs me nothing. But I can get some information while losing. So I came to success while failing. The most of the people are unable to do it. I'm trying to become not like them but stronger.

    > The only reason I came was through Github Traffic, it got an abnormal amount of traffic and I was surprised because I did not advertise it, so it seemed to point to here and 2 other articles on the web.

    Gratz. :)

     
  • 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:
    Текст:


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