Multiprocessor OS requirements
Must provide functionality of a multiprogramming OS plus additional features to support multiple processors
Simultaneous concurrent processes or threads: kernel routines need to be reentrant
Scheduling done by any processor, can create conflicts.
Synchronization through locks is required.
Memory management needs to be coordinated in the different processors
Much more complex than just multiprogramming OS.