- 2070 Magh · 2+3+3 marks
Extended machine, kernel, 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.
Explain operating system as an extended machine. Distinguish between kernel and micro-kernel. Explain the purpose of system call.
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.
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- OS abstraction, extended machine, system call · Operating System, chapter 1
- Monolithic vs micro-kernel structure · Operating System, chapter 1
- OS as resource manager and extended machine · Operating System, chapter 1
- System call; monolithic and VM architecture · Operating System, chapter 1
- System call; read() execution · Operating System, chapter 1
- File system handling of kernel · Embedded System, chapter 6
- Microkernel vs monolithic kernel · Distributed System, chapter 3