In Linux there are blocking and non-blocking system calls. The write
is an example of blocking system call, which means the execution thread will be blocked until the write
completes. So once the user process called write
, it can not execute anything else until the system call is complete. So from user thread perspective it will behave like atomic [although at kernel level lot many things can happen and kernel execution of system call can be interrupted many times].