how long does it take for an mining machine to exhaust 2^32 in minutes and what is the actual speed of mining machines? Mining is usually about taking the double sha. 
most if not all mining machines such as bitminer's machines usually give some indications for example 1TH/sec per second. Do they count the double sha as one hash operation or does it mean that they count the double sha as two operations.

Wait, even more interestingly, 1 TH/sec means literally 1 terahash per second. Meaning that we can do 1 trillion operations per second ! 
Does that not mean that I could exhaust a given nonce in less than a second ?! given that we are dealing with only ~4 billion values ? 
Assuming that within the ~4 billion values there is one that validates the block, we find a solution in less than a second ! 
So it aint making sense to me that it takes so long and is so difficult to be a successful solo miner.
According to the Bitcoin wiki, it refers to:


  Hash per second is an SI derived unit representing the number of double SHA-256 computations performed in one second, referred to as hash rate. It is usually symbolized as h/s (with an appropriate SI prefix).


You are correct in noting that the nonce space is quickly exhausted with modern miners.

This is solved by updating the so-called "extraNonce" in the coinbase transaction. This has the effect of changing the hash of the coinbase transaction, which in turn changes the merkle root included in the block header. This essentially provides an additional 32 bytes of nonce space, since the coinbase tx can be modified as many times as required.

Additionally, but not nearly as relevant with today's hashrate, the timestamp field of the block updates every second and allows for all nonces to be recalculated with the new timestamp as well.