Classic papers on scheduling and concurrency. Dijkstra (Solution to a problem in concurrent programming control, 1965), Liedtke (Improving IPC by Kernel Design, 1993), etc.