> If multiple processes can be unblocked at any time, they are unblocked (added to the READY queue) in the same order that they requested their action.
Does this mean that whichever process was blocked first, is the one that is unblocked first? (if they can be unblocked at the same time). This sounds reasonable, but it adds a great level of complexity to the project. As we have multiple blocked queues, we would need to check every single blocked queue and not unblock anything until we confirm that no other processes can be unblocked. If there are other processes, we would need to compare when they were first put into the blocked queue. Adding such complexity for just a small edge case sounds unwarranted.
I was wondering if instead of this, we could just unblock in the same order as what happens when the CPU is idle. I have developed a solution already, and would need to make major changes if the clarifications were to be followed.