private void requestResource(ProcessControlBlock pcb) {
		int mutex = pcb.getMutex();
		if (sharedMemory.isEmpty(mutex)) {
			// resource not available
			blockPCB(pcb);
		} else {
			// resource available
			pcb.setState(ProcessState.RUNNING);
			sharedMemory.pop(pcb.getMutex());
			pcbList.getprodPCBbyMutex(mutex).setState(ProcessState.RUNNABLE);
			//System.out.println("Value taken from memory location " + mutex);
		}
	}