[BitVisor-devel-en:108] Re: Other OS's?
Hideki EIRAKU
hdk at igel.co.jp
Fri Jun 7 12:05:01 JST 2024
Hello,
> You mention that the data is stored as raw sectors and I wonder how
> the performance is in this approach when compared to Sqlite running
> under and OS just as a thought that I will keep in mind. Also, as I
> am investigating how bitvisor can read/write to/from drives as well,
> this made me wonder if there is a potential problem when bitvisor is
> writing to a disk drive and at the same time the Guest OS tries to
> read/write to/from the same drive. This seems like it would present a
> problem unless even the guest read/writes are managed by bitvisor as
> well which seems to be the case in that the native bitvisor can be set
> up to encrypt data read/write to the drive. I still need to work
> through this as well. Is there any documented steps on how to set this
> up and test in QEMU which I have been able to use successfully so far?
I guess performance is not good because basically the hypervisor can
issue commands to a storage while the guest operating system is not
accessing the sotrage. In addition, currently the storage access in
the hypervisor does not take care about performance like reducing seek
time or number of commands (elevator algorithm, cache, etc.). The
guest operating system like Linux and Windows uses such technology to
maximize performance.
The following Japanese posts describe about how to use the SQLite
feature in BitVisor:
https://qiita.com/mmi/items/613bef0fdc6f41d3cb6b
https://qiita.com/hdk_2/items/ea981dc1da10499fe941
--
Hideki EIRAKU <hdk at igel.co.jp>
From: Lonnie Cumberland <lonnie at outstep.com>
Subject: Re: Other OS's?
Date: Tue, 4 Jun 2024 10:11:05 -0400
> Hello
>> macOS works on BitVisor on Intel Mac. Turning off Secure Boot using
>> Startup Security Utility on recovery environment is needed before
>> starting BitVisor. Enabling DMAR pass-through might be needed to use
>> some devices on macOS.
>
> Thanks for the clarification on this.
>
>> SQLite code can be used in processes in process/sqlite/ directory.
>> Example implementation is process/sqlite/sqliteexample.c which can be
>> launched from dbgsh. The database can be stored to volatile memory or
>> non-volatile storage (a hard disk drive or a solid state drive
>> connected to ATA/AHCI or NVMe). However currently no file system is
>> supported. The database will be stored to raw sectors. In addition,
>> the storage access only works while the ATA/AHCI/NVMe controllers are
>> in active state (i.e. the guest operating system driver needs to be
>> working).
>>
>
> I will investigate it more since I need a database that bitvisor can
> store information which may/may not be accessible by the guest OS.
>
> You mention that the data is stored as raw sectors and I wonder how
> the performance is in this approach when compared to Sqlite running
> under and OS just as a thought that I will keep in mind. Also, as I
> am investigating how bitvisor can read/write to/from drives as well,
> this made me wonder if there is a potential problem when bitvisor is
> writing to a disk drive and at the same time the Guest OS tries to
> read/write to/from the same drive. This seems like it would present a
> problem unless even the guest read/writes are managed by bitvisor as
> well which seems to be the case in that the native bitvisor can be set
> up to encrypt data read/write to the drive. I still need to work
> through this as well. Is there any documented steps on how to set this
> up and test in QEMU which I have been able to use successfully so far?
>
> Thanks again
More information about the BitVisor-devel-en
mailing list