0% found this document useful (0 votes)
2 views19 pages

System Software Computer Science As

The document discusses system software, focusing on the differences between graphical user interfaces (GUI) and command line interfaces (CLI), their pros and cons, and typical users for each. It also outlines the roles of operating systems, including memory management, security management, process management, hardware management, and file management, as well as the functions of utility software and program libraries. Additionally, it covers language translators such as compilers and interpreters, highlighting their purposes and differences.

Uploaded by

iqrabhatti2008
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views19 pages

System Software Computer Science As

The document discusses system software, focusing on the differences between graphical user interfaces (GUI) and command line interfaces (CLI), their pros and cons, and typical users for each. It also outlines the roles of operating systems, including memory management, security management, process management, hardware management, and file management, as well as the functions of utility software and program libraries. Additionally, it covers language translators such as compilers and interpreters, highlighting their purposes and differences.

Uploaded by

iqrabhatti2008
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

SYSTEM SOFTWARE

Most operating systems offer a graphic user interface (GUI) as well as a command line
interface (CLI).
a) What are the main differences between the two types of interface?
b) What are the pros and cons of both types of interface?
c) Who would use each type of interface?

a) Main differences between GUI and CLI

●​ GUI (Graphical User Interface)​


Uses icons, windows, menus, and buttons. You interact using a mouse/touch.
●​ CLI (Command Line Interface)​
Uses text commands. You interact by typing commands on a keyboard.

b) Pros and cons

GUI – Advantages:

●​ Easy to learn and use (user-friendly)


●​ No need to memorize commands
●​ Visual and intuitive

GUI – Disadvantages:

●​ Uses more memory and processing power


●​ Slower for advanced tasks
●​ Less control for complex operations

CLI – Advantages:

●​ Faster for experienced users


●​ Uses less memory/resources
●​ More powerful and flexible for advanced tasks

CLI – Disadvantages:

●​ Hard to learn (must remember commands)


●​ Not user-friendly for beginners
●​ Small typing errors can cause problems

c) Who would use each?

●​ GUI:​
General users, beginners, students—people who want an easy and visual way to
use a computer.
●​ CLI:​
Programmers, system administrators, and IT professionals—people who need
speed, control, and advanced functions.

Q)Describe the role of buffers and interrupts when a printing job is being sent to an
inkjet printer.

Role of buffers:

●​ A buffer is a temporary memory area used to store data before it is processed.


●​ When a print job is sent, the document is first stored in the printer buffer (print
queue).
●​ This allows the computer to send data faster than the printer can print, without
losing any data.
●​ The printer then takes data from the buffer at its own speed and prints it.

Role of interrupts:

●​ An interrupt is a signal sent to the CPU to get its attention.


●​ The printer sends an interrupt to the computer when:
○​ It is ready to receive more data
○​ The buffer is empty or nearly empty
○​ There is an error (e.g., out of paper, paper jam)
●​ The CPU temporarily pauses its current task and responds to the printer, ensuring
smooth communication.

In short:

●​ Buffers store print data temporarily to match speed differences.


●​ Interrupts notify the CPU when action is needed during printing

Operating system
Operating system – software that provides an environment in which applications can run
and provides an interface between hardware and human operators.

Development Over Time

●​ Later computers (e.g. Acorn BBC B) used:


○​ Part OS in ROM
○​ Rest loaded using cassette tape
●​ Modern computers:
○​ OS stored on hard disk (HDD/SSD)
○​ Start-up handled by BIOS
○​ BIOS stored in flash memory
○​ Settings stored in CMOS (CMOS – complementary metal-oxide
semiconductor)

Main Roles of OPERATING SYSTEM

●​ Provides environment for applications


●​ Acts as interface between user and hardware
●​ Hides complexity of hardware

Examples of OPERATING SYSTEM

●​ Windows
●​ macOS
●​ Android
●​ iOS

Human Computer Interface (HCI)


🔸 CLI (Command Line Interface)
●​ User types commands

Problems:

●​ Must remember commands


●​ Must type exactly (no mistakes)
●​ Time-consuming

Advantage:

●​ More control over system

🔸 GUI (Graphical User Interface)


