---
title: "Extended machine, kernel, system call"
subject: "Operating System"
chapter: 1
key: "semester_6/operating_system:extended-machine-kernel-syscall"
source: https://www.bctengineer.com/q/semester_6/operating_system/extended-machine-kernel-syscall
site: BCT Engineering
---

# Extended machine, kernel, system call

Operating System · Chapter 1: Introduction to Operating System

- Asked in: 2070 Magh, 2+3+3 marks
- Video: [Ch: 1.2 Aspect of Operating system - Operating system as extended machine !! By Achyut Bhattarai ...](https://www.youtube.com/watch?v=6r0BdnRpLXI) — Abinasi Achyut Bhattarai
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_6/operating_system/extended-machine-kernel-syscall
- Whole chapter: https://www.bctengineer.com/md/semester_6/operating_system/chapter-1

## Question

Explain operating system as an extended machine. Distinguish between kernel and micro-kernel. Explain the purpose of system call.

## Short answer

The OS as an extended machine hides hardware details by presenting files, processes, and virtual memory. A monolithic kernel runs all services in kernel mode; a microkernel keeps only IPC and scheduling in the kernel, with servers in user space. System calls provide a safe, controlled interface for user programs to invoke kernel services via TRAP.

## Answer

#### Operating system as an extended machine

The bare hardware (processor, memory, disk, devices) is difficult to program: the programmer must know controller registers, command codes, and interrupt handling. The OS hides these details and presents a simpler, cleaner abstract machine (the *extended machine* or *virtual machine*) with abstractions such as files, processes and address spaces. For example, a program calls `read(fd, buf, n)` and the OS handles seek, DMA, interrupts and errors. So the OS "extends" the hardware by adding functions that the hardware does not provide, and makes programming easier and more portable.

#### Kernel vs micro-kernel

| Basis | Kernel (monolithic) | Micro-kernel |
|---|---|---|
| Services in kernel mode | All: file system, drivers, memory, network | Only IPC, scheduling, basic memory |
| Size | Large | Very small |
| Speed | Fast (direct calls) | Slower (message passing) |
| Reliability | A faulty driver can crash the system | Failure of a server is isolated |
| Extension | Needs kernel rebuild | Servers added in user space |
| Example | Linux, traditional UNIX | Mach, QNX, MINIX 3 |

#### Purpose of system call

A system call is the interface by which user programs request services of the kernel. Its purposes are:

- to let user programs perform **privileged operations** (I/O, file access, process creation) safely, since user code cannot execute them directly;
- to provide a **controlled entry** into kernel mode (using TRAP), protecting the OS and other users;
- to give a **standard, hardware-independent interface** (e.g. `fork`, `open`, `read`, `write`, `exit`) for application programs.

System calls fall in groups: process control, file management, device management, information maintenance and communication.

## Check yourself

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

1. How does the OS 'extend' the hardware?
   A. By adding more physical memory
   B. By replacing the CPU
   C. By adding functions and abstractions that the hardware does not provide
   D. By removing the need for a processor
   Answer: C. It hides registers and interrupts behind files, processes and address spaces. (Key point: Extended machine)

2. Which is correct about kernel vs micro-kernel?
   A. Kernel is smaller than micro-kernel
   B. Micro-kernel has all drivers inside
   C. Kernel is easier to extend without rebuilding
   D. Kernel is faster with direct calls; micro-kernel isolates server failure
   Answer: D. Monolithic kernel is large and fast; micro-kernel small and more reliable. (Key point: Kernel vs microkernel)

3. What is a main purpose of a system call?
   A. To let user programs perform privileged operations safely via a controlled entry into kernel mode
   B. To let user programs bypass the OS
   C. To increase the CPU clock speed
   D. To store files in memory
   Answer: A. System calls provide safe, standard, hardware-independent access to kernel services. (Key point: Purpose of system call)

## Related in Operating System

- [OS abstraction, extended machine, system call](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Aos-abstraction-system-call) — Operating System, chapter 1
- [Monolithic vs micro-kernel structure](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Amonolithic-vs-microkernel) — Operating System, chapter 1
- [OS as resource manager and extended machine](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Aos-resource-manager-extended-machine) — Operating System, chapter 1
- [System call; monolithic and VM architecture](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Asystem-call-architecture) — Operating System, chapter 1
- [System call; read() execution](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Asystem-call-read-example) — Operating System, chapter 1

## Related in other subjects

- [File system handling of kernel](https://www.bctengineer.com/question.md?key=semester_6%2Fembedded_system%3Akernel-file-system-handling) — Embedded System, chapter 6
- [Microkernel vs monolithic kernel](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Amicrokernel-advantages) — Distributed System, chapter 3
