1.2 Software and Software Development Flashcards

1
Q

Define Open source

A

Open source code can be used by anyone without a license and is distributed with the source code.

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

Open source advantages

A

Can be modified and improved by anyone
Technical support from online community
Can be modified and sold

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

Open source disadvantages

A

Support available online may be insufficient or
incorrect. No user manuals.
Lower security as may not be developed in a
controlled environment

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

Open source example

A

Mozilla Firefox, Linux

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

What are system utilities

A

Software to ensuring/maintain the consistent, high performance of the operating system

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

Name 5 System Utilities

A
Backup
Antivirus 
Automatic Updates
Disk Defragment
Compression
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Define Applications software

A

Designed to be used by the user to perform one specific task.

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

Define Systems software

A

Low-level software that is responsible for running the computer system

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

Example of Applications software

A

Web browsers, spreadsheets

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

Example of Systems software

A

Utility programs, Operating system, Device drivers

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

Define Translators

A

A translator is a program that converts high-level source code into low-level object code

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

Define Compiler

A

Compilers translate high-level code into machine code all at once,

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

Define Interpreter

A

Interpreters translate and execute code line-by-line. They stop and produce an error if a line contains an error

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

Define Assembly Code

A

Low-level language

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

What are the stages of compilation?

A

Lexical analysis
Syntax analysis
Code generation
Optimisation

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

What is a memory manager

A

Keeps track of what portions of memory have been allocated
Determines how much memory to allocate to each process
Determines when a portion of memory should be available for a process

17
Q

Give three advantages of using libraries

A

Error-free
Save time
Re-usable
Designed by experts

18
Q

What are the similarities and differences between static and dynamic linkers?

A

Both: link external modules and libraries to main program
Static: File size increased.
Dynamic: External updates automatically feed through to main program

19
Q

Give two advantages of using interpreted

code over compiled code

A

Is platform independent
Runs instantly without time waiting for compilation
Useful for debugging

20
Q

Give two advantages of using compiled code over

interpreted code

A

Faster to execute

Does not require compiler to run

21
Q

Define libraries

A

High-level languages come with pre-written code libraries that give you access to many specialist functions

22
Q

Define Linkers

A

Compilation of high-level programs, often results in several object code files. The linker resolves all of the cross-references between the files and creates a single executable program.

23
Q

Define Interrupts

A

Are signals generated by software or hardware to indicate to the processor that a process needs attention