This paper presents the feedback linearization control of HIV infection. A multi-input multi-output (MIMO) dynamic nonlinear HIV infection model for this purpose has been used. For this purpose, three widely used drugs are considered. A Luenberger-like nonlinear observer (LNO) is designed for estimation of unavailable states. To minimize the side effects of drugs, the concentration of ZDV which has the highest side effect is fixed to a minimum value and the external controllers parameters are obtained by maximizing an objective function. In the control design, limitations on drug consumption and unavailability of all states are taken into account. The closed-loop stability has been established in the presence of the observer dynamics and input limitations. Robustness of the proposed treatment strategy against model parameter uncertainties, noise, or sparse measurements has been demonstrated through simulation study. Finally, by including pharmacological models, an impulsive control strategy for HIV treatment has been considered.