4. Software Flashcards

1
Q

Managing Security

who does and how do they

A

OS organises user logins and passwords which may include password protection and control access rights

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Access rights

A

If a computer is used by more than one user, each user should only be able to see their own files. Users and system admin have different levels of access rights. Some users may be allowed to access files but not edit them.

May include encryption of some files

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Machine code

A

Computers represent everything in binary

Program instructions once converted to binary are known as machine code, eg.
1001 1100 0000 1110 1101 1010 1101 1011 0101 1001

Each different type of processor has its own set of machine code instructions, a typical instruction in a simple processor may look like:
Opcode: 6 digits, 010110
Register: 2 digits, 01
Operand: 8 digits, 0011 1010

The Opcode is basic machine instruction like ADD, SUBTRACT, LOAD, STORE and the operand is the value or location of the value to be operated on.
All arithmetic is carried out in the register.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

High level code

A

High level codes typical instructions look like math or english and are easy to guess or understand the meaning. Python, Delphi and Java are known as high level codes

High level languages have complex statements and program structures can not easily be translated into machine code. Each statement in high level code represent several machine code statements

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Assembly language

A

Going from machine to assembly code was very time consuming, and is sometimes called a “first generation language”.
Assembly is the “second generation” eg.
LDA 1 Mark1 ; Load contents of Location17 into Register 1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Instruction Set in terms of processor handling

A

Processors vary in the number and type of instructions they can process.
They cannot deal with WHILE, THEN etc.
Compare and Branch instructions are used test conditions and jump to another if true

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Assembler

A

A computer can not process assembly language instructions directly
The assembler is a program which translates assembly code into machine language

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Compiler

A

A program the translates high level language program (source code) into machine code

A compiler translates every statement in the program into machine code, called object code.

If the compiler hits a syntax error it will not translate the statement and no code is produced

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Interpreter

A

A type of program which translates high level program into machine code

It works by translating line by line. It translates one line and if it has no syntax errors it executes it it moves on to the next line.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Compiler vs. Interpreter

A

Compiler:
- Has to correct all syntax errors before running
- Fast execution of object code
- Once object code is produced it can be run and
installed on any computers
- A user can not see source code after purchase

Interpreter:
- Good for program development as parts of the program
can be executed despite having errors
- Slow execution as every line must be translated before
execution
- A user must have the programming language and
interpreter on their computer
- A user can make changes and sell your program after
purchase

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Advantages and Uses of Assembly code

A

Advantages:
- Manipulation of individual bits and bytes
- Runs very fast
- Occupies less memory than code compiled from a high
level language

Uses:
- Hardware specific code like driver devices telling the
computer how to communicate with eg. boot code in
ROM, printer, scanner etc.
- Control programs in embedded systems in washing
machines, modems, routers, cars, digital watches etc.
- Real time applications requiring instant response,
network software, medical equipment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Importance of data

A

Millions of organisations keep data about their customers, members and products.

Banks, governments, health departments, shops, schools and and exam boards all keep data on computers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Some threats to data

A

Accidental damage:

Data entry errors
Program errors
Errors in procedure
Accidental loss or deletion
Hardware failure, damage or crash
Natural disaster:
- Fires, floods etc.

Malicious actions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Backups and archives

A

Backups are made regularly so lost or corrupt data can be restored.

Backups should be stored in a secure location offsite. Employees taking home a backup tape or mirroring all transactions on a second remote computer.

Archived data is data that is no longer needed for immediate processing but needs to be kept

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Cloud storage

A

Holding all company data in “the cloud” is becoming more and more popular and considered safer than data stored in an office.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Physical security

A

Data needs to be kept physically safe from intruders, in large companies by…
Issuing staff with ID
Having all visitors sign in on arrival and having escorts around the office
Keeping sensitive areas locked
Security cameras
Security guards

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Physical Security and Biometrics

A

Locks on doors
Security Guards
Biometrics:
- Fingerprint recognition
- Retina scanner
- Iris recognition
- Voice recognition

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Audit trails and logs

A

Audit trail maintains a record of all activity on a computer system
The time and date a user accesses the system will be logged as well as their activity
Assists in detecting security violations
Help system admin ensure the system has not been harmed by hackers, insiders or technical problems

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Acceptable use policies (AUP)

A

Many businesses and educational facilities require employees or students to sign an AUP before being given a network ID

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Secure passwords

A

Minimum of 8 characters
Mixture of numbers, lowercase and uppercase characters
Include symbols
Do not include name, DOB or personal details

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Phishing

A

A phishing email is one that tricks you into handing over your personal or sensitive information
You receive an email leading you to a bogus site to enter your details from where they are captured by phishers

What to look out for:
Generalised impersonal greeting
Sender’s address, variation from original
Forged link, roll mouse over link to check
Request personal information, legit sites do not do this
Sense of urgency
Poor spelling and grammar

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

High level languages(4)

A

Close to human language
Independent of platform (works on different machines)
E.g. JAVA, Python, VB
Easier to correct errors

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Low level languages(4)

A

Assembly
Machine Code
Works directly on the CPU
Can use machine specific functions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Low level language advantage(3)

A

Direct access to the processor
Uses less memory
Executes instructions faster

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Translators(3)

A

Compilers
Accumulators
Assemblers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Compilers(6)

A

Translates whole program at once
Creates an exe file
No need to recompile
Therefore allows faster execution
List of errors created
Optimizes source code

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Interpreters(5)

A

Translates one line of code at a time
Machine code directly executed
Identifies error as soon as it finds one and stops
Error must be fixed to continue
Easier to debug

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Assemblers(2)

A

Translates low level language into machine code
- Only option for low level language programs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Errors(2)

A

Syntax
- Logic

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

What is a computer program?

A

a list of instructions that enable a computer to perform a specific task

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

What is a translator?

A

convert a program into binary instructions that a computer can understand

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

What do high-level languages allow a programmer to do?

A

focus on the problem to be sold with no knowledge of the hardware and the instruction set of the computer that will use the program

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

What type of language is portable and can be used on different types of computer?

A

high-level languages

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

What do low-level languages relate to?

A

the specific architecture and hardware of a particular type of computer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

What are assembly languages?

A

low-level programming language

needs to be translated into machine code by an assembler

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

What is machine code?

A

binary instructions that a computer understands - no translation is required

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

What are the three types of translators?

A

compilers
interpreters
assemblers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

What are compilers?

A

a computer program that translates a program written in high-level language into machine code
so it can be directly used by a computer to perform a required task

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

What are interpreters?

A

a computer program that reads a statement from a program written in a high-level language, performs the action specified and then does the same with the next statement

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

What are assemblers?

A

