There are two verbs run.
The first one is intransitive, and takes an agent subject.
- Bill ran in the marathon last week.
- Mary runs home every day for lunch.
That's the intransitive verb run that shows up in construction #1
(with the addendum that computers are considered agents, and what they do is run.)
How long has your computer been running?
which comes from
Your computer has been running for indefinite time
.
via Wh-question formation,
using the perfect (has) and progressive (been) auxiliaries
Type 2 run is transitive -- because it's a causative -- and means 'cause to run'
type 1 run -- machine agents allowed -- in the downstairs clause,
and the causer and the runner are not the same agent.
- He has run that horse every week.
- He has run that chainsaw for an hour.
(nb: He has would be pronounced He's in normal speech)
Like most transitive verbs, causatives can usually be passivized.
- That horse has been run every week.
- That chainsaw has been run for an hour.
By now you see where I'm going. Construction 2 has a type 2 run.
How long has your computer been run?
comes from
Indef
has caused your computer to run for indefinite time
via Passive and Wh-question formation,
using the perfect (has) and passive (been) auxiliaries.
Takeaway: The difference between progressive be and passive be is that
- Progressive be (am, is, are, was, were, be, been, being) comes before passive be,
and it must be followed by a present participle (e.g, running)
- Passive be comes after progressive be,
and it must be followed by a past participle (e.g, run)
So they're both good and mean the same thing.
Just a passive causative, that's all.