Learning Operating Systems and Guidance for UnderGrad Student

I am pursuing OS course this semester. The thing is I am struggling with understanding and getting it both theoretically and practical components. It took me lot efforts to pass the Architecture and System Design course. But this OS course is much tougher. Please guide me how should I learn and approach this subject. Easy to grasp lectures, books or some helping materials. Any advice works too.