OCR A level computer science definitions

5.0(1)
studied byStudied by 13 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/245

flashcard set

Earn XP

Description and Tags

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

246 Terms

1
New cards
Accumulator
A register in the CPU that stores data currently being used by the CPU.
2
New cards
Address bus
Used to transfer information about where data should reside in memory
3
New cards
Arithmetic Logic Unit
The part of the CPU that performs arithmetic computations and logical operations.
4
New cards
Buses
A physical set of parallel wires connecting and carrying groups of bits between several components of a computer.
5
New cards
Cache
A small and fast but expensive memory in the CPU used to stores instructions and data that are accessed regularly.
6
New cards
Clock speed
The frequency at which the internal clock generates signals switching between 0 and 1. It controls how often instructions are executed and data is fetched.
7
New cards
Contemporary processor architecture
A modern computer architecture combining elements of both Von Neumann and Harvard architectures.
8
New cards
Control Bus
This bus carries command and control signals to and from every other component of a computer.
9
New cards
Control Unit
Component of a processor that directs and coordinates most of the operations in the computer.
10
New cards
Current Instruction Register (CIR)
A register inside the CPU which holds the current instruction (not the data)
11
New cards
Data bus
The bus used to transfer actual data between main memory and the MDR
12
New cards
FDE cycle
Fetching an instruction from memory, decoding what the machine code means, then running the instruction with the result stored in the accumulator
13
New cards
Harvard Architecture
A computer architecture with physically separate storage and signal pathways for instructions and data. These early machines had data storage entirely contained within the central processing unit, and provided no access to the instruction storage as data.
14
New cards
Memory Address Register (MAR)
Holds the address in memory of the instruction currently being executed.
15
New cards
Memory Data Register (MDR)
A register that contains the data value being fetched or stored
16
New cards
Cores
A unit that handles instructions with its own FDE cycle. Multi-core processors have multiple cores that can run simultaneously.
17
New cards
Pipelining
The simultaneous decoding of several instructions by decoding the next instruction and fetching the one after while the current one is being decoded.
18
New cards
Program Counter (PC)
A special purpose register that stores the address of the next instruction to execute.
19
New cards
Registers
Small, high-speed storage locations that temporarily hold data and instructions.
20
New cards
Von Neumann Architecture
A computer architecture with a single control unit, using the FDE cycle and with data and instructions stored together.
21
New cards
Complex Instruction Set Computer (CISC)
A design that produces a complicated and expensive integrated circuit capable of performing a large variety of complex instructions. Complex instructions can be executed with few machine cycles.
22
New cards
Graphics Processing Unit (GPU)
A specialised processor optimized to perform graphics calculations with a huge number of small cores that allows for efficient parallel computation (SIMD).
23
New cards
Multicore systems
Several CPU cores are incorporated into a single processor chip to help distribute workload
24
New cards
Parallel processing system
Splitting a job into several subtasks which are simultaneously carried out by each core in the system.
25
New cards
Reduced Instruction Set Computer (RISC)
A simpler processor design that can only execute a single simple instruction each clock cycle. This uses more RAM but allows pipelining.
26
New cards
Flash Storage
A solid state technology that stores data on a collection of memory chips. No moving parts as data is accessed by software.
27
New cards
Input devices
Peripheral devices that allow the user to communicate and to pass readable data into a computer, decode it and send it to the CPU.
28
New cards
Magnetic storage
Relies on the polarisation of magnetic particles to store bits on a magnetic material which is typically moved mechanically. A high capacity and low cost means of storage.
29
New cards
Optical storage
Data is stored in the reflectivity (pits and lands) of a surface, and is read and written to by a laser.
30
New cards
Output devices
Peripheral devices that convert signals from a computer into a human-readable form.
31
New cards
Random Access Memory
Memory used to store programs and data in use by the computer. Quick access times but all data is lost when power to the computer is lost (volatile)
32
New cards
Read Only Memory
Memory used to store programs or data that is permanently required to boot up and run the computer. Can only be read and is non-volatile
33
New cards
Storage device
Any medium on which data can be stored even when powered off
34
New cards
Virtual storage
Using the hard disk as though it were an extension of memory to free up more RAM for current programs.
35
New cards
BIOS
A program that initialises and tests whether system hardware is functional and then loads the operating system from the hard disk into RAM when the computer is turned on.
36
New cards
Device drivers
A program supplied with a peripheral device that allows the OS to control and communicate with the device.
37
New cards
Distributed Operating System
The operating system is spread over multiple computer servers on a network, acting as a single system to parallel process a job
38
New cards
Embedded Operating System
A specialised operating system with limited resources and functionality, built in to control a single machine.
39
New cards
first come first served (FCFS)
A scheduling algorithms where processes are dealt with in the order they arrive (a queue)
40
New cards
Intermediate code
Code partly translated between high-level and machine language produced by a compiler.
41
New cards
Interrupts
A signal from hardware, software or the clock to alert the CPU. If the interrupt is a higher priority than the current task, the current routine pauses and resumes after the interrupt is executed.
42
New cards
Interrupt Service Routine (ISR)
If an interrupt is of higher priority that the current task, register contents are temporarily transferred onto the system stack at the end of the current FDE cycle and the interrupt is handled.
43
New cards
Memory management
The efficient organisation and allocation of main memory to the programs in use
44
New cards
Multi-Level Feedback Queue (MLFQ)
A complex scheduling algorithm that deals with tasks based on a set of priorities and rules across different league tables, jobs in a certain table get promoted up or down their table based on these rules and can then end up in totally different tables if they relegated.
45
New cards
Multi-tasking operating systems
An operating system capable of running multiple tasks simultaneously
46
New cards
Multi-user operating systems
An operating system consisting of one mainframe computer with multiple terminals that allow multiple users to access the computer's resources. Each user is given a time slice of the mainframe processor
47
New cards
Operating system
A set of programs managing the operating of the computer that is loaded into RAM every time the computer is turned on. It allows the user connection to the hardware.
48
New cards
Paging
Partitioning memory into fixed sized physical divisions called pages. Processes in memory are assigned an appropriate number of pages.
49
New cards
Real-Time Operating System
An operating system where data is processed as it comes in, with responses generated in real time
50
New cards
Round robin
A scheduling algorithms where each process is given an equal time slice and is dealt with on a first in first out basis. If a process doesn't finish in the allotted time then it is moved to the end of the queue
51
New cards
Scheduling
Allocating processor time to each application to ensure processor time is used as efficiently as possible when multitasking
52
New cards
Segmentation
Partitioning memory into variable size, logical divisions called segments. A large programs can be executed by consecutively running its segments
53
New cards
Shortest job first
A scheduling algorithm that picks the process with shortest estimated running time and runs it until it finishes.
54
New cards
Shortest remaining time
A scheduling algorithm that picks the process with shortest estimated time remaining to finish. If a process with a shorter time is added, the scheduler switches processes
55
New cards
Virtual machines
Any instance where software is used to take on the function of a machine, including intermediate code or running an operating system within another
56
New cards
Virtual memory
An allocated area of secondary storage where pages of inactive jobs are swapped in to free up enough RAM for the current job
57
New cards
Applications
A program that can be run on a computer, allowing the user to carry out specific tasks
58
New cards
Assembler
A translator in a low level language which converts assembly language into machine code
59
New cards
Closed source
Proprietary software sold with a license and restrictions on how users can use it. The source code isn't available to users.
60
New cards
Code generation
The third and final of compilation, where an equivalent machine code program is produced
61
New cards
Compilation
The process of analysing high level language source code and converting it into machine code
62
New cards
Compilers
A translator that converts source code into object code that cannot be easily converted back into a human-readable format. The code is translated all at the same time rather than line by line.
63
New cards
Interpreters
A translator which checks a source program for errors line by line, translates it to machine code and executes the file.
64
New cards
Lexical analysis
The first stage of compilation, where extra spaces and comments are removed from the source code and it is searched for simple errors. Keywords, constants and variables are replaced by tokens. Variable names are loaded into the symbol table
65
New cards
Libraries
A collection of pre-compiled routines which can be incorporated into a program.
66
New cards
Linkers
A program which places the appropriate machine addresses in the call and returns instructions of a compiled program so all the other required object code files and modules are linked together
67
New cards
Loaders
A program that loads the executable object program and its associated libraries into memory before it is run.
68
New cards
Open source
Software which has code that is readily available to view, redistribute or modify
69
New cards
Optimisation
During code generation, the object code is made as efficient as possible by removing redundancies to produce code that gives the same result
70
New cards
Syntax analysis
The second stage of compilation, the object code is made as efficient as possible by removing code redundancies (repeated code) to produce code that gives the same result
71
New cards
Translator
A program which converts code from one computer language to another
72
New cards
Utilities
System software with a specific purpose, usually maintenance such as backing up files, diagnosing issues or setting up firewalls
73
New cards
Agile Methodology
An iterative process that aims to improve the flexibility of the programmer and meet the requirements of the end-user. Prototypes are developed in parallel so that it can adapt to changes in user requirements quickly.
74
New cards
Extreme programming
Type of agile methodology intended to improve software quality and responsiveness to changing customer requirements. Programmers work in pairs with the focus being on high quality code.
75
New cards
Rapid Application Development (RAD)
Prototypes developed and evaluated against user requirements until the prototype can become the final product.
76
New cards
Spiral model
An iterative version of the Waterfall model where stages are refined and repeated until the final product is complete. The first cycle works towards an initial prototype, and each successive cycle produces a refined prototype
77
New cards
Waterfall lifecycle
Sequential stages, each stage must be completed for the next to follow, previous stages can be returned to if the full cycle is repeated again.
78
New cards
Assembly language
A low level language closely related to (but more advanced than) machine code. It uses mnemonics for instructions.
79
New cards
Attributes
Data recorded as a variable associated with an object.
80
New cards
Classes
A template defining the attributes and methods that can be used to create an object.
81
New cards
Direct addressing
The operand stores the memory address of the value to be operated on by the operator. (The most simple addressing mode in assembly language).
82
New cards
Encapsulation
A method of maintaining data integrity by only allowing class methods to access data in an object's attributes.
83
New cards
Immediate addressing
An addressing mode in assembly language in which the instruction holds the value of the operand rather than its address.
84
New cards
Indexed addressing
An addressing mode in assembly language where the address of the operand required is calculated by adding a constant from the index register to the absolute address in the instruction.
85
New cards
Indirect addressing
An addressing mode in assembly language where the operand stores the address of the location holding the memory address of the required data.
86
New cards
Inheritance
The concept of subclasses inheriting the methods and attributes of its parent class
87
New cards
Object-oriented language
Programming languages where the code is made of units called objects which are instances of a class. Objects have their own attributes and behaviours and can interact with each other.
88
New cards
Objects
An instance of a class. The behaviour of an object depends on how its attributes were defined.
89
New cards
Polymorphism
Objects of different classes can use the same method to perform an action
90
New cards
Procedural languages
A high level language where statements are grouped into self-contained blocks called functions and procedures. They have built in data types and data structures.
91
New cards
Programming paradigms
A style of computation and programming, chosen according the problem at hand.
92
New cards
Asymmetric encryption
An encryption technique where a public key is used to encrypt the data and a private key is used to decrypt.
93
New cards
Dictionary coding
A type of lossless compression where text is searched for entries that match the entries present in the dictionary. Entries are substituted by a unique code which can then be translated
94
New cards
Hashing
A one-way transformation of data into a hash value. The hash value cannot be returned into the original value.
95
New cards
Lossless compression
A compression algorithm that allows the original full sized file to be decompressed
96
New cards
Lossy compression
A compression algorithm that removes non-essential data from a file leading to a considerable decrease in file size. The original file is unrecoverable.
97
New cards
Run length encoding
A type of lossless compression where repeated occurrences of the same data are stored as a single data value alongside their counts
98
New cards
Symmetric encryption
An encryption technique where the same key is used to both encrypt and decrypt the data.
99
New cards
Atomicity
All transactions must succeed or fail, no inbetween
100
New cards
Consistency
Each transaction must obey the defined validation rules of the database to main referential integrity.