Sorry just saw this comment. Work your way through the 6.828 course because the presentation of concepts in that course is as fundamental and bite-size as it gets. Then when you get to real operating systems (which are much uglier than xv6), don't be intimidated by the complexity. For any difficult subject, there's always a point along the learning curve where things seem hopeless but if you push through you'll start to gain glimpses of understanding. These glimpses provide motivation which in turn lets you understand more... eventually process of learning becomes self sustaining.