---
title: "Comparison of CORBA and Mach"
subject: "Distributed System"
chapter: 10
key: "semester_7/distributed_system:corba-vs-mach"
source: https://www.bctengineer.com/q/semester_7/distributed_system/corba-vs-mach
site: BCT Engineering
---

# Comparison of CORBA and Mach

Distributed System · Chapter 10: Case Studies

- Asked in: 2070 Chaitra, 3 marks
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_7/distributed_system/corba-vs-mach
- Whole chapter: https://www.bctengineer.com/md/semester_7/distributed_system/chapter-10

## Question

Write a short note on comparison of CORBA and Mach.

## Short answer

CORBA is application-level middleware enabling distributed objects across different languages and platforms via ORB and IDL. Mach is a microkernel OS providing inter-process communication through message passing with ports and tasks. Both offer location transparency through message passing.

## Answer

| Point | CORBA | Mach |
|---|---|---|
| Nature | Middleware specification (OMG) for distributed objects | Microkernel operating system |
| Level | Above the OS, application level | Operating system level (kernel) |
| Communication | Object requests through the ORB, GIOP/IIOP | Messages through ports (IPC) |
| Interface | IDL (language independent) | Message interface (MIG, Mach Interface Generator) |
| Heterogeneity | Different languages, platforms, vendors | A single OS, though portable across hardware architectures |
| Services | Naming, Event, Transaction, Security etc. | Tasks, threads, virtual memory, IPC only |
| Naming/addressing | Object references | Ports and port rights |
| Aim | Interoperability of distributed objects | Efficient, flexible kernel for parallel/distributed systems |

Both use message passing for distributed communication and provide location transparency, but CORBA is middleware for invoking objects across heterogeneous systems, while Mach is the kernel that runs on each node of a system.

## Check yourself

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

1. Which describes CORBA versus Mach correctly?
   A. Both are microkernels
   B. CORBA is middleware, Mach is a microkernel OS
   C. CORBA is a kernel, Mach is middleware
   D. Both are programming languages
   Answer: B. CORBA is an OMG middleware specification; Mach is a kernel-level OS. (Key point: Nature)

2. What interface definition does CORBA use?
   A. MIG
   B. IDL
   C. GIOP
   D. XDR
   Answer: B. CORBA uses language-independent IDL; Mach uses MIG. (Key point: Interface)

3. How does communication happen in Mach?
   A. Object requests via ORB and IIOP
   B. Messages through ports
   C. Shared files
   D. RPC over HTTP
   Answer: B. Mach IPC uses port-based messaging; CORBA uses ORB with GIOP/IIOP. (Key point: Communication)
