Device drivers allow hardware devices to work with a computer system.
Give two advantages of using a low-level programming language to write device drivers.
Mark scheme
Award one mark for any of the following up to a maximum of two marks:
- It can control/manipulate the hardware (components/registers/memory locations) directly (1)
- Each instruction maps to a single machine-code instruction, so the behaviour/timing can be controlled precisely (1)
- The code can run very quickly / has a fast execution time (1)
- The code uses less memory/RAM (1)
- The code can be optimised for a particular processor/chipset (1)
Only award one mark where both 'controls the hardware' and 'accesses registers/memory locations' are given, as these are the same point.
Do not accept 'it is closer to the hardware' without saying that it controls or accesses the hardware directly.
Do not accept easier/faster to write/program/learn/understand/debug (these are advantages of high-level languages).
Do not accept faster/quicker without qualification.
Do not accept portable/machine independent.
Do not accept does not need to be translated/compiled (assembly language must be assembled).
Do not accept it is a low-level language / a repeat of the question.
Example answers and how they were marked
It can control the hardware directly and the code runs very quickly.
Why: Two creditworthy advantages: controls the hardware directly (1); fast execution (1).
It uses less memory than a high-level language.
Why: Creditworthy point: uses less memory/RAM (1). Only one advantage given.
It is easier to understand and debug than a high-level language.
Why: These are advantages of high-level languages, not low-level ones; the mark scheme does not accept easier to understand or debug.