What is the difference between a loosely coupled system and a tightly coupled system? Give examples
One feature that is commonly characterizing tightly coupled systems is that they share the clock.
Therefore multiprocessors are typically tightly coupled but distributed workstations on a network are not.
Another difference is that: in a tightly-coupled system, the delay experienced when a message is sent from one computer to another is short, and data rate is high; that is, the number of bits per second that can be transferred is large. In a loosely-coupled system, the opposite is true: the intermachine message delay is large and the data rate is low. For example, two CPU chips on the same printed circuit board and connected by wires etched onto the board are likely to be tightly coupled, whereas two computers connected by a 2400 bit/sec modem over the telephone system are certain to be loosely coupled.
Wednesday, July 2, 2008
LOOSELY COUPLED SYSTEMS
Loose coupling describes an approach where integration interfaces are developed with minimal assumptions between the sending/receiving parties, thus reducing the risk that a change in one application/module will force a change in another application/module.
Loose coupling has multiple dimensions. Integration between two applications may be loosely coupled in time using Message-oriented middleware, meaning the availability of one system does not affect the other. Alternatively, integration may be loosely coupled in format using middleware to perform Data transformation, meaning differences in data models do not prevent integration. In Web Services or Service Oriented Architecture, loose coupling may mean simply that the implementation is hidden from the caller.
Loose coupling has multiple dimensions. Integration between two applications may be loosely coupled in time using Message-oriented middleware, meaning the availability of one system does not affect the other. Alternatively, integration may be loosely coupled in format using middleware to perform Data transformation, meaning differences in data models do not prevent integration. In Web Services or Service Oriented Architecture, loose coupling may mean simply that the implementation is hidden from the caller.
DRAWBACK OF DISTRIBUTED SYSTEM
If not planned properly, a distributed system can decrease the overall reliability of computations if the unavailability of a node can cause disruption of the other nodes. Leslie Lamport famously quipped that: "A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable.Troubleshooting and diagnosing problems in a distributed system can also become more difficult, because the analysis may require connecting to remote nodes or inspecting communication between nodes.
Many types of computation are not well suited for distributed environments, typically owing to the amount of network communication or synchronization that would be required between nodes. If bandwidth, latency, or communication requirements are too significant, then the benefits of distributed computing may be negated and the performance may be worse than a non-distributed environment
Many types of computation are not well suited for distributed environments, typically owing to the amount of network communication or synchronization that would be required between nodes. If bandwidth, latency, or communication requirements are too significant, then the benefits of distributed computing may be negated and the performance may be worse than a non-distributed environment
What are the main types of system calls? Describe their purpose.
What are the main types of system calls? Describe their purpose.
Process control:
End, abort; load, execute; create process, terminate process; get process attributes, set process attributes; wait for time; wait event, signal event; allocate and free memory.
File management:
Create file, delete file; open, close; read, write, reposition; get file attributes, set file attributes.
Device management :
Request device, release device; read, write, reposition; get device attributes, set device attributes; Logically attach or detach devices.
Information maintenance :
Get time or date, set time or date; get system data, set system data; get process, file, or device attributes; set process, file, or device attributes.
Communications:
Create, delete communication connection; send, receive messages; transfer status information;
Attach or detach remote devices.
Process control:
End, abort; load, execute; create process, terminate process; get process attributes, set process attributes; wait for time; wait event, signal event; allocate and free memory.
File management:
Create file, delete file; open, close; read, write, reposition; get file attributes, set file attributes.
Device management :
Request device, release device; read, write, reposition; get device attributes, set device attributes; Logically attach or detach devices.
Information maintenance :
Get time or date, set time or date; get system data, set system data; get process, file, or device attributes; set process, file, or device attributes.
Communications:
Create, delete communication connection; send, receive messages; transfer status information;
Attach or detach remote devices.
Tuesday, July 1, 2008
Distributed system
Distributed computing deals with hardware and software systems containing more than one processing element or storage element, concurrent processes, or multiple programs, running under a loosely or tightly controlled regime.
In distributed computing a program is split up into parts that run simultaneously on multiple computers communicating over a network. Distributed computing is a form of parallel computing, but parallel computing is most commonly used to describe program parts running simultaneously on multiple processors in the same computer. Both types of processing require dividing a program into parts that can run simultaneously, but distributed programs often must deal with heterogeneous environments, network links of varying latencies, and unpredictable failures in the network or the computers
In distributed computing a program is split up into parts that run simultaneously on multiple computers communicating over a network. Distributed computing is a form of parallel computing, but parallel computing is most commonly used to describe program parts running simultaneously on multiple processors in the same computer. Both types of processing require dividing a program into parts that can run simultaneously, but distributed programs often must deal with heterogeneous environments, network links of varying latencies, and unpredictable failures in the network or the computers
PROCESS
When a process is created, it needs to wait for the process scheduler (of the operating system) to set its status to "waiting" and load it into main memory from secondary storage device (such as a hard disk or a CD-ROM). Once the process has been assigned to a processor by a short-term scheduler, a context switch is performed (loading the process into the processor) and the process state is set to "running" - where the processor executes its instructions. If a process needs to wait for a resource (such as waiting for user input, or waiting for a file to become available), it is moved into the "blocked" state until it no longer needs to wait - then it is moved back into the "waiting" state. Once the process finishes execution, or is terminated by the operating system, it is moved to the "terminated" state where it waits to be removed from main memory
Monday, June 30, 2008
System call in operating system
A system call is a request made by any arbitrary program to the operating system for performing tasks -- picked from a predefined set -- which the said program does not have required permissions to execute in its own flow of execution. Most operations interacting with the system require permissions not available to a user level process, i.e. any I/O performed with any arbitrary device present on the system or any form of communication with other processes requires the use of system calls.
Subscribe to:
Posts (Atom)