What do people mean when they say 'Logical' in terms like Logical separation, Logical partition, Logical grouping etc. in software ? I know what 'Virtual' means, it means something that does not actually exist, a non existent 'thing' mapped to something that actually/physically exists. Does 'Logical' also mean the same ?
There are similarities and there are differences.
Virtual is, as you say, a layer on top of a physical layer. We have virtual data storage, virtual operating systems, etc. These virtual "things" map to real things, real storage, and real computer hardware.
Logical is a way of thinking that removes physical constraints. Back when computer hardware was lots more expensive, lots slower, and limited in size, we designed logical databases that were fully normalized, and then made the changes necessary so that the databases would run on the actual computer hardware available at the time.
Virtual is an imaginary thing that has to use real things, while logical is an imaginary thing that is not limited by real things.
Logical Separation is separating by labelling.
ie. my hard disk is one drive, but I'm calling this bit C and this bit D. And this physically separate drive I'm calling A. Now I have 3 "drives"
my application is all one executable, but I'm calling this bit the business layer and this bit the data layer
Virtual is used in many different contexts, so its hard to pin down a single meaning. But if we pick the same context of disk drives a "Virtual Drive" is one which is emulated in memory.
Virtual pertains to appearance (it isn't necessarily real but it looks that way and can pass as such). It literally means manly worthiness, as in what it is capable of, focusing on quality rather than on physical properties.
Logic pertains to reasoning. To the ability to "talk" about something or in our world, to code. To taking steps that yield a solution. As such it is tied to language and naming things.
I might not explain it well but in my understanding I see virtual and logical to be different even tho it is similar
Anything virtual requires a medium of manifestation and that medium is usually the physical object it tries to emulate and maps to it
Example: If I put a straight stick in a glass of water, then I have created a bent stick that is layered onto of the actual physical stick which is the medium and it also hide the medium out of sight; without the physical straight stick, I cannot manifest the bent stick
Why a logical requires no medium of manifestation and doesn't necessarily has to eumulate a physically existing object
Example: I can draw or imaginary curved figure out of nowhere and call it a bent stick