Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Operating System II Assignment 3 Dick Lei D-A0-1658-9 25/09/2002 Chapter 1 P.54 Problems 1) What is the role of middleware in a distributed system? Middleware as an additional layer is used in network operating systems to more or less hide the heterogeneity of the collection of underlying platforms but also to improve distribution transparency 4) Why is it not always a good idea to aim at implementing the highest degree of transparency possible? Although distribution transparency is generally preferable for any distribute system, there are situations in which attempting to blindly hide all distribution aspects from users is not an always a good idea. Such as many Internet applications repeatedly try to contact a server before finally giving up. Consequently, attempting to mask a transient server failure before trying another one may slow down the system as a whole. 5) What is an open distributed system and what benefits does openness provide? An open distributed system is a system that offers services according to standard rules that describe the syntax and semantics of those services. The benefits does openness provide as follow: Portability: characterizes to what extent an application developed for a distributed system A can be executed, without modification, on a different distributed system that implements the same interface as A. Flexible: easy to configure the system out of different components possibly from different developers Extensible: easy to add new components or replace existing ones without affecting those components that stay in place 7) Scalability can be achieved by applying different techniques. What are these techniques? These techniques are: 1) Hiding communication latencies, 2) To reduce the overall communication, 3) Split a component into smaller part, and spreading those parts across the system, 4) Replication: increases availability, and helps to balance the load between components leading to better performance 9) A multi-computer with 256-CPUs is organized as a 16X16 grid. What is the worst-case delay (in hops) that a message might have to take? In the 16X16 grid case, the worst-case delay is 15+15 =30 in hops that a message might have to take. The longest path in 16X16 grid is the diagonal of the upper right corner to lower left corner or upper left corner to lower right corner. 12) Explain how micro kernels can be used to organize an operating system in a client-server fashion. Since the micro kernel containing only the code that must execute in kernel mode, which like for setting device registers, switching the CPU between processes, manipulating the MMU, and capturing hardware interrupts. Then we can include a file server in program language (e.g. Java or C language). Both the client and the server need to share some definitions, for example, using the “ #include <header.h> statement, which has the effect of causing a preprocessor to literally insert the entire contents of header.h into the source program just before the complier starts compiling the program. 13) Explain the principal operation of a page-base distributed shared memory system. The principal of page-based distributed shared memory is as follows. In a DSM (distributed shared memory) system, the address space is divided up into pages, with the pages being spread over all the processors in the system. When a processor references an address that is not present locally, a trap occurs, and the operating system fetches the page containing the address and restarts the faulting instruction, which now completes success fully. 18) What is the difference between a vertical distribution and a horizontal distribution? The characteristic feature of vertical distribution is that it is achieved by placing logically different components on different machines. The term is related to the concept of vertical fragmentation as used in distributed relational databases, where it means that tables are split column-wise, and subsequently distributed across multiple machines. In horizontal distribution, a client or server may be physically split up into logically equivalent parts, but each part is operating on its own share of the complete data set, thus balancing the load.