1/36
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Describe the difference between system software and application software.
System software controls and manages hardware operations and provides a platform for application software.
Application software enables the user to perform specific tasks like document creation or web browsing.
Give examples of system software.
Operating systems (e.g., Windows, Linux),
device drivers,
antivirus software,
defragmentation tools,
backup utilities.
Give examples of application software.
Word processors,
spreadsheets,
web browsers,
media players,
email clients.
Describe the role of an operating system in managing files.
Organises files and folders,
allows saving, renaming, and deletion,
maintains file systems (e.g., FAT32, NTFS)
handles file permissions.
Describe how an operating system handles interrupts.
It responds to signals from hardware or software,
pauses the current task,
runs the Interrupt Service Routine (ISR),
resumes the original task.
Describe how an operating system manages peripherals.
Controls external devices using device drivers
manages communication between hardware and software.
Describe how memory is managed by the operating system.
Allocates RAM to programs,
frees memory when tasks end,
uses virtual memory when RAM is full,
prevents crashes.
Describe how the operating system manages multitasking.
Uses CPU scheduling to run multiple tasks simultaneously while keeping them isolated.
Explain how an OS provides a platform for applications.
It launches and runs programs,
gives access to CPU, memory, and I/O, and uses APIs for system interaction.
Describe how the operating system provides system security.
Prevents unauthorised access using passwords and encryption,
protects system files,
manages permissions.
Explain how an OS manages user accounts.
Supports multiple profiles,
controls access rights and settings,
handles logins and passwords.
Describe the role of hardware, firmware, and OS in running software.
Hardware:
- The physical components of the computer (CPU, RAM, motherboard, etc.)
- Runs the bootloader (firmware)
Firmware:
- Stored on a ROM chip (e.g. BIOS/UEFI)
- Executes as soon as the system is powered on
- Loads the operating system from storage into memory
- The bootloader (firmware) is run on the hardware
OS:
- Loaded by firmware during startup
- Provides a platform and environment to run applications
- The OS is run on the firmware
Describe how an interrupt is generated.
A signal sent to the CPU from hardware (e.g., key press) or software (e.g., error) to request immediate attention.
Describe how the CPU handles an interrupt.
CPU pauses the current task,
saves its state,
runs the ISR,
then resumes the original task.
Explain what is meant by a high-level language.
- Uses English-like commands
- Machine-independent
- Examples: Python, Java, C++
Explain what is meant by a low-level language.
- Closer to machine code
- Includes Assembly Language
- Used for hardware-specific tasks
Describe the features of assembly language.
- A form of low-level language
- Uses mnemonics instead of binary
- Specific to CPU architecture
Explain the role of an assembler.
- Translates assembly language into machine code
- Converts mnemonics into binary instructions
Describe how a compiler works.
Translates the whole program at once - Creates an executable file
- Faster once compiled
- Reports all errors after full translation
- Produces an independent executable file
Used when distribution/execution speed is important
Describe how an interpreter works.
- Translates and runs code line-by-line
- Slower during execution
- Stops immediately when an error is found
- No standalone file produced
- Used during development/testing/debugging
Explain the advantages and disadvantages of a compiler
Advantages:
• Produces an executable file that runs independently of the source code
• Program runs faster after compilation
• All errors are shown together after compilation
Disadvantages:
Harder to debug – errors are reported all at once
Needs to recompile if the program is changed
• Not suitable for testing individual parts during development
Explain the advantages and disadvantages of an interpreter
Advantages:
Easier to debug – errors are shown line by line
• More portable – can run on any system with the same interpreter
No need to compile entire program to test parts of it
Disadvantages:
Slower execution as each line is translated every time it runs
Source code must be present to run
Does not produce an independent executable file
Describe the role of an IDE using code editor
- Area to write/edit code
- Often highlights syntax and errors
Describe how a compiler reports errors.
After translating the whole program, it lists all errors found so that the programmer can correct them before execution.
Explain one advantage of using an IDE during development.
An IDE provides error diagnostics and suggestions, enabling faster debugging and improved code quality.
Explain how the operating system prevents unauthorized access.
It uses features such as passwords, account permissions, and encryption to restrict access to system functions and files.
Describe how the OS uses virtual memory to manage memory.
When RAM is full, the OS swaps data not in current use to secondary storage and swaps it back when needed, allowing more programs to run.
Explain how HTTPS secures data transmitted over the internet.
HTTPS uses SSL/TLS encryption to encode data during transmission, preventing interception and ensuring confidentiality.
Describe the purpose of domain name system (DNS) in retrieving web pages.
DNS converts a human-readable domain name into an IP address, allowing the browser to locate the correct web serve
Describe the role of an IDE using Run-time environment
- Lets you run the program inside the IDE
- Simulates how the program works
Describe the role of an IDE using translators
May include a compiler and/or interpreter to run the program
Describe the role of an IDE using error diagnostics
- Identifies and highlights errors
- Often gives suggestions or explanations
Describe the role of an IDE using auto-completion
- Suggests keywords or variables while typing
- Speeds up coding
Describe the role of an IDE using auto-correction
Fixes small syntax errors automatically (like spelling correction)
Describe the role of an IDE using pretty print
- Automatically formats code for better readability
- Indents and spaces neatly
Explain the advantages and disadvantages of high-level language
Advantages:
- Easier to read/write/debug
- Portable between systems
- More abstract from hardware
Disadvantages:
Slower execution
- Requires translator (compiler or interpreter)
Explain the advantages and disadvantages of low-level language
Advantages:
- Faster execution
- Direct control of hardware
- Efficient memory use
Disadvantages:
- Hard to read/write/debug
- Not portable
- Longer development time