📑 Contents

Chapter 5.1: System Software & Operating Systems

9618 AS Computer Science

📚 Learning Objectives
User / Application Software Operating System (OS) Utility Software Program Libraries (DLLs) Computer Hardware (CPU, Memory, I/O Devices)
🌟 Did You Know?

System Software is designed to control and work with computer hardware. It includes the Operating System and Utility Software. Without an OS, hardware would be unusable - the OS provides the essential interface between users and the complex underlying hardware!

1. Purpose of an Operating System

An Operating System (OS) is software that provides an interface between the user and the hardware in a computer system. It hides the complexities of the hardware from the user.

📖 Why a Computer Requires an OS

1.1 Types of System Software

Type Description Examples
Operating System Set of programs designed to run in background, giving an environment in which Application Software can be executed Windows, macOS, Linux, Android, iOS
Utility Software System software intended to analyze, configure, monitor, or help maintain a computer Disk formatter, Virus checker, Defragmenter
Operating System User Interface Memory Mgmt File Mgmt Security Mgmt Process & Hardware Mgmt
💡 Exam Tip

When asked "Why does a computer need an OS?", always mention: Interface between user and hardware, Resource management, Platform for applications, and Hardware unusable without it.

2. User Interfaces

A user interface is how the user interacts with the operating system. The OS provides this to allow users to get software and hardware to do something useful.

2.1 Command Line Interface (CLI)

📖 Command Line Interface

2.2 Graphical User Interface (GUI)

📖 Graphical User Interface

2.3 Other Interface Types

Interface Type Description Examples
Menu Interface Successive menus presented to user with a single option at each stage; often performed with buttons or keypad Chip & PIN machines, Vending machines, Streaming services
Natural Language (NLI) Uses spoken word to respond to spoken or textual inputs from user Amazon Alexa, Google Assistant, Siri, Smart home devices
CLI (Command Line) C:\Users> dir Volume in drive C is OS Directory of C:\Users Documents Downloads Desktop C:\Users>_ GUI (Graphical) Docs Downloads Desktop Pictures
🧠 Memory Trick: CLI vs GUI

3. Memory Management

Memory management is a process carried out by the OS allocating main memory (RAM) between different programs that are open at the same time.

📖 Key Functions of Memory Management

3.1 Three Aspects of Memory Management

📝 Memory Protection
📝 Memory Organization Schemes
📝 Memory Usage Optimization
Single Allocation App A Partitioned App A App B App C Paged (Fixed Size) Same size pages

4. File Management

File management is a process carried out by the OS creating, organising, manipulating and accessing files and folders on a computer system.

📖 Main Tasks of File Management

5. Security Management

The function of security management is to ensure integrity, confidentiality and availability of data.

📝 How Security Management Achieves This
C:\ Documents Program Files Users report.docx notes.txt

6. Hardware Management

Hardware management involves all Input and Output peripheral devices. It is essentially control and management of queues and buffers.

📖 Functions of Hardware Management

6.1 Device Drivers

📖 What are Device Drivers?

6.2 Example: Printer Management

📝 How OS Manages Printing
  1. Locates and loads the printer driver into memory
  2. Sends data to a printer buffer ready for printing
  3. Sends data to printer queue (if printer is busy)
  4. Sends various control commands to printer throughout printing process
  5. Receives and handles error messages and interrupts from printer
Application Operating System Device Driver Buffer/Queue Printer (Hardware) Translates requests Converts data format Manages order

7. Process Management

A process is a program which is being run on a computer. Process management involves allocation of resources and permits sharing and exchange of data.

📖 Key Aspects of Process Management
📝 Scheduling and Resource Resolution
CPU 1 process at a time Process Queue (Round Robin) P1 P2 P3 P4 P5 Running Time slice expired → back to queue
💡 Exam Tip

Remember: Time slicing allows multiple programs to appear to run simultaneously. Each process gets a small time slice, then returns to the queue. The CPU switches between processes so fast it appears multitasking is happening!