a computer programs that translates a program written in an assembly language into machine code
so that it can be directly used by a computer to perform a required task

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

What do compilers do?

A

translates a high level language program into machine code
executable file of machine code produced
one HLL statement –> several machine code statements
compiled programs used without compilers
distributed for general use

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

What do interpreters do?

A

executes a HLL one statement at a time
no executable file of machine code produced
one HLL statement –> needs several machine code instructions
interpreted programs need interpreters
used when a program is being developed

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

What do assemblers do?

A

translates a low level language into machine code
executable file of machine code produced
one low level language statement –> one machine code instruction
assembled programs used without assemblers
distributed for general purpose

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

What is software, and the two kinds of it?

A

Software is the programs running on a computer system, the two kinds are:

Application Softwares
For User Benefits

System Softwares
For Hardware and other software to operate.
Game Engines; Utility Programs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

What is the Operating System?

A

It is the essential software that links hardware and other software together and manages the computer system.

Manages Hardware
Manages Applications
Creates a user Interface
Provides a layer of security

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

What does the OS do?

A

User Management
Peripheral Management
File Management
Memory Management
Process Management

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q

What is the User Interface, and the two kinds?

A

Command-Line Interface
A shell responding to successive text commands
More direct and compact
Graphical User Interface
uses Icons and other Visual Indicators

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
47
Q

What is Process Management?

A

A single-tasking Operating System can only execute 1 process at a time, which means it needs to know when it must switch. Process Management includes interrupts.

A multi-tasking OS still executes only 1 process but allows multiple apps to run by rapidly switching. An OS uses CPU time for the processes, and prioritizes them.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q

What is Memory Management?

A

When a program is opened, it needs to be copied into the RAM. The OS oversees the allocation and management of RAM space, and decides when virtual memory is needed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q

What is Peripheral Management?

A

Peripheral Devices are supplementary hardware, like keyboards, printers and cameras. The OS uses device drivers, which convert the signals from the peripheral signals into a signal the OS can understand. A driver is an interface, which hides the complexities of the hardware.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
50
Q

What is User Management?

A

It is the management of usernames; passwords, and account creation. In multi-user OSs, there are user account controls.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
51
Q

What is File Management?

A

The OS manages records of all files and their location, and allows what each user can access.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
52
Q

What is Utility Software?

A

Utility Software analyses, configures, optimises or maintains a system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q

What are the kinds of Utility Software?

A

Encryption Software
Encrypts and Decrypts Files

Data Compression Software
Reduces File Sizes

Backup Software
Defragmentation Software
File Converters
Repairing Files
Anti-Viruses
Anti-Spyware

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
54
Q

What is Backup Software?

A

Full-Backup:

Creates copies of all files
slower to backup, faster to restore

Incremental Backup:

Data created after previous backup is copied

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
55
Q

What is Defragmentation?

A

Data is stored in hard disks wherever there is space, this can scatter the data. Defragging reorganizes related data, so they can be accessed faster - it makes the data continuous again.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
56
Q

What is Defragmentation Software?

A

Data in hard disks are written in whichever part is empty, this causes the data to be fragmented. Defragmentation rearranges the data so it becomes continuous again.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
57
Q

What are File Converters?

A

They change data from one format to another.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
58
Q

What is an Anti-Virus?

A

Anti-Virses detect and remove malware and prevent them from being installed as well as giving real-time protection. It doesn’t only protect from viruses.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
59
Q

What is Anti-Spyware?

A

Anti-Spyware may contain databases of known spywares.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
60
Q

What is a software model?

A

Software models are used to simulate aspects of the real world. It can be like weather forecasting, nuclear physics, economical forecasts.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
61
Q

How do you build a software model?

A

Work out what connects aspects of the real problem
Make assumptions and simplify the problem

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
62
Q

What are the two kinds of Programming Languages, and what is their main difference?

A

High-Level Programming Languages
Low-Level Programming Languages
High-Level Programming Languages are made to resemble human language, whilst Low-Level Languages are closer to what a computer might understand.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
63
Q

What are the Low-Level Programming Languages?

A

Machine Code
Assembly Language

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
64
Q

What are the High-Level Programming Languages?

A

Python
Java
C
C++
Ruby

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
65
Q

What are the Advantages and Disadvantages of a High-Level Programming Language?

A

Advantages:

Similar to Human Language
Easier to Understand
Easier to spot errors
Portable

Disadvantages:

They have to be translated into machine code
They tend to be slower
They can be inefficient

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
66
Q

What are the Advantages and Disadvantages of a Low-Level Programming Language?

A

Advantages:

Efficient
Quick to run
Uses less memory
Can directly change a computer’s hardware

Disadvantages:

Difficult to understand
More specific to a processor
harder to spot errors

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
67
Q

What is Assembly Language?

A

Assembly Language uses Mnemonics, although it is Low-Level, it still needs to be translated. it is also specific to hardware.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
68
Q

What is a Translator and the three kinds?

A

A translator converts code from one language into the equivalent code for another language. The kinds are:

Assemblers
Compilers
Interpreters

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
69
Q

What are Assemblers? And what do they do?

A

Assemblers convert assembly code into machine code.

It turns assembly language into object code then into machine code
It detects errors in the first phase
It is Fast but slower than a compiler

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
70
Q

What are Compilers? And what do they do?

A

Scans the whole code
Has an executable file
Can be distributed, but code is hidden
Faster
Errors are shown after scanning the whole code

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
71
Q

Operating systems

A

An operating system is a collection of programs that form the basis of the main system software found in a computer system. An operating system provides a platform for application software to be installed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
72
Q

Interrupts

A

An interrupt is an electronic signal from hardware or software that requests the processor’s attention.
An operating system contains a program called an interrupt handler. The role of the interrupt handler is to prioritise the interrupt signals as it receives them and places them in a queue to be handled.

Interrupts can be hard or software based, are handled by the operating system, allow a computer to multitask, does not work out priority and a computer cannot function without interrupts.

–––––––––––––––––––––––––

Interrupts are signals sent to the CPU by external devices to indicate that an event needs immediate attention

They tell the CPU to stop what it is currently doing and give priority to the interrupt

Hardware interrupts are generated by hardware devices eg. printer out of paper

Software interrupts generated by programs
eg. divide by zero

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
73
Q

Software

Software Categories

Software types

A

Categories:
System software, Application software

System software:
Programs that are needed to run the computer eg. windows

Application software:
Programs that are needed to perform tasks for the user

Free software, freeware, shareware:
Most commercial software has to be paid for
Using an unlicensed copy of software is a copyright infringement and is illegal
Some software is free of charge and allows users to study, modify and distribute it

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
74
Q

Free software

A

