Skip to main content

DOS characteristics; ORB interfaces

Short answer

Characteristics include single system image, global resource management, RPC-based communication, distributed file system, fault tolerance, and microkernel structure. An Object Request Broker (ORB) is CORBA middleware enabling remote method invocations; interfaces include IDL stubs/skeletons, DII, DSI, object adapter, ORB interface, and interface repository.

What are the characteristics of distributed operating system? Explain ORB and its interfaces.

Characteristics of a distributed operating system

  1. Single system image (transparency): the collection of computers is seen as one computer; users do not know where processes run or resources are.
  2. Global resource management: processes, memory, files and devices of all nodes are controlled together, with global scheduling, load balancing and process migration.
  3. Inter-process communication: efficient message passing, RPC and group communication between nodes.
  4. Distributed file system and naming: one global name space.
  5. Concurrency and synchronisation: distributed mutual exclusion, clock synchronisation, deadlock handling.
  6. Fault tolerance and reliability: replication, checkpointing, recovery.
  7. Scalability and flexibility: a microkernel structure allows extension.
  8. Security and protection across nodes.
  9. Resource sharing and performance (parallel execution).

Object Request Broker (ORB)

The ORB is the core of CORBA (Common Object Request Broker Architecture, OMG). It is the middleware that lets a client invoke a method of an object located anywhere in the network, without knowing its location, language or platform. It finds the object, delivers the request, and returns the result. Communication between ORBs uses GIOP/IIOP.

 +--------+                           +----------------+
 | Client |                           | Object         |
 |        |                           | implementation |
 +---+----+                           +-------+--------+
     |                                        |
 +---v----+ +-----+ +-----------+     +-------v--------+
 |IDL stub| | DII | | ORB       |     | IDL skeleton / |
 |        | |     | | interface |     | DSI            |
 +---+----+ +--+--+ +-----+-----+     +-------+--------+
     |         |          |           +-------v--------+
     |         |          |           | Object adapter |
     |         |          |           +-------+--------+
 +---v---------v----------v-------------------v--------+
 |               ORB core  (GIOP/IIOP)                 |
 +-----------------------------------------------------+

ORB interfaces

  1. IDL stubs (static invocation interface): client side code generated from IDL, which marshals the request; static type-checked calls.
  2. Dynamic Invocation Interface (DII): lets a client build and send a request at run time for an interface not known at compile time (using the interface repository).
  3. IDL skeleton (static skeleton interface): server side code generated from IDL which unmarshals the request and calls the object implementation.
  4. Dynamic Skeleton Interface (DSI): lets a server handle calls to objects without compiled skeletons (used for bridges and gateways).
  5. Object adapter (BOA/POA): connects the object implementation with the ORB; creates object references, activates and deactivates objects, and dispatches requests.
  6. ORB interface (core): common services such as converting an object reference to a string and back, and initialising the ORB.
  7. Interface repository: stores IDL definitions available at run time. The implementation repository stores information to locate and activate server objects.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Distributed System chapter 3 questions →