9618-2021-mj-31-q03
May/June 2021 · Paper 31 · Question 3 · 9 marks
3(a) One mark for each correct line from Operating System Term to Description 5
Managing the execution of many programs
that appear to run at the same time
3(b) One mark for each correct statement (Max 4) 4
• An interpreter examines source code one statement at a time
• Check each statement for errors
• …If no error is found the statement is executed
• …If an error is found this is reported and the interpreter halts
• Interpretation is repeated for every iteration in repeated sections of
code/in loops
• Interpretation has to be repeated every time the program is run
Question Answer Marks
Official mark scheme pages: 5 · source PDF URL
9618-2021-mj-31-q04
May/June 2021 · Paper 31 · Question 4 · 8 marks
4(a)(i) One mark for each correct marking point (Max 2) 2
• Reverse Polish Notation provides an unambiguous method of
representing an expression
• … reading from left to right
• …without the need to use brackets
• …with no need for rules of precedence / BODMAS
© UCLES 2021 Page 5 of 10
4(a)(ii) One mark for identification of the data structure, 2
One mark for a sensible reason
Either:
Structure: stack
The operands are popped from the stack in the reverse order to how they
were pushed
Or:
Structure: Binary tree
A (binary) tree allows both infix and postfix to be evaluated (tree traversal)
4(b) a b - a c + * 7 / 1
4(c) a / b * 4 – (a + b) 1
4(d) 1 mark for correct structure 2
1 mark for correct substitution
(a + b) / (c / d)
(17 + 3) / (48 / 12)
Question Answer Marks
Official mark scheme pages: 5, 6 · source PDF URL
9618-2021-mj-32-q03
May/June 2021 · Paper 32 · Question 3 · 9 marks
3(a) One mark for each correct line from Operating System Term to Description 5
Managing the execution of many programs
that appear to run at the same time
3(b) One mark for each correct statement (Max 4) 4
• An interpreter examines source code one statement at a time
• Check each statement for errors
• …If no error is found the statement is executed
• …If an error is found this is reported and the interpreter halts
• Interpretation is repeated for every iteration in repeated sections of
code/in loops
• Interpretation has to be repeated every time the program is run
Question Answer Marks
Official mark scheme pages: 5 · source PDF URL
9618-2021-mj-32-q04
May/June 2021 · Paper 32 · Question 4 · 8 marks
4(a)(i) One mark for each correct marking point (Max 2) 2
• Reverse Polish Notation provides an unambiguous method of
representing an expression
• … reading from left to right
• …without the need to use brackets
• …with no need for rules of precedence / BODMAS
© UCLES 2021 Page 5 of 10
4(a)(ii) One mark for identification of the data structure, 2
One mark for a sensible reason
Either:
Structure: stack
The operands are popped from the stack in the reverse order to how they
were pushed
Or:
Structure: Binary tree
A (binary) tree allows both infix and postfix to be evaluated (tree traversal)
4(b) a b - a c + * 7 / 1
4(c) a / b * 4 – (a + b) 1
4(d) 1 mark for correct structure 2
1 mark for correct substitution
(a + b) / (c / d)
(17 + 3) / (48 / 12)
Question Answer Marks
Official mark scheme pages: 5, 6 · source PDF URL
9618-2021-mj-33-q03
May/June 2021 · Paper 33 · Question 3 · 9 marks
3(a) One mark for each correct line from Operating System Term to Description 5
Managing the execution of many programs
that appear to run at the same time
3(b) One mark for each correct statement (Max 4) 4
• An interpreter examines source code one statement at a time
• Check each statement for errors
• …If no error is found the statement is executed
• …If an error is found this is reported and the interpreter halts
• Interpretation is repeated for every iteration in repeated sections of
code/in loops
• Interpretation has to be repeated every time the program is run
Question Answer Marks
Official mark scheme pages: 5 · source PDF URL
9618-2021-mj-33-q04
May/June 2021 · Paper 33 · Question 4 · 8 marks
4(a)(i) One mark for each correct marking point (Max 2) 2
• Reverse Polish Notation provides an unambiguous method of
representing an expression
• … reading from left to right
• …without the need to use brackets
• …with no need for rules of precedence / BODMAS
© UCLES 2021 Page 5 of 10
4(a)(ii) One mark for identification of the data structure, 2
One mark for a sensible reason
Either:
Structure: stack
The operands are popped from the stack in the reverse order to how they
were pushed
Or:
Structure: Binary tree
A (binary) tree allows both infix and postfix to be evaluated (tree traversal)
4(b) a b - a c + * 7 / 1
4(c) a / b * 4 – (a + b) 1
4(d) 1 mark for correct structure 2
1 mark for correct substitution
(a + b) / (c / d)
(17 + 3) / (48 / 12)
Question Answer Marks
Official mark scheme pages: 5, 6 · source PDF URL
9618-2021-on-31-q04
Oct/Nov 2021 · Paper 31 · Question 4 · 7 marks
4(a) One mark for each marking point (Max 2) 2
• <character>::=
• $|%|&|*|#
Complete answer
<character>::= $|%|&|*|#
4(b)(i) For example: $A9E3 1
4(b)(ii) One mark for each marking point (Max 4) 4
• <password>::=<character> …
• … <code>
• <code>::= …
• … <digit>|<capital_letter>
• … |<digit><code>|<capital_letter><code>
Complete answer
<password>::=<character><code>
<code>::=<digit>|<capital_letter>|<digit><code>|<capital_
letter><code>
Question Answer Marks
Official mark scheme pages: 5 · source PDF URL
9618-2021-on-32-q04
Oct/Nov 2021 · Paper 32 · Question 4 · 7 marks
4(a) One mark for each marking point (Max 2) 2
• <character>::=
• $|%|&|*|#
Complete answer
<character>::= $|%|&|*|#
4(b)(i) For example: $A9E3 1
4(b)(ii) One mark for each marking point (Max 4) 4
• <password>::=<character> …
• … <code>
• <code>::= …
• … <digit>|<capital_letter>
• … |<digit><code>|<capital_letter><code>
Complete answer
<password>::=<character><code>
<code>::=<digit>|<capital_letter>|<digit><code>|<capital_
letter><code>
Question Answer Marks
Official mark scheme pages: 5 · source PDF URL
9618-2022-mj-31-q05
May/June 2022 · Paper 31 · Question 5 · 12 marks
5(a) One mark for each in order jk+jk-/ 2
jk+
jk-/
5(b)(i) 1 mark per ring 4
Do not allow operators in stacks
2
3 3 6
10 10 10 10 4
10 10 10 10 10 10 40
5(b)(ii) Any four from Max 4 4
Max 3 generic answer only
Working from left to right in the expression
PUSH 10/m onto the stack
PUSH the following numbers (10/m, 3/j, 2/k) onto the stack
When the first operator ,*, is reached
… POP the top two numbers, 2/k and 3/j
… apply the operation
PUSH result back onto stack
Continue to the end of the expression
5(c) Any two from 2
recursion
implementation of ADTs e.g. linked lists
procedure calls
interrupt handling (storing contents of registers etc)
© UCLES 2022 Page 7 of 11
Official mark scheme pages: 7 · source PDF URL
9618-2022-mj-32-q04
May/June 2022 · Paper 32 · Question 4 · 13 marks
4(a) An unsigned integer,12, is used instead of the last variable 2
// 12 is not a valid variable
The variable Z is not a valid variable / missing an unsigned integer after the Z
4(b) One mark per bullet point 5
<variable> ::= <letter><unsigned_integer>
<unsigned_integer> ::= <digit>|<digit><digit>
<digit> ::= 1 | 2 | 3
and <operator> ::= + | - | *
<assignment_statement> ::= <variable> =
<variable><operator><variable>
© UCLES 2022 Page 5 of 9
4(c)(i) 3
One mark adding both boxes… unsigned integer unsigned integer
One mark for correct position(s) and connector(s) …
One mark … rest correct
(assignment statement)
unsigned integer unsigned integer
variable = variable operator variable
4(c)(ii) Max three 3
One mark for
<assignment_statement>::=<variable>=
One mark two or three correct options or two marks if all four options correct
<variable><operator><variable>
|<variable><operator><unsigned_integer>
|<unsigned_integer><operator><variable>
|<unsigned_integer><operator><unsigned_integer>
<assignment_statement>::=<variable>= <variable><operator><variable>|<variable><operator>
<unsigned_integer>|<unsigned_integer><operator><variable>
|<unsigned_integer><operator><unsigned_integer>
or
One mark for each section
<operand>::=<variable>|<unsigned_integer>
<assignment_statement>::=<variable>=
<operand><operator><operand>
<operand>::=<variable>|<unsigned_integer>
<assignment_statement>::=<variable>=<operand><operator><operand>
© UCLES 2022 Page 6 of 9
Official mark scheme pages: 5, 6 · source PDF URL
9618-2022-mj-33-q05
May/June 2022 · Paper 33 · Question 5 · 12 marks
5(a) One mark for each in order jk+jk-/ 2
jk+
jk-/
5(b)(i) 1 mark per ring 4
Do not allow operators in stacks
2
3 3 6
10 10 10 10 4
10 10 10 10 10 10 40
5(b)(ii) Any four from Max 4 4
Max 3 generic answer only
Working from left to right in the expression
PUSH 10/m onto the stack
PUSH the following numbers (10/m, 3/j, 2/k) onto the stack
When the first operator ,*, is reached
… POP the top two numbers, 2/k and 3/j
… apply the operation
PUSH result back onto stack
Continue to the end of the expression
5(c) Any two from 2
recursion
implementation of ADTs e.g. linked lists
procedure calls
interrupt handling (storing contents of registers etc)
© UCLES 2022 Page 7 of 11
Official mark scheme pages: 7 · source PDF URL
9618-2022-on-31-q04
Oct/Nov 2022 · Paper 31 · Question 4 · 4 marks
4 One mark for each correct line connecting one stage of compilation to a description 4
Question Answer Marks
Official mark scheme pages: 7 · source PDF URL
9618-2022-on-31-q05
Oct/Nov 2022 · Paper 31 · Question 5 · 3 marks
5(a) a b * b + d - 15 + 1
5(b)(i) (a - b) * (c + d) / a 1
5(b)(ii) –39 1
© UCLES 2022 Page 7 of 15
Official mark scheme pages: 7 · source PDF URL
9618-2022-on-31-q08
Oct/Nov 2022 · Paper 31 · Question 8 · 4 marks
8(a) One mark for each correct point (Max 3) 3
• Disk / secondary storage is used to extend the RAM / memory available
• … so the CPU appears to be able to access more memory space than the available RAM
• Only the data in use needs to be in main memory so data can be swapped between RAM and virtual memory as
necessary
• Virtual memory is created temporarily.
8(b) One mark for a correct statement about the difference between paging and segmentation e.g. 1
• Paging allows the memory to be divided into fixed size blocks and
Segmentation divides the memory into variable sized blocks.
• The operating system divides the memory into pages, the compiler is responsible for calculating the segment size.
• Access times for paging is faster than for segmentation.
© UCLES 2022 Page 10 of 15
Official mark scheme pages: 10 · source PDF URL
9618-2022-on-32-q02
Oct/Nov 2022 · Paper 32 · Question 2 · 4 marks
2
1(c) One mark per point 2
• Following an arithmetic/logical operation
• … the result is too small to be precisely represented in the available system // When the number of bits is not enough /
too small for the computer’s allocated word size / to represent the binary number
Question Answer Marks
2(a) One mark per point 2
• Code generation
• Optimisation
© UCLES 2022 Page 4 of 16
2(b) One mark per point (Max 2) 2
• It checks that the code matches the grammar of the language // It checks that the tokens conform with the rules of the
programming language
• Syntax errors are reported
• A parse tree is produced.
Question Answer Marks
Official mark scheme pages: 4, 5 · source PDF URL
9618-2022-on-32-q09
Oct/Nov 2022 · Paper 32 · Question 9 · 9 marks
9(a) One mark for each point (Max 3) 3
• Process scheduling allows more than one program/task to appear to be executed at the same time / enables multi-
tasking / multiprogramming.
• To allow high priority jobs to be completed first.
• To keep the CPU busy all the time
• … to ensure that all processes execute efficiently
• … and to have reduced wait times for all processes / to ensure all processes have fair access to the CPU / prevent
starvation of some processes.
© UCLES 2022 Page 12 of 16
9(b) One mark for each point (Max 2) for Shortest job first: 6
• Process are executed in ascending order of the amount of CPU time required // Short processes are executed first and
followed by longer processes.
• …which leads to an increased throughput (because more processes can be executed in a smaller amount of time).
One mark for each point (Max 2) for Round robin:
• Each process is served by the CPU for a fixed time/time slice (so all processes are given the same priority).
• Starvation doesn’t occur (because for each round robin cycle, every process is given a fixed time/time slice to execute).
One mark for each point (Max 2) for First come first served:
• No complex logic, each process request is queued as it is received and executed one by one.
• Starvation doesn’t occur (because every process will eventually get a chance to run) // less processor overhead.
Question Answer Marks
Official mark scheme pages: 12, 13 · source PDF URL
9618-2022-on-33-q04
Oct/Nov 2022 · Paper 33 · Question 4 · 4 marks
4 One mark for each correct line connecting one stage of compilation to a description 4
Question Answer Marks
Official mark scheme pages: 7 · source PDF URL
9618-2022-on-33-q05
Oct/Nov 2022 · Paper 33 · Question 5 · 3 marks
5(a) a b * b + d - 15 + 1
5(b)(i) (a - b) * (c + d) / a 1
5(b)(ii) –39 1
© UCLES 2022 Page 7 of 15
Official mark scheme pages: 7 · source PDF URL
9618-2022-on-33-q08
Oct/Nov 2022 · Paper 33 · Question 8 · 4 marks
8(a) One mark for each correct point (Max 3) 3
• Disk / secondary storage is used to extend the RAM / memory available
• … so the CPU appears to be able to access more memory space than the available RAM
• Only the data in use needs to be in main memory so data can be swapped between RAM and virtual memory as
necessary
• Virtual memory is created temporarily.
8(b) One mark for a correct statement about the difference between paging and segmentation e.g. 1
• Paging allows the memory to be divided into fixed size blocks and
Segmentation divides the memory into variable sized blocks.
• The operating system divides the memory into pages, the compiler is responsible for calculating the segment size.
• Access times for paging is faster than for segmentation.
© UCLES 2022 Page 10 of 15
Official mark scheme pages: 10 · source PDF URL
9618-2023-mj-31-q06
May/June 2023 · Paper 31 · Question 6 · 8 marks
6(a) One mark per correct valid/invalid and reason combination (Max 3) 3
DPAD99$ – Valid
Reason – 4/multiple letters followed by 2/multiple digits followed by a symbol.
DAD#95 – Invalid
Reason – The symbol comes before the digits – it should be after.
ADY123? – Invalid
Reason – The ? is not a valid symbol.
6(b) <symbol> ::= $ | % | & | @ | # 1
<letter> ::= A | D | P | R | Y
© UCLES 2023 Page 5 of 10
6(c) One mark per mark point (Max 4) 4
begins with a letter
letter can repeat and digit present
digit can repeat or can be bypassed
correct structure – name, boxes and arrows (in and out).
Example answers:
identifier
letter digit
identifier
letter letter digit
Question Answer Marks
Official mark scheme pages: 5, 6 · source PDF URL
9618-2023-mj-32-q03
May/June 2023 · Paper 32 · Question 3 · 9 marks
3(a) One mark per correct valid/invalid and reason combination (Max 2) 2
9SW – Invalid
Reason - This begins with a digit and a variable must begin with a letter
UWY – Valid
Reason – This begins with a letter and is followed by two other letters.
3(b) One mark per mark point (Max 3) 3
<word> ::= <letter>|
…<word><letter>
<variable> ::= <word>|<word><digit>
Example answers
<word> ::= <letter>|<word><letter>
<word> ::= <letter><word>|<letter>
<variable> ::= <word>|<word><digit>
<variable> ::= <word><digit>|<word>
3(c)(i) Answer must be two letters followed by one, two or three digits using the letters 1
and digits on the syntax diagram.
Example answer
AC768
3(c)(ii) One mark per mark point (Max 3) 3
always has only two letters
one, two or three digits possible
correct arrows, boxes and name of syntax diagram
Example answer
Vehicle registration
letter letter digit digit digit
© UCLES 2023 Page 5 of 12
Official mark scheme pages: 5 · source PDF URL
9618-2023-mj-33-q06
May/June 2023 · Paper 33 · Question 6 · 8 marks
6(a) One mark per correct valid/invalid and reason combination (Max 3) 3
DPAD99$ – Valid
Reason – 4/multiple letters followed by 2/multiple digits followed by a symbol.
DAD#95 – Invalid
Reason – The symbol comes before the digits – it should be after.
ADY123? – Invalid
Reason – The ? is not a valid symbol.
6(b) <symbol> ::= $ | % | & | @ | # 1
<letter> ::= A | D | P | R | Y
© UCLES 2023 Page 5 of 10
6(c) One mark per mark point (Max 4) 4
begins with a letter
letter can repeat and digit present
digit can repeat or can be bypassed
correct structure – name, boxes and arrows (in and out).
Example answers:
identifier
letter digit
identifier
letter letter digit
Question Answer Marks
Official mark scheme pages: 5, 6 · source PDF URL
9618-2023-on-31-q09
Oct/Nov 2023 · Paper 31 · Question 9 · 9 marks
9(a)(i) One mark per mark point (Max 2) 2
• (5 – 2)
• * (5 + 4) / 9
Final correct expression
(5 – 2) * (5 + 4) / 9
9(a)(ii) One mark per ring (Max 4) 4
4
2 5 5 9 9
5 5 3 3 3 3 27 27 3
OR
5 2 3 5 4 9 27 9 3
5 3 5 3 27
3
9(b) One mark per mark point (Max 3) 3
MP1 Evaluate the RPN expression from left to right
MP2 Push each element of the RPN expression onto the stack in order
until an operator is reached
MP3 Pop the last two elements from the stack and apply the operator
MP4 Push the result of the operation onto the stack
MP5 Repeat the process until the whole expression is evaluated.
© UCLES 2023 Page 7 of 9
Official mark scheme pages: 7 · source PDF URL
9618-2023-on-32-q05
Oct/Nov 2023 · Paper 32 · Question 5 · 5 marks
5(a) One mark per mark point (Max 2) 2
MP1 Virtual memory is used when RAM is running low
MP2 …such as when a computer is running many processes at once.
MP3 Virtual memory may be used for efficient use of RAM / the processor
MP4 …such as if data / programs are not immediately needed, they can be
moved from RAM to virtual memory
5(b) One mark per mark point (Max 3) 3
MP1 Disk thrashing is a problem that may occur when frequent transfers
between main memory and secondary memory take place // Disk
thrashing is a problem that may occur when virtual memory is being
used
MP2 As main memory fills up, more pages need to be swapped in and out
of secondary/virtual memory
MP3 This swapping leads to a very high rate of hard disk head movements
MP4 Eventually, more time is spent swapping the pages/data than
processing the data.
© UCLES 2023 Page 4 of 9
Official mark scheme pages: 4 · source PDF URL
9618-2023-on-32-q06
Oct/Nov 2023 · Paper 32 · Question 6 · 7 marks
6(a) One mark per ring (Max 4). 4
5
3 2 10 10 2
20 20 60 60 30 30 30 30 60
OR
20 3 60 2 30 10 5 2 60
20 60 30 10 30
30
6(b) One mark per mark point (Max 3) 3
MP1 The (RPN) expression is read from left to right, one item at a time
MP2 Each element is checked to see if it as operator or a value
MP3 Values are pushed onto a stack until an operator is found
MP4 The operator is applied to the last two values on the stack and the
result is pushed back onto the stack
MP5 This repeats until a single value remains, which is the solution.
Question Answer Marks
Official mark scheme pages: 5 · source PDF URL
9618-2023-on-32-q09
Oct/Nov 2023 · Paper 32 · Question 9 · 13 marks
9(a)(i) Two marks for all five empty boxes correct 2
One mark for any three or four empty boxes correct
Identifier Data type Description
BasePointer INTEGER Points to the bottom of the stack
TopPointer INTEGER Points to the top of the stack
Stack REAL List of decimal numbers stored in the stack
© UCLES 2023 Page 6 of 9
9(a)(ii) One mark for each correctly completed line (Max 5) 5
CONSTANT MaxSize = 40
DECLARE BasePointer : INTEGER
DECLARE TopPointer : INTEGER
DECLARE Stack : ARRAY[1:40] OF REAL
// initialisation of stack
PROCEDURE Initialise()
BasePointer 1
TopPointer 0
ENDPROCEDURE
// adding an item to the stack
PROCEDURE Push(NewItem)
IF TopPointer < MaxSize THEN
TopPointer TopPointer + 1
Stack[TopPointer] NewItem
ENDIF
ENDPROCEDURE
9(b) One mark for linked list and one mark for array (Max 2) 2
Linked list
MP1 A linked list is a dynamic data structure / not restricted in size
MP2 Has greater freedom to expand or contract by adding or removing
nodes as necessary
MP3 Allows more efficient editing using pointers (instead of moving the
data).
Array
MP4 An array is a static data structure1 generally fixed in size
MP5 When the array is full, the stack cannot be extended any further.
9(c) One mark per mark point (Max 1) 4
MP1 The compiler must produce object code to
One mark per mark point (Max 3)
MP2 …push return addresses / values of local variables onto a stack
MP3 …with each recursive call // … to set up winding
MP4 …pop return addresses / values of local variables off the stack …
MP5 …after the base case is reached // … to implement unwinding.
© UCLES 2023 Page 7 of 9
Official mark scheme pages: 6, 7 · source PDF URL
9618-2023-on-33-q09
Oct/Nov 2023 · Paper 33 · Question 9 · 9 marks
9(a)(i) One mark per mark point (Max 2) 2
• (5 – 2)
• * (5 + 4) / 9
Final correct expression
(5 – 2) * (5 + 4) / 9
9(a)(ii) One mark per ring (Max 4) 4
4
2 5 5 9 9
5 5 3 3 3 3 27 27 3
OR
5 2 3 5 4 9 27 9 3
5 3 5 3 27
3
9(b) One mark per mark point (Max 3) 3
MP1 Evaluate the RPN expression from left to right
MP2 Push each element of the RPN expression onto the stack in order
until an operator is reached
MP3 Pop the last two elements from the stack and apply the operator
MP4 Push the result of the operation onto the stack
MP5 Repeat the process until the whole expression is evaluated.
© UCLES 2023 Page 7 of 9
Official mark scheme pages: 7 · source PDF URL
9618-2024-mj-31-q05
May/June 2024 · Paper 31 · Question 5 · 9 marks
5(a) One mark per correct term (Max 3) 3
(5 + 2)
/ (9 – 3)
* 3
Complete correct answer
((5 + 2) / (9 - 3)) * 3
5(b) One mark 7 3 + 2
One mark 2 8 * - 6 /
Complete answer
7 3 + 2 8 * - 6 /
© Cambridge University Press & Assessment 2024 Page 7 of 14
5(c) One mark per ring (Max 4) 4
3
5 7 7 10 10
17 17 12 12 12 12 120 120 12
© Cambridge University Press & Assessment 2024 Page 8 of 14
Official mark scheme pages: 7, 8 · source PDF URL
9618-2024-mj-31-q11
May/June 2024 · Paper 31 · Question 11 · 8 marks
11(a) One mark per mark point (Max 2) 2
MP1 Uses hard-wired code/control units
MP2 Uses relatively few instructions / simple instructions
MP3 Uses relatively few addressing modes
MP4 Makes use of a single-cycle for each instruction
MP5 Makes use of fixed length / fixed format instructions
MP6 Makes use of general-purpose registers
MP7 Pipelining is straightforward to apply
MP8 The design emphasis is on the software
MP9 Processor chips require few transistors.
11(b) One mark per mark point (Max 3) 3
MP1 Once the processor detects an interrupt at the start/end of the fetch-execute cycle
MP2 … the current program is temporarily stopped and the status of each register stored on the stack.
MP3 After the interrupt has been serviced/the Interrupt Service Routine (ISR) has been executed …
MP4 … the registers can be restored to its original status before the interrupt was detected // … the data can be
restored from the stack.
11(c) One mark per mark point (Max 3) 3
MP1 Pipelining adds an additional complexity // there could be a number of instructions still in the pipeline when the
interrupt is received
MP2 All the instructions currently in operation are usually discarded except for the last one/the one at write back
MP3 … the interrupt handler routine is applied to the remaining instruction.
MP4 Once the interrupt has been serviced the processor can restart with the next instruction in the sequence.
© Cambridge University Press & Assessment 2024 Page 14 of 14
Official mark scheme pages: 14 · source PDF URL
9618-2024-mj-32-q05
May/June 2024 · Paper 32 · Question 5 · 9 marks
5(a) One mark 7 2 – 8 + 2
One mark 9 5 - /
Complete answer
7 2 – 8 + 9 5 - /
© Cambridge University Press & Assessment 2024 Page 5 of 14
5(b) One mark per ring (Max 4) 4
3 7
9 6 6 9 9 2
Official mark scheme pages: 5, 6 · source PDF URL
9618-2024-mj-32-q09
May/June 2024 · Paper 32 · Question 9 · 7 marks
9(a) One mark per mark point for up to two benefits (Max 2) 4
MP1 COMPATIBILTY e.g. Applications that aren’t compatible with the host computer can be run on the virtual machine
// It is possible to emulate old software on a new system by running a compatible guest operating system as a
virtual machine // Software can be tried on different OS on the same hardware.
MP2 PROTECTION e.g. The guest operating system has no effect on anything outside the virtual machine other virtual
machines or the host computer//Virtual machines are useful for testing as they will not crash the host computer if
something goes wrong // Easier to recover if software causes a system crash as virtual machine software protects
the host system.
MP3 COST e.g. No need to buy extra computers / hardware as multiple virtual machines can be implemented on the
same hardware.
One mark per mark point for up to two limitations (Max 2)
MP4 PERFORMANCE e.g. The performance of the guest operating system will not be as good on a virtual machine as
it would be on its own compatible machine because of the extra code / using more RAM/memory space // The
performance of the VM is dependent on the capabilities of the host computer // Response times cannot be
accurately measured using a virtual machine.
MP5 COMPLEXITY e.g. Building an in-house virtual machine can be expensive, time consuming and complex to
maintain / set-up.
MP6 HARDWARE/SOFTWARE ISSUES e.g. Some hardware/software can’t be emulated with a virtual machine //
Some of the host machine’s hardware can’t be directly accessed by the virtual machine.
9(b) One mark per mark point – host operating system (Max 2) 3
MP1 The host operating system is the normal operating system for the host computer / machine.
MP2 It has control of all the resources of the host computer / machine. // It can access the physical resources of the
host computer / machine.
MP3 It provides a user interface to operate the virtual machine software.
MP4 It also runs the virtual machine software.
One mark per mark point – guest operating system (Max 2)
MP5 The guest operating system runs within the virtual machine.
MP6 … it controls the virtual hardware/software during the emulation. // It accesses the actual hardware through the
virtual machine and host operating system.
MP7 It provides a virtual user interface for the emulated hardware/software.
MP8 The guest operating system runs under the control of the host operating system.
© Cambridge University Press & Assessment 2024 Page 12 of 14
Official mark scheme pages: 12 · source PDF URL
9618-2024-mj-33-q05
May/June 2024 · Paper 33 · Question 5 · 9 marks
5(a) One mark per correct term (Max 3) 3
(5 + 2)
/ (9 – 3)
* 3
Complete correct answer
((5 + 2) / (9 - 3)) * 3
5(b) One mark 7 3 + 2
One mark 2 8 * - 6 /
Complete answer
7 3 + 2 8 * - 6 /
© Cambridge University Press & Assessment 2024 Page 7 of 14
5(c) One mark per ring (Max 4) 4
3
5 7 7 10 10
17 17 12 12 12 12 120 120 12
© Cambridge University Press & Assessment 2024 Page 8 of 14
Official mark scheme pages: 7, 8 · source PDF URL
9618-2024-mj-33-q11
May/June 2024 · Paper 33 · Question 11 · 8 marks
11(a) One mark per mark point (Max 2) 2
MP1 Uses hard-wired code/control units
MP2 Uses relatively few instructions / simple instructions
MP3 Uses relatively few addressing modes
MP4 Makes use of a single-cycle for each instruction
MP5 Makes use of fixed length / fixed format instructions
MP6 Makes use of general-purpose registers
MP7 Pipelining is straightforward to apply
MP8 The design emphasis is on the software
MP9 Processor chips require few transistors.
11(b) One mark per mark point (Max 3) 3
MP1 Once the processor detects an interrupt at the start/end of the fetch-execute cycle
MP2 … the current program is temporarily stopped and the status of each register stored on the stack.
MP3 After the interrupt has been serviced/the Interrupt Service Routine (ISR) has been executed …
MP4 … the registers can be restored to its original status before the interrupt was detected // … the data can be
restored from the stack.
11(c) One mark per mark point (Max 3) 3
MP1 Pipelining adds an additional complexity // there could be a number of instructions still in the pipeline when the
interrupt is received
MP2 All the instructions currently in operation are usually discarded except for the last one/the one at write back
MP3 … the interrupt handler routine is applied to the remaining instruction.
MP4 Once the interrupt has been serviced the processor can restart with the next instruction in the sequence.
© Cambridge University Press & Assessment 2024 Page 14 of 14
Official mark scheme pages: 14 · source PDF URL
9618-2024-on-31-q08
Oct/Nov 2024 · Paper 31 · Question 8 · 7 marks
8(a) One mark per mark point (Max 4) 4
MP1 In segmented memory, the logical / virtual address space is broken into varying sized blocks called segments /
sections.
MP2 Each segment has a name and size.
MP3 During execution segments from logical / virtual memory are loaded into physical memory.
MP4 The address is specified by the user
MP5 … it contains the segment name and offset value.
MP6 Segments are numbered
MP7 … and this number is used as an index in the segment map table.
MP8 The offset value determines the size of the segment.
MP9 A segment map table maps logical / virtual addresses to physical addresses / contains the segment number and
offset.
© Cambridge University Press & Assessment 2024 Page 10 of 17
8(b) One mark per mark point (Max 3) 3
MP1 Disk thrashing is a problem that may occur when virtual memory is being used.
MP2 As the main memory fills up, more and more pages need to be swapped in and out of virtual memory.
MP3 This swapping leads to a very high rate of hard disk access / excessive disk head movements.
MP4 Moving a hard disk read/write head takes a relatively long time / long latency time.
MP5 Eventually, more time is spent swapping pages than processing data thrash point, which can cause the program to
freeze or not run.
© Cambridge University Press & Assessment 2024 Page 11 of 17
Official mark scheme pages: 10, 11 · source PDF URL
9618-2024-on-31-q10
Oct/Nov 2024 · Paper 31 · Question 10 · 9 marks
10(a) One mark per mark point (Max 4) 4
• <operator> ::= + | – | * | /
• <label> ::= <letter><digit>|<letter><digit><digit>
• <equation> ::= <label> =
• <label><operator><label>
10(b)(i) One mark per mark point (Max 3) 3
MP1 begin with either a letter or a symbol
MP2 end with either one or two symbols
MP3 digit and all other connections and label correct.
password
letter digit symbol symbol
symbol
© Cambridge University Press & Assessment 2024 Page 13 of 17
10(b)(ii) One mark per mark point (Max 2) 2
• <password> ::= <letter><digit><symbol>|
• <letter><digit><symbol><symbol>|<symbol><digit><symbol>|
<symbol><digit><symbol><symbol>
<password> ::= <letter><digit><symbol>|
<letter><digit><symbol><symbol>|<symbol><digit><symbol>|
<symbol><digit><symbol><symbol>
Alternative Answer
One mark per mark point (Max 2)
• All three lines correct
• Any two lines correct
<first> ::= <letter>|<symbol>
<last> ::= <symbol>|<symbol><symbol>
<password> ::= <first><digit><last>
© Cambridge University Press & Assessment 2024 Page 14 of 17
Official mark scheme pages: 13, 14 · source PDF URL
9618-2024-on-32-q07
Oct/Nov 2024 · Paper 32 · Question 7 · 9 marks
7(a) One mark per mark point (Max 2) 2
MP1 21 - a number must begin with an odd digit, 2 is even
MP2 123 - a number can only be one or two digits in length not three
7(b) One mark per mark point (Max 2) 2
MP1 <symbol> ::= % | £ | # | @ | $
MP2 <number> ::= <odd>|<odd><even>|<odd><odd>
7(c)(i) One mark per mark point (Max 3) 3
MP1 letter, number and symbol all included in correct order: letter first, followed by number, finishing with symbol
MP2 provision for one or two numbers including relevant connectors
MP3 all other connections and label correct and no additional data
Example answer
code
letter number number symbol
© Cambridge University Press & Assessment 2024 Page 9 of 15
7(c)(ii) One mark per correct line (Max 2) 2
<code> ::= <letter><number><symbol>|
<letter><number><number><symbol>
OR
<code> ::= <letter><number><number><symbol>|
<letter><number><symbol>
Alternative Answer
One mark per correct line (Max 2)
<digits> ::= <number>|<number><number>
<code> ::= <letter><digits><symbol>
Question Answer Marks
Official mark scheme pages: 9, 10 · source PDF URL
9618-2024-on-32-q09
Oct/Nov 2024 · Paper 32 · Question 9 · 5 marks
9(a) One mark per mark point (Max 2) 2
MP1 the kernel receives a signal when an interrupt is generated
MP2 the kernel checks the priority and reviews the status/priority of the current interrupts
MP3 system enters kernel mode if the type of interrupt is of higher priority than the current process
MP4 the kernel consults the interrupt dispatch table / IDT
MP5 … and saves the state of the interrupted process / contents of the registers on the kernel stack
MP6 the kernel restores the process state e.g. contents of registers once the interrupt is serviced
9(b)(i) One mark per mark point (Max 1) 1
MP1 multi-tasking allows computers to carry out / seem to carry out more than one process at a time
9(b)(ii) One mark per mark point (Max 2) 2
MP1 processor time/common hardware and resources is/are shared between tasks
MP2 scheduling is used to decide on the processes to be carried out to ensure multi-tasking operates correctly / efficiently
/ without clashes
MP3 one task of a higher priority can interrupt another task that is currently running
Question Answer Marks
Official mark scheme pages: 11 · source PDF URL
9618-2024-on-33-q08
Oct/Nov 2024 · Paper 33 · Question 8 · 7 marks
8(a) One mark per mark point (Max 4) 4
MP1 In segmented memory, the logical / virtual address space is broken into varying sized blocks called segments /
sections.
MP2 Each segment has a name and size.
MP3 During execution segments from logical / virtual memory are loaded into physical memory.
MP4 The address is specified by the user
MP5 … it contains the segment name and offset value.
MP6 Segments are numbered
MP7 … and this number is used as an index in the segment map table.
MP8 The offset value determines the size of the segment.
MP9 A segment map table maps logical / virtual addresses to physical addresses / contains the segment number and
offset.
© Cambridge University Press & Assessment 2024 Page 10 of 17
8(b) One mark per mark point (Max 3) 3
MP1 Disk thrashing is a problem that may occur when virtual memory is being used.
MP2 As the main memory fills up, more and more pages need to be swapped in and out of virtual memory.
MP3 This swapping leads to a very high rate of hard disk access / excessive disk head movements.
MP4 Moving a hard disk read/write head takes a relatively long time / long latency time.
MP5 Eventually, more time is spent swapping pages than processing data thrash point, which can cause the program to
freeze or not run.
© Cambridge University Press & Assessment 2024 Page 11 of 17
Official mark scheme pages: 10, 11 · source PDF URL
9618-2024-on-33-q10
Oct/Nov 2024 · Paper 33 · Question 10 · 9 marks
10(a) One mark per mark point (Max 4) 4
• <operator> ::= + | – | * | /
• <label> ::= <letter><digit>|<letter><digit><digit>
• <equation> ::= <label> =
• <label><operator><label>
10(b)(i) One mark per mark point (Max 3) 3
MP1 begin with either a letter or a symbol
MP2 end with either one or two symbols
MP3 digit and all other connections and label correct.
password
letter digit symbol symbol
symbol
© Cambridge University Press & Assessment 2024 Page 13 of 17
10(b)(ii) One mark per mark point (Max 2) 2
• <password> ::= <letter><digit><symbol>|
• <letter><digit><symbol><symbol>|<symbol><digit><symbol>|
<symbol><digit><symbol><symbol>
<password> ::= <letter><digit><symbol>|
<letter><digit><symbol><symbol>|<symbol><digit><symbol>|
<symbol><digit><symbol><symbol>
Alternative Answer
One mark per mark point (Max 2)
• All three lines correct
• Any two lines correct
<first> ::= <letter>|<symbol>
<last> ::= <symbol>|<symbol><symbol>
<password> ::= <first><digit><last>
© Cambridge University Press & Assessment 2024 Page 14 of 17
Official mark scheme pages: 13, 14 · source PDF URL
9618-2025-mj-31-q06
May/June 2025 · Paper 31 · Question 6 · 4 marks
6 One mark for each mark point (Max 4) 4
MP1 The interpreter translates the source code one line at a time
MP2 If the line is syntax error free it is executed
MP3 It is not stored in executable format
MP4 If an error is found, the program halts with an error message
MP5 Each line must be translated every time it is run, including lines running multiple times for example in loops
© Cambridge University Press & Assessment 2025 Page 11 of 15
Official mark scheme pages: 11 · source PDF URL
9618-2025-mj-31-q07
May/June 2025 · Paper 31 · Question 7 · 6 marks
7(a) One mark for each correct answer 2
#Jd7 – must begin with a member of the group uppercase // cannot begin with a symbol
C%6A – the fourth character cannot be a member of the group uppercase // the fourth character must be either a symbol,
digit or lowercase
7(b) One mark per mark point 4
<uppercase> ::= A | C | E | G | J
<passcode> ::= <uppercase><code>
<code> ::= <lowercase>|<symbol>|<digit>
|<lowercase><code>|<symbol><code>|<digit><code>
Question Answer Marks
Official mark scheme pages: 12 · source PDF URL
9618-2025-mj-31-q08
May/June 2025 · Paper 31 · Question 8 · 6 marks
8(a) One mark for each mark point 2
MP1 Running multiple processes concurrently
MP2 … which benefits process management by allowing more tasks to complete than would be the case if they had to
run one task after another.
8(b) One mark for each mark point (Max 3) 4
MP1 The processes are queued as they arrive
MP2 Processes with the shortest burst time are executed first
MP3 It is a pre-emptive scheduling function // When a process with a shorter burst time arrives the existing process is
replaced by the shorter process.
MP4 The scheduler will continue to choose shorter processes over longer processes if they continue to be added to the
queue can cause starvation for longer jobs
One mark for benefit (Max 1) e.g.
MP5 Processes with a short burst time are processed very quickly
MP6 Waiting time is minimised
© Cambridge University Press & Assessment 2025 Page 12 of 15
Official mark scheme pages: 12 · source PDF URL
9618-2025-mj-32-q05
May/June 2025 · Paper 32 · Question 5 · 7 marks
5(a) One mark per point 3
• Running state
• Ready state
• Blocked state
5(b) One mark per mark point (Max 3) 4
MP1 The processes are queued as they arrive
MP2 The process with the shortest time to complete/burst time is selected
first and executed
MP3 The process will continue until complete or put in a waiting state once
execution has begun // it is non-pre-emptive
MP4 The scheduler will continue to choose shorter processes over longer
processes if they continue to be added to the queue can cause starvation for
longer jobs
One mark for a benefit (Max 1)
MP5 Shorter jobs don’t have to wait for longer jobs to complete before
processing // Significantly reduces the average overall waiting time for
processes // Ensures starvation doesn’t occur for process with shorter burst
times
MP6 Higher throughput of processes
© Cambridge University Press & Assessment 2025 Page 6 of 12
Official mark scheme pages: 6 · source PDF URL
9618-2025-mj-32-q08
May/June 2025 · Paper 32 · Question 8 · 4 marks
8 One mark per mark point (Max 4) 4
MP1 It is the first stage of compilation
MP2 White space and comments are removed
MP3 It takes modified source code and breaks it into a series of tokens
MP4 Each token is categorised and assigned types
MP5 Identifiers are stored in a symbol table
MP6 If the lexical analyser finds invalid tokens, it generates an error
MP7 Acceptable data from the lexical analyser passes to the syntax
analyser
Question Answer Marks
Official mark scheme pages: 9 · source PDF URL
9618-2025-mj-32-q09
May/June 2025 · Paper 32 · Question 9 · 6 marks
9(a) Variables must begin with a letter / not a digit 1
9(b) <operator> ::= + | - | * | / | ^ 1
9(c) One mark per mark point 3
MP1 Two variable boxes added to diagram
MP2 One operator box added to diagram and all boxes in correct order
MP3 Connections, arrows and return loop correctly added and no
additional boxes or connections
expression
variable = variable operator variable
© Cambridge University Press & Assessment 2025 Page 9 of 12
9(d) Answer must begin with a valid letter. It can then be followed by any number 1
of valid digits and/or letters, as long as it is at least four characters in length.
Example answer
AC768
Question Answer Marks
Official mark scheme pages: 9, 10 · source PDF URL
9618-2025-mj-33-q06
May/June 2025 · Paper 33 · Question 6 · 6 marks
6(a) One mark for each mark point (Max 2) 2
• Process scheduling is required to ensure that all processes are executed in a timely manner
• … and enables multitasking/multiprogramming/multiprocessing
• … to minimise CPU idle time
• … to ensure that no process is starved of resources. // … to ensure fair access to resources.
• … ensures jobs/processes are completed in order of priority.
© Cambridge University Press & Assessment 2025 Page 10 of 16
6(b) One mark for each mark point (Max 3) 4
MP1 Processes are queued as they arrive.
MP2 It is a pre-emptive scheduling routine.
MP3 A fixed time quantum is given to each process. // Each process has an equal time slice.
MP4 When a time slice ends, the status of the process is saved/queued so it can continue from where it left off in its
next time slice.
MP5 and the next process is executed for its time slice; its previous state is reinstated/restored, if applicable.
MP6 If a process completes within its time slice, the next process is executed for its time slice.
One mark for benefit (Max 1)
MP7 Reduces average response time by limiting each process to a fixed amount of time.
MP8 No issue with starvation of resources.
Question Answer Marks
Official mark scheme pages: 10, 11 · source PDF URL
9618-2025-mj-33-q08
May/June 2025 · Paper 33 · Question 8 · 4 marks
8 One mark per mark point (Max 4) 4
MP1 It is the second stage of compilation // It’s the compilation stage after lexical analysis.
MP2 It takes input from the lexical analyser in the form of token streams.
MP3 The source code is analysed / parsed against the rules of the language to detect any errors in the code.
MP4 The output from this phase is a parse tree.
MP5 Syntax errors are reported.
© Cambridge University Press & Assessment 2025 Page 11 of 16
Official mark scheme pages: 11 · source PDF URL
9618-2025-mj-33-q09
May/June 2025 · Paper 33 · Question 9 · 6 marks
9(a) The second character must come from either lower or digit. It can’t be upper. 1
9(b) Max 3 3
One mark
MP1 <upper> ::= J | K | L | V | X | Z
Either: fully written out answer
MP2 Any two correct options for <passcode>
MP3 Remaining two options correct for <passcode>
Example answer
<passcode> ::=
<upper><lower><lower><digit>|
<upper><lower><digit><digit>|
<upper><digit><digit><digit>|
<upper><digit><lower><digit>
Or: answer with interim expression
MP4 <passcode> ::= <upper><middle><middle><digit>
MP5 <middle> ::= <lower>|<digit>
9(c) One mark per mark point 2
MP1 Box for upper in correct place with correct connections
MP2 Correct repetition arrow for final digit
lower lower
passcode
upper digit digit digit
upper
© Cambridge University Press & Assessment 2025 Page 12 of 16
Official mark scheme pages: 12 · source PDF URL
9618-2025-on-31-q04
Oct/Nov 2025 · Paper 31 · Question 4 · 6 marks
4(a) One mark per scheduling routine (Max 2) from: 2
• Round robin
• Shortest job first
• First come first served
• Shortest remaining time
© Cambridge University Press & Assessment 2025 Page 8 of 15
4(b) One mark for identification and one mark for a description (Max 4) 4
Two from:
Provision of a User Interface // Provision of a Graphical User Interface [1]
Allows the user to interact with the computer in a more intuitive way // Icons and menus
are used to control devices by simply ‘pointing and clicking’ [1]
Use of device drivers [1]
Makes it easier to control peripherals such as printers within the operating system of the
computer rather than on the separate device itself [1]
Device mapping [1]
Different devices (physical and virtual) are easy to identify on the network, check their
status, or use [1]
The user interacts only with the Application / top layer (of the TCP/IP protocol suite) [1]
leaving the lower layers and their complexities hidden from the user [1]
Question Answer Marks Guidance
Official mark scheme pages: 8, 9 · source PDF URL
9618-2025-on-31-q08
Oct/Nov 2025 · Paper 31 · Question 8 · 8 marks
8(a) One mark per mark point (Max 2) 2
MP1 To convert the high-level source code / program into a sequence of tokens
MP2 … that can be sent to the parser for syntax analysis
MP3 To create a symbol table
MP4 To remove the unnecessary white space and comments from the code
8(b) One mark 2 6 – 2
One mark 13 7 + * 5 /
Complete answer
2 6 – 13 7 + * 5 /
© Cambridge University Press & Assessment 2025 Page 12 of 15
8(c) One mark per ring (Max 4) 4
12 6
6 6 18 15 15 9
5 5 5 5 90 90 90 90 10
Question Answer Marks Guidance
Official mark scheme pages: 12, 13 · source PDF URL
9618-2025-on-32-q05
Oct/Nov 2025 · Paper 32 · Question 5 · 5 marks
5(a) One mark per mark point (Max 2) 2
MP1 The low-level scheduler manages the handling of interrupts based on priority
MP2 … ensuring that critical events are handled without delay
MP3 It uses an Interrupt Vector Table (IVT) / Interrupt Descriptor/Despatch Table (IDT) / Interrupt Service Routine (ISR)
lookup
MP4 … to map the interrupt to the specific handling routine / ISR.
5(b) One mark per correct answer (Max 3) 3
Process state Reason
running CPU time has been allocated and the process is being executed.
The process is waiting (in the ready queue) for a slice of CPU time. It could run. // It has been displaced
ready
by a higher priority process and could otherwise still run.
blocked The process is waiting for an I/O operation / some event to take place / be completed.
© Cambridge University Press & Assessment 2025 Page 10 of 17
Official mark scheme pages: 10 · source PDF URL
9618-2025-on-32-q08
Oct/Nov 2025 · Paper 32 · Question 8 · 8 marks
8(a) To improve the code by making it use minimum resources (CPU, memory/storage, time) // Answer by example: To improve 1
the code by
• minimising program storage
• minimising CPU time
• minimising memory use
• minimising program execution time (includes peripheral use as well as CPU)
8(b) One mark (a – b + c) 3
One mark * (c - a)
One mark / d
Complete answer
(a – b + c) * (c - a) / d
© Cambridge University Press & Assessment 2025 Page 13 of 17
8(c) One mark per ring (Max 4) 4
6
3 16 16 10 16
Official mark scheme pages: 13, 14 · source PDF URL
9618-2025-on-33-q05
Oct/Nov 2025 · Paper 33 · Question 5 · 4 marks
5(a) To enable multiple programs/processes to be executed at the same time 1
5(b) One mark per mark point (Max 3) 3
MP1 the operating system monitors the state of each task/process
MP2 using scheduling to ensure hardware resources are used efficiently
MP3 … and making sure that tasks/processes do not clash.
© Cambridge University Press & Assessment 2025 Page 8 of 16
Official mark scheme pages: 8 · source PDF URL
9618-2025-on-33-q07
Oct/Nov 2025 · Paper 33 · Question 7 · 9 marks
7(a) One mark per mark point (Max 2) 2
MP1 To identify and remove redundant code / To simplify expressions /
To reorder the code
MP2 … so that storage size/memory use/power consumption/program
execution time/CPU time is minimized.
7(b) One mark per mark point (Max 2) 3
MP1 6 12 +
MP2 16 10 – /
MP3 18 *
Final correct expression
6 12 + 16 10 – / 18 *
© Cambridge University Press & Assessment 2025 Page 10 of 16
7(c) One mark per ring (Max 3) 4
One mark for the interim total (360) and the final total (10).
6 24
4 12 12 18 12 12 36
24 24 20 20 20 20 360 360 360 360 10
© Cambridge University Press & Assessment 2025 Page 11 of 16
Official mark scheme pages: 10, 11 · source PDF URL