Free software is software that comes with permission to use, copy and distribute it with modification either gratis or for a fee

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
75
Q

Open source software

A

Open source software is free of charge and the source code is given to a user to use in any way they like

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
76
Q

Freeware

A

Freeware may be used without payment it may permit redistribution but not modification as the source code is not available.

Examples:

Google chrome
Skype
Adobe reader

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
77
Q

Shareware

A

A software that is initially free on a trial basis

The software is copyright and after trial must be paid for, the source code is not available and it can not be modified but is often encouraged to be made copies of and shared to help distribute it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
78
Q

Operating Systems

System software types

Examples of OS

Definition and function

A

System software:
Operating systems
Utility programs
Program translators

Examples:
IOS
Android
OS X
Windows
Google chrome
Linux

Definition and function:
Software that manages a computer’s hardware and provides a user interface
Also provides security

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
79
Q

User interface

mini def

Types x 6

A

Without user interface we would communicate in binary

Types:
GUI , graphical user interface; most commonly associated

Menu-driven interface; music players and ATM machines

CLI, command line interface; all user commands types in as text and no graphics, uses less space on disk and RAM

Voice activated

Real-time

Windows; WIMP - Windows, Icons, Menus and Pointers; user can click on icons using a pointer or cursor and right click to display a menu

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
80
Q

How computers handle Memory Management

A

Data used by the computer is copied into main memory

The operating systems keeps a record of where each program and its data are located

It must not overwrite pre-existing programs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
81
Q

Multi-Tasking

A

When running multiple programs on a computer,
the programs in the background running are taking turns to get processor time to execute instructions
The OS Manages how the programs share the processor

Task manager

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
82
Q

Peripheral management

A

Peripherals are all the devices outside of the CPU, input/output devices and secondary storage, access speed of these is relatively slow

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
83
Q

Print buffer

A

Status of each job on a printer screen displaying whether it is printing or waiting to print

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
84
Q

Storage device and disk file management

who manages and what they do

def

A

OS manages:

Copying files from disk to main memory
Copying data files back to secondary storage
Hard disk in computer is a storage peripheral:
OS manages where on disk files are written, keep track of their location to be fetched, making sure no file overwrites another file

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
85
Q

Managing Security

who does and how do they

A

OS organises user logins and passwords which may include password protection and control access rights

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
86
Q

Access rights

A

If a computer is used by more than one user, each user should only be able to see their own files. Users and system admin have different levels of access rights. Some users may be allowed to access files but not edit them.

May include encryption of some files

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
87
Q

Machine code

A

Computers represent everything in binary

Program instructions once converted to binary are known as machine code, eg.
1001 1100 0000 1110 1101 1010 1101 1011 0101 1001

Each different type of processor has its own set of machine code instructions, a typical instruction in a simple processor may look like:
Opcode: 6 digits, 010110
Register: 2 digits, 01
Operand: 8 digits, 0011 1010

The Opcode is basic machine instruction like ADD, SUBTRACT, LOAD, STORE and the operand is the value or location of the value to be operated on.
All arithmetic is carried out in the register.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
88
Q

High level code

A

High level codes typical instructions look like math or english and are easy to guess or understand the meaning. Python, Delphi and Java are known as high level codes

High level languages have complex statements and program structures can not easily be translated into machine code. Each statement in high level code represent several machine code statements

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
89
Q

Assembly language

A

Going from machine to assembly code was very time consuming, and is sometimes called a “first generation language”.
Assembly is the “second generation” eg.
LDA 1 Mark1 ; Load contents of Location17 into Register 1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
90
Q

Instruction Set in terms of processor handling

A

Processors vary in the number and type of instructions they can process.
They cannot deal with WHILE, THEN etc.
Compare and Branch instructions are used test conditions and jump to another if true

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
91
Q

Assembler

A

A computer can not process assembly language instructions directly
The assembler is a program which translates assembly code into machine language

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
92
Q

Compiler

A

A program the translates high level language program (source code) into machine code

A compiler translates every statement in the program into machine code, called object code.

If the compiler hits a syntax error it will not translate the statement and no code is produced

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
93
Q

Interpreter

A

A type of program which translates high level program into machine code

It works by translating line by line. It translates one line and if it has no syntax errors it executes it it moves on to the next line.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
94
Q

Compiler vs. Interpreter

A

Compiler:
- Has to correct all syntax errors before running
- Fast execution of object code
- Once object code is produced it can be run and
installed on any computers
- A user can not see source code after purchase

Interpreter:
- Good for program development as parts of the program
can be executed despite having errors
- Slow execution as every line must be translated before
execution
- A user must have the programming language and
interpreter on their computer
- A user can make changes and sell your program after
purchase

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
95
Q

Advantages and Uses of Assembly code

A

Advantages:
- Manipulation of individual bits and bytes
- Runs very fast
- Occupies less memory than code compiled from a high
level language

Uses:
- Hardware specific code like driver devices telling the
computer how to communicate with eg. boot code in
ROM, printer, scanner etc.
- Control programs in embedded systems in washing
machines, modems, routers, cars, digital watches etc.
- Real time applications requiring instant response,
network software, medical equipment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
96
Q

Importance of data

A

Millions of organisations keep data about their customers, members and products.

Banks, governments, health departments, shops, schools and and exam boards all keep data on computers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
97
Q

Some threats to data

A

Accidental damage:

Data entry errors
Program errors
Errors in procedure
Accidental loss or deletion
Hardware failure, damage or crash

Natural disaster:
- Fires, floods etc.

Malicious actions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
98
Q

Backups and archives

A

Backups are made regularly so lost or corrupt data can be restored.

Backups should be stored in a secure location offsite. Employees taking home a backup tape or mirroring all transactions on a second remote computer.

Archived data is data that is no longer needed for immediate processing but needs to be kept

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
99
Q

Cloud storage

A

Holding all company data in “the cloud” is becoming more and more popular and considered safer than data stored in an office.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
100
Q

Describe features of an operating system

A

− Manage input output
− Multi-tasking
− Loading and running of apps
− Manage security
− Memory management
− Error handling
− Human computer interface

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
101
Q

Describe High level language

A

High-level
− Makes use of words close to human language
− Machine independent and portable
− Problem and logic focussed
− Needs to be translated/interpreter/compiled (to low-level for processing by
computer) // needs converting to machine code
− Hardware of computer does not matter

Benefits
− Easy to understand as its similar to human language
− Easy to debug, less likely to make mistakes
− Less time to write
− Has a great range of languages

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
102
Q

Describe Low level language

A

Low level
− Closer to/is machine code
− May use mnemonics
− May need an assembler to be translated
− One line of code represents a single instruction

