Explain the Architecting For Processes
Processes are very important to the server application developer, as they may be used to increase responsiveness, deduction time, and turnaround time for user requests. Since server applications typically perform work on behalf of a remote user or application program, these logical units of work are very well suited to the process model concept. It is the main job of the developer to maximize the effective response time from the client, and this can best be achieved by utilizing processes. Because there are many ways to properly implement processes, developers must make the appropriate architectural decision in designing application for process. For instance an application programmed might start many processes, each handling a specific chore.
In such a scenario, work would be distributed among concurrently running process and optimize their ability to efficiently service their clients. While processes execute independently many ties may exist between processes in the system. At run time, the execution of child processes in independent of their parent process, yet the child is tied to the parent process shared resources. These shared resources can be used by either process equally (assuming proper access rights), and may be used for example. , to share common information, communicate instructions, or synchronize execution. Each separate process must communicate via. Some form of interposes communication (IPC). Each operating system has many methods ( both general and unique) for this IPC communication.
These issues will be explored in depth in chapter 8. Our examples are in use pseudocode for IPC- related programming code fragments. The decision about which sections of code need to be separate processes is strictly an application design issue. Developers must make important design decisions when architecting for multiple process use because it is important to maximize efficiency without overloading or burdening the overall system.