8. Utility Software

Utility software is a collection of tools designed to help maintain a computer system. It is designed to perform a limited number of tasks and interacts with the computer's hardware.

📖 What is Utility Software?
Utility Software Purpose
Disk Formatter Prepares storage device for use by creating file system
Virus Checker Protects computer from viruses and malicious software
Defragmentation Software Groups fragmented files to improve HDD access speed
Disk Contents Analysis/Repair Checks disk structure and health, fixes errors
File Compression Reduces file size for storage or transmission
Backup Software Creates copies of data for safety
Operating System Disk Formatter Virus Checker Defragmenter Disk Repair Compression Backup All work with Hardware/Storage

9. Disk Formatter & Virus Checker

9.1 Disk Formatter

A disk formatter prepares a storage device for use by creating a file system and organizing the space into sectors and tracks.

📝 Tasks Performed by Disk Formatter
📖 When is Disk Formatting Needed?

9.2 Virus Checker

A virus checker is a combination of software to prevent computers from being susceptible to viruses and other malicious software.

📖 Components of Virus Checking Software
📝 How Virus Checkers Work
Incoming Files Virus Scanner • Signature check • Behavior check ✓ Clean - Allow ✗ Infected - Block Signature Database (Updated regularly)

10. Defragmentation & Disk Repair

10.1 Defragmentation Software

Defragmentation software groups fragmented files back together in order to improve the access speed of a hard disk drive (HDD).

📖 Why Fragmentation Occurs
⚠️ Important: Magnetic Storage Only

Defragmentation can only be used on magnetic storage (HDD). It should NOT be used on SSDs as it can reduce their lifespan!

Before: Fragmented A A A A B Defragmentation Process After: Defragmented File A B Free Space

10.2 Disk Contents Analysis & Repair

📝 Disk Repair Utility Functions
📖 Causes of Bad Sectors

11. File Compression & Backup

11.1 File Compression

File compression reduces the amount of secondary storage required by performing an algorithm on the original data.

Type How It Works Can Reconstruct Original?
Lossy Compression Physically removes data from the original to reduce size No - data is permanently lost
Lossless Compression Uses mathematics to order data more efficiently Yes - no data is lost
📖 Uses of File Compression

11.2 Backup Software

Backup software is used to create copies of personal data to keep it safe in the event of accidental loss or data theft.

📝 Features of Backup Software
Backup Type Description Speed Security
Full Backup All files are backed up Slowest Most secure
Incremental Backup Only files added/modified since last backup Faster Less secure
📖 Backup Storage Locations
Full Backup Day 1: A B C D E Day 2: A B C D E Incremental Backup Day 1: A B C D E (full) Day 2: F G (new only) ☁ Cloud Remote Storage

12. Program Libraries

A program library is a collection of pre-written code (called library routines) that programmers can reuse in their own software.

📖 What are Program Libraries?

12.1 Advantages of Using Program Libraries

Advantage Explanation
Saves development time Pre-written routines can be reused; don't need to write from scratch
Promotes code reuse Well-tested routines can be used in multiple programs
Improves reliability Library routines are thoroughly tested and debugged
Easier maintenance Updates to library routine benefit all programs using it
Efficient memory usage DLLs only loaded when needed at runtime
Standardisation Consistency in how common tasks are implemented
Program Library Sort() Display() PlaySound() ReadFile() Program A Program B import import

13. Dynamic Link Libraries (DLL)

A Dynamic Link Library (DLL) is a file that contains pre-written code that can be used by multiple programs at runtime.

📖 What Makes DLLs Different

13.1 DLL vs Static Libraries