Benefits
− Machine dependent
− Have direct access to memory locations/registers
− May require use of special hardware
− Code runs fast
Disadvantage
−Easy to make errors and hard to understand

Examples
− Machine code
− Assembly

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
103
Q

Statement summing up them

A

− The structure of language statements in a computer program is called the syntax
− A programming language that uses natural language statements is called a High level
language
− When programs are written in this type of language they need a translator to convert
them into machine code
− A programming language that is written using mnemonic codes is called assembly
language.
− This is an example of a low level language

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
104
Q

Describe Translators

A

− Programs need to be translated to machine code so we have 3 types of translators
− Compiler, interpreter, assembler

−Compiler translates high level to machine code

− Interpreter translates high level to machine code

− Assembler translates low level to machine code

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
105
Q

Describe compiler

A

− Translates a whole program in one go
− Produces an executable file
− All error list produced at the end
− Once program is compiled, doesn’t need to be recompiled
− One high level statement can be translated into many machine codes
− Executable file usually distributed for general use
− Executable file does not require to be re-translated

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
106
Q

Describe Interpreter

A

− Translates code line by line
− No executable file produced, interpreter required every time
− Stops translation when error found, then allows you to continue from where u started
− Errors shown in real time, when found, easy to debug
− Used in developments of a program or game

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
107
Q

Difference between DVD and Blu-ray

A

− DVD uses red laser/light whereas blu-ray uses blue/violet laser/light
− DVD has a smaller (storage) capacity // Blu-ray has a larger (storage) capacity
− DVD has two layers (of polycarbonate) whereas Blu-ray disks have a single layer (of polycarbonate)
− DVD has a slower transfer rate (of approximately 10 mbps) // Blu-ray has a faster transfer rate (approximately 36 mbps)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
108
Q

Describe how an infra-red screen detects a users touch

A

Infra red rays are sent across the screen from the edges
Sensors are around the edges and capture beams
Infra red is broken by a finger blocking it
Calculation is made to locate the touch based on where the beam was broken

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
109
Q

what does an operating system do? (6)

A

loads software
Manages hardware
Manages error handling
Manages user accounts
Allows multitasking
Provides an interface

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
110
Q

What is a high level language

A

portable languages that need to be converted into machine code to run on a computer
e.g C++, Python, Java

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
111
Q

What is a low-level language

A

language that relates to the specific architecture and hardware of computer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
112
Q

Advantages of High Level Language

A

easier/faster to write code as uses English-like statements
easier to modify as uses English-like statements
easier to debug as uses English-like statements
portable language code - because it is written in source code
Only need to learn a single language - as this can be used on many different computers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
113
Q

Advantages of low level language

A

can work directly on memory locations
can be executed faster
translated program requires less memory
no need for compilers/interpreters

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
114
Q

features of a compiler

A

A report of errors is produced at the end of translation
Translates high-level language into machine code
An executable file is produced
The program will not run at all if an error is detected
Can be used without compiler

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
115
Q

features of a interpreter

A

Translates from high-level language into machine code
Cannot be used without translator
Executes a high-level language program one instruction at a time
Produces error message each time an error encountered

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
116
Q

features of assembler

A

low-level programming language
uses mnemonic codes
specific to the computer hardware.
used to create drivers for hardware

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
117
Q

features of assembler

A

low-level programming language
uses mnemonic codes
specific to the computer hardware.
used to create drivers for hardware

118
Q

Features of interpreter

A

Translates from high-level language into machine code

Cannot be used without translator

Executes a high-level language program one instruction
at a time

Produces error message each time an error encountered

119
Q

features of assembly code

A

low-level programming language
uses mnemonic codes
specific to the computer hardware.
used to create drivers for hardware

120
Q

whats a syntax

A

The structure of language statements in a computer program is called the syntax

121
Q

Differences between compilers and interpreter

A

compiler produces executable code / interpreter doesn’t produce executable code

compiler translates program in one go / interpreter translates and executes line at a time

compiler produces list of all errors / interpreter produces error message each time an error encountered

compiler produces “stand alone code” / interpreter doesn’t produce “stand alone code”

122
Q

functions of operating system

A

Provides a user interface
Memory management
File management
Manages inputs/outputs
security methods
multitasking
batch processing
Manages software installation / removal

123
Q

define operating sytem with examples

A

An operating system can be defined as a software program that is responsible for managing and controlling the operations of the computer, programs, and hardware.
e.g windows, mac os, linux

124
Q

What is application software?

A

Provides the services that the user requires and runs on the operating system

125
Q

What is application software?

A

Provides the services that the user requires and runs on the operating system

126
Q

What are some examples of application software?

A

Word processing packages
Stock control software
In-car navigation system

127
Q

What are the two types of software?

A

Application and System

Software categories
* Software is categorised into system software and application software
* System software is further categorised into operating systems and utility software

128
Q

What is system software?

A

Programs that provide the services that are needed to enable the computer to function

Consists of the operating system and utility software

129
Q

What are some examples of system software?

A

The operating system
Utilities
Programming language translators

130
Q

What are the major operating systems?

A

Windows
Linux
MacOS
Apple iOS
Android

131
Q

What is an operating system?

A

A group of programs that is essential for managing the computer’s resources. Handles several crucial tasks

132
Q

What is the operating system responsible for? (9 things)

A

Managing multitasking
Managing peripherals and drivers
Managing files
Managing accounts
Handling interrupts
Providing system security
Providing an interface
Running applications
Managing memory

(Magical Dolphins Fly After Impish Skeletons, Insulting Amoebas Merrily)

133
Q

What are the main types of user interfaces?

A

GUI - Graphical User
CLI - Command Line
Voice activated
Real-time

134
Q

What does GUI stand for?

A

Graphical User interface

135
Q

What is an example of a GUI?

A

WIMP
Windows, Icons, Menus, Pointers

136
Q

What does CLI stand for?

A

Command Line interface

137
Q

What format is used in CLI?

A

Text
Commands are typed and all output is in text

138
Q

Where is CLI most commonly used?

A

Windows command prompt

139
Q

What is an interface?

A

The OS provides a means of interacting with the computer through buttons, keyboards, touchscreen or mice

140
Q

What is the operating system responsible for?

A

It is responsible for important functions such as how a file is written to a hard drive or how a program is run in RAM

141
Q

What is a peripheral device?

A

Software used to provide an interface for a hardware device
Contain instructions on how to control a device

142
Q

What are the advantages of device drivers?

A

Any device can be used with the operating system, as long as a driver is compatible with it

Drivers can be updated, usually to give better performance or to remove a bug

143
Q

What language would a driver be written in and why?

A

