Efficient Heuristic algorithms for some deterministic scheduling problems with particular reference to the jobscheduling functions of an operating system