CHAPTER 4: SYSTEM SOFTWARE

4.1 PURPOSES OF AN OPERATING SYSTEM

4.1.1 Resource Optimisation

How OS Maximises Resources:

4.1.2 User Interface

Purpose: Hides complexities of hardware from user. Allows users to interact with application programs without knowing hardware details.

Types:

4.1.3 Process Management

Process: A program being executed which has an associated Process Control Block (PCB) in memory.

Process States:

PCB Contents:

4.1.4 Scheduling Routines

First-Come-First-Served (FCFS):

Round Robin:

Priority-Based:

Shortest Job First:

Shortest Remaining Time:

4.1.5 Memory Management

Paging:

Virtual Memory:

Benefits:

Disk Thrashing:

4.1.6 OS Structure

User Mode:

Kernel/Privileged Mode:


4.2 TRANSLATION SOFTWARE

4.2.1 Compilation Stages

Lexical Analysis:

Syntax Analysis:

Code Generation:

Optimization:

4.2.2 Interpreters vs Compilers

Feature Compiler Interpreter
Translation Entire program before execution Line-by-line
Output .exe file No executable
Execution speed Faster Slower
Error reporting All errors at end Stops at first error
Debugging Difficult Easier

4.2.3 BNF (Backus-Naur Form)

Purpose: Formal mathematical way of defining syntax unambiguously.

Components:

Example:

<TEXT>

<digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<integer> ::= <digit> | <integer> <digit>

4.2.4 Reverse Polish Notation (RPN)

Definition: A method of representing expressions without brackets or special punctuation. Uses postfix notation where operator is placed after variables.

Example:

Advantages:

Evaluation:


Revision #1
Created 2026-03-16 12:16:18 UTC by Samuel Lee
Updated 2026-03-16 12:16:33 UTC by Samuel Lee