Assembly language (low-level language)
Needs to be able to precisely control the hardware devices

144
Q

What does multitasking mean?

A

Multitasking means to be able to run more than one program simultaneously.

145
Q

How does an operating system multitask?

A

It coordinates the CPU to schedule processes

All processes in the memory that are waiting to be executed are held in a circular queue

The CPU allocates each process a time slice

It then switches to the next process very quickly, making it seem like it is running at the same time

146
Q

How does the operating system manage files?

A

It allows users to create, delete, move, save and copy/allocate files to folders

Manages access rights to individual files

147
Q

How does the operating system manage user accounts?

A

Different users will each be provided with an account with their own username and password

It can monitor login activity

Each account can be granted different levels of access depending on their needs and levels of security

148
Q

How does the operating system provide a platform for running applications?

A

The OS will allocate memory space for the application and control the application’s access to data and devices

149
Q

How does the operating system manage memory?

A

The OS moves programs and files between memory and storage (e.g. hard drive) if virtual memory is required

150
Q

How does the operating system provide system security?

A

It controls user access to prevent users from accessing files/folders they shouldn’t have access to

Security updates are downloaded to help fix bugs and improve security against malware

151
Q

What is an interrupt?

A

A signal from a software program or hardware device to the CPU

152
Q

When does a software interrupt occur?

A

When an application program terminates or requests services from the OS

When two processes try to access the same memory location

When a program error (e.g. divide by zero) occurs

153
Q

When does a hardware interrupt occur?

A

When an input/output operation is complete

When a new USB device is plugged in and detected

When a key is pressed on the keyboard or the mouse is moved

Used in multitasking; triggered by a timer to indicate that the next process should have processor time

154
Q

What does utility software do for the computer?

A

Helps configure and maintain the device

155
Q

What are some examples of utility software?

A

Encryption
Defragmentation
Data compression
Backup
Disk clean-up

156
Q

What does utility software do?

A

Helps in configuring and maintaining the computer or device

157
Q

What does encryption software do?

A

Disguises the contents of files so they can only be understood by authorised users

158
Q

How does encryption software work?

A

The software uses an algorithm to scramble the content so that it is unreadable

159
Q

Why is defragmentation software needed?

A

When files are saved to a magnetic hard disk, they are stored in the next available space.

This leads to files being split into fragments which takes longer to access as the drive head has to move more.

160
Q

What does defragmentation software do?

A

Defragmentation software takes the fragmented files and rearranges the segments so that they run contiguosly.

161
Q

Why is defragmentation helpful?

A

It decreases the read/write time, therefore speeding up computer performance

162
Q

What does compression software do?

A

Reduces the size of a file stored on secondary storage

163
Q

Why can’t defragmentation be used on solid-state drives (SSDs)?

A

No performance benefit. No additional time cost in fetching pieces of data from different places

Solid-state drives wear out. Writing to SSDs causes it to degrade slightly, unlike reading. So the more you write to an SSD, the shorter its lifespan will be.

164
Q

Why does data need to be compressed?

A

Smaller files are easier to transmit across a network because they require fewer packets to be sent.

A reduced size means that more files can be stored in a given area of storage

165
Q

What happens if files are not backed up?

A

A user could accidentally delete/overwrite a file

A hard disk could fail and prevent access to files stored on it

A hacker could deliberately delete/overwrite data

166
Q

What are the two types of backup?

A

Full backup
Incremental backup

167
Q

What is a full backup?

A

Involves making a copy of every file on the computer/network

168
Q

What are the disadvantages of a full backup?

A

Require a lot of storage space
Can be time consuming to make

169
Q

What is an incremental backup?

A

Takes a copy of any new files created since the last backup, or any files that have been recently edited

170
Q

What is a high-level language?

A

A language that is programmer friendly. It is easy for humans to understand, debug and maintain

171
Q

What type of translator does a HL language need?

A

Needs a compiler or interpreter to translate into machine code

172
Q

What are some examples of HL languages?

A

Python
JavaScript
C#
C++
Ruby

173
Q

What are the advantages of HL languages?

A

Hardware independent; can run on any system and are easily portable from one device to another

Little to no hardware knowledge is required to write programs

Syntax very similar to English language, therefore easier to write, understand and debug

174
Q

What are the disadvantages of HL languages?

A

Not memory efficient -> consumes more memory than LL languages

Must be compiled/interpreted before it can be run

175
Q

What is a low-level language?

A

A language that is machine-friendly. It is difficult for humans to understand, but easy for a machine to interpret

176
Q

What type of translator do LL languages require?

A

Needs an assembler for direct translation of the language instructions

177
Q

What are the examples of LL languages?

A

Machine language
Assembly language

178
Q

What are the advantages of LL languages?

A

Memory efficient
Execute very quickly

179
Q

What are the disadvantages of LL languages?

A

Hard for humans to read and knowledge of hardware is a prerequisite to write programs

Very machine-dependent and not portable between different devices

180
Q

What is machine code?

A

Binary representation of instructions in a format that the CPU can decode and execute

181
Q

What are the three types of translators?

A

Compiler
Interpreter
Assembler

182
Q

What does an Assembler do?

A

Translates assembly language into machine code

Converts basic commands and operations into binary code that can be understood by a specific type of processor

183
Q

What are the advantages of Assemblers?

A

Programs written in machine language can be replaced with mnemonics

Memory efficient

Speed of execution is faster

Hardware-oriented

184
Q

What are the disadvantages of Assemblers?

A

Takes a long time to write the program and it is difficult to remember syntax

Lack of portability between computers of different makes can not have the same assembler

185
Q

What does a compiler do?

A

Translates source code from HL languages into object code and then machine code

The whole program is translated into machine code before it is run

After compilation, the compiler provides an error report for the whole code

186
Q

What are the advantages of Compilers?

A

No need for translation when running

Speed of execution is faster than interpreted code

Provides an executable file so that the original code doesn’t need to be compiled again

187
Q

What are the disadvantages of Compilers?

A

The program will not run with syntax error, which makes it more difficult to write long code

Code needs to be recompiled when it is changed

188
Q

What is an Interpreter?

A

Translates source code from HL languages into machine code

The program is translated line by line as it runs

Stops execution as soon as an error is found

189
Q

What are the advantages of Interpreters?

A

Easy to write source code, as the program will always stop when it finds a syntax error

Code does not need to be recompiled when code is changed

Easier for beginner programmers to learn to code

190
Q

What are the disadvantages of Interpreters?

A

The interpreter must be installed to run the program

Takes longer to execute as the instruction is translated before it is executed

Source code will be interpreted every time it is run

191
Q

Which HL languages are interpreted?

A

Python and JavaScript

192
Q

