Definitions: 1.2 Software and Software Developments: Computer Science A-Level OCR

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/56

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

57 Terms

1
New cards

Basic Input Output System (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.

2
New cards

Device Drivers

A program supplied with a peripheral device that allows the OS to control and communicate with the device.

3
New cards

Distributed Operating Systems

The operating system is spread over multiple computer servers on a network, acting as a single system to parallel process a job.

4
New cards

Embedded Operating Systems

A specialised operating system with limited resources and functionality, built in to control a single machine.

5
New cards

First Come First Served

A scheduling algorithm where processes are dealt with in the order they arrive (a queue).

6
New cards

Intermediate Code

Code partly translated between high-level and machine language produced by a compiler.

7
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.

8
New cards

Interrupt Service Routines (ISR)

If an interrupt is a higher priority than 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.

9
New cards

Memory Management

The efficient organisation and allocation of main memory to the programs in use.

10
New cards

Multi-level Feedback Queues

A scheduling algorithm that uses multiple queues, each with a different priority. Jobs can be moved between queues.

11
New cards

Multi-tasking Operating Systems

An operating system capable of running multiple tasks simultaneously.

12
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.

13
New cards

Operating System

A set of programs managing the operation of the computer that is loaded into RAM everytime the computer is turned on. It bridges the user to the hardware.

14
New cards

Paging

Partitioning memory into fixed sized physical divisions called pages. Processes in memory will be assigned an appropriate number of pages.

15
New cards

Real Time Operating Systems

An operating system where data is processed as it comes, with responses generated with a guaranteed timeframe.

16
New cards

Round-Robin

A scheduling algorithm where each process is given an equal time slice and is dealt with on a first in first out basis. If a process does not finish within a time slice it joins the end of the queue.

17
New cards

Scheduling

Allocating processor time to each application to ensure processor time is used as efficiently as possible when multitasking.

18
New cards

Segmentation

Partitioning memory into variable sized logical divisions called segments. A large program can be executed by consecutively running its segments.

19
New cards

Shortest Job First

A scheduling algorithm that picks the process with shortest estimated running time and runs it until it finishes.

20
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.

21
New cards

Virtual Machines

An allocated area of secondary storage where pages of inactive jobs are swapped into to free up enough RAM for the current job.

22
New cards

Applications

A program that can be run on a computer, allowing the user to carry out specific tasks.

23
New cards

Assembler

A translator in low level language, which converts assembly language into machine code.

24
New cards

Closed Source

Proprietary software sold with a licence and restrictions on how and how many users can use it. The source code is not available to users.

25
New cards

Code Generation

The third and final stage of compilation, where an equivalent machine code program is produced.

26
New cards

Compilation

The process of analysing high level language source code and converting it into machine code.

27
New cards

Compilers

A translator that converts high level language to machine code.

28
New cards

Interpreters

A translator which checks a source program for syntax errors line by line, translates it to machine code and executes the line.

29
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.

30
New cards

Libraries

A collection of programs which are already compiled and can be loaded into a program and run whenever required.

31
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.

32
New cards

Loaders

A program that loads the executable object program and its associated libraries into memory before it is run.

33
New cards

Open Source

Software whose source code is freely available to view, redistribute or modify.

34
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.

35
New cards

Syntax Analysis

The second stage of compilation, where statements, expressions and tokens are checked for syntax errors using syntax diagrams.

36
New cards

Translator

A program which converts code from one computer language to another.

37
New cards

Utilities

System software with a specific purpose usually related to maintenance such as optimising the performance of the computer, diagnosing issues, backing up files, setting up firewalls etc.

38
New cards

Agile Methodologies

An iterative process that produces incremental prototypes of software over short, fast-paced sprints. Each prototype is user tested and any feedback and change in requirements will be accounted for in future sprints.

39
New cards

Extreme Programming

A type of Agile Methodology that is more responsive to changing user needs with short development cycles and very frequent software releases. Checkpoints are incorporated to change or add new user requirements.

40
New cards

Rapid Application Development

A method capable of speedy responses to changes in technologies and user requirements through repeated prototyping, continual evaluations, and strict time limits. The user will quickly receive a reduced-functionality mock up of the program.

41
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.

42
New cards

Waterfall Lifecycle

Each stage of development is completed one at a time in a linear order. Results from a completed stage are input into the next. Any previous stage can be returned to in light of feedback, however the stages that follow need to be worked through again.

43
New cards

Assembly Language

A low level language closely related to but more advanced than machine code. It uses descriptive names and mnemonics for instructions, and is related to the design of the computer.

44
New cards

Attribute

Data recorded as a variable associated with an object.

45
New cards

Classes

A template defining the attributes and methods that can be used to create a type of data known as an object.

46
New cards

Direct Addressing

The simplest addressing mode in assembly language where the operand stores the memory address of the value to be operated on by the operator.

47
New cards

Encapsulation

A method of maintaining data integrity by only allowing class methods to access data in an object’s attributes.

48
New cards

Immediate Addressing

An addressing mode in assembly language where the data in the address field is constant and the operand is the value to be operated on by the operator.

49
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.

50
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.

51
New cards

Inheritance

The concept of subclasses inheriting the methods and attributes of its parent class (a.k.a. its super class).

52
New cards

Methods

A program subroutine that represents an action an object can perform.

53
New cards

Object-Oriented Languages

Programming languages where the code is made of units called objects, which are instances of a class. Objectx have their own attributes and behaviours and can interact with each other.

54
New cards

Objects

An instance of a class. The behaviour of this data item depends on how its attributes were defined.

55
New cards

Polymorphism

Objects of different classes can use the same method to perform an action.

56
New cards

Procedural Languages

A high level language where statements are grouped into self-contained blacks known as functions and procedures. They have built in data types and data structures.

57
New cards

Programming Paradigms

A style of computation and programming, chosen according to the problem at hand.