●​ Uses icons, menus, windows
●​ Easy interaction (click/touch)

Example: clicking one icon does complex task

WIMP Interface

Stands for:

●​ Windows
●​ Icons
●​ Menus
●​ Pointer

Mouse controls cursor, opens windows

Post-WIMP (Modern Systems)

●​ Used in phones/tablets
●​ Uses touch gestures:
○​ Tap
○​ Swipe
○​ Pinch

More flexible than mouse

Operating System Tasks

1. Memory Management
Memory management – part of the operating system that controls the main memory.

What it does:

●​ Controls main memory (RAM)

🔸 Memory Optimisation
.Memory optimisation – function of memory management that determines how memory is
allocated and deallocated.

●​ Decides:
○​ Which program gets memory
○​ Where it is stored
●​ Keeps track of:
○​ Used memory
○​ Free memory
●​ Moves data between:
○​ RAM ↔ HDD/SSD

🔸 Memory Organisation
Memory organisation – function of memory management that determines how much
memory is allocated to an application

How memory is arranged:


●​ Single allocation → one program uses all memory
●​ Partitioned memory → memory split into blocks
●​ Paged memory → fixed-size blocks
●​ Segmented memory → logical groups (not continuous)

🔸 Memory Protection
Memory protection – function of memory management that ensures two competing
applications cannot use same memory locations at the same time.

●​ Stops programs from using same memory


●​ Prevents:
○​ Data loss
○​ Errors
○​ Crashes
○​ Security issues

👉 VERY IMPORTANT in exams


2. Security Management
Security management – part of the operating system that ensures the
integrity, confidentiality and availability of data.

Purpose:

Protect data and system

🔸 Methods:
●​ OS updates
●​ Antivirus software
●​ Firewall checks
●​ User accounts (ID + password)
●​ Access rights
●​ Data recovery/system restore
●​ Prevent hacking/unauthorised access

Ensures:

●​ Confidentiality
●​ Integrity
●​ Availability

3. Process Management
Process management – part of the operating system that involves allocation
of resources and permits the sharing and exchange of data.

Process = program running

🔸 Functions:
●​ Allocates resources (CPU, memory)
●​ Schedules processes
●​ Allows multitasking
●​ Handles conflicts
●​ Uses queues

4. Hardware Management

Hardware management – part of the operating system that controls all input/output
devices connected to a computer (made up of sub-management systems such as
printer management, secondary storage management, and so on).

Device driver – software that communicates with the operating system and
translates data into a format understood by the device.

Manages input/output devices

🔸 Functions:
●​ Communicates with devices using device drivers
●​ Converts data into device-understandable format
●​ Assigns priority to devices

🔸 Printing Example (IMPORTANT)


●​ Loads printer driver
●​ Sends data to buffer
●​ Uses queue if printer busy
●​ Sends control signals
●​ Handles errors & interrupts

5. File Management
✅ Main tasks:
●​ Naming files (e.g. [Link])
●​ File operations:
○​ Create, open, delete, rename, copy, move
●​ Manage folders/directories
●​ Control access (permissions, passwords)
●​ Define storage format (e.g. FAT, NTFS)
●​ Load files into memory

Utility Software
Utility program – parts of the operating system which carry out certain functions, such as
virus checking, defragmentation or hard disk formatting.

What is Utility Software?


●​ Programs that help maintain, protect, and optimise a computer
●​ Usually come with the operating system
●​ Some run in background (e.g. antivirus)

🔹 Types of Utility Software


1. Hard Disk Formatter

Disk formatter – utility that prepares a disk to allow data/files to be stored and retrieved

Purpose:

Prepares a disk so the OS can store and find data

🔸 What it does:
●​ Divides disk into partitions (blocks)
●​ Creates file system (e.g. NTFS)
●​ Stores:
○​ Directory info
○​ Table of contents (TOC)

🔸 Important Points:
●​ Full formatting = deletes all data ⚠️
●​ Writes zeros to disk and checks sectors

🔸 Bad Sectors
Hard bad sectors:
●​ Physical damage
●​ Difficult to fix

Soft bad sectors:

●​ Caused by:
○​ power failure
○​ crashes
●​ Easier to repair