Which HL languages are compiled?

A

C# and VB

193
Q

What is a low-level programming language?

A

A programming language that is easier for the processor to interpret but harder for humans to understand.

Two low-level languages:

machine language/object code
assembly language

194
Q

What is machine language?

A

lowest level of language
consists of binary and/or hexadecimal
raw instructions that the CPU carries out (processor reads machine code directly, no need to translate it)
each CPU family has a different set of machine code

195
Q

What is assembly language?

A

uses abbreviations or mnemonics for each operation code
easier to read and write than machine language
must be translated into machine code by an assembler before it can be run by a processor

196
Q

What is an assembler?

A

translation program that translates processor-specific assembly code (source code) into machine code (object code) for a specific processor
translates an entire program but does not run it
it is rapid and reliable

197
Q

List some advantages of using low-level languages

A

complete freedom of choice of instructions
direct control over the processor’s communication with its input, output and storage devices
efficient programs can be written that:
fir into limited storage space
require limited RAM
run rapidly

198
Q

List some disadvantages of using low-level languages

A

lack of relation to a human language makes it difficult for programmers to read
machine-oriented nature makes it hard for a programmer to learn, as each operation code must be memorised or looked up
processor-specific nature of the instruction set means that programs are not transferrable or portable between families of processor
programs are relatively hard to test, debug and maintain

199
Q

What is a high-level programming language?

A

A programming language that looks more similar to a human language or mathematical notation and is therefore easier for programmers to use. However, a program must be used to translate the language for the processor.

They are intended to help programmers solve problems rather than to micro-manage the computer’s hardware.

200
Q

What is a compiler?

A

a program that translates all the high-level source code by compilation
compilation must be completed before the program can be run, i.e. the entire program must be translated before the processor can execute the instructions
if there are errors in the source code, the compiler produces an error report, the programmer corrects the errors and compiles the whole program again
therefore, the debugging of a large program before it can be run can be a slow, iterative process

201
Q

What is an interpreter?

A

program that translates high-level language statements and executes them on a specific processor and operating system
does not create machine code
analyses one source code statement at a time and runs appropiate subroutines to execute it
if the interpreter finds an error in the source code, it produces an error report and stops the execution
the process of translation slow the execution, but debugging a large program is faster as the program does not need to be re-compiled after every edit

202
Q

List 5 differences between a compiler and an interpreter

A

compiler produces object code; interpreter doesn’t produce object code
compiler translates whole program in one go; interpreter translates and executes line at a time
compiler produces list of all errors; interpreter produces error message each time an error is encountered
compiler produces “stand alone code”; interpreter doesnt produce “stand alone code”
compilation process is slow but resultant code runs very quickly; interpreted code runs slowly

203
Q

What is an operating system?

A

An operating system (OS) is a type of system software that acts as a layer of software between application programs and the computer’s hardware and provides an interface through which a user can run an application program.

204
Q

How is an operating system loaded on a computer?

A

Computers cannot run without software, but it must be running before it can load an OS. There must be a small program to start the process of loading the OS.
A small firmware program runs to start the loading process, stored in flash memory in PCs and laptops.
1st program – performs ‘power-on-self-test’ (POST) to prevent the computer from starting to run in an unstable state. Checks the integrity of firmware, externals devices and size of internal memory. Identifies the most promising disk drive from which to load an operating system.
2nd program – ‘boot loader’ loads first part of OS into RAM. The process in which the operating system loads itself then takes control of the computer is called ‘bootstrapping’.

205
Q

List the functions of an operating system

A

To manage the users, hardware, software and peripherals (input and output devices that are not integral or necessary to the system)
To manage user accounts and security.
To provide a user interface through which a user can run application programs and perform housekeeping tasks such as defragmenting or file indexing.
To manage the allocation of internal memory and processor time, as well as interrupt signals to the processor
Provide ‘spooling’ – temporary storage of input or output data in a queue to allow application programs to proceed with other tasks while peripherals operate relatively slowly.

206
Q

What is a batch operating system?

A

Dedicated to managing a succession of batch ‘jobs’ or packages of work, each consisting of a program and a batch of data
A batch of data is prepared, validates, often verified by double entry, and entered into a transaction file before any processing takes place.
The processing runs to completion without any intervention from an operator unless an error occurs. Output received in the form of updated files or printer output
Allows the operator to specify:
The owner of the particular job
Programs
Data files
Priority (position in queuing)
Max processor time allowance, memory and printing lines
Actions to be taken in case of program error

207
Q

List the advantages and disadvantages of a batch operating system

A

Advantages:

Quick processing as no delays by waiting for user to enter data
Especially useful when the program and data are reliable and accurate

Disadvantages:

Less useful when data is unreliable, as it cannot be modified while the program is running

208
Q

What is a multi-tasking operating system?

A

Typical modern operating system for any sort of general-purpose computer
Simultaneously runs several processes and services and more than one application program
On any computer with only a single processor, only one program can run at any instant, but there is an illusion of simultaneous running by sharing processing time between programs

209
Q

What is a multi-access operating system?

A

Allows more than one user to use the computer at the same time (multiple log-ins)
Each user interacts with the computer through a ‘terminal’ consisting of a keyboard and display screen. The terminals do not have their own processors and are not computers.
The OS shares processing time between the users, who each have all the computer’s resources available to them.

210
Q

What is a real-time transaction processing operating system?

A

A real-time OS supports application programs that can process input within a guaranteed maximum time to produce the output required to keep pace with the user’s needs for information or control.
A real-time transaction processing OS supports application software for processing transactions e.g. bookings as they occur, with a maximum response time within the range of seconds.

211
Q

What is a real-time process control operating system?

A

Controls a physical or chemical process by continuously monitoring conditions, set-point data and sensor feedback data.
Data is processed to calculate and make decisions of the output required to the actuators.
Frequent sampling and rapid processing is necessary, with a max. response time within the range of microseconds to milliseconds.

212
Q

What is a network operating system?

A

Manages communication between computers and peripherals equipped with a ‘network interface card’ (NIC) and connected to a network.
Most OSs for laptops and PCs for small office and home use have built-in support for ‘peer-to-peer’ networking for sharing resources, peripherals and internet access.
Other OSs support server-based networks, which have a ‘server’ computer running a ‘server operating system’ which controls access for the ‘client’ computers which run ‘client operating systems’.

213
Q

What is a user interface?

A

A user interface consists of all the hardware and software through which a user provides input to a computer or receives information from it.

Two types of user interface:

command line interface (CLI)
graphical user interface (GUI)

214
Q

Describe the command line interface (CLI)

A

User relies on keyboard for input, having to remember the available commands and their syntax, and type commands accurately.
Output restricted to text only
Useful for experts as it enables them to work quickly and access a wide range of commands

