deadlock avoidance in operating system