1.2.2 - Applications Generation Flashcards

1
Q

What is application software?

A

Application software is designed to perform tasks a user wants to complete, like playing a game, writing a letter, or sending an email.

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

Name 3 examples of office based software.

A

Word processors
Spreadsheet software
Presentation creators.

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

Name 4 examples of media based software.

A

Video games
Movie editing
Image manipulation
Media playback software

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

Name 2 examples of non-media and non-office based oftware.

A

Database management software

Communication software

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

What is general purpose software?

A

Software that can be used for a variety of tasks, e.g presentation software.

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

What is special purpose software?

A

Software that can only be used for one particular task, e.g scientific calculator.

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

What is bespoke software?

A

Software tailor-made to meet the user’s specific requirements, e.g touchscreens in a fast food restaurant.

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

What is system software?

A

Software which controls the hardware of a computer system. Sits between the hardware and application software, because the application may ask the system to fetch data from memory.

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

Name 2 examples of system software.

A

Utility programs

Translators

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

What is malware?

A

Malware is malicious software designed to cause damage to computer systems, corrupt or change files, steal data, or cause disruption to services.

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

What is anti-malware software designed to do?

A

Anti-malware software is designed to protect a computer system by detecting and blocking threats.
Commonly, it will continually monitor the files and software being accessed by the operating system in order to detect signs of malicious intent.

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

How does anti-malware software deal with a virus?

A

1) The software will use a dictionary of known viruses to help it identify a virus on the system.
2) Once identified, the software will quarantine the file, involving isolating the file so that it can’t spread or cause further damage.
3) The software will attempt to repair the file or give the user an option to repair it.

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

How does anti-malware software deal with other types of malware than viruses?

A

The software will block the threat as it comes across it to prevent the malware causing damage in the first place.

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

Name 4 ways a user can lose data.

A

Forgetting to save the file before shutting down
Unexpected power loss
Accidental deletion
Malware attacks

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

What is backup utility designed to do?

A

Automate the process of backing up files so that in the event of data loss, the file can be recovered to the point where it was last backed up.

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

What does a full backup do?

A

Full backup will copy anything that has been identified as important. Usually this is all the data on the system.

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

What does an incremental backup do?

A

An incremental backup will only copy files that have been changed since the last full backup.
The user can specify the location (cloud, external hard drive, another machine) and frequency of the backup.

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

What is the problem with a full backup?

A

It is time-consuming, and uses a lot of system resources like demand on the processor and a large amount of storage space to save all the backups.

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

How often do backups take place?

A

It’s common for backup software to take one full backup at intervals such as once a week, and incremental backups on an hourly or daily basis.

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

What is a mirrored drive?

A

In systems that are essential for the running of a service or survival of a business, data can be stored on drives that are an exact replica of the current system (mirrored drives). If one drive fails, the data can be automatically accessed from the mirrored copy.

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

What is compression utility software for?

A

It is specifically responsible for compressing and decompressing files you have saved on your device, normally to reduce the amount of data inside files.

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

Name 3 examples of where compression utility software could be used.

A
  • To save secondary storage space on infrequently used files, increasing system efficiency.
  • To reduce the transmission time when sending the file across a network.
  • To keep a file within the maximum email attachment limit.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What is the purpose of a disk defragmenter?

A

A disk defragmenter is software that looks at all of the data on a hard drive and reorganises it, so that related data is stored together.

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

How does disk fragmentation occur?

A

Everything is initially saved together, but as files are deleted and new files are added, the data is saved in the first available space.
If that space is too small for all of the data needed for the file, the available space is filled first and the remaining data is saved elsewhere on the hard drive.

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

Why is disk fragmentation bad?

A

It can slow down the performance of your computer.
If related data becomes separated, the hard drive’s read/write heads need to move to different areas of the disk in order to retrieve or save files.

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

How does defragmentation software work?

A

It follows the process of:
Temporarily removing files from the hard drive
Collecting together the empty spaces
Collecting together the related data
Placing the data back on the hard disk so that related data is now stored sequentially

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

Why do SSDs not require disk defragmentation?

A

SSDs are able to read blocks of data that are fragmented, just a quickly as they can read data that is stored sequentially.

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

What does a file manager do?

A

It provides a graphical user interface to allow the user to easily manage the files on their secondary storage devices.

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

What tasks does a file manager allow a user to complete?