215
Q

Describe the graphical user interface (GUI)

A

A GUI often features:
Windows
each task displayed in separate window
each window is a rectangular region of the screen through which a running program, document or dialogue box can be viewed

Icons
small pictorial symbol representing a command, file or shortcut

Menus
Pointing devices

OSs with GUIs support folders and sub-folders to represent directory contents. The hierarchical structure of folders can often be viewed in a navigational file manager

216
Q

How does file management work?

A

Folders are used as virtual containers to store files in so they are easier to organise and find.
The OS stores an index of the contents of each storage drive, known as the drive’s root directory, which lists the files and folders within the drive.
Each folder has its own file directory, and each sub-folder has its own sub-directory

217
Q

What user commands for file management are there?

A

User commands for file management include listing directory contents by opening a folder, moving and copying files and folders, and printing files

List
Opening a storage device lists the folders, files and subfolders it contains. Files and folders can be sorted, renamed, searched and created.

Move
Moving files and folders to different places

Copy
Useful for making backups

Print

218
Q

What is polling?

A

When the operating system periodically interrogates each peripheral device in turn to discover its status, as peripheral devices cannot control the transmission of data to and from the computer.
Disadvantage of significant processing time being used in polling all devices, even when inactive.

219
Q

What is an interrupt?

A

A signal sent to the processor from a peripheral device (hardware) or program (software) to indicate that the sender needs attention; this cuts off the current thread of processing so the processor can resolve the needs of the device or program
One way of responding to an interrupt when multiple peripherals are in use is by polling the devices, so polling only occurs when a peripheral is known to need attention.
Another system of response is known as ‘vectored interrupt’, in which a device supplies an internal memory address called a ‘vector’, which contains the start address of the appropriate interrupt handler program.
An application program can use a software interrupt to request a service from the OS, such as opening a file or exiting the application. This is known as a ‘system call’.
Since the OS passed control to the application in the first place, the application has, in effect, interrupted itself to fulfil the user’s request.

220
Q

What is handshaking?

A

The computers’ way of indicating the start and end of communication (e.g. indicating whether or not the other device has been acknowledged), as well as negotiating protocol for communication in a session. (e.g. data transfer rate, odd/even parity, flow control)
May involve sending electronic signals as special codes down the normal data channel or sending extra signals down a short separate hardware wire cable.

221
Q

Describe the steps in the process for transmitting one data packet from a computer to a printer

A

(repeated possibly 1000s of times until the printer sends an interrupt signalling the data transfer is complete):

The computer’s printer driver program fills the print buffer and requests the host controller to send the data to the printer.
The host controller sends an OUT token packet immediately followed by a data packet to the printer. Although the OUT packet is not technically a handshake packet, it marks the beginning of a handshaking flow control process.
The printer’s USB hardware sends an ACK handshake packet to inform the host controller that it has successfully received the data packet in its input buffer.
The printer’s USB hardware generates an interrupt signal to the printer’s microcontroller.
The printer’s firmware handles the interrupt by reading and processing the contents of its input buffer.

222
Q

What is a checksum?

A

An arithmetic summarisation of a block of data that is sent with the data along with the calculation performed to reach the checksum – the receiving device performs the same calculation on the data and compares the result with the checksum that was sent to confirm its integrity.

If the checksums do not match, the data is rejected; else, the integrity of the data has been proven to be maintained.

223
Q

Describe what is meant by a ‘low-level language’ using examples.

A

Machine code and assembly language are low-level languages that work directly with a computer’s hardware

224
Q

What is machine code?

A

Written in binary, made up of thousands of 1s and 0s
This makes it very difficult for programmers to write and debug

225
Q

What is assembly language?

A

Only a bit easier to work with
Uses mnemonics to represent instructions

226
Q

Give some advantages and disadvantages of using low-level languages.

A

Advantages:

Interact directly with the hardware, enabling memory to be used efficiently - allows for faster execution of a program

Disadvantages:

Difficult and time-consuming to use
Have few tools that help with debugging and maintenance
They are machine-specific

227
Q

Describe what is meant by a ‘high-level language’ using examples.

A

High-level languages, such as Java and Python, are programming languages closer to human languages than low-level languages

(use keywords like ‘print’, ‘if’ and ‘return’)

228
Q

Describe some features of high-level languages.

A

They are problem-oriented - enable programmers to focus on a program’s logic, rather than on how it will be implemented on a computer’s hardware
Come with libraries of ready-made functions and editing tools to make it easier to write code

229
Q

Describe some features of high-level languages.

A

They are problem-oriented - enable programmers to focus on a program’s logic, rather than on how it will be implemented on a computer’s hardware
Come with libraries of ready-made functions and editing tools to make it easier to write code

230
Q

Give some advantages and disadvantages of using high-level languages.

A

Advantages:

Programmer-friendly
Have tools that help with debugging and maintenance
They are machine-dependent (portable) - will run on computers with different types of CPU

Disadvantages:

Generally less memory efficient

231
Q

(Exam-style question)

A program written in a high-level language will run on computers with different types of CPU, whereas one written in a low-level language is machine-specific.

Explain this difference. (3)

A

Programs written in a high-level language focus on the program logic and do not concern themselves with how it will be implemented on particular computer architecture
Programs written in a low-level language use the instruction set of a specific CPU

232
Q

(Exam-style question)

A program is needed to control an embedded system with very limited on-chip memory.

Explain one reason why a programmer may decide to write the program in a low-level language. (2)

A

Using a low-level language ensures that the system’s memory is used efficiently
This is because it enables the programmer to select the most appropriate instructions to use and to directly control the hardware to be used

233
Q

What is the condition for programs to be executed by the CPU?

A

Programs have to be translated into machine code before they can be executed by the CPU

234
Q

(Exam-style question)

Explain one reason why program code developed using a high-level language must be translated. (2)

A

Instructions must be translated into machine code because that is the only language the CPU can execute

235
Q

Give three examples of translators.

A

Compiler
Interpreter
Assembler

236
Q

State the purpose of a compiler.

A

To translate a high-level language’s source code into machine code (object code)

237
Q

State the purpose of an interpreter.

A

To translate high-level code line by line into machine code

238
Q

State the purpose of an assembler.

A

To translate assembly language into machine code

239
Q

Give some advantages of using a compiler to translate a programming language.

A

Translates all program code into machine code at same time
Program only has to be translated once - allows for faster execution of program
Protects software from competitors as source code is not available to them

240
Q

Give some disadvantages of using a compiler to translate a programming language.

A