🔸 Repair Function:
●​ Finds bad sectors
●​ Marks them unusable
●​ Replaces with spare sectors

2. Virus Checker (Antivirus)


Antivirus software – software that quarantines and deletes files or programs infected by a virus
(or other malware). It can be run in the background or initiated by the user

Purpose:

Protects system from malware/viruses

🔸 How it works:
●​ Scans files before opening
●​ Compares with virus database
●​ Uses heuristic checking (detects suspicious behaviour)
●​ Puts infected files in quarantine

🔸 Important Points:
●​ Must be updated regularly
●​ Runs in background
●​ Can give false positives

3. Defragmentation Software
Disk defragmenter – utility that reorganises the sectors on a hard disk so that files can be
stored in contiguous data blocks.

Disk content analysis software – utility that checks disk drives for empty space and disk
usage by reviewing files and folders.

Problem:
Files become fragmented (scattered) on HDD

👉 Causes slow performance


🔸 Solution:
●​ Rearranges data into contiguous blocks

🔸 Result:
●​ Faster file access
●​ Less movement of read/write head

🔸 Note:
●​ Not needed much for SSDs

4. Disk Analysis / Repair Software

Disk content analysis software – utility that checks disk drives for empty space and disk usage by
reviewing files and folders.

Purpose:

●​ Shows how disk space is used


●​ Finds unnecessary files

🔸 Functions:
●​ Deletes:
○​ temporary files
○​ cookies
○​ downloads
●​ Repairs disk errors

👉 Helps free up space + improve performance


5. File Compression

Disk compression – software that compresses data before storage on an HDD

Purpose:

●​ Reduces file size

🔸 Benefits:
●​ Saves storage space
●​ Faster:
○​ downloads/uploads
○​ email sending

🔸 Disk Compression (Extra)


●​ Compresses data before storing
●​ Decompresses when reading

⚠️ Rare now (large HDDs available)


6. Back-up Software
Back-up utility – software that makes copies of files on another portable storage device

Purpose:

Creates copies of data to prevent loss

🔸 Functions:
●​ Automatic backup scheduling
●​ Only backs up changed files

🔸 3 Backup Rule (VERY IMPORTANT)


1.​ Main file (on computer)
2.​ Local backup (USB/HDD)
3.​ Remote backup (cloud)

🔸 Extra Features:
●​ Restore lost data
●​ Create restore points
●​ Keep multiple versions of files

🔸 Examples:
●​ Windows → File History
●​ Mac → Time Machine

Program Libraries
Program library – a library on a computer where programs and routines are stored which
can be freely accessed by other software developers for use in their own programs.
Library program – a program stored in a library for future use by other programmers.

Library routine – a tested and ready-to-use routine available in the development system of
a programming language that can be incorporated into a program.

Dynamic link file (DLL) – a library routine that can be linked to another program only at the
run time stage.

What are Program Libraries?


●​ Collections of pre-written code (subroutines)
●​ Used by programmers when developing software

A program stored in a library = library program​


A small reusable part = library routine (subroutine)

🔹 Why are Program Libraries Used?


●​ To reuse existing code
●​ To save time and effort
●​ To avoid writing code from scratch

🔹 Benefits of Using Program Libraries


⏱️ Saves development time
💰 Reduces cost
●​

🧩 Supports modular programming​


●​
●​

✅ Code is already tested → fewer errors


(different programmers work on different parts)

🎮 Helps maintain consistency (same style across software)


●​

🔁 Can be reused in many programs


●​
●​

🔹 Example (Simple Understanding)


Instead of writing:

●​ graphics code
●​ sound/music code
●​ scoreboard code
👉 A developer can just import these from a library

🔹 Types of Program Libraries


🔸 1. Static Libraries
✅ How it works:
●​ Library code is added into the program during compilation

🔸 Key Points:
●​ Becomes part of the final program
●​ Program is self-contained

✔ Advantages:

●​ No need for external files at runtime


●​ Program runs independently

❌ Disadvantages:
●​ Larger program size
●​ Uses more memory

🔸 2. Dynamic Libraries (DLL)


How it works:

●​ Library code is linked at run time (not compile time)

Called Dynamic Link Library (DLL)