A
Opening and closing
Creating new folders and directories
Renaming
Moving and copying
Deleting
Creating shortcuts
Setting permissions for access
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

What does a file repair utility do?

A

It is designed specifically to recover files that have become corrupted, or damaged files that can no longer be opened.
It will attempt to repair the damage to the file so that it can be opened correctly by the appropriate software application.

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

When is a file repair utility needed?

A

When data in the file has either gone missing or has become disorganised, therefore making it unreadable by the software attempting to open it.
The damage to the file can be caused by a bug in the software that wrote data to the file, or by malware that corrupts the file maliciously.

32
Q

What does a disk checker do?

A

A disk checker will scan the secondary storage device to check for corrupted files. It will attempt to fix the errors and give you the option to delete them if it was not possible to restore the files.

33
Q

What does disk formatting do?

A

Disk formatting involves preparing a secondary storage device to be used to store files. Preparation usually means erasing any data currently on the device and making sure the settings are correct so that it is compatible with the operating system.

34
Q

What does partitioning do?

A

Partitioning allows you to divide up the storage space on a single secondary storage device so that the operating system sees them as separate drives. Each partition is known as a logical drive or volume.

35
Q

Name 2 reasons why partitioning is useful (to do with recovery)

A

Creating two partitions, one for the OS and one for files, can protect from loss if there is an OS error. Some OSs do this automatically.
Creating a recovery partition including all of the factory settings for the computer means the system can be easily restored if needed.

36
Q

Name 2 reasons why partitioning is useful (not to do with recovery)

A

Lets you dual boot your system, allowing you to have multiple OSs on the same device.
You can create a network drive accessible to other devices, allowing you to share files more easily and keep private files you don’t want to share.

37
Q

What is utility software?

A

It is a specific category of System software that runs in the background and supports the computer system in operating as safely and efficiently as possible.

38
Q

What is the job of utility software?

A

It has the job of analysing, configuring, optimising, and maintaining a particular part of your computer system.

39
Q

What is closed source software?

A

Closed source software is software for which the source code is not freely available.
It is developed and provided to the user as a fully compiled, executable set of files.

40
Q

How is closed source software sold?

A

Closed source software is usually sold to end users, although sometimes it is available for free. Importantly, when purchasing software, the user does not buy the software itself, but buys a licence to use the software.

41
Q

How is closed source software maintained?

A

The developer often provides support to users after purchase and ensures that the software works as expected. As the user is not provided with the source code, they cannot make changes to the software.

42
Q

What is open source software?

A

Open source software is software for which the source code is freely available to download.
The code can be inspected and modified to suit the specific requirements of the user.

43
Q

How is open source software purchased/downloaded?

A

Open source software is usually free, but not all free software is open source (closed source software can also be free).

The quality of the finished product can vary: some open source software is extremely high-quality and updated regularly, while some contains a number of bugs and quickly becomes outdated.

44
Q

How is open source software maintained?

A

Users can contribute to fixing errors and vulnerabilities in the code, and can sometimes provide assistance with the product to other users.
Also, any number of people could potentially contribute to the software development, and development is often a group effort.

45
Q

What are the advantages and disadvantages of open source software?

A

It is cheap
It is supported by armies of volunteer coders and testers, who are often very competent but may lack resources and organisation.
Anyone can find exploits but likewise, anyone can find fixes to problems.
Less regular updates
Support must be paid for
Can be shared

46
Q

What are the advantages and disadvantages of closed source software?

A

Support is normally free, and free updates tend to be provided.
The software is regulated by the Trades Description Act so must be “fit for purpose”.
The software can’t be shared and source code isn’t available.

47
Q

What are high level languages?

A

High-level languages, e.g. Visual Basic, C++ and Python, are used to write programs that are independent of the computer architecture they will run on.

48
Q

What do assemblers do?

A

Assemblers translate assembly code programs into executable code. Because assembly code is platform-specific, assemblers are similarly specific.

49
Q

What is the process of assembly?

A
Assembling is a relatively simple translation process. There is a one-to-one relationship between assembly code and machine-executable code. Where comments have been used in assembly code programs, they get removed by the assembler. 
Symbolic references (e.g. labels) are replaced with actual addresses.
50
Q

What do interpreters do?

A

Interpreters translate and execute each line of source code one by one. Each program is firstly syntax checked, and any errors are reported.
following the syntax check, each line of source code is converted into its machine code and executed. Any run-time errors are reported.

