Efficient radio resource allocation is essential to provide quality of service (QoS) for wireless networks. In this article, a cross-layer resource allocation scheme is presented with the objective of maximizing system throughput, while providing guaranteed QoS for users. With the assumption of a finite queue for arrival packets, the proposed scheme dynamically a/locates radio resources based on user's channel characteristic and QoS metrics derived from a queuing model, which considers a packet arrival process modeled by discrete Markov modulated Poisson process (dMMPP), and a multirate transmission scheme achieved through adaptive modulation. The cross-layer resource allocation scheme operates over two steps. Specifically, the amount of bandwidth allocated to each user is first derived from a queuing analytical model, and then the algorithm finds the best subcarrier assignment for users. Simulation results show that the proposed scheme maximizes the system throughput while guaranteeing QoS for users.