122-application-generation Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

Hardware and Software

A
  • Hardware - physical parts of computer system n peripherals e.g RAM, hard drives, printers, keyboards.
  • Software - all computer programs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

System Software

A

low level software running computer system smoothly.
-interacts with hardware
- provides a platform for applisoftware to run.
- Examples: OS, device drivers, and utility programs.

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

Application Software

A
  • Any program designed to enable end user
    -to perform a task
  • requires shared (system) software in order to run.
  • generic applications and specific applications.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Generic Applications

A

software programs do not have specific/narrow purpose.
- use carry out different tasks/meet multiple needs.
- Examples : word processors, presentation software, spreadsheet,

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

Specific Applications

A

-highly specific and bespoke
- given task serious,
- They tend to be only installed on systems where there is a direct need.
- example is database software.

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

Utilities/Utility Software

A
  • specialist system software
    -provides additional functionality to OS and helps maintain the computer’s high performance
  • often comes with OS but can be provided by independent third party software
  • Each utility program is designed with a specific function that is linked to the maintenance of the OS
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

File Repair (utility)

A
  • File repair software attempts to correct issues and restore files to their original working state.
  • A file repair facility is often built into certain applications, as well as being a separate, dedicated software tool found in most operating systems or independent vendors.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Anti-virus (utility)

A
  • Antivirus software detects, alerts, and removes potential threats such as malware and viruses.
  • It scans all computer files against a database of known malware to prevent, detect, and remove them.
  • Anti-phishing tools and anti-spyware software are also included.
  • Anti-malware software safeguards computers from viruses, trojans, worms, and spyware.
  • Proactive antivirus monitors the system for potential threats, while reactive antivirus can detect, prevent, and remove known malware.
  • Malware protection is built-in and configured in most operating systems.
    Companies offer dedicated anti-malware programs.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

anti-spyware software (utility)

A

Term: Anti-Spyware Software
Definition: A program designed to prevent, detect, and remove spyware from the computer. It stays resident in memory and scans all processes.

Term: Spyware Protection
Definition: A utility that protects against spyware such as keyloggers and adware that attempts to sell browsing habits to companies.

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

Firewall (utility)

A

A utility that acts as a barrier between your network and the internet. It examines incoming and outgoing traffic and blocks unauthorized access.

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

System Information (utility)

A

A utility that provides detailed information about your system, such as CPU manufacturer/clock speed, device driver versions, amount of RAM, and more

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

System Cleanup (utility)

A

A utility that scans the hard drive for unnecessary files and deletes them to free up space, such as temporary files created by programs, cookies, old emails, and unused registry entries.

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

Automatic Updating (utility)

A

A utility that automatically logs into a software manufacturer’s website to see if there is an available update. It ensures the OS is kept up to date and less vulnerable to malware and hacking threats.

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

Defragmenter (utility)

A

A utility that reorganizes files on a hard disk, putting fragments of files and free space back together to increase speed and free up space.
Over time files on hard drives can become split up into fragments and spread across the disk making retrieval of the files slower. Disk defragmenting software consolidates the parts of the files back together.

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

File Transfer (utility)

A

A utility used to transfer files across the internet using FTP (File Transfer Protocol).

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

Formatter (utility)

A

A utility that prepares a disk for use with an operating system, writing the File Allocation Table and defining the way files are stored. The process also erases all files on a disk.

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

Backup (utility)

A

A utility that automatically creates routine copies of specific files selected by the user to prevent data loss. It can be a full backup, which copies all data files and software or an incremental backup that only copies data that has been changed since the previous backup.

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

Open source:

A

The source code is made freely available when distributed.

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
19
Q

Closed source (proprietary)

A

Software owned by a company where the source code is not made available to the public and is protected by copyright

Users cannot modify the software, and needs license to use it. License restricts how many people can use the software at once, usually per user or computer.

20
Q

Open source pros and cons

A

Benefits: software is free, wide community modification, and can be potentially modified and improved by anyone. Accessible to the public. Technical support from online community. Can be modified and sold on. Software can be developed collaboratively by many developers across the world.


Disadvantages: some features might not be well tested or may not integrate well, and support available online may be insufficient or incorrect. No user manuals.

Lower security as may not be developed in a controlled environment.Disadvantages: some features might not be well tested or may not integrate well, and support available online may be insufficient or incorrect. No user manuals.

Lower security as may not be developed in a controlled environment.

21
Q

Closed source pros and cons

A

Throughout and regular well-tested updates.

Company owning software provides expert support and user manuals.

company obliged to provide software fit for purpose.

High levels of security as developed professionally.Throughout and regular well-tested updates.

Company owning software provides expert support and user manuals.

company obliged to provide software fit for purpose.

cost or ongoing subscription, and constant demand from community for more features and improvements, piracy issues.
-users must pay the person or company who owns the copyright for a license to use the software

22
Q

Source code:

A

Source code is the original code that a programmer writes.
It is translated into object code for the computer to process.

23
Q

Object/machine code:

A

Object code can either be: machine code to be run directly by the CPU, or intermediate code for use in a virtual machine.
Machine code is the least abstract, closest to what actually happens on a computer.
Programs directly in 1s and 0s, translating into matching electrical signals - e.g., 1 for high voltage and 0 for low.