🔸 Key Idea:
●​ Program only contains a link
●​ Actual code is loaded when needed

✔ Advantages:

●​ Smaller program size


●​ Saves memory (only loaded when needed)
●​ Faster execution
●​ Same DLL can be used by multiple programs
●​ Can update DLL without recompiling main program

❌ Disadvantages:

●​ Program not self-contained
●​ Missing DLL → program may crash
●​ Corrupted DLL → errors/unexpected results
●​ Security risk (malware can affect DLL)

🔹 Simple Comparison
Feature Static Library Dynamic Library (DLL)

Linking Compile time Run time

Size Larger Smaller

Memory use Higher Lower

Dependency None Needs DLL files


Flexibility Low High

Language Translators
Translator – the systems software used to translate a source program written in any
language other than machine code.

Compiler – a computer program that translates a source program written in a high-level


language to machine code or p-code, object code.

Interpreter – a computer program that analyses and executes a program written in a


high-level language line by line.

Why Translation is Needed


●​ Computers only understand machine code (binary)
●​ Programs written in other languages = source code
●​ Must be translated using translators

🔹 Types of Translators
1. Assembler

What it does:

●​ Converts assembly language → machine code

🔸 Key Points:
●​ Produces machine code directly
●​ Can:
○​ Run immediately OR
○​ Be stored for later use
●​ Needs loader if stored
🔸 Important:
●​ Machine dependent ❗ ​
Works only on specific hardware

🔸 Used for:
●​ Fast, low-level tasks:
○​ OS parts
○​ robots
○​ control systems

2. Compiler

What it does:

●​ Translates entire program at once

🔸 Output:
●​ Produces object code (executable file)

🔸 Key Points:
●​ Stored program can run many times
●​ Recompile only if code changes

3. Interpreter

What it does:

●​ Translates and executes line-by-line

🔸 Key Points:
●​ No executable file created
●​ Must translate every time program runs

🔹High-Level Languages
●​ Examples:
○​ Java
○​ Python
○​ Visual Basic

👉 Machine independent (portable)​


👉 Run on any system with compiler/interpreter

Compiler vs Interpreter
✔ Compiler Advantages:
●​ Faster execution
●​ Creates executable file
●​ Code is hidden (secure)
●​ Runs without compiler later

❌ Compiler Disadvantages:
●​ Slow compilation
●​ Harder to debug
●​ Errors shown all at once

✔ Interpreter Advantages:
●​ Easy debugging (line-by-line)
●​ Errors found immediately
●​ Can see partial results

❌ Interpreter Disadvantages:
●​ Slower execution
●​ Must translate every time
●​ Source code visible (less secure)

🔹 Important Exam Points


●​ Compiler finds all errors at once
●​ Interpreter finds one error at a time
●​ Compiled programs → faster
●​ Interpreted programs → easier to debug

🔹 Partial Compilation (VERY


IMPORTANT)
What happens:

●​ Program is:
1.​ Compiled → bytecode (intermediate code)
2.​ Then interpreted to run

🔸 Examples:
●​ Java
●​ Python

🔸 Benefits:
●​ Faster than pure interpretation
●​ Still portable
Integrated Development Environment
(IDE)
Integrated development environment (IDE) – a suite of programs used to write and test a
computer program written in a high-level programming language.

What is IDE?

Software used to write, test, and debug programs

🔸 Examples:
●​ PyCharm
●​ Visual Studio
●​ NetBeans

🔹 Features of IDE
1. Source Code Editor
●​ Write and edit code
●​ Features:
○​ Syntax highlighting
○​ Prettyprint (neat layout)
○​ Auto-complete
○​ Context-sensitive help
○​ Dynamic syntax checking (errors while typing)

2. Compiler / Interpreter
●​ Run and test programs
●​ Usually both available
3. Debugger (VERY IMPORTANT)
Features:

●​ Single stepping → run line by line


●​ Breakpoints → pause at specific line
●​ Watch variables → check values
●​ Report window → shows results/errors

👉 Helps find logic errors

4. Auto-documenter
●​ Automatically explains code
●​ Adds comments/documentation

Prettyprinting – the practice of displaying or printing well set out and formatted source
code, making it easier to read and understand.

You might also like