1.2.2 Applications general

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/28

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 4:36 PM on 5/24/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

29 Terms

1
New cards

applications software

  • Applications software is designed to be used by the end-user to perform one specific task.

  • Application software requires systems software in order to run.

  • Examples: desktop publishing, word processing, spreadsheets, web browsers.

2
New cards

system software

  • low-level software that is responsible for running the computer system smoothly

  • interacting with hardware and generally providing a platform for applications software to run.

  • The user does not directly interact with systems software but it ensures high performance for the user.

  • Examples: library programs, utility programs, operating system, device drivers.

3
New cards

Utility

  • key piece of system software integral to ensuring the consistent, high performance of the operating system.

  • Each utility program has a specific function linked to the maintenance of the operating system.

4
New cards

compression

  • OS provide utilities that enable files to compressed and decompressed.

  • This is used when compressing large files to be transmitted across the Internet and is commonly used to compress scanned files.

5
New cards

Disk defragmentation

As the hard disk becomes full, read/write times slow down → This is because files become fragmented as they are stored in different parts of memory.

  • The disk defragmenter utility rearranges the contents of the hard drive so they can be accessed faster, thus improving performance.

6
New cards

Antivirus Antivirus

is responsible for detecting potential threats to the computer, alerting the user and removing these threats.

7
New cards

Automatic updating

  • This utility ensures the operating system is kept up to date, with any updates being automatically installed when the computer is restarted.

  • Updates tackle bugs or security flaws so this ensures the system is less vulnerable to malware and hacking threats

8
New cards

Source code

is written by a programmer and refers to object code before it has been compiled.

  • When software is described to be ‘open source’ or ‘closed source

  • this refers to whether or not the source code is accessible to the public.

9
New cards

open source code

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

10
New cards

ADV VS DISADV of Open Source code

ADV

  • Can be modified and improved by anyone

  • Technical support from online community

  • Can be modified and sold on

DISADV

  • Support available online may be insufficient or incorrect. No user manuals.

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

11
New cards

Closed source

Closed source code requires the user to hold an appropriate license to use it.

  • Users cannot access the source code as the company owns the copyright license.

12
New cards

ADV VS DISADV of Closed Source

ADV

  • Thorough, regular and well-tested updates

  • Company owning software provides expert support and user manuals.

  • High levels of security as developed professionally.

DISADV

  • License restricts how many people can use the software at once

  • Users cannot modify and improve software themselves

13
New cards

what must user consider when choosing either open/closed source

  • Costs - implementation, maintenance, training of staff, -

  • license - Functionality - features available, ease of use

14
New cards

Translators

  • a program that converts high-level source code into low-level object code

  • There are three types of translator that convert different types of code and work in different ways.

15
New cards

What are the 3 types of translators

  • compilers

  • interpreter

  • assembler

16
New cards

Compiler

Compilers translate high-level code into machine code all at once, after carrying out a number of checks and reporting back any errors

17
New cards

interpreters

  • Interpreters translate and execute code line-by-line.

They stop and produce an error if a line contains an error → may initially appear faster than compilers as code is instantly executed, → but are slower than running compiled code as code must be translated each time it is executed with an interpreter.

  • This feature makes interpreters useful for testing sections of code and pinpointing errors, as time is not wasted compiling the entire program before it has been fully debugged.

  • Interpreted code requires an interpreter in order to run on different devices.

  • → However, code can be executed on a range of platforms as long as the right interpreter is available, thus making interpreted code more portable

18
New cards

Assembler

Assembly code = a low-level language as it is the ‘next level up’ from machine code.

  • Assembly code is platform specific, as the instructions used are dependent on the instruction set of the processor.

  • Assemblers translate assembly code into machine code.

  • Each line of assembly code is equivalent to almost one line of machine code so code is translated on almost a one-to-one basis.

19
New cards

stages of compilation

  • lexical analysis

  • syntax analysis

  • code generation

  • code optimisation

20
New cards

lexical analysis

In the first stage of compilation, whitespace and comments are removed from the code. The code below

21
New cards

syntax analysis

In this stage, tokens are analysed against the grammar and rules of the programming language.

Any tokens that break the rules of the programming language are flagged up as syntax errors and added to a list of errors.

  • An abstract syntax tree is produced, which is a representation of the source code in the form of a tree.

  • Semantic analysis is also carried out at the syntax analysis stage, where logic mistakes within the program are detected.

  • Examples of semantic errors: multiple declaration, undeclared identifiers

22
New cards

code generation

The abstract syntax tree produced in the syntax analysis stage is used to produce machine code.

23
New cards

code optimisation

searches through the code for areas it could be made more efficient.

  • make the code faster to execute although this stage can significantly add to the overall time taken for compilation.

  • redundant parts of code are detected and removed

however

  • that excessive optimisation may alter the way in which the program behaves.

24
New cards

Linkers

This is a piece of software that is responsible for linking external modules and libraries included within the code.

25
New cards

Two types of linkers

static

dynamic

26
New cards

static

  • Modules and libraries are added directly into the main file → This increases the size of the file.

  • Any updates to modules and libraries externally will not affect the program → This means a specific version of a library can be used.

27
New cards

dynamic

Addresses of modules/libraries are included in the file where they are referenced.

When the program is run → loader retrieves the program at the specified address so it can be executed.

The advantage here is that files remain small and external updates feed through to the main file → there is no need to rewrite the code.

28
New cards

Loaders

Loaders are programs provided by the operating system.

When a file is executed, the loader retrieves the library or subroutine from the given memory location.

29
New cards

Use of libraries

are pre-compiled programs which can be incorporated within other programs using either static or dynamic linking.

  • They are ready-to-use and error free, so save time developing and testing modules.

  • Another advantage of libraries is that they can be reused within multiple programs

  • . Libraries are often used to provide a specialised range of functions which would otherwise require time/effort to develop → so save programmers from having to instead make use of others’ expertise

  • Popular libraries provide mathematical and graphical functions.