Aspect Static Library Dynamic Link Library (DLL)
Linking Time At compilation time At run time
Code Location Embedded directly in program Separate file, loaded when needed
Program Size Larger (includes all code) Smaller (code separate)
Updates Requires recompilation Can update DLL independently
Memory Usage Each program has own copy Multiple programs share same DLL
Real-World Example: A payroll program may need tax rate calculations. When tax rates change yearly, if isolated to a DLL, you can update just the DLL without rebuilding the entire payroll program!
Static Library Program A lib Program B lib Each program has own copy Dynamic Link Library Program A Program B Shared DLL Both programs share same DLL

14. DLL Advantages & Disadvantages

Pros of DLL Cons of DLL
Smaller program size - DLL files only loaded at run time Executable code is not self-contained; all DLL files must be available
Saves memory - DLLs shared between programs Missing .dll errors can cause software to crash
Encourages code reuse of common routines DLL linking software needs to be available at run time
Supports modular design for easier development Version conflicts if newer DLLs aren't compatible
Update DLL once to improve all programs using it Program may fail if required DLL is missing
Changes to DLL don't require recompilation Security risk - malicious/altered DLLs can compromise programs
Saves execution time and memory Errors in DLLs can be hard to trace across multiple programs
⚠️ Important: DLL Dependencies

If a program uses DLLs, all required DLL files must be present at run time. Missing DLLs will cause error messages (e.g., "missing .dll") and the software may crash. This is why software installers often include required DLLs.

❌ Common Mistakes About DLLs
Program ? missing.dll NOT FOUND! Error: Program.exe - System Error The code execution cannot proceed because missing.dll was not found.
💡 Exam Tip - DLL Questions

When asked about DLL advantages, always mention: smaller program size, shared memory, independent updates, and code reuse. For disadvantages: dependency issues, version conflicts, and security risks.

15. Key Takeaways

📌 Summary Points

Operating System

OS Management Tasks

Utility Software

Program Libraries

OS Tasks Utilities Libraries DLLs 5 tasks 6 types Pre-written code Runtime linking

16. Glossary

📖 Key Terms & Definitions

17. Exam-Style Questions (Part 1)

1. Identify four key management tasks that the Operating System will perform. [4 marks]

Answer (Any 4 from the following):

  • Memory management - allocating RAM between programs
  • File management - creating, organizing, accessing files
  • Security management - protecting data and preventing unauthorized access
  • Hardware/Device/Peripheral management - controlling I/O devices
  • Process management - scheduling and allocating resources to processes
  • Error checking and recovery
  • Provision of a platform for software
  • Provision of a user interface
2. Explain why a computer system requires an Operating System. [5 marks]

Answer:

  • Provides user interface and hides complexity of hardware from user
  • Hardware would be unusable without an OS
  • Controls the overall working of the computer system
  • Controls all attached hardware devices and efficiently uses resources (processor, memory, I/O devices)
  • Provides a platform/environment on which other programs can run
  • Controls how hardware devices work and communicate with each other
3. Describe the differences between a Command Line Interface (CLI) and a Graphical User Interface (GUI). [4 marks]

Answer:

  • CLI uses text-based commands; GUI uses visual elements (windows, icons, menus)
  • CLI requires knowledge of commands; GUI is more user-friendly/intuitive
  • CLI uses keyboard only; GUI uses mouse/touch and keyboard
  • CLI is used by advanced users; GUI is suitable for all users
  • CLI feedback is text only; GUI provides visual feedback
  • CLI examples: MSDOS, Raspbian; GUI examples: Windows, macOS, Android
4. Explain the purpose of memory management in an Operating System. [4 marks]

Answer:

  • Allocates main memory (RAM) between different programs running simultaneously
  • Copies programs and data from secondary to primary storage as needed
  • Provides memory protection to prevent applications interfering with each other
  • Manages memory organization (single/partitioned/paged allocation)
  • Enables multitasking by managing multiple programs in memory
  • Optimizes memory usage by deciding which processes are in memory and where
5. Describe three different memory organization schemes used by an Operating System. [3 marks]

Answer:

  • Single (contiguous) allocation: All memory made available to a single application
  • Partitioned allocation: Memory split into contiguous partitions; each partition allocated to an application
  • Paged memory: Similar to partitioned but each partition is a fixed size; used by virtual memory systems

