Two-level implementation separates the mechanism (how something is done) from policy (what is done). The lower level implements flexible primitive operations that don't embody specific policies, while the upper level makes policy decisions using those mechanisms. This design allows policies to change without rewriting low-level code - you can modify scheduling policy, for example, without touching the context-switch mechanism.