Running valgrind in virtual machine - valgrind

How much valid are the valgrind logs showing invalid accesses and data races,when running it in virtual machine and not in a native linux system. The reason being,in a virtual machine,everything is virtual.

Unless you are writing some kernel specific stuff I would say that they are all valid. Maybe just your virtual machine has different timings than real machine?

Related

How to install virtual machine?

I am working on a project on distributed systems using MPI (Message Passing Interface). I need multiple systems for the simulation but I have only one system. How can I install a virtual machine on my system which will serve the purpose?
Operating System: Ubuntu 15.04
I don't know much about the multiple machines but you could use the VMWar or virtual Box , or else there is a functionality that allows two systems on single machine
You can use Virtual box to run multiple OS at a time.
Please refer my blog for more info:
http://trainenv.blogspot.in/2016/03/creating-virtual-machine-in-virtual-box.html

Difference between virtual machine process and host os process?

Suppose in my pc I have Ubuntu as Host OS. Now I installed a Virtual Machine say VirtualBox (hypervisor) and then deployed a centos and a redhat os inside that as guest OS.
Suppose CentOS and redhat has 2 processes running and Ubuntu is running 3 processes. So following are my questions:
There are how many processes that Ubuntu is having?
Is there any difference between GuestOS and HostOS processes?
If all guestos runs as a process then they will get less time as compared to other process running on host os.
Please clear my doubts here.
Thank you.
Well let me clear your doubts,
First of all there aren't any specific number of process for an OS, its called as cores or threads, technically you can define how many cores or threads you want to use on your virtual machine and it depends on the system configuration you use.
Secondly Guest OS is what you have created in the virtual machine and host is what your laptop or pc actually run. Host OS uses the actual hardware for the working whereas the Guest OS uses the virtual hardware like number of cores and type and size of hard drive defined by the user while adding a virtual machine.
Third, as I mentioned earlier Guest and Host OS works on the configurations used by you, if you user higher amount of cores/ threads in setting your virtual machine the Guest OS will get higher speed.
Ideally the virtual machines are used to test and create some functionality of the Operating Systems without affecting the internal OS, so you can think of it as a your parents house where you can live and grow but at the end you cannot go away from the fact that their contribution is more and so you cannot go beyond their features without leaving it and making your own home.
Linux operating systems are multi-threaded operating system. The host OS would consider virtual box as a thread. You can define number of cores and virtual hard disk size for guest OS by using virtual box.
Since virtual box runs in separate thread and other operations of host OS runs in separate threads, there would be less effect on speed of processing. But I've observed big variances in processing speed in systems which have low memory. Each and every thread needs specific allocation of memory for its smooth operation. So systems having more than 2 GB RAM managed virtual box very well.

how to test Memory isolation between kvm virtual machine in the ovirt

In the ovirt, there is more than one virtual machine on the one node, than what method we use to detect between virtual machines are isolated from each other?
verifying isolation between virtual machines is really a tedious task. I give suggestions to start your work.
1) write inline assembly to be run from one virtual machine in order to access the files or some secrets.also try to kill process in one Vm from other VM.
2) study side channel attacks for vsphere and try to launch them in your setup
3) try to find footprints of process running in VM outside of that VM. read http://www.cs.utexas.edu/~shmat/shmat_oak12memento.pdf for some techniques

SystemC running inside a virtual machine, timing issues or corrupt results?

Is it ok to run a SystemC based simulation on a guest OS inside a virtual machine? Can simulation time be affected by this? I know that SystemC time is simulated and not actually tied to hardware timers.
And will running dozens of instances of SystemC simulations in the virtual machine configured with 4 cores (physical machine has 8) affect the results?
There are no problems running SystemC on a virtual machine. I do it regularly with VirtualBox. I run SystemC on Linux and Windows virtual machines, both 32-bit and 64-bit.
Unless there is a bug in the virtual machine software, a software application should behave identically when run on a physical or virtual machine.
Running multiple SystemC simulations concurrently on a virtual machine is also fine. The limit to how many simulations you can run concurrently, will be based on how much RAM you have available.

Difference between "process virtual machine" with "system virtual machine"

What's the difference between process virtual machine with system virtual machine?
My guess is that process VM is not providing a kind of an operating system for the whole application for that OS, rather providing an environment for some specific application.
And system VM is providing an environment for an OS to be installed just like VirtualBox.
Am I getting it correct?
Another question is the difference between the two different implementation of system VM: hosted vs. stand-alone.
I'm a beginner studying OS, so easy and understandable answer would be greatly appreciated :)
A Process virtual machine, sometimes called an application virtual machine, runs as a normal application inside a host OS and supports a single process. It is created when that process is started and destroyed when it exits. Its purpose is to provide a platform-independent programming environment that abstracts away details of the underlying hardware or operating system, and allows a program to execute in the same way on any platform.
A System virtual machine provides a complete system platform which supports the execution of a complete operating system (OS),Just like you said VirtualBox is one example.
A Host virtual machine is the server component of a virtual machine , which provides computing resources in the underlying hardware to support guest virtual machine (guest VM).
The following is from http://airccse.org/journal/jcsit/5113ijcsit11.pdf :
System Virtual Machines
A System Virtual Machine gives a complete virtual hardware platform with support for execution
of a complete operating system (OS).
The advantage of using System VM are:
Multiple Operating System environments can run in parallel on the same piece of
hardware in strong isolation from each other.
The VM can provide an instruction set architecture (ISA) that is slightly different from
that of the real machine
The main draw backs are:
Since the VM indirectly accesses the same hardware the efficiency is compromised.
Multiply VMs running in parallel on the same physical machine may result in varied
performance depending on the workload imposed on the system. Implementing proper
isolation techniques may address this drawback.