СИСТЕМА И СПОСОБ ВИРТУАЛИЗАЦИИ ЗАПОМИНАЮЩЕГО УСТРОЙСТВА

1. Система виртуализации MTD, связанная с аппаратно компьютерной платформой с поддержкой MTD и работающая под управлением VMM, на которой установлена VM, содержащая серверную часть виртуального MTD драйвера и физический MTD драйвер, связанный с MTD, и отличающаяся тем, что система виртуализации MTD дополнительно содержит, по меньшей мере, одну VM содержащую клиентскую часть виртуального MTD драйвера, причем клиентская и серверная части виртуального MTD драйвера связаны между собой через совместную память виртуальных машин, серверная часть виртуального MTD драйвера связана с физическим MTD драйвером, а клиентская VM содержит файловую систему и выполнена с возможностью получения, информации о физических разделах MTD от серверной части виртуального MTD драйвера и последующей регистрации в файловой системе виртуальных разделов, обращения к которым со стороны файловой системы, порождают цепочку передачи запросов в серверную часть виртуального MTD драйвера, включающую занесение клиентской частью виртуального MTD драйвера данных в совместную память, посылки уведомления в виде виртуального прерывания серверной части виртуального MTD драйвера, ожидания ответа от серверной части виртуального MTD драйвера и последующей пересылки результата файловой системе, а серверная часть виртуального MTD драйвера, посредством предоставляемых VMM механизма совместной памяти и виртуальных прерываний, выполнена с возможностью приема информации, содержащейся в запросе, из совместной памяти, передачи данной информации физическому MTD драйверу, занесения полученного от физического MTD драйвера результата в совместную память, посылки уведомления клиентской части виртуального MTD драйвера с последующим переходом в режим ожидания нового запроса от клиентской части виртуального MTD драйвера.
2. Система по п.1, отличающаяся тем, что клиентская часть виртуального MTD драйвера выполнена с возможностью получения информации о физических разделах MTD от серверной части виртуального MTD драйвера посредством предоставляемых монитором виртуальной машины механизма совместной памяти и виртуальных прерываний.
3. Способ виртуализации MTD, в котором в клиентскую часть виртуального MTD драйвера подают информацию о физических разделах MTD от серверной части виртуального MTD драйвера через совместную память, отличающийся тем, что с помощью клиентской части виртуального MTD драйвера в соответствии с полученной информацией регистрируют виртуальный раздел в файловой системе клиентской VM, в результате на обеих сторонах появляются одинаковые разделы, однако, новый раздел появляется только со стороны CVM, поскольку CVM содержит данный раздел по определению, которые имеют разные номера и названия в пределах каждой VM и рассматриваются как полностью независимые устройства, несмотря на то, что это одно и то же устройство на аппаратном уровне; файловая система вызывает соответствующий метод клиентской части виртуального MTD драйвера при возникновении нового запроса; с помощью клиентской части виртуального MTD драйвера заносят управляющую информацию и данные в совместную память; через клиентскую часть виртуального MTD драйвера уведомляют серверную часть виртуального MTD драйвера о приходе очередного запроса; клиентская часть виртуального MTD драйвера начинает ожидать ответ от серверной части виртуального MTD драйвера, и новый запрос не начинают обрабатывать до тех пор, пока полностью не выполнят текущий запрос; серверную часть виртуального MTD драйвера выводят из режима ожидания по приходу уведомления в виде виртуального прерывания от клиентской части виртуального MTD драйвера; с помощью серверной части виртуального MTD драйвера собирают управляющую информацию из совместной памяти и на основе анализа этой информации вызывают соответствующий метод исходного MTD драйвера, передавая ему адрес I/O буфера в совместной памяти в качестве параметра; с помощью исходного MTD драйвера выполняют заданную операцию, обращаясь непосредственно к MTD; с помощью серверной части виртуального MTD драйвера заносят результат выполненной операции в I/O буфер в совместной памяти; через серверную часть виртуального MTD драйвера посылают уведомление назад клиентской части виртуального MTD драйвера для информирования о завершении операции и готовности данных; серверная часть виртуального MTD драйвера переводят в режим ожидания запросов; клиентскую часть виртуального MTD драйвера выводят из режима ожидания по приходу уведомления в виде виртуального прерывания от серверной части виртуального MTD драйвера; с помощью клиентской части виртуального MTD драйвера копируют данные из совместной памяти во внутреннюю память файловой системы и передают управление последней; клиентскую часть виртуального MTD драйвера вводят в режим ожидания нового запроса от файловой системы.