As it is known that whenever an Android app runs the system creates a process for it to run. In that process we have the DVM that executes the .dex file.
My question is in the process where does the DVM runs is it executed in the main/ui thread, or is it that the process itself executes the whole DVM?
To use your phrasing, "the process itself executes the whole DVM".
The virtual machine is not limited to a single thread, let alone to a specific thread like the main application thread.