---
title: "DOS characteristics; ORB interfaces"
subject: "Distributed System"
chapter: 3
key: "semester_7/distributed_system:dos-characteristics-orb"
source: https://www.bctengineer.com/q/semester_7/distributed_system/dos-characteristics-orb
site: BCT Engineering
---

# DOS characteristics; ORB interfaces

Distributed System · Chapter 3: Operating System Support

- Asked in: 2074 Asoj, 4+4 marks
- Video: [CORBA Architecture | Part-1/2 | Distributed Systems | Lec-45 | Bhanu Priya](https://www.youtube.com/watch?v=aEOfsRKTlv0) — Education 4u
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_7/distributed_system/dos-characteristics-orb
- Whole chapter: https://www.bctengineer.com/md/semester_7/distributed_system/chapter-3

## Question

What are the characteristics of distributed operating system? Explain ORB and its 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.

## Answer

#### 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.

```text
 +--------+                           +----------------+
 | 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.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. What does single system image mean for a DOS?
   A. Users know where each process runs
   B. Only one computer exists
   C. The computers appear as one and users do not know where processes run
   D. All files are on one disk
   Answer: C. Transparency makes the collection of computers look like one. (Key point: Single system image)

2. What does the ORB do in CORBA?
   A. Stores files on disk
   B. Lets a client invoke an object anywhere without knowing its location, language or platform
   C. Compiles IDL only
   D. Encrypts the network
   Answer: B. The ORB finds the object, delivers the request and returns the result. (Key point: ORB role)

3. When is the Dynamic Invocation Interface used?
   A. To build and send a request at run time for an interface unknown at compile time
   B. To generate skeletons
   C. To activate objects
   D. To convert references to strings
   Answer: A. DII uses the interface repository to build requests at run time, unlike static stubs. (Key point: DII)

4. What is the job of the object adapter?
   A. Marshal client arguments
   B. Store IDL definitions
   C. Initialise the network
   D. Connect the implementation with the ORB: create references, activate objects, dispatch requests
   Answer: D. The adapter (BOA/POA) manages object references, activation and request dispatch. (Key point: Object adapter)

## Related in Distributed System

- [Why NOS preferred over DOS](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Anos-vs-dos-realization) — Distributed System, chapter 3, asked 2×
- [DOS; monolithic and microkernel](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Ados-monolithic-microkernel) — Distributed System, chapter 3
- [Operating system layers](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Aos-layers) — Distributed System, chapter 3
- [Autonomous vs distributed system](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Aautonomous-vs-distributed) — Distributed System, chapter 1
- [Models of distributed system](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Amodels-of-ds) — Distributed System, chapter 1
- [True distributed system; middleware organisation](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Atrue-ds-middleware) — Distributed System, chapter 3

## Related in other subjects

- [HRC fuse operating characteristics and applications](https://www.bctengineer.com/question.md?key=semester_6%2Fswitchgear_and_protection%3Ahrc-fuse-operating-characteristics) — Switchgear and Protection, chapter 3
- [Features of a typical operating system](https://www.bctengineer.com/question.md?key=semester_4%2Fmicroprocessor%3Afeatures-of-operating-system) — Microprocessor, chapter 6, asked 3×
- [Distributed system in big data example](https://www.bctengineer.com/question.md?key=semester_8%2Fbig_data_technologies%3Adistributed-system-example) — Big Data Technologies, chapter 1
- [Short note: Distributed system implementation](https://www.bctengineer.com/question.md?key=semester_6%2Fobject_oriented_analysis_and_design%3Ashort-note-distributed-implementation-issues) — Object Oriented Analysis and Design, chapter 4