Reports list of errors after having compiled whole program if it encounters any, making debugging harder
You cannot change the program without going back to, editing and recompiling the original source code
Compiled programs can only be ran on specific systems

241
Q

Give some advantages of using an interpreter to translate a programming language.

A

Stops translating program when an error is found and reports it - lets programmer know where it occurred, making debugging easier
Program code can run on any system that has the interpreter
Program can be easily edited as it always exists as source code

242
Q

Give some disadvantages of using an interpreter to translate a programming language.

A

Each line of code has to be translated every time program is executed, therefore it is slower to run

243
Q

Address bus

A

Carries the address of the memory location. Unidirectional, only the CPU can put an address on this bus.

244
Q

Data bus

A

Holds the value being read from or written to memory. Bidirectional.

245
Q

Control bus

A

Carries command signal from the control unit to other components. The status signal is sent back to the CPU.
Bidirectional.

246
Q

Clock

A

A tiny quarts crystal that vibrates and sends out electronic signals to synchronise the actions of the hardware components.
Measured in hertz, 1 hertz = 1 “tick” per second.

247
Q

Fetch/Decode/Execute cycle

A

Program instructions and data are stored in main memory and transferred/fetched one data at a time to the CPU, where they are decoded and executed.

Fetch: The control unit sends a read signal to main memory along the control bus. It also places the memroy address of the next instruction on the address bus. The RAM copies the content of the memory location indicated by the address bus on the the data bus.

Decode: The control unit decodes the instructions.

Execute: The control unit sends signal to the other components of the CPU instructing them what to do.

248
Q

Secondary Storage

A

Non-volatile
Allows the system to store data and programs permanently.
Cheaper and slower than main memory.

Types:
- SSD(Solid State Drives): USB drive
- Magnetic storage: HDD(Hard Disc Drive)
- Optical Storage: DVD/CD

249
Q

Magnetic Storage

A

A head reads & writes to spinning discs.
An area that is magnetised represents a 1.
An area that is not magnetised represents a 0.

250
Q

Solid State Drive

A

Represents bits by little pools of trapped electrons on a microchip.
No flow(trapped) represents a 0.
Electron flow represents a 1.

251
Q

Optical storage

A

Laser beam reads and writes data(Pits and land)
Pit represents a 0
Land represents a 1

252
Q

Operating system (OS)

A

A program that controls and manages the hardware and all other software on a computer and provides an interface for users

253
Q

Application software

A

Programs or apps deigned for end users.
Such as:
- Web browser
- Spreadsheet
- Game

254
Q

Utility software

A

Programs that functionality to a computer system or improve its performance in some way.
Such as:
- Disk repair
- Compression
- Anti-malware

255
Q

Why is robust software made

A

To produce software that is capable of handling the unexpected without crashing, not generating incorrect output, or not revealing sensitive data

256
Q

Bad programming practices

A

Not having a well-thought design
Not following coding standards
Using a temporary fix
Writing unstructured code
Not testing

257
Q

Scheduling

A

All processes are held in a queue
Some processes are prioritised
Processes are allocated time slides, length of time slices depends on priority. Processes are switched at the end of their time slice
Unfinished processes are put to the back of the queue
During the time slice, the process has exclusive use of the processor

258
Q

Types of operators

A

Relational
Arithmetic
Logical

259
Q

Relational

A

<, >, !=, ==

260
Q

Arithmetic

A

+, -, *, /

261
Q

Logical

A

AND, OR, NOT

262
Q

Write data in SSD

A

Current applied to a transistor
Forces electrons through a barrier, trapping them in pools
Full pool (0), Empty pool (1)

263
Q

Disk fragmentation

A

Files are written to a disk in blocks
Blocks can be dispersed through the disk

264
Q

Disk defragmentation

A

When file blocks are rearranged in the disk
To place free space together / file blocks together

265
Q

Audit trails

A

Keeps track of who made what changes
Allows to track back problems
Enables program to be rolled back
Help produce robust software

266
Q

Code reviews

A

Check that software adheres to agreed standards
Find instances of inefficient code
Identify potential vulnerabilities
Done by programmer

267
Q

Compiler

A

Translates the source code into a stand-alone machine code program that can be executed by the processor

268
Q

Interpreter

A

Translates a high-level code line by line into machine code. It is needed each time the program is run

269
Q

Cache

A

Store frequently used instructions (act as a buffer)

270
Q

High-level languages

A

Most programming languages (Python, C++, etc.)
Human-readable states that make it easier for us to program
Portable, able to run on many different types of hardware

271
Q

Low-level languages

A

Close to machine code compared to HLL
Harder to be read by humans, easier to be read by computers
They need less translation which leads to faster code
Not portable

272
Q

What does ‘IPO’ stand for?

A

Input –> Process –> Output

273
Q

What does ‘IPO’ stand for?

A

Input –> Process –> Output

274
Q

What model does all hardware and software use?

A

The IPO model

275
Q

How does the IPO model work?

A

Receives inputs from user or other source –> does some computation on the inputs –> returns results of these computations

276
Q

What are the different software types?

A

Security software
Application software
System software

277
Q

What is the definition of ‘Security Software’?

A

Any software that procides security for a computer or network

278
Q

What is the definition of ‘Application Software’?

A

Software created for a specific purpose. It is generally a program or collection of programs used by end users. It can be called an ‘application’ or simply an ‘app’.

279
Q

What is the definition of ‘System Software’?

A

A type of computer program that is designed to run a computer’s hardware and application programs. The interface between the hardware and the software.

280
Q

Definition of ‘hardware’?

A

any physical device used in or with your machine

281
Q

Definition of ‘software’?

A

collection of codes installed onto your computer’s hard drive

282
Q

Give an example of Security Software:

A

Anti-vurs, Firewall..

283
Q

Give an example of Application Software:

A

Database/ Word..

Processors/ Web browsers..

284
Q

what is application software?

A

Computer programs written for specific purpose

285
Q

what is system software?

A

Programs that manage the operation of the computer
e.g. windows

286
Q

What does IDE stand for?

A

Integrated Development Environment

287
Q

What is an IDE?

A

Software used to enter and edit source code. It will also compile programs to machine code and have debugging features

288
Q

What are the facilities of an IDE that would be useful to programmers?

A

Error diagnostics (debugging and error detection)

Runtime environment

Translators

Code editors

289
Q

What is a runtime environment?

A

Enables a program to be run. It checks for runtime errors and other testing can be carried out.

290
Q

What is prettyprint?

A

Alters indentation and formatting to make code easier to read

291
Q

What are error diagnostics?

A

A list of errors along with the line number in which they were detected

292
Q

What are breakpoints?

A

Lines of code in the program that enables the programmer to pause the program at certain points to check the values of variables