Unit 2 Assessment Answers
Unit 2 Assessment Answers
1. (a) An operating system is required to manage interactions between the user, the
application software and the hardware. Describe three functions the operating
system provides. [6]
User interface
…act as a bridge between the user and the hardware
Memory management
…allocate RAM to different programs and ensure each process gets a share
Interrupt handling
…change what is being processed by the CPU on a priority basis
Processor scheduling
…allow multi-tasking / maximise CPU usage / ensure users/processes gain a fair
share of CPU time
(b) The operating system may use a paging table. Explain what is meant by a
paging table is and why it is necessary. [3]
If the demands for memory within a system exceed the available RAM, an area of the hard
drive can be designated as virtual memory to cope with the demand.
(c) Explain why using virtual memory is not as effective as adding more RAM. [2]
2. (a) The CPU must be able to process interrupts. State how a CPU determines if an
interrupt has been raised. [2]
1
(b) Explain how it is possible for a single processor to appear to be multi-tasking. [2]
(c) What are the aims of a scheduling algorithm in a multi-tasking system? [2]
To provide an acceptable response time to all users / To ensure fairness on a
multi-user system
To maximise the time the CPU is usefully engaged
3. Embedded systems are used in a car to monitor the car’s performance and improve the
driving experience, using sensors as input.
(a) Identify two features of embedded systems which make them suitable
for this task. [2]
The car company wants to create a video advertisement for the car involving computer
generated imagery (CGI) of the car travelling in space.
(b) Explain and justify which type of operating system would be the most suitable
for the creation of a CGI advertisement. [3]
Distributed OS
2
Large amount of processing power necessary for this task
Can combine the processing power of lots of computers networked together and
controlled by a distributed operating system.
Bytecode is intermediate code between high level and machine code, produced by
some compilers instead of object code
A bytecode interpreter translates the bytecode to machine code
It allows code to be portable to multiple platforms
(d) Explain how the use of the virtual machine protects the user from potential
effects of a virus. [2]
User executes the virtual machine (which is a trusted program) not the code
directly, which could contain a virus
If suspicious code found, the user is informed without damage to their system
5. (a) Explain the difference between systems software and applications software. [2]
Systems software needed so the system can operate / performs tasks necessary
to keep the system running smoothly
Applications software performs tasks that benefit the user
(b) Compare the benefit of disk defragmentation for files stored on a magnetic
hard drive and files stored on a solid state drive. [3]
3
(c) Cathryn is a teacher who wants her students to be able to manipulate photographs
using a graphics package. Explain why she might choose proprietary software
for this task. [2]
INP
STA x
INP
ADD x
OUT
HLT
x DAT
(a) What type of translator converts assembly code into machine code? [1]
Assembler
(b) Explain why it is easier for Jacob to write in assembly code than to write
machine code. [2]
7. (a) When high level code is compiled it goes through several stages.
Describe the role of the following in the compilation process:
(b) State the stage in the compilation process when the compiler is most likely to detect an
error in the following programs. Assume the whole program is shown in the example.
(i) animal = “cat”
PRNIT animal [1]
4
Syntax analysis
(the key word PRINT is spelt wrong, causing it to be assumed to be an identifier,
which breaks the rules of the language)
(ii) cost_per_mile = 3
journey_cost = cost_per_mile * miles [1]
ss
Semantic analysis
(the variable miles is not defined before it is used)
[Total 50 marks]