How unit 1 is examined
This unit covers what an OS is and does, how it evolved, its services and system calls; Evolution (with time-sharing, batch, demand paging) and Function carry the marks.
Function
<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Medium weight</span>
Definition. <mark>An operating system is system software that acts as an interface between the user and the hardware, manages all hardware and software resources, and provides a convenient and efficient environment for running programs.</mark>
Key points.
- The OS is a resource manager: it allocates CPU, memory, files and I/O devices among competing programs fairly and efficiently.
- The OS is an extended machine: it hides the ugly hardware details behind simple abstractions, for example a disk appears as files and folders.
- The OS is a control program: it controls execution of user programs to prevent errors and improper use of the computer.
- Goals are convenience (easy to use), efficiency (best use of hardware) and ability to evolve (new features and hardware without disturbing services).
- User goals are that the system is easy to learn, reliable, safe and fast; system goals are that it is easy to design, implement and maintain, flexible and error-free.
- Functions are process management, memory management, file management, device (I/O) management, and security and protection.
- Management tasks are done as resource allocator: for example the scheduler picks which process gets the CPU and coordinates processes that share a resource.
Answer frame. Open with the definition; list goals, then user versus system goals; list the five functions with one line each; close with "the OS is the resource manager that makes the computer convenient and efficient".
Asked: [7 marks] (Jun 2023, Jun 2025) Define an operating system. What are the goals of an operating system? Explain. List the functions of OS. How operating system perform management task in a system?
Evolution
<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">High weight</span>
Definition. <mark>Evolution of operating systems is the progression from no OS to serial, batch, multiprogrammed, time-sharing, personal, parallel, distributed, real-time and mobile systems, driven by the need for better CPU use, response and convenience.</mark>
<figure class="ds-fig" style="margin:1.4rem 0;overflow-x:auto"><svg xmlns="http://www.w3.org/2000/svg" id="dsfig-u1-01" viewBox="0 0 510 252" width="510" height="252" role="img" aria-label="Evolution: Serial, Batch, Multiprogramming, Time-sharing, Personal, then Parallel, Distributed, Real-time"><style>#dsfig-u1-01 .e{stroke:#454C5A;stroke-width:1.4;fill:none}#dsfig-u1-01 .e.hi{stroke:#2340B8;stroke-width:2.6}#dsfig-u1-01 .n{fill:#FFFFFF;stroke:#16181D;stroke-width:1.4}#dsfig-u1-01 .n.hi{fill:#E3E9FC;stroke:#2340B8;stroke-width:2.2}#dsfig-u1-01 .n.rb-b{fill:#16181D;stroke:#16181D}#dsfig-u1-01 .n.rb-r{fill:#BD3227;stroke:#BD3227}#dsfig-u1-01 text{font-family:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;font-size:13px}#dsfig-u1-01 .t{fill:#16181D;font-weight:500}#dsfig-u1-01 .t.inv{fill:#FFFFFF;font-weight:700}#dsfig-u1-01 .kd{stroke:#16181D;stroke-width:1.2}#dsfig-u1-01 .dot{fill:#16181D}#dsfig-u1-01 .ann{fill:#2340B8;font-size:11px;font-weight:700}#dsfig-u1-01 .lbl{fill:#6F7787;font-family:system-ui,-apple-system,sans-serif;font-size:12px;font-weight:700}#dsfig-u1-01 .ptr{fill:#2340B8;font-size:12px;font-weight:700}#dsfig-u1-01 .ah{fill:#454C5A}#dsfig-u1-01 .ah.hi{fill:#2340B8}#dsfig-u1-01 .wl rect{fill:#FFFFFF;stroke:#DCE0E7}#dsfig-u1-01 .wl .t{font-size:12px;font-weight:700}#dsfig-u1-01 .wl.hi rect{fill:#2340B8;stroke:#2340B8}#dsfig-u1-01 .wl.hi .t{fill:#FFFFFF}html.dark #dsfig-u1-01 .e{stroke:#B1B7C3}html.dark #dsfig-u1-01 .e.hi{stroke:#8FA3FF}html.dark #dsfig-u1-01 .n{fill:#161920;stroke:#E6E8ED}html.dark #dsfig-u1-01 .n.hi{fill:#1E2748;stroke:#8FA3FF}html.dark #dsfig-u1-01 .n.rb-b{fill:#E6E8ED;stroke:#E6E8ED}html.dark #dsfig-u1-01 .n.rb-r{fill:#FF7E71;stroke:#FF7E71}html.dark #dsfig-u1-01 .t{fill:#E6E8ED}html.dark #dsfig-u1-01 .t.inv{fill:#0F1115}html.dark #dsfig-u1-01 .kd{stroke:#E6E8ED}html.dark #dsfig-u1-01 .dot{fill:#E6E8ED}html.dark #dsfig-u1-01 .ann{fill:#8FA3FF}html.dark #dsfig-u1-01 .lbl{fill:#858D9C}html.dark #dsfig-u1-01 .ptr{fill:#8FA3FF}html.dark #dsfig-u1-01 .ah{fill:#B1B7C3}html.dark #dsfig-u1-01 .ah.hi{fill:#8FA3FF}html.dark #dsfig-u1-01 .wl rect{fill:#161920;stroke:#2A2E37}html.dark #dsfig-u1-01 .wl.hi rect{fill:#8FA3FF;stroke:#8FA3FF}html.dark #dsfig-u1-01 .wl.hi .t{fill:#0F1115}</style><defs><marker id="ah1" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah" d="M0,1 L9,5 L0,9 z"/></marker><marker id="ahh1" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah hi" d="M0,1 L9,5 L0,9 z"/></marker></defs><path class="e" d="M59,126 L105,126" marker-end="url(#ah1)"/><path class="e" d="M145,126 L191,126" marker-end="url(#ah1)"/><path class="e" d="M231,126 L277,126" marker-end="url(#ah1)"/><path class="e" d="M317,126 L363,126" marker-end="url(#ah1)"/><path class="e" d="M397.4,112.6 L455.2,54.8" marker-end="url(#ah1)"/><path class="e" d="M403,126 L449,126" marker-end="url(#ah1)"/><path class="e" d="M397.4,139.4 L455.2,197.2" marker-end="url(#ah1)"/><circle class="n" cx="40" cy="126" r="18"/><text class="t" x="40" y="126" dy=".35em" text-anchor="middle">Ser</text><circle class="n" cx="126" cy="126" r="18"/><text class="t" x="126" y="126" dy=".35em" text-anchor="middle">Bat</text><circle class="n" cx="212" cy="126" r="18"/><text class="t" x="212" y="126" dy=".35em" text-anchor="middle">Mul</text><circle class="n" cx="298" cy="126" r="18"/><text class="t" x="298" y="126" dy=".35em" text-anchor="middle">TS</text><circle class="n" cx="384" cy="126" r="18"/><text class="t" x="384" y="126" dy=".35em" text-anchor="middle">PC</text><circle class="n" cx="470" cy="40" r="18"/><text class="t" x="470" y="40" dy=".35em" text-anchor="middle">Par</text><circle class="n" cx="470" cy="126" r="18"/><text class="t" x="470" y="126" dy=".35em" text-anchor="middle">Dis</text><circle class="n" cx="470" cy="212" r="18"/><text class="t" x="470" y="212" dy=".35em" text-anchor="middle">RT</text></svg><figcaption style="font-size:.82em;opacity:.72;margin-top:.45rem">Evolution: Serial, Batch, Multiprogramming, Time-sharing, Personal, then Parallel, Distributed, Real-time</figcaption></figure>
Key points.
- Serial processing (1940s) had no OS: the programmer loaded programs by hand, so setup time was large and the CPU sat idle.
- Batch processing groups similar jobs into a batch that a resident monitor runs one after another with no user interaction, which cuts setup time but leaves the CPU idle during I/O. Examples are payroll and bank statements.
- Multiprogramming keeps several jobs in memory, and when one waits for I/O the CPU switches to another, which raises CPU utilisation.
- Time-sharing is multiprogramming with a small time slice (quantum) given to each user in turn, so each user gets quick response and the system feels interactive. Examples are UNIX and Multics.
- Personal computer OS serves a single user with a friendly interface (MS-DOS, Windows); parallel OS uses many CPUs sharing memory to compute faster.
- Distributed OS joins independent computers by a network so they behave as one system; real-time OS guarantees response within a deadline (missile control); mobile OS runs on phones (Android, iOS).
- The goals throughout are efficiency, convenience and better resource management.
Short-note extras (Nov 2023).
| Item | Point |
|---|---|
| Virus | A program that attaches itself to a host file and spreads only when that file is run by the user. It corrupts or deletes data. |
| Worm | A standalone program that copies itself over a network without a host file or user action, consuming bandwidth and memory. Example: Morris worm. |
| Demand paging | A page is brought into memory only when it is referenced. A page fault traps to the OS, which loads the page from disk and restarts the instruction. Advantages: less memory and I/O, more processes. |
Answer frame. For 7 marks open with the OS definition and why it evolved; draw the stage chain; develop points 1-6 in order; close with point 7. For the 3-mark time-sharing note give the definition, the quantum, the advantage of quick interactive response, and UNIX as example. For the 14-mark note give each of the four parts about 3 lines plus one example.
Pitfall: Confusing batch (no interaction, jobs one after another) with multiprogramming (jobs overlap in memory).
Asked: [7 marks] (Nov 2023, Jun 2026) Explain the evolution of operating system in detail. Asked: [14 marks] (Nov 2023) Write short notes: a) Worms and Virus b) Demand paging c) Batch processing d) Time-sharing Asked: [3 marks] (Jun 2023) Write short notes: Time Sharing
Desirable Characteristics and features of an O/S
<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>
Definition. Desirable characteristics are the qualities a good OS must have to serve users and hardware well.
Key points.
- It should be efficient, using CPU, memory and devices with minimum waste and quick response.
- It should be reliable and robust, continuing to work despite errors and protecting itself and users' data.
- It should be convenient, secure, portable and easy to maintain, with a friendly interface.
- It should be extensible so new hardware and features can be added.
Operating Systems Services: Types of Services
<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Medium weight</span>
Definition. <mark>OS services are the functions the OS provides to users and programs: program execution, I/O operations, file-system manipulation, communication, error detection, resource allocation, protection and accounting.</mark>
Process management (five activities).
- Creation and deletion of user and system processes, tracked using the Process Control Block (PCB).
- Scheduling: the scheduler decides which process gets the CPU and when.
- Synchronization of processes so shared data stays consistent.
- Communication between processes using shared memory or message passing.
- Deadlock handling: prevention, avoidance, detection and recovery.
Memory management (five activities).
- Allocation and deallocation of memory to processes as they start and end.
- Tracking which parts of memory are used and by whom.
- Protection so one process cannot access another's memory.
- Swapping processes between memory and disk to make room.
- Managing paging and segmentation and deciding which processes are loaded.
Answer frame. Open with the definition of process (or memory) management; list the five activities in order with one explaining sentence each; close with the role of the PCB and scheduler (or a memory manager sitting between processes and RAM).
Asked: [7 marks] (Jun 2024) What are the five major activities of an operating system in regards to process management? Asked: [7 marks] (Jun 2025) What are the five major activities of an operating system in regards to memory management?
Different ways of providing these Services โ Utility Programs
<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>
Definition. Utility programs are system programs that perform common housekeeping tasks and give users a convenient way to use OS services.
Key points.
- Services are given in two ways: through system calls made by programs, and through system programs (utilities) used by people.
- Utilities include file managers, text editors, compilers, debuggers, loaders, disk formatters, backup tools and antivirus.
- A command interpreter (shell) or GUI lets the user reach these services, and to the user the utilities look like the OS.
System Calls
<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Low weight</span>
Definition. <mark>A system call is the programmatic interface through which a user program requests a service from the OS kernel.</mark>
Key points.
- System calls are used for process control (fork, exit), file management (open, read, write, close), device management, information maintenance and communication.
- Programs use them through library functions or APIs such as the C library, which hide the details.
- Execution steps: the program puts the parameters in registers or on the stack, executes a trap (software interrupt), the CPU switches to kernel mode, the kernel runs the service, and control returns to the program with the result.
- Example: printf calls write, which traps into the kernel to output data.
Asked: [7 marks] (Jun 2023) What is meant by system call? How it can be used. How does an application program use these call during execution?
Last-minute revision
- OS = resource manager + extended machine + control program.
- Goals: convenience, efficiency, ability to evolve.
- Functions: process, memory, file, device, security management.
- Evolution: serial, batch, multiprogramming, time-sharing, personal, parallel, distributed, real-time, mobile.
- Time-sharing = multiprogramming plus a small quantum per user.
- Virus needs a host file; worm spreads by itself.
- Demand paging loads a page only on a page fault.
- Process management: create/delete, schedule, synchronize, communicate, deadlock.
- Memory management: allocate, track, protect, swap, paging/segmentation.
- System call: trap to kernel mode, run service, return.
Memory hooks
- Evolution: "Some Big Machines Take Power, Providing Dependable Results, Mobile" for Serial, Batch, Multiprogramming, Time-sharing, Personal, Parallel, Distributed, Real-time, Mobile.
- Process five: "C S S C D" = Create, Schedule, Synchronize, Communicate, Deadlock.
- Memory five: "A T P S P" = Allocate, Track, Protect, Swap, Page.
- Virus needs a host; worm walks alone.
Coverage checklist
- Function: Q3 (Jun 2023, Jun 2025).
- Evolution: Q1 (Nov 2023), Q2 (Nov 2023, Jun 2026), Q7 (Jun 2023).
- Desirable Characteristics and features of an O/S: no past questions.
- Operating Systems Services: Types of Services: Q4 (Jun 2024), Q5 (Jun 2025).
- Different ways of providing these Services โ Utility Programs: no past questions.
- System Calls: Q6 (Jun 2023).