1. A computing system, comprising: a memory; and a computer processor communicatively coupled to the memory and configured to: initialize a hypervisor; establish a first virtual machine under the control of the hypervisor; load an antivirus software program from a non-volatile storage; execute the antivirus software program on the first virtual machine; establish a second virtual machine under the control of the hypervisor; load and execute a computer operating system on the second virtual machine; and grant the antivirus software program access to a portion of the memory allocated to the second virtual machine running the operating system, wherein the antivirus software program uses the access to the portion of the memory allocated to the second virtual machine to monitor state of the second virtual machine and take a corrective action.