1.2.2: Application Generation Flashcards

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

System Software

A
  • low level software that is responsible for running system smoothly interacting with hardware–> providing platform for apps
  • user not directly interacting with S.S –> ensures high performance for user
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

System Software examples

A
  • library programs, utility programs, O.S, device drivers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Application Software

A
  • designed to be used by the end-user to perform 1 specific task
  • requires systems software to run
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Application Software examples

A

-desktop publisher, word programs, web browser

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

Utilities

A

-ensuring the consistent high performance of the OS

-each utility program has a specific function –> linked to maintenance of OS

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

(U) Compression

A

-OS provide utilities –> allow files to be compressed/ decompressed

-compressing large files over internet + compress large files

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

(U) Disk defragmentation

A
  • as hard disk becomes full, read/write times slow down –> files become fragmented as they are stored in different parts of memory
  • rearranges contents in hard drive –> access faster –> improving performance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

(U) Antivirus

A
  • deleting threats + alerting user
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

(U) automatic updating

A
  • OS needs to up to date
  • tackles bugs/security flaws –> less vulnerable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

(U) Backup

A
  • routine copies of specific files chosen by user

-> files can be recovered

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

Open Source

A
  • used by anyone without license + distributed with source code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Open Source Advantages

A
  • can be modified + improved by anyone
  • Tech support from online communities
  • Sold on
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Open Source Disadvantages

A
  • support may not be sufficient/incorrect
  • lower security
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Closed source

A
  • needs license –> user can’t access source code - company owns license
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Closed Source Advantages

A
  • Thorough, regular updates
  • company owning software provides support + user manuals
  • Higher security
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Closed source disadvantages

A
  • restricts how many can use software at once
  • users can’t modify/ improve software
17
Q

Translators

A
  • programs converting high level code into low-level code
18
Q

(T) Compiler

A
  • conversion all at once after checks + reporting errors
  • compiled code specific to certain devices/processor types + OS
19
Q

(T) Interpreter

A
  • translation +execution line by line
  • reports errors in line of codes
  • faster, code instantly executed, slower than running compiled code
  • more portable
20
Q

(T) Assembler

A
  • translates assembly code to machine code ( 1 to 1 basis)
21
Q

(T) Assembly code

A
  • low level language –> next level up from machine code

–> platform specific - dependent on instruction set of processor

22
Q

Stages of compilation

A
  • when compiler is used, high level code turned into object code then ready to be used

lexical analysis - syntax analysis - semantic analysis - code generation - optimisation

23
Q

Lexical analysis (1)

A
  • whitespace + comment removed

===============================================================

while flag = False;

print “not found”;

terminates when item is found

while flag = False:

print “not found”;

===============================================================

  • remaining code analysed for keywords + names of variables + constants –> replaced with tokens + info about token stored in symbol table
24
Q

Syntax analysis (2)

A
  • tokens analysed against grammar + rules of programming language
  • any errors flagged as syntax errors + added to list of errors
  • abstraction tree: represent source code in a tree

semantic analysis –> logical mistakes are deleted

25
Q

Code generation (3)

A
  • abstract syntax tree used to produce machine code
26
Q

Optimisation (4)

A
  • searches areas of code which could be more efficient
  • aim: faster to execute
  • stage can add to overall time taken for compilation
  • redundant parts of code removed
  • risk: excessive optimisation –> alter the way the program behaves
27
Q

Linkers

A
  • piece of software responsible to link external modules + libraries used in code
28
Q

(L) static

A
  • modules + libraries added directly into main file –> increase size of file
  • any updates to modules + libraries externally won’t affect program –> specific version of library can be used
29
Q

(L) dynamic

A
  • addresses of modules + libraries are included in files where they are referred
  • when program runs, loaders retrieves program at specific address so it can be executed
  • files remain small + external updates feed through main file -> no need to rewrite code
30
Q

Loaders

A
  • program provided by OS
  • when file executed. loader retrieves library/ subroutine from given memory location
31
Q

Libraries

A

A collection of pre-compiled routines which can be incorporated into a program like static/ dynamic linking

32
Q

Use of libraries

A
  • ready to use, error free –> saving time
  • developing/ testing modules - reused in multiple programs
  • provide specialised functions
  • popular libraries –> mathematical + graphical functions