1) Differentiate state full and stateless server Answer: State full file servers: A state full server maintains client's state information from one remote procedure call to the next. These clients state information is subsequently used at the time of executing the second call. Stateless file server: A stateless file server does not maintain any client state information. The difference between state full and stateless server are: The key difference between state full and stateless applications is that stateless applications don’t “store’’ data whereas state full applications require backing storage. State full: A state full server remember client data (state) from one request to the next. state full server is harder to code. The client can send less data with each request. Stateless: A stateless server does not remember state information. Stateless server is straightforward to code. The client must specify complete file names in each request. 2) What is an operating system? Answer: An operating system (OS) is system software that manages common services for computer programs. Operating system is a system software that manages computer hardware, software resources and provides common services for computer programs. An OS is the most important software that runs on a computer. It is an interface between a computer user and computer hardware. It is a software that communicate with the hardware and allows other programs to run It is comprised of system software, or the fundamental files your computer needs to boot up and function. Every desktop computer, tablet, and smartphone includes an operating system that provides basic functionality for the device. Common desktop operating systems include windows, OS X and Linux. 3) What is RPC? Answer: Remote procedure call(RPC) is a protocol that one program can use to request a service from a program located in another computer on a network without having to understand the network's details. A procedure call is also sometimes known as a function call or a subroutine call. RPC uses the client-server model. The requesting program is a client, and the service-providing program is the server. Like a regular or local procedure call, an RPC is a synchronous operating requiring the requesting program to be suspended until the results of the remote procedure are returned. When program statements that use the RPC framework are compiled into an executable program, a stub is included in the compiled code that acts as the representative of the remote procedure code.
4) What is distributed system?
Answer: A distributed system is defined as one in which components at networked computers communicate and coordinate their actions only by passing messages. A distributed system is connection of independent computers which are connected through network. A distributed system, also known as distributed computing, is a system with multiple components located on different machines that communicate and coordinate actions in order to appear as a single coherent system to the end-user. Although distributed systems can sometimes be obscure, they usually have three primary characteristics: all components run concurrently, there is no global clock, and all components fail independently of each other. 5) Explain the difference between network and distributed operating systems? Answer: Network operating system: A network operating system is made up of software and associated protocols that allow a set of computer network to be used together. Environment users are aware of multiplicity of machines. Control over file placement is done manually by the user. No implicit sharing of loads. Performance is badly affected if certain part of the hardware starts malfunctioning. Remote resources are accessed by either logging into the desired remote machine or transferring data from the remote machine to user's own machines. Distributed operating system: A distributed operating system is an ordinary centralized operating system but runs on multiple independent CPUs. Environment users are not aware of multiplicity of machines. It can be done automatically by the system itself. Sharing of loads between nodes (load balancing) . It is more reliable or fault tolerant i.e distributed operating system performations even if certain part of the hardware starts malfunctioning. Users access remote resources in the same manner as they access local resources. 6) What is synchronization? Explain in detial. Answer: The central issue in the communication structure is the synchronization. Communication between two processes takes place through calls to send() and receive() primitives. In computer science, synchronization refers to one of two distinct but related concepts: synchronization of processes, and synchronization of data. Process synchronization refers to the idea that multiple processes are to join up or handshake at a certain point, in order to reach an agreement or commit to a certain sequence of action. Data synchronization refers to the idea of keeping multiple copies of a dataset in coherence with one another, or to maintain data integrity. Process synchronization primitives are commonly used to implement data synchronization. Synchronization, in the context of .NET, is a process that involves coordinating the execution of multiple threads to ensure a desired outcome without corrupting the shared data and preventing any occurrence of deadlocks and race conditions.
7) Explain what middleware is and its role.
Answer: Middleware(MW) is a software that manages and supports the different components of a distributed system. In essence, it sits in the middle of the system. It enables multiple systems to communicate with each other across different platforms. Examples: - Transaction processing monitors. - Data converters. - Communication controllers. Role of Middleware(MW): ~ In some early systems: middleware tried to provide the illusion that a collection of separate machines was a single computer. ~ Today: Clustering software allows independent computers to work together closely. Middleware also supports seamless access to remote services, doesn't try to look like a general-purpose OS. 8) Explain the goals of distributed system. Answer: The main goals of distributed systems: ~ The relative simplicity of the software - each processor has a dedicated function. ~ Incremental growth - If we need 10 percent more computing power we just add 10 percent more processors. ~ Reliability and availability - A few parts of the system can be down without disturbing people using the other parts. ~ Openness - multiple computers of different types, operating systems and manufactures can interact together in a simple system. 9) Discuss desirable features of good message passing systems. Answer: The desirable feature of good message passing systems are: ~ Simplicity - A message passing system should be simple and easy to use. It should be possible to communicate with old and new applications, with different modules without the need to worry about the system and network aspects. ~ Uniform semantics : - local communication - Remote communication - Semantics of Remote communication should be as close as possible to those of local communications. ~ Efficiency - less number of message exchanges, as far as. ~ Reliability - Reliable IPC protocol can cope with failure problem and guarantees the delivery of messages. - Handling of lost messages. - Handling of duplicate messages. ~ Correctness - Required for group communication. - Atomicity - Ordered delivery - Survivability ~ Flexibility - It must have flexibility to permit any kind of control flow between the cooperating processes, including synchronous and asynchronous send/receive. ~ Security - capable of providing a secure end-to-end communication. - Authentication of the receiver(s) of message by the sender. - Authentication of the sender of a message by its receiver(s). - Encryption of a message before sending it over the network. ~ Portability - It should be possible to easily construct a new IPC facility on another system by reusing the basic design of the existing message passing system. 10) What is computer network? Answer: A computer network or data network is a telecommunications network which allows computers to exchange data. Computer network, two or more computers that are connected with one another for the purpose of communicating data electronically. Computer networking refers to connected computing devices(such as laptops, desktops, servers, smartphones, and tablets) and an ever-expanding array of IOT devices (such as cameras, door locks, doorbells, refrigerators, audio/visual systems, thermostats, and various sensors) that communicate with one another. In computer networks, networked computing devices exchange data with each other using a data link. Computer networks are the basis of communication in IT. They are used in a huge variety of ways and can include many different types of network. A computer network is a set of computers that are connected together so that they can share information. Computer networks are used to carry out a large computer of tasks through the sharing of information. Some of the things that networks are used for include: Communicating using email, video, instant messaging and other methods. Sharing devices such as printers, scanners and photocopiers. Sharing files. Sharing software and operating programs on remote systems. Allowing network users to easily access and maintain information.
Computer Networking Beginners Guide: An Introduction on Wireless Technology and Systems Security to Pass CCNA Exam, With a Hint of Linux Programming and Command Line