1-1.Message passing is useful for exchanging smaller amounts of data,because conflicts need be avoided. It is also easier to implement than is shared memory for inter computer communication.
Memory is scalable with the number of processors. Increase the number of processors and the size of memory increases proportionately.
Each processor can rapidly access its own memory without interference and without the overhead incurred with trying to maintain global cache coherency.
Cost effectiveness: can use commodity, off-the-shelf processors and networking.
The programmer is responsible for many of the details associated with data communication between processors.
It may be difficult to map existing data structures, based on global memory, to this memory organization.
Non-uniform memory access times - data residing on a remote node takes longer to access than node local data.
Fast bidirectional communicating among any number of process
Needs concurrency control (lead to data inconsistencies like “Lost update”)
Lack of data protection from Operating System
2-1. Providing the interface to communicate with the operating system kernal is called system call. Without system call, communication between operating system and hardware is not possible. Accessing the files and process communication is possible through system calls. Library functions provide system call functionalities.
3-1. Hardware configuration references the details and system resource settings allotted for a specific device. Many computer specialists improve hardware performance by adjusting configurations, which may also include settings for the motherboard and the BIOS, as well as the bus speeds.
With newer technology, most computers have plug-and-play (PnP) allowing the OS to detect and configure external and internal peripherals, as well as most adaptors. PnP has the ability to locate and configure hardware components without needing to reset jumpers and dual in-line package (DIP) switches.