1.
(1) Message passing is useful for exchanging smaller amounts of data,because no conflicts need be avoided.It is also easier to implement than is shared-memory for intercomputer communication.
(2) Message passing is good at controlling synchronously,but it is more complicated than shared-memory when we write codes.Shared-memory is fast when it has cache;However,it needs to synchronize working manually.
2.
(1) System calls provide the interface between a running program and the operating system.Typically written in high-level language(C or C++).May need to be written in low-level assembly language.
(2) The functions that make up API typically invoke the actual system calls on behalf of the application programmer.
3.
Used to modify a copy of the source code of the OS and have it re-compiled. Data declarations, initializations, and constants, along with conditional compilation, produce an output-object version of the operating system that is tailored to the system decribed.
Used to create tables and the selection modules from a precompiled library. The needed modules are linked together to form the generated OS. The selection allows the library to contain the device drivers for all supported I/O devices, but only those needed are linked into the operating system.
Construct a system that is completely table driven. All the code is always part of the system, and selection occurs at execution time. System generation involves simply creating the appropriate tables to describe the system.