рдиреЗрдЯрдмреАрдПрд╕рдбреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбреЗрд╡реНрд╣рд▓рдкрд░реНрд╕
NVMM рдордзреНрдпреЗ рдбреНрд░рд╛рдЗрд╡реНрд╣рд░ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдХрд░реНрдирд▓ рд╕реНрддрд░рд╛рд╡рд░ рдЪрд╛рд▓рддреЛ рдЖрдгрд┐ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓рд╛рдпрдЭреЗрд╢рди рдореЗрдХреЕрдирд┐рдЭрдордордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рд╕рдордиреНрд╡рдпрд┐рдд рдХрд░рддреЛ рдЖрдгрд┐ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╕реНрдкреЗрд╕рдордзреНрдпреЗ рдЪрд╛рд▓рдгрд╛рд░рд╛ Libnvmm рд╕реНрдЯреЕрдХ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рддреЛ. рдХрд░реНрдирд▓ рдШрдЯрдХ рдЖрдгрд┐ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЬрд╛рдЧрд╛ рдпрд╛рдВрдЪреНрдпрд╛рддреАрд▓ рдкрд░рд╕реНрдкрд░ рдХреНрд░рд┐рдпрд╛ IOCTL рджреНрд╡рд╛рд░реЗ рдХреЗрд▓реА рдЬрд╛рддреЗ. NVMM рдЪреЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдЬреЗ KVM рд╕рд╛рд░рдЦреНрдпрд╛ рд╣рд╛рдпрдкрд░рд╡рд╛рдЗрдЬрд░реНрд╕рдкрд╛рд╕реВрди рд╡реЗрдЧрд│реЗ рдХрд░рддреЗ
рддрдерд╛рдкрд┐, Libnvmm рдордзреНрдпреЗ рд╕реНрд╡рддрдГ рдЗрдореНрдпреБрд▓реЗрдЯрд░ рдлрдВрдХреНрд╢рдиреНрд╕ рдирд╕рддрд╛рдд, рдкрд░рдВрддреБ рдлрдХреНрдд рдПрдХ API рдкреНрд░рджрд╛рди рдХрд░рддреЗ рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ NVMM рд╕рдорд░реНрдерди рд╡рд┐рджреНрдпрдорд╛рди рдЗрдореНрдпреБрд▓реЗрдЯрд░реНрд╕рдордзреНрдпреЗ рд╕рдорд╛рдХрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, QEMU. API рдордзреНрдпреЗ рд╡рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрдгрд┐ рд▓реЙрдиреНрдЪ рдХрд░рдгреЗ, рдЕрддрд┐рдереА рдкреНрд░рдгрд╛рд▓реАрд▓рд╛ рдореЗрдорд░реА рд╡рд╛рдЯрдк рдХрд░рдгреЗ, рдЖрдгрд┐ VCPUs рд╡рд╛рдЯрдк рдХрд░рдгреЗ рдпрд╛рд╕рд╛рд░рдЦреА рдХрд╛рд░реНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд. рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╕рдВрднрд╛рд╡реНрдп рдЕрдЯреЕрдХ рд╡реЗрдХреНрдЯрд░ рдХрдореА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, libnvmm рдлрдХреНрдд рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рд╡рд┐рдирдВрддреА рдХреЗрд▓реЗрд▓реА рдлрдВрдХреНрд╢рдиреНрд╕ рдкреБрд░рд╡рддреЛ-рдбрд┐рдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕ рд╣рдБрдбрд▓рд░реНрд╕ рдЖрдкреЛрдЖрдк рдХреЙрд▓ рдХреЗрд▓реЗ рдЬрд╛рдд рдирд╛рд╣реАрдд рдЖрдгрд┐ рдЬрд░ рддреЗ рдЯрд╛рд│рддрд╛ рдЖрд▓реЗ рддрд░ рдЕрдЬрд┐рдмрд╛рдд рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрдд рдирд╛рд╣реАрдд. NVMM рдЧреЛрд╖реНрдЯреА рд╕реЛрдкреНрдпрд╛ рдареЗрд╡рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЗ, рдЦреВрдк рдХреНрд▓рд┐рд╖реНрдЯ рди рд╣реЛрддрд╛, рдЖрдгрд┐ рддреБрдореНрд╣рд╛рд▓рд╛ рддреБрдордЪреНрдпрд╛ рдХрд╛рдорд╛рдЪреНрдпрд╛ рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рдкреИрд▓реВрдВрд╡рд░ рдирд┐рдпрдВрддреНрд░рдг рдареЗрд╡рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ.
NVMM рдЪрд╛ рдХрд░реНрдирд▓-рд╕реНрддрд░реАрдп рднрд╛рдЧ NetBSD рдХрд░реНрдирд▓рд╕рд╣ рдЕрдЧрджреА рдШрдЯреНрдЯрдкрдгреЗ рд╕рдорд╛рдХрд▓рд┐рдд рдХреЗрд▓реЗрд▓рд╛ рдЖрд╣реЗ, рдЖрдгрд┐ рдЕрддрд┐рдереА OS рдЖрдгрд┐ рд╣реЛрд╕реНрдЯ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рддреАрд▓ рд╕рдВрджрд░реНрдн рд╕реНрд╡рд┐рдЪреЗрд╕рдЪреА рд╕рдВрдЦреНрдпрд╛ рдХрдореА рдХрд░реВрди рд╕реБрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рдирд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЛ. рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рдЬрд╛рдЧреЗрдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ, libnvmm рд╕рд╛рдорд╛рдиреНрдп I/O рдСрдкрд░реЗрд╢рдиреНрд╕ рдПрдХрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЗ рдЖрдгрд┐ рдЕрдирд╛рд╡рд╢реНрдпрдХрдкрдгреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд░рдгреЗ рдЯрд╛рд│рддреЗ. рдореЗрдорд░реА рд╡рд╛рдЯрдк рдкреНрд░рдгрд╛рд▓реА pmap рдЙрдкрдкреНрд░рдгрд╛рд▓реАрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ, рдЬреА рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд┐рд╕реНрдЯреАрдордордзреАрд▓ рдореЗрдорд░реА рдХрдореА рдЭрд╛рд▓реНрдпрд╛рд╕ рдЕрддрд┐рдереА рдореЗрдорд░реА рдкреГрд╖реНрдареЗ рд╕реНрд╡реЕрдк рд╡рд┐рднрд╛рдЬрдирд╛рдордзреНрдпреЗ рдмрд╛рд╣реЗрд░ рдХрд╛рдврдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. NVMM рдЬрд╛рдЧрддрд┐рдХ рд▓реЙрдХ рдЖрдгрд┐ рд╕реНрдХреЗрд▓рдкрд╛рд╕реВрди рдореБрдХреНрдд рдЖрд╣реЗ, рдЬреНрдпрд╛рдореБрд│реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдЕрддрд┐рдереА рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХрд╛рдЪ рд╡реЗрд│реА рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ CPU рдХреЛрд░рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рддрд╛ рдпреЗрддреЛ.
рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рд╡рд░реНрдЪреНрдпреБрдЕрд▓рд╛рдпрдЭреЗрд╢рди рдпрдВрддреНрд░рдгрд╛ рд╕рдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА NVMM рд╡рд╛рдкрд░рдгрд╛рд░реЗ QEMU-рдЖрдзрд╛рд░рд┐рдд рд╕рдорд╛рдзрд╛рди рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ. QEMU рдЪреНрдпрд╛ рдореБрдЦреНрдп рд╕рдВрд░рдЪрдиреЗрдд рддрдпрд╛рд░ рдкреЕрдЪреЗрд╕ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪреЗ рдХрд╛рдо рд╕реБрд░реВ рдЖрд╣реЗ. QEMU+NVMM рд╕рдВрдпреЛрдЬрди рдЖрдзреАрдЪ рдЖрд╣реЗ
рд╕реНрддреНрд░реЛрдд: opennet.ru