Computer Science (9618)
Topic 7 of 17Cambridge A Levels

System Software and Operating Systems

Explores how the OS manages hardware, and the role of utilities and language translators.

### Introduction to System Software


System software is a type of computer program designed to run a computer's hardware and application programs. It acts as the intermediary between the hardware and the user applications, providing an environment for software to be developed and executed. The most important piece of system software is the Operating System (OS), but the category also includes utility programs and language translators.


### The Operating System (OS): The Core Manager


The Operating System is the fundamental software that manages all computer hardware and software resources. It provides the platform on which all other programs run. Its primary functions can be broken down into several key areas of management:


#### 1. Processor Management (Scheduling)

In a modern computer, many processes (running programs) compete for CPU time. The OS is responsible for allocating processor time efficiently. This is known as scheduling. The goal of multitasking is to allow a user to run multiple applications seemingly at the same time. This is achieved through scheduling algorithms that switch between processes rapidly.


* Round Robin (RR) Scheduling: Each process is assigned a fixed time slot, or quantum. The CPU executes a process for its quantum and then moves to the next process in the queue. This is fair but involves context switching overhead.

* Interrupts: An interrupt is a signal from hardware or software indicating an event that needs immediate attention. When the OS receives an interrupt (e.g., a key press or data arriving from the network), it pauses the current process, saves its state, and executes an Interrupt Service Routine (ISR) to handle the event before resuming the paused process.


#### 2. Memory Management

Memory management is the process of controlling and coordinating computer memory, assigning portions called blocks to various running programs to optimize overall system performance. The OS must manage the finite RAM space effectively.


* Paging: Memory is divided into fixed-size blocks called pages. A process's memory is also divided into pages of the same size. The OS maintains a page table to map the logical addresses of a process to the physical addresses in RAM. This allows a process's memory to be non-contiguous, reducing fragmentation.

* Segmentation: Memory is divided into variable-sized logical segments, such as a code segment, data segment, and stack segment. This is more intuitive from a programmer's perspective but can lead to external fragmentation.

* Virtual Memory: When RAM is insufficient to hold all active processes, the OS can use a portion of the hard disk or SSD as an extension of RAM. This is called virtual memory. If a required page is not in RAM, a page fault occurs, and the OS swaps the required page from the hard disk into RAM, possibly swapping out an unused page from RAM to make space. This allows for running larger applications than the physical RAM would permit.


#### 3. I/O Device and File Management

The OS manages communication with all input/output (I/O) devices, such as keyboards, printers, and disk drives. It uses specific programs called device drivers to translate generic commands from an application into specific commands that the hardware can understand. It also manages the file system, organising files and directories on secondary storage, controlling their creation, deletion, and access permissions.


### Utility Programs


Utility programs are system software designed to help analyse, configure, optimise, or maintain a computer. They are not part of the core OS but are often bundled with it.

* Disk Defragmenter: Reorganises files on a magnetic hard drive so that all parts of a file are stored in contiguous blocks, speeding up data access.

* Backup Software: Creates copies of data to protect against data loss.

* Antivirus Software: Scans for and removes malicious software (malware).

* File Compression: Reduces the size of files to save disk space or reduce transmission time.


### Language Translators


These programs are essential for software development, converting source code written by programmers into machine code that the CPU can directly execute.


* Compiler: A compiler translates an entire program written in a high-level language (like C++ or Java) into machine code (or object code) all at once. This process creates a standalone executable file (`.exe`). The compiled program runs very quickly because the translation is already done. Errors are reported only after the entire compilation attempt, which can sometimes make debugging complex.


* Interpreter: An interpreter translates and executes a program line by line. It reads one line of source code (e.g., in Python or JavaScript), converts it to machine code, and executes it immediately before moving to the next line. No separate executable file is created. This makes debugging easier as errors are identified on the line where they occur, but the execution speed is slower as translation happens every time the program is run.


* Assembler: An assembler translates assembly language, a low-level symbolic language, into machine code. It performs a one-to-one mapping from assembly instructions to machine instructions.

Key Points to Remember

  • 1The Operating System (OS) is core system software that manages hardware resources like the CPU, memory, and I/O devices.
  • 2Processor management involves scheduling algorithms like Round Robin to enable multitasking by allocating CPU time slices.
  • 3Memory management techniques include paging, segmentation, and virtual memory, which uses secondary storage to extend RAM.
  • 4Utility programs, such as disk defragmenters and antivirus software, help maintain and protect the computer system.
  • 5Language translators are required to convert high-level programming languages into executable machine code.
  • 6A compiler translates the entire source code at once to create a fast, standalone executable file.
  • 7An interpreter translates and executes source code line-by-line, which is slower but simplifies debugging.
  • 8Device drivers are specialized software that allow the OS to communicate with and control specific hardware components.

Pakistan Example

OS Management in NADRA's Verification System

The National Database and Registration Authority (NADRA) operates a nationwide network of computers for biometric citizen verification. The operating systems on these machines must perform critical resource management. The OS's I/O management is crucial for handling peripherals like fingerprint scanners and webcams, using specific device drivers to ensure real-time data capture. The OS scheduler manages interrupts from these devices to process biometric data instantly without lagging the user interface. Furthermore, robust OS security features, such as user access control and system logs, are vital for protecting the sensitive personal data of millions of Pakistani citizens stored and accessed through this system.

Quick Revision Infographic

Computer Science — Quick Revision

System Software and Operating Systems

Key Concepts

1The Operating System (OS) is core system software that manages hardware resources like the CPU, memory, and I/O devices.
2Processor management involves scheduling algorithms like Round Robin to enable multitasking by allocating CPU time slices.
3Memory management techniques include paging, segmentation, and virtual memory, which uses secondary storage to extend RAM.
4Utility programs, such as disk defragmenters and antivirus software, help maintain and protect the computer system.
5Language translators are required to convert high-level programming languages into executable machine code.
6A compiler translates the entire source code at once to create a fast, standalone executable file.
Pakistan Example

OS Management in NADRA's Verification System

The National Database and Registration Authority (NADRA) operates a nationwide network of computers for biometric citizen verification. The operating systems on these machines must perform critical resource management. The OS's I/O management is crucial for handling peripherals like fingerprint scanners and webcams, using specific device drivers to ensure real-time data capture. The OS scheduler manages interrupts from these devices to process biometric data instantly without lagging the user interface. Furthermore, robust OS security features, such as user access control and system logs, are vital for protecting the sensitive personal data of millions of Pakistani citizens stored and accessed through this system.

SeekhoAsaan.com — Free RevisionSystem Software and Operating Systems Infographic

Test Your Knowledge!

5 questions to test your understanding.

Start Quiz