To convert (high-level or assembly) code to low level/machine code
Explain two differences between a compiler and an interpreter.
Compiler translates code all at once/before it’s executed
Interpreter translates code line by line / during runtime
Compiler produces executable file for reuse // Doesn’t need to be translated every time it is run
Interpreter needs to re-translate next time program is run
Compiler lists all errors//Compiled code doesn’t run if there are any errors
Interpreter stops at the first error
Compiled programs have the source code hidden
Interpreted programs have the source code visible
Describe the purpose of code optimisation
To make the program run faster// code is more efficient
To make the program use fewer resources/less memory
Explain why the computer’s operating system uses a first come first served algorithm when sending documents to the printer.
For printer queue
All documents/users have equal priority
Whichever document is received first is printed first
First in First Out / Last in Last Out
Explain why the computer’s operating system uses a round-robin algorithm for allocating processor time
To enable multitasking to take place
To switch between active processes and those running in the background
To limit each process to a certain amount of time//allow processes an equal share of processor time
to ensure the OS cycles through all processes // the process then goes to the back of the end of the queue
so that users can receive an immediate response
to handle an interrupt immediately
Describe one other scheduling algorithm.
Shortest job first / shortest remaining time
Process which has the shortest time (remaining) is completed first
Multilevel feedback queues
Uses queues with different priorities
Jobs can be moved between queues
An object oriented system is implemented to organise further information about each worker’s attendance. Classes, objects, methods and attributes are used in this system. State the meaning of each of the following terms:
Object – instantiated from class
Method – action object performs / link to procedure/functions
Attribute – value held by object / link to variable
Describe two ways that an operating system could manage physical memory.
Paging blocks of memory of equal size / fixed size
Segmentation blocks of memory split logically /variable size
Explain one benefit of memory management to the user.
Security - does not let programs access memory reserved for other programs.
Multitasking - allows multiple programs to run at once
Describe how virtual memory allows a user to run programs when physical memory is full.
(Currently unneeded) pages moved from memory to secondary storage to create room in memory
pages moved back to memory when required
Define what is meant by the term ‘device driver’, giving one example of a device driver that a home user would need.
Software that allows the operating system to communicate with hardware
Examples: Printer driver
Webcam driver
Sound card driver
Graphics card driver
Give two examples of utility software, explaining the purpose of both.
Encryption - scrambles meaning of data files with a key
Defragmentation - organises file segments on secondary storage
Compression - reduces size of files
Backup - makes regular copies of files in case of loss
State what is meant by the term ‘open source software’
Source code is freely available to edit/amend / recompile.
Give one benefit to Imogen of using an open source IDE rather than a closed source IDE.
Can modify code and adapt IDE to her needs
Is likely to be financially free of cost.
Can recompile to work on different systems •
Has the benefit of a community potentially improving the system
Can learn from others
Can ensure no backdoors / malware
Explain what is meant by a library, giving one example of when one may be used
Sections of code / program file
Written by other authors / already written
e.g. GUI routines, database access routine, encryption, graphics
Describe one advantage of the use of library files to programmers.
Save time - because no need to rewrite code
Use expertise of others - to complete tasks that require specialist knowledge / abstract away complexity
Has already been tested/the programmer doesn’t have to test it themselves
Making debugging easier/saving time
Describe one disadvantage of the use of library files to programmers.
May (significantly) increase size of compiled file as library contains many routines that aren‘t being used.
Not written by the programmer so introduces uncertainty / require further testing / programmer needs to spend time familiarising themselves with it
Explain how linkers are used during the compilation process.
Links the main program to libraries
can either include them in the final executable code
or get the executable code to point to the external libraries
Define the term ‘embedded operating system’
System software/software used to manage the device
Which is built into the device itself
Stored in the device’s ROM/cannot be changed
Specific to the hardware/purpose
The code uses direct addressing. Describe one other mode of addressing.
Immediate addressing - operand is the value to be used.
Indirect Addressing − operand is the memory location holding a value representing the memory location to be used.
Indexed Addressing − Operand is added to contents of Index Register to get memory location of value needed.
Whilst the line STA count is being executed, the CPU receives a signal from another process, requiring its attention.
State the name for the signal received by the CPU
Interrupt
Define the term ‘utility’
A program with one purpose
used for the maintenance of the system
State how an application differs from a utility.
Application performs tasks for the user (rather than computer).
It Performs generic (rather than specific) tasks
In order to keep up to date with the latest virus threats, the company is continually updating their software.
Explain what is meant by Extreme Programming and why it is a suitable approach
A software development methodology.
Focus is on good quality code
It is an agile paradigm
it is designed to allow development to respond to changing user requirements.
Involves paired programming
Suited to this scenario as : Types of virus/threat is continually changing/updating − In order to detect virus effectively there needs to be an emphasis on code quality.
Explain why the programmers of anti-virus software may make use of virtual machines when developing the updates.
Allows them to run the update on a number of different systems/OS without needing multiple physical machines.
They can put viruses on the VM to test if the update can catch them but protect the physical machine from the virus/the VM can quickly be reset to its original state.
When running the anti-virus software, an operating system uses a scheduling algorithm to determine an allocation of CPU time to the anti-virus software.
Explain why a First Come First Served scheduling algorithm would not be suitable in this situation
FCFS means jobs are completed in the order they arrive − ineffective in catching viruses/the virus may run first
the virus checker may never run/take a long time to start running − the virus checker may be continuously running
this will temporarily stall the system/ all other processes have to wait.
Describe what the effect would be of a computer having its BIOS overwritten.
The computer would not be able to boot/load the OS
Or set up its initial configuration/hardware checks
Making the computer unusable
Explain what happens in Lexical Analysis
The comments such as those on the first line, (and whitespace) are removed.
Variable names/identifiers like ‘count’ are added to a symbol table.
Reserved words/statement components are tokenized. For example ‘WHILE’
State the name of the stage of compilation that directly follows Lexical Analysis.
Syntax analysis
List three functions, other than memory management, of an operating system.
Provide a (user) interface
Manage hardware/peripherals
Manage CPU usage / handles interrupts
Provide security
Provide platform to run other software
Provide utilities for system maintenance
The operating system needs to load program C into memory but there is not enough space.
Describe how the operating system would use virtual memory to load program C.
Operating system uses area of secondary storage as virtual memory.
Move unused pages/parts into virtual memory
Load program C into (physical) memory.
A taxi firm is investigating replacing its drivers with self-driving cars.
Explain why the self-driving system will use a real-time operating system
Needs to be able to respond instantly to changes - such as someone stepping in front of car
RTOS offers a guaranteed response time.
A non RTOS might be busy dealing with other tasks and not respond until it is too late.
Describe the advantages of using encapsulation.
Reduces the chance of errors/inconsistences
Ensures objects can only be changed in the way intended
Ensuring changes are consistent with how the object should behave
Protecting data/ Can’t be changed accidentally
Explain, giving an example, why the firm’s computers use operating systems capable of multi-tasking
Multitasking allows the user to run more than one program at the same time.
E.g. running CAD software whilst checking emails.
Describe the Rapid Application Development process
Prototype is created
Evaluated and feedback used to inform next iteration
Any changes are made
Process repeated until prototype becomes final product.
Give two advantages to the software team of using a library.
Saves time/money as prewritten
Draws on expertise of other programmers
Pre-tested (so likely to work)
A small manufacturing business uses networked computers with closed source application software installed.
Give two other types of application packages that the small business could use, giving an example of a task that the business could use each application for
Database to store/query/sort data about customers/staff/stock
Word processor to create documents / letters / invoices for clients/staff
Presentation software to create presentations for clients/staff
Email software for staff to communicate with each other or with customers
Describe a drawback of using closed source software (rather than open source software) for the small business.
No access to source code
Cannot modify//improve to meet business needs
Cannot fix bugs
(Usually) cost to purchase licences // licence conditions to meet//ongoing fees