Посоветуйте книгу по алгоритмам и структурам данных
Небольшую по объёму, времени - день. Прочитал Скиена, но как-то не впечатлило. Ничего нового не почерпнул.
Понимание принципов имеется. Нужно именно научиться рассказывать и объяснять другим.
Небольшую по объёму, времени - день. Прочитал Скиена, но как-то не впечатлило. Ничего нового не почерпнул.
Понимание принципов имеется. Нужно именно научиться рассказывать и объяснять другим.
Сегодня в ленте наткнулся на буржуйский сайтец со статьей. Вкратце:
Россия тестирует перекрытие доступа к глобальной сети, и VPN уже не всегда помогает. Как сообщается, Россия на день блокировала некоторые регионы, продолжая развивать свой собственный «суверенный интернет».
Роскомнадзор заблокировал жителей Дагестана, Чечни и Ингушетии, где большинство населения составляют мусульмане, сообщает ISW.
Частичные блокировки связаны с тем, что РФ тестирует свой собственный суверенный интернет, который она сможет полностью контролировать. В этом году она уже тестировала блокировку YouTube и других сайтов, замедляя их настолько, что они становились практически непригодными для использования. По сообщениям, в это вложено 648 миллионов долларов.
В будущем Россия также может заблокировать Amazon Web Services (AWS), HostGator и другие иностранные веб-хостинги, считает ISW. Страна также может заставить своих жителей и компании перейти на российские, чтобы правительство могло обеспечить соблюдение собственных правил.
Полная статья здесь: https://www.pcmag.com/news/russia-tests-cutting-off-access-to-global-web-and-vpns-cant-get-around
Линукс тут при том, что уже какие-то дистры и репы невозможно использовать, если мне не изменяет память, о чем здесь об этом уже говорилось.
А ты, юзернейм, готов к суверенному интернету?
UPDATE: Крым. Источник: https://ru.krymr.com/a/news-mininform-otlyuchenie-interneta-krym/33243311.html
Еще источник: https://sevastopol.su/news/zachem-krymchanam-budut-otklyuchat-mobilnyy-internet
Еще: https://www.cnews.ru/news/top/2024-12-18_v_krymu_anonsirovali_otklyucheniya
Впрочем, достаточно загуглить фразу «отключения мобильного интернета возможны в крыму». В результатах куча крымских порталов, включая комментарии самого Аксёнова.
В связи с развитием мгновенного перевода живые языки перестанут быть всеобщей необходимостью. У каждого человека будет свой собственный набор бульканий, при помощи которого он будет общаться со всем миром. Возможно, останется какой-нибудь упрощенный китайский для «живого» общения без помощи компьютеров среди фанатов именно такого хобби.
Финально определился с названием языка, подчистил разные хвосты и написал README. Теперь наконец-то можно посмотреть на нечто большее, чем просто фрагменты кода в постах на форуме: https://github.com/wandrien/qod/
Драфты по дизайну языка пока еще не готовы. Если перед НГ завала работы не будет, то может выложу их в течение пары недель. Черновики пишу на русском, осилить всё чётко сформулировать на английском в разумные сроки я точно не смогу. На русском-то не всегда получается.
Надеюсь, что после публикации материалов по языку, мне щедро насыпят в панамку как конструктивной, так и не очень, критики.
А пока можно посмотреть на сам код вживую.
в сфере IT|CS
тезис: хорошая книга должна быть не более 200(300) страниц.
зы. исключения монографии всяких кнутов и прочих седжвиков.
дискасс
ну и набрасывайти книги которые соответствуют тезису , ну и те которые по критерию числа страниц выходят за планку но всёж действительно хороши(и нет той воды изьятие которой приведет размер высушенной книги под планку) что-бы на них тратить время .
7 сентября, после пятилетнего застоя, состоялся выпуск 1.7 библиотеки и консольной утилиты jq, предназначенной для работы с форматом JSON и написанной на языке программирования C. Опционально утилита может быть скомпилирована с использованием библиотеки регулярных выражений Oniguruma.
Изменения:
( читать дальше... )
>>> Подробности
1 декабря состоялся выпуск 1.3.0 консольной утилиты и библиотеки lowdown (значительно улучшенного форка hoedown), написанных на языке C и распространяемых по лицензии ISC.
Утилита позволяет просматривать или конвертировать файлы Markdown в другие форматы: Gemini, HTML5, LaTeX, ODT или roff ($ man roff
).
В комплект поставки также входит утилита lowdown-diff, позволяющая вывести различия между двумя файлами Markdown.
( читать дальше... )
>>> Подробности
Я обучаю системному и функциональному программированию. Вот описание курсов:
https://drive.google.com/file/d/1PE7IDZZk12vOTk9pgCWDp7jmmBIpePbQ/view?usp=sharing
https://drive.google.com/file/d/1XdLZ0-ZnE_9okH2MN9SfR87xrAvkgopY/view?usp=sharing
Занятия проводятся сочетанием созвонов с лайв-кодингом и переписки. Оплата на текущий момент – донейшн (вы сами определяете сумму). Напишите мне в тг, если заинтересованы: komputikisto
Перемещено ilinsky из development
Вышла новая версия каталогизатора электронных книг с открытым исходным кодом Calibre 7.20.
В этой версии появился новый движок для преобразования PDF-файлов в другие форматы электронных книг, такие как EPUB или MOBI. Теперь он способен автоматически определять заголовки и подзаголовки на основе анализа документа.
( читать дальше... )
>>> Подробности
Какое-то время назад я попал в психологическую ловушку, начиная новый проект я беспокоился о том, что проект должен быть сделан «правильно». А правильно в моем понимании тогда это на новых фреймворках. По этой причине я не выполнил ряд проектов, так как стеснялся делать их по старинке.
Из этой психологической ловушки меня вытащили несколько источников.
Данная психологическая ловушка всего лишь разновидность ловушки «правильного программирования». Требования «делать правильно» могут быть разные: старые технологии, новые технологии, гипертрофированная безопасность. И так далее и тому подобное.
Не попадайте в психологические ловушки.
Госдума приняла в первом чтении законопроект о праве «белых хакеров» бесплатно и без разрешения автора изучать программу для электронно-вычислительных машин (ЭВМ) в целях выявления недостатков.
Изменения касаются статьи 1280 части 4 Гражданского Кодекса.
Лицо, правомерно владеющее экземпляром программы для ЭВМ
или экземпляром базы данных, (пользователь) вправе без разрешения автора
или иного правообладателя и без выплаты дополнительного вознаграждения
изучать, исследовать или испытывать функционирование такой программы и
(или) базы данных в целях выявления недостатков для их безопасного
использования или поручить иным лицам осуществить эти действия при
соблюдении следующих условий:
- указанные действия осуществляются исключительно в
отношении экземпляров программ для ЭВМ и (или) базы данных,
функционирующих на технических средствах пользователя;- выявленная пользователем или лицом, действующим по его
поручению, информация о недостатках не может быть передана
третьим лицам, за исключением правообладателя и (или) лица,
осуществляющего переработку программы для ЭВМ и (или) базы
данных с согласия правообладателя, если иное не установлено
законом.- Лицо, выявившее недостатки безопасного использования
программы для ЭВМ и (или) базы данных, обязано сообщить о них
правообладателю в течение пяти рабочих дней со дня их выявления, за
исключением случая если в результате предпринятых им разумных и
достаточных мер ему не удалось установить его место нахождения, место
жительства или адрес для переписки.".
>>> Подробности
В стародавние времена когда деревья были большими, трава зеленее, а мороженное стоило по 10 копеек, на Земле жили динозавры, и эти динозавры программировали в Vim.
( читать дальше... )
здрасьте здрасьте люди добрые. научите пожалуйста, что нужно чтобы написать программку в двоичном коде и запустить ее на выполение без обработки компилятором. в каком формате должен быть исполняемый файл?
10e88 15000000 00000000 00000000 00000000
10e98 03000000 00000000 e80f0100 00000000
10ea8 02000000 00000000 60000000 00000000
10eb8 14000000 00000000 07000000 00000000
или так не получится?
После года разработки вышла новая стабильная версия интерпретируемого языка программирования Python 3.13. Релиз включает изменения в собственно языке и его стандартной библиотеке. К важнейшим изменениям относятся использование нового интерактивного интерпретатора по умолчанию, экспериментальная поддержка работы в режиме free-threaded (т. е. с отключением global interpreter lock) (PEP 703), и JIT-компилятор (PEP 744).
( читать дальше... )
>>> Подробности
Я из легальных могу выделить rusneb.ru для старых (особенно дореволюционных книг) и для иностранщины archive.org, тоже старой, в основном.
Лет 5 ждал, пока кто-то сделает, и в итоге сам сделал. Задача состояла в том, чтобы сделать шрифт, в котором визуально отличаются пары букв, которые обычно выглядят одинаково, например, „с“ и „c“. Тогда при любой работе с двуязычными текстами в программировании можно будет избегать ошибок, связанных с перепутыванием этих букв.
https://tvoygit.ru/budden/dr_cyr
Сделан необходимый минимум, один моноширинный шрифт - модифицированный Ubuntu Mono, и один пропорциональный - модифицированный Golos Text, одно начертание для каждого. Проигнорировано всё, кроме русской кириллицы и основной латиницы, возможны косяки. Идея, заложенная в шрифты, немного отличается.
Художники обругали, простой народ похвалил, на данный момент порядка 4 внедрений.
Привет, ЛОР!
Я просто оставлю это здесь: https://isocpp.org/files/papers/P2996R4.html
Для Ъ: в C++26 будет добавлена поддержка статической рефлексии. Теперь C++ будет компилироваться ЕЩЁ ДОЛЬШЕ.
1 октября в Санкт-Петербурге прошла PGConf.СПб 2024 — техническая конференция по открытой СУБД PostgreSQL. Площадка собрала более 1000 постгресистов — разработчиков, администраторов баз данных, IT-менеджеров и других специалистов, работающих с PostgreSQL и СУБД на ее основе.
( читать дальше... )
>>> Подробности
Всем доброго времени суток!
На одной и той же машине, где все отлично работает на Ubuntu 14.04, лютый же треш на Ubuntu 22.04.
Первый звоночек был - что гипервизор Xen не работает на голой операционке «из коробки». Ядра что идут с ubuntu в комплекте - 6.8.0-40-generic и 6.5.0-18-generic, вообще в паре с Xen'oм не работают без вылетов.
Перебрав с дюжину вариантов, остановился на ядре «6.1.0-1036-oem» с которым получилось добиться стабильной работы Dom0. Но пока тщетны попытки пробросить в гостевую систему любой hardware. Ошибки одинаковые, будь то usb hub, soundcard или gpu.
Конфиг DomU:
#cat /etc/xen/router
builder='hvm'
memory = 1000
name = "router"
vcpus=1
#pae=1
acpi=1
apic=0
disk = [
'file:/media/md0/vm/router_test_ubu24.img,hda,w'
]
xen_platform_pci=1
viridian=1
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'destroy'
boot='c'
sdl=0
vnc=1
vncdisplay=5
serial='pty'
pci = ['08:00.0']
Запускаю:
#xl create /etc/xen/router
libxl: error: libxl_qmp.c:1838:qmp_ev_parse_error_messages: Domain 10:Offset 0x000e:0xffff0080 expands past register size (1)
libxl: error: libxl_pci.c:1775:device_pci_add_done: Domain 10:libxl__device_pci_add failed for PCI device 0:8:0.0 (rc -28)
libxl: error: libxl_create.c:1892:domcreate_attach_devices: Domain 10:unable to add pci devices
Если же в конфиге изменить acpi с 1 на 0, те же грабли только в профиль.
libxl: error: libxl_qmp.c:1838:qmp_ev_parse_error_messages: Domain 11:Bus 'pci.0' does not support hotplugging
libxl: error: libxl_pci.c:1775:device_pci_add_done: Domain 11:libxl__device_pci_add failed for PCI device 0:8:0.0 (rc -28)
libxl: error: libxl_create.c:1892:domcreate_attach_devices: Domain 11:unable to add pci devices
К pciback'у подключены:
# xl pci-assignable-list
0000:08:00.0
IOMMU вроде работает:
# dmesg | grep DMAR
[ 2.382298] ACPI: RMAD 0x000000007DF176B0 000110 (v01 A M I OEMDMAR 00000001 INTL 00000001)
[ 4.299817] DMAR: IOMMU enabled
Если вдруг окажется полезным, выхлоп xl info и xl dmesg:
# xl info
host : geregtigheig-pc
release : 6.1.0-1036-oem
version : #36-Ubuntu SMP PREEMPT_DYNAMIC Mon Mar 11 17:32:20 UTC 2024
machine : x86_64
nr_cpus : 24
max_cpu_id : 23
nr_nodes : 3
cores_per_socket : 12
threads_per_core : 1
cpu_mhz : 2700.004
hw_caps : bfebfbff:77bee3ff:2c100800:00000001:00000001:00000281:00000000:00000100
virt_caps : pv hvm hvm_directio pv_directio hap shadow iommu_hap_pt_share gnttab-v1 gnttab-v2
total_memory : 65501
free_memory : 1012
sharing_freed_memory : 0
sharing_used_memory : 0
outstanding_claims : 0
free_cpus : 0
xen_major : 4
xen_minor : 16
xen_extra : .0
xen_version : 4.16.0
xen_caps : xen-3.0-x86_64 hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
xen_scheduler : credit2
xen_pagesize : 4096
platform_params : virt_start=0xffff800000000000
xen_changeset :
xen_commandline : placeholder
cc_compiler : x86_64-linux-gnu-gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
cc_compile_by : ubuntu-devel-di
cc_compile_domain : lists.ubuntu.com
cc_compile_date : Sat Nov 26 22:06:42 UTC 2022
build_id : 4805454f1b2808877ffdb263ecb101cd100b5263
xend_config_format : 4
# xl dmesg
(XEN) Xen version 4.16.0 (Ubuntu 4.16.0-1~ubuntu2.1) (ubuntu-devel-discuss@lists.ubuntu.com) (x86_64-linux-gnu-gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0) debug=n Sat Nov 26 22:06:42 UTC 2022
(XEN) Bootloader: GRUB 2.02~beta2-9ubuntu1.17
(XEN) Command line: placeholder
(XEN) Xen image load base address: 0
(XEN) Video information:
(XEN) VGA is text mode 80x25, font 8x16
(XEN) VBE/DDC methods: none; EDID transfer time: 0 seconds
(XEN) EDID info not retrieved because no DDC retrieval method detected
(XEN) Disc information:
(XEN) Found 7 MBR signatures
(XEN) Found 6 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN) [0000000000000000, 000000000008ffff] (usable)
(XEN) [0000000000090000, 0000000000096fff] (reserved)
(XEN) [0000000000097000, 000000000009e7ff] (usable)
(XEN) [000000000009e800, 000000000009ffff] (reserved)
(XEN) [00000000000e0000, 00000000000fffff] (reserved)
(XEN) [0000000000100000, 000000007ddb1fff] (usable)
(XEN) [000000007ddb2000, 000000007ddedfff] (reserved)
(XEN) [000000007ddee000, 000000007df17fff] (ACPI data)
(XEN) [000000007df18000, 000000007e145fff] (ACPI NVS)
(XEN) [000000007e146000, 000000007f32dfff] (reserved)
(XEN) [000000007f32e000, 000000007f7fffff] (ACPI NVS)
(XEN) [0000000080000000, 000000008fffffff] (reserved)
(XEN) [00000000fed1c000, 00000000fed3ffff] (reserved)
(XEN) [00000000ff000000, 00000000ffffffff] (reserved)
(XEN) [0000000100000000, 000000107fffffff] (usable)
(XEN) New Xen image base address: 0x7d600000
(XEN) ACPI: RSDP 000F04A0, 0024 (r2 ALASKA)
(XEN) ACPI: XSDT 7DE39088, 009C (r1 HPQOEM SLIC-MPC 1072009 AMI 10013)
(XEN) ACPI: FACP 7DE45D40, 010C (r5 ALASKA A M I 1072009 AMI 10013)
(XEN) ACPI: DSDT 7DE391B0, CB8B (r2 ALASKA A M I 4 INTL 20051117)
(XEN) ACPI: FACS 7E13DF80, 0040
(XEN) ACPI: APIC 7DE45E50, 01B4 (r3 ALASKA A M I 1072009 AMI 10013)
(XEN) ACPI: FPDT 7DE46008, 0044 (r1 ALASKA A M I 1072009 AMI 10013)
(XEN) ACPI: FIDT 7DE46050, 009C (r1 ALASKA A M I 1072009 AMI 10013)
(XEN) ACPI: MCFG 7DE460F0, 003C (r1 ALASKA OEMMCFG. 1072009 MSFT 97)
(XEN) ACPI: SRAT 7DE46130, 0430 (r1 A M I AMI SRAT 1 AMI. 0)
(XEN) ACPI: SLIT 7DE46560, 0030 (r1 A M I AMI SLIT 0 AMI. 0)
(XEN) ACPI: HPET 7DE46590, 0038 (r1 ALASKA A M I 1072009 AMI. 5)
(XEN) ACPI: SSDT 7DE465C8, D0CB0 (r2 INTEL CpuPm 4000 INTL 20051117)
(XEN) ACPI: EINJ 7DF17278, 0130 (r1 AMI AMI EINJ 0 0)
(XEN) ACPI: ERST 7DF173A8, 0230 (r1 AMIER AMI ERST 0 0)
(XEN) ACPI: HEST 7DF175D8, 00A8 (r1 AMI AMI HEST 0 0)
(XEN) ACPI: BERT 7DF17680, 0030 (r1 AMI AMI BERT 0 0)
(XEN) ACPI: DMAR 7DF176B0, 0110 (r1 A M I OEMDMAR 1 INTL 1)
(XEN) ACPI: SLIC 7DF177C0, 0176 (r1 HPQOEM SLIC-MPC 1 HPQ 1)
(XEN) System RAM: 65501MB (67073316kB)
(XEN) Domain heap initialised DMA width 29 bits
(XEN) ACPI: 32/64X FACS address mismatch in FADT - 7e13df80/0000000000000000, using 32
(XEN) IOAPIC[0]: apic_id 0, version 32, address 0xfec00000, GSI 0-23
(XEN) IOAPIC[1]: apic_id 2, version 32, address 0xfec01000, GSI 24-47
(XEN) IOAPIC[2]: apic_id 3, version 32, address 0xfec40000, GSI 48-71
(XEN) Enabling APIC mode: Phys. Using 3 I/O APICs
(XEN) Switched to APIC driver x2apic_cluster
(XEN) CPU0: 1200 ... 2700 MHz
(XEN) xstate: size: 0x340 and states: 0x7
(XEN) Speculative mitigation facilities:
(XEN) Hardware hints:
(XEN) Hardware features:
(XEN) Compiled-in support: INDIRECT_THUNK SHADOW_PAGING
(XEN) Xen settings: BTI-Thunk RETPOLINE, SPEC_CTRL: No, Other: BRANCH_HARDEN
(XEN) L1TF: believed vulnerable, maxphysaddr L1D 46, CPUID 46, Safe address 300000000000
(XEN) Support for HVM VMs: RSB EAGER_FPU
(XEN) Support for PV VMs: EAGER_FPU
(XEN) XPTI (64-bit PV only): Dom0 enabled, DomU enabled (without PCID)
(XEN) PV L1TF shadowing: Dom0 disabled, DomU enabled
(XEN) Using scheduler: SMP Credit Scheduler rev2 (credit2)
(XEN) Initializing Credit2 scheduler
(XEN) Platform timer is 14.318MHz HPET
(XEN) Detected 2700.004 MHz processor.
(XEN) Intel VT-d iommu 0 supported page sizes: 4kB, 2MB, 1GB
(XEN) Intel VT-d iommu 1 supported page sizes: 4kB, 2MB, 1GB
(XEN) Intel VT-d Snoop Control enabled.
(XEN) Intel VT-d Dom0 DMA Passthrough not enabled.
(XEN) Intel VT-d Queued Invalidation enabled.
(XEN) Intel VT-d Interrupt Remapping enabled.
(XEN) Intel VT-d Posted Interrupt not enabled.
(XEN) Intel VT-d Shared EPT tables enabled.
(XEN) I/O virtualisation enabled
(XEN) - Dom0 mode: Relaxed
(XEN) Interrupt remapping enabled
(XEN) Enabled directed EOI with ioapic_ack_old on!
(XEN) ENABLING IO-APIC IRQs
(XEN) -> Using old ACK method
(XEN) Allocated console ring of 64 KiB.
(XEN) VMX: Supported advanced features:
(XEN) - APIC MMIO access virtualisation
(XEN) - APIC TPR shadow
(XEN) - Extended Page Tables (EPT)
(XEN) - Virtual-Processor Identifiers (VPID)
(XEN) - Virtual NMI
(XEN) - MSR direct-access bitmap
(XEN) - Unrestricted Guest
(XEN) - APIC Register Virtualization
(XEN) - Virtual Interrupt Delivery
(XEN) - Posted Interrupt Processing
(XEN) HVM: ASIDs enabled.
(XEN) VMX: Disabling executable EPT superpages due to CVE-2018-12207
(XEN) HVM: VMX enabled
(XEN) HVM: Hardware Assisted Paging (HAP) detected
(XEN) HVM: HAP page sizes: 4kB, 2MB, 1GB
(XEN) Brought up 24 CPUs
(XEN) Scheduling granularity: cpu, 1 CPU per sched-resource
(XEN) mtrr: your CPUs had inconsistent fixed MTRR settings
(XEN) Dom0 has maximum 1112 PIRQs
(XEN) Xen kernel: 64-bit, lsb
(XEN) Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x4e00000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN) Dom0 alloc.: 0000000070000000->0000000078000000 (16472653 pages to be allocated)
(XEN) Init. ramdisk: 0000001078a87000->000000107ffff9bb
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN) Loaded kernel: ffffffff81000000->ffffffff84e00000
(XEN) Phys-Mach map: 0000008000000000->0000008007e27e30
(XEN) Start info: ffffffff84e00000->ffffffff84e004b8
(XEN) Page tables: ffffffff84e01000->ffffffff84e2c000
(XEN) Boot stack: ffffffff84e2c000->ffffffff84e2d000
(XEN) TOTAL: ffffffff80000000->ffffffff85000000
(XEN) ENTRY ADDRESS: ffffffff834681c0
(XEN) Dom0 has maximum 24 VCPUs
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Scrubbing Free RAM in background
(XEN) Std. Loglevel: Errors and warnings
(XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings)
(XEN) Xen is relinquishing VGA console.
(XEN) *** Serial input to DOM0 (type 'CTRL-a' three times to switch input)
(XEN) Freed 592kB init memory
Само собой без строки «pci = ['08:00.0']» в конфиге - зараза работает.. У кого есть мысли куда копать?
p.s. Кидается в глаза строчка: (XEN) Intel VT-d Dom0 DMA Passthrough not enabled.
но в ubuntu 14.04 (4.4.0-124-generic & xen 4.4.2), эта строка идентичная, и passthrough работает..
Привет.
Захотел сделать «долгоживущую» виртуалку с Windows 10, чтобы пользоваться ей вместо дуалбута для простых задач. Поскольку лицензии и т. п. привязываются ко всевозможным аппаратным идентификаторам, естественным образом возник вопрос о выборе VMM (потому что потом уже не поменяешь). Последние 10 лет я пользовался VirtualBox (как для Linux host/Windows guest, так и наоборот), но не из каких-то содержательных соображений, а скорее по инерции. Оно вроде бы работает удовлетворительно, но не очень — то начинает люто лагать по I/O, то ломается фуллскрин, то ещё что-нибудь, ну и отсутствие нативной поддержки Wayland тоже не даёт покоя моему технофетишизму.
Отсюда вопрос: насколько хорошо QEMU-KVM справляется с Windows 10 при условии эмуляции GPU (без проброса)? Интересует в первую очередь производительность графики/виртуального GPU для десктопных задач, во вторую очередь — всякая интеграция (проброс USB-устройств, изменение разрешения виртуального экрана, copy-paste, шаринг файлов), в третью очередь — гуй (virt-manager? что-то ещё? упаси б-же, GNOME Boxes?).
И есть ли вообще профит по сравнению с VirtualBox?
следующие → |