Virtual machines have been around for quite some time now. The first commercially offered VM system was from IBM with their System/360 but it was based on idea from MIT that were funded by DARPA. My patent search skills are not that great but even if this was patented then, in the early 1960's, those patents have long since expired. So the basic idea of a virtual machine is now unencumbered.
That being said, VMs are an area of ongoing research and development today and many aspects of VM operation have been patented. If you are going to develop a new and improved VM system you will want to do your own research to ensure that the parts of your system that you believe are unique have not already been patented by someone else. If your ideas are novel you may want to consider patenting them.
So, is the general software concept of creating, managing, and running
virtual machines legally-protected?
They are protected the same as any other invention. Through patents and/or trade secrets. There are any number of companies today that hold various patents on various aspects of VM systems.
How come there are a lot of virtual machine software out there that
basically do the same thing but are not in legal trouble?
The same way as any other invention. They either license the patented technologies or they find a non-infringing alternative and probably patent that themselves. In many cases the leading companies in theses area may have cross-licensing agreements.
Also, how can I know if the feature I am planning to include will not
lead me to legal trouble?
You do your homework and determine if your ideas are already covered by someone else's patents. Or you simply proceed and wait to hear from someone that thinks you are infringing.
Their EULA says that I cannot create derivative works.
The EULA is still in effect regardless of whether the software is currently installed or not. (In my opinion at least.) So its terms bind you regardless. But what is a "derivative work"? Just because it's something that works similarly to another application doesn't make it a "derivative". Usually the EULA will define what they mean by derivative work and it almost always involves using the source code to create your own version or flavor of the original application.
You'll want to be sure you are creating an original application and not a derivative of someone else's application.