Understanding Process Scheduling in Operating Systems