We study opportunistic scheduling algorithms in a wireless network with a central base station communicating with multiple users on a single shared channel using time division multiple access. We assume the coexistence of both rate guaranteed (RG) users and best effort (BE) users in the system. A RG user asks for a specific transmission rate and the system should provision the exact amount being asked. In this paper, we present an optimal opportunistic scheduler that maximizes the system throughput. An analytical model is constructed to evaluate its performance in a homogenous system. Closed form solutions for channel access delay, worst case delay and system throughput are derived. Extensive simulations in both homogeneous and heterogeneous systems are conducted to verify the effectiveness of our scheduler.