which of the following solutions needs hardware support for the critical section problem?
a. memory barriers
b. compare_and_swap instruction
c. atomic variables
d. all of the above