51
Q

Why is the line-by-line approach interpreters use good?

A

It allows the developer to test the program and quickly identify and remedy each error as it occurs, without having to translate the entire program every time.
So, they are useful at the development stage.

52
Q

Why does interpreted source code run slower than compiled code?

A

Each time the program is run, it must be translated all over again. In addition, the user must have the interpreter installed to be able to run the program.

53
Q

When can interpreted code be advantageous?

A

If the programmer does not know which platform will be used to run the code.
For example, JavaScript code is interpreted; the translation is handled by the browser on the user’s computer.

54
Q

What is bytecode used as?

A

Most interpreted languages now use bytecode as an intermediate stage to speed up the translation process. The source code is compiled to produce bytecode, which is interpreted by a virtual machine.

55
Q

What do compilers do?

A

Compilers translate code into a form that can be executed.
However, the compiler does not execute the code. Compilers produce executable code in a form that cannot be read by a human or readily reverse-engineered (i.e. converted back into source code).

56
Q

What 4 processes do compilers carry out?

A

Lexical analysis
Syntax analysis
Code generation
Optimisation

57
Q

How are compilation errors handled?

A

Any compilation errors are reported at the end of the compilation process.
This is a disadvantage for large programs, because the errors may be interlinked.
If any errors are found, the program will need to be rectified then compiled again until the program is free from errors.

58
Q

What happens when a program has successfully been compiled?

A

The executable file doesn’t need to be translated again unless the source code is changed.
This results in faster running times because there is no further translation needed, a particular advantage for programs where performance is critics, like fast-moving games.

59
Q

What is another advantage of using a compiler (not speed)?

A

The user doesn’t need a translator installed on their computer, as they will never need to translate the program themselves.

60
Q

What are compilers specifically designed for?

A

They are designed to produce code executable on a specific platform, so need to be re-compiled if they need to be executed on a different platform.

61
Q

How is most commercial software distributed?

A

It is distributed as compiled code, so the source code is protected.
This is advantageous to commercial developers who make money from their code.

62
Q

What is lexical analysis?

A

Lexical analysis is the first stage of the compilation process, where the source code created by the programmer is tokenised for translation into executable code.

63
Q

What happens during the first part of lexical analysis?

A

Any non-program elements are removed, e.g. comments and whitespace.
These are of benefit to the human reader but aren’t necessary for executable code, so the compiler removes them.

64
Q

What happens during the second part of lexical analysis?

A

The characters are read and each string is analysed and assigned a token, such as identifier, operator or literal.

65
Q

What are identifiers checked against?

A

They are checked against certain sets of rules; they can’t start with a number or contain certain characters.
Reserved words like print can only be used as keyword tokens.

66
Q

What happens during syntax analysis?

A

Once tokens have been assigned to the code elements, the compiler checks the tokens are in the correct order and follow the rules of the language.

67
Q

What is created during syntax analysis?

A

During this stage, an abstract syntax tree (AST) is created, which maps the structure of the program, first dropping the brackets and semicolons used.
If required tokens are missing or in the wrong place, the compiler will report an error.

68
Q

What is the code generation stage?

A

This is where a separate program is created that is distinct from the original source code.
The code generated is the object code, the binary equivalent of the source code.
It is the executable code before linked libraries are included.

69
Q

What is code optimisation?

A

This is a process carried out throughout compilation and in particular as part of code generation.
It may rearrange or remove code as necessary, or identify redundant or repeated code.

70
Q

What are some examples of code optimisation?

A

Removing procedures that are never called.
Moving an assignment statement that had been incorrectly placed in a loop, causing it to be inefficiently executed multiple times.

71
Q

What do libraries do?

A

Libraries give you access to many specialist functions. For example, most programming languages contain libraries allowing math functions to be carried out by reference to pre-written functions.

72
Q

Where are libraries generally used?

A

Libraries are used in high-level-languages.

73
Q

Why is library code encouraged?

A

It saves you from having to reinvent the wheel when writing a new program. As long as it’s from a reliable source, it has usually been thoroughly tested and so is efficient and reliable.

74
Q

What does a linker do?

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.

75
Q

What does a loader do?

A

As part of the program execution process, a loader — part of the operating system — copies the executable code into main memory (RAM).
This is what happens when you double-click on an icon to start your word processing system, email client, or any other compiled program.
The loader also carries out a lot of other tasks to prepare a program for execution.