24
Q

Translators

A

Programs that convert high-level source code into low-level object code, which is then ready to be executed by a computer

25
Q

Compiler:

A

Translates high-level code into machine code all at once, after carrying out a number of checks and reports back any errors. It creates an executable program or intermediate program and optimizes the code. It is specific to a particular processor type and OS, and the code can be run without a translator being present.

26
Q

Interpreter:

A

Translates code line-by-line every time the program is run. It stops when it finds an error and produces an error if a line contains an error. It is portable, as it only needs source code and an interpreter on any device to run. Users can see source code and steal it, and the code is not optimized.

27
Q

Assembler

A

Converts assembly language into machine code, replacing mnemonics with corresponding machine code opcode. It checks the symbol table to match labels to addresses and reserves storage in the machine for the produced instructions and data. It is platform-specific and requires fewer instructions to accomplish the same result. It is hardware-oriented, and programs written in machine language can be responded with mnemonics, which are easier to remember.

28
Q

What are the four stages of compilation when using a compiler to turn high-level code into object code?

A

The four stages of compilation when using a compiler are:

Lexical analysis
Syntax analysis
Code generation
Code optimisation.

29
Q

lexical analysis

A
  • compiler scans the code to identify language keywords, variables, operations
  • removes spaces and comments.
  • identified keywords and variables are replaced by tokens and stored in a symbol table.
30
Q

What is a token?

A

A fixed-length binary string that represents a language keyword, variable, or operation.

31
Q

What is a symbol table?

A

A table that stores information about the tokens and identifiers found in the code during lexical analysis. Multiple symbol tables can be created for each subroutine to allow variables to have the same name but with different scopes.

32
Q

What is syntax analysis?

A
  • abstract syntax tree is built from tokens produced in previous stage
  • check if statements break the rules of the language, syntax errors generated
  • Further details may be added to the symbol table, such as data types, scopes, and memory addresses.
33
Q

What is an abstract syntax tree?

A

A tree-like data structure created during syntax analysis that represents the syntactical structure of the code. It allows the compiler to check the program’s logical structure and detect logic mistakes.

34
Q

What is code generation?

A

The stage where the compiler generates object code from the output of syntax analysis.
- produces a machine code program that is equivalent to the source program. It turns the series of tokens into their binary equivalent commands and addresses.
The code is in the form of machine code and can be executed on the processor.

35
Q

What is code optimization?

A
  • compile optimizing the code structure
  • removing redundancies and references to unused variables/routines
  • sequences changed to speed execution
  • reduce the size of the executable code and improve its performance.
36
Q

Linkers

A

software program responsible for linking external modules and libraries included within the code.

allows already compiled object code files or modules to be combined with the compiled program.

The compiler translates source code into object code and the linker program pulls in any additional libraries needed.
The finished machine code can be an executable binary file or an intermediate state such as intermediate code.

37
Q

Two types of linker:

A

Static linking: Puts all the library code and compiled code into one big executable file.
Dynamic linking: Keeps the library separate. The OS loads the library when it is needed using a loader program.

38
Q

Static linking:

A

Modules and libraries are added directly into the main file.
This increases the size of the file.
A specific version of a library can be used.

39
Q

Dynamic linking:

A

Addresses of modules and libraries are included in the file where they are referenced.
Files remain small, and external updates feed through the main file.
Compiled versions of required libraries are stored on the host computer.

40
Q

Loader:

A

Part of the OS that loads the executable program file (machine code) into memory, ready to be run.
Responsible for loading the required libraries into memory when using dynamic linking.
- program that copies an object program held on backing store into main store ready for execution.
- When programs are loaded they must reside in memory in order for their instructions to be fetched by the CPU.
- The memory is very dynamic and changes as programs are opened and closed.
- loader finds suitable memory addresses for programs opening.

41
Q

Software libraries/modules benefits:

A

Quick and easy to use and hook in your own code.
Pre-tested, error-free, and typically optimized to run quickly.
Routines are already compiled, tested, and error-free.
Using libraries saves work for programmers, shortens overall development time, and reduces costs.
Routines may be used multiple times.
Allows the programmer to use other programmers’ expertise.
More standardized approach to coding.
May require fewer developers to work on a project.

42
Q

Drawbacks of using library routines:

A

Adding functionality or making specific tweaks can be very difficult or impossible.
You may be “black-boxed” from the actual implementation.
You have to trust that the developers will continue to maintain the library and have tested it completely.
-function may not do exactly what u want
- may significantly increase size of compiled file as library contains many routines that arent being used
- not written by the programmer so introduces uncertainities/programmer needs to spend time familarising themselves with it

43
Q

Use of Libraries

A

Libraries are externally written code, prebuilt that you can import into your project, saving the user programming time.
examples: random randint, gui routines. pillow graphics

44
Q

File managers (utlitlity)

A

allows directories, folders and files and to be creatied, copied, moved, deleted, renamed

45
Q

open source disadvantages

A
46
Q

closed source cons

A

cost or ongoing subscription, and constant demand from community for more features and improvements, piracy issues.
-users must pay the person or company who owns the copyright for a license to use the software