• Scheduling: Any processor may perform scheduling, so conflicts must be
avoided.The scheduler must assign ready processes to available processors.
• Synchronization: With multiple active processes having potential access to
shared address spaces or shared I/O resources, care must be taken to provide
effective synchronization. Synchronization is a facility that enforces mutual
exclusion and event ordering.
• Memory management: Memory management on a multiprocessor must deal
with all of the issues found on uniprocessor machines, as is discussed in
Chapter 8. In addition, the operating system needs to exploit the available
hardware parallelism, such as multiported memories, to achieve the best performance.
The paging mechanisms on different processors must be coordinated
to enforce consistency when several processors share a page or segment
and to decide on page replacement.
• Reliability and fault tolerance: The operating system should provide graceful
degradation in the face of processor failure.The scheduler and other portions
of the operating system must recognize the loss of a processor and restructure
management tables accordingly