17. Exam-Style Questions (Part 2)

6. Explain how an Operating System manages hardware devices using device drivers. [4 marks]

Answer:

  • Communicates with all I/O devices using device drivers
  • Device driver is software that controls a specific piece of hardware
  • Translates data from file format to format that I/O device can understand
  • OS has generic drivers built in for basic compatibility
  • For maximum capacity, manufacturer-specific drivers can be downloaded
  • Ensures each hardware resource has priority for efficient usage
  • Manages queues and buffers for device communication
7. Draw one line from each utility software to its correct description. [4 marks]

Disk Formatter → Checks for and removes viruses
Virus Checker → Prepares disk for use by creating file system
Defragmenter → Groups fragmented files together
Backup Software → Creates copies of data for safety

Correct Matches:

  • Disk Formatter → Prepares disk for use by creating file system
  • Virus Checker → Checks for and removes viruses
  • Defragmenter → Groups fragmented files together
  • Backup Software → Creates copies of data for safety
8. Jennifer is writing a computer program for her A Level homework. Jennifer uses a program library to help her write her computer program. Describe how a program library can be used while writing a computer program. [4 marks]

Answer:

  • Program libraries store pre-written functions and routines
  • The program library can be referenced/imported into the program
  • The functions/routines can be called in her own program
  • Saves development time by reusing existing code
  • Library routines are thoroughly tested and debugged
  • Can perform common tasks: sorting, graphics, sound, data management
9. Explain the advantages and disadvantages of using Dynamic Link Libraries (DLLs). [6 marks]

Advantages:

  • Reduces program size - code kept separate, loaded at runtime
  • Saves memory - multiple programs share same DLL
  • Encourages code reuse of common routines
  • Supports modular design for easier development
  • Updates can be made to DLL without recompiling main program

Disadvantages:

  • Executable code is not self-contained; all DLLs must be available
  • Missing DLLs cause errors and program crashes
  • Version conflicts if newer DLLs aren't compatible
  • Security risk - malicious DLLs can compromise programs
  • Errors in DLLs can be hard to trace across multiple programs
10. Explain the difference between full backup and incremental backup. Give advantages of each. [4 marks]

Answer:

  • Full backup: All files are backed up regardless of changes
  • Full backup advantage: Most secure, easy to restore from single backup
  • Incremental backup: Only files added/modified since last backup are copied
  • Incremental backup advantage: Faster, uses less storage space
  • Full backup is slower but more reliable for complete recovery
  • Incremental is faster but may need multiple backups to restore

18. Exam Success Tips (Part 1)

💡 OS Purpose - Always Mention
💡 Five OS Management Tasks
💡 User Interfaces - Quick Comparison
💡 Memory Management - Three Aspects
🧠 Memory Trick: Memory Organization

18. Exam Success Tips (Part 2)

💡 Utility Software - Know Each Type
⚠️ Critical: Defragmenter Warning

Never defragment an SSD! Defragmentation is for magnetic hard drives (HDD) only. SSDs don't have moving heads, so fragmentation doesn't slow them down. Defragmenting an SSD actually reduces its lifespan!

💡 DLLs - Key Points
❌ Common Mistakes to Avoid
🧠 Backup Types Memory Trick

18. Exam Success Tips (Part 3)

💡 Answer Structure Tips
🌟 Quick Reference Table
Topic Key Point
OS Purpose Interface between user and hardware
CLI Text-based, keyboard, advanced users
GUI Visual (WIMP), mouse/touch, user-friendly
Memory Management Protection, Organization, Optimization
Process Management Time slicing, scheduling, queues
Device Driver Software that controls hardware
DLL Linked at runtime, shared, smaller programs
Static Library Embedded at compile time
Defragmentation HDD only, groups fragmented files
📌 Final Exam Reminders
Good Luck in Your Exam! 📚✨