Computer Systems Flashcards

1
Q

What is application software

A

Programs set to complete a specific task - Word processor, web browser etc.

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

What is system software?

A

Software which operates, maintains and controls the computer and its components.

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

Give examples of system software.

A
  • Operating system
  • Utility programs
  • Library programs
  • Translators
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the operating system?

A

System allowing users to control the computer with easy - provides virtual machine abstracting complexity of computer from user.

Manages and controls access to computers resources - memory management, processor scheduling, interrupts etc.

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

What are utility programs? Give some examples.

A

Programs which are used to aid computer system.

  • Data backups
  • Defragmenting hard drives
  • Compression
  • Encryption
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are library programs?

A

LIbraries - contain useful functions frequently used by a program.
Simplify developing programs - first import it.

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

What are translators? Name the 3.

A

Software to translate between different types of language
- Compilers
- Assemblers
- Interpreters.

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

What is machine code?

A

Language which uses only binary digits to represent instructions.

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

Name the positives and negatives of machine code.

A

Pros:
- Very powerful
- Programmers are not constrained
- Doesn’t require translation before execution
- Excellent for embedded systems.

Cons:
- Code can be very long
- Extremely difficult for humans to understand.
- Prone to errors
- Difficult to debug.
- Platform specific

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

What is Assembly language?

A

Use of mnemonics to simplify the process of writing computer programs. Each instruction has 1to1 correlation to machine code instruction.

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

Name some positives and negatives of assembly language.

A

Pros:
- Compact
- Easier than machine code.
- Less error prone

Cons:
- Requires an assembler to convert to machine code
- Uses mnemonics - have to remember what they do to code.
- platform specific.

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

What are high-level languages?

A

Coding language which uses english instructions and mathematical symbols in the code. Use built-in functions to save time while programming.

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

State some positives and negatives of high-level languages.

A

Pros:
- easier to code and understand for humans
- Easier to debug - often comes with debugging software.
- Quickest to code.
- Not platform specific

Cons:
- Requires compiler or interpreter before being executed - Takes time.

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

What is an assembler?

A

Translates assembly language into machine code. Quick and easy - assembly is 1to1 to machine code.

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

What is a Compiler

A

Translates high-level code into machine code. Takes time, compiles all code at once then runs program. Once translated, runs program without any other software.

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

What is an interpreter?

A

Translates high-level code into machine code line-by-line. Error checking occurs during run-time. Both source code and interpreter has to be present - Source code not well protected.

17
Q

What is an intermediate language?

A

Code which has been translated from high-level code which will then be converted into machine code (bytecode).

18
Q

What is the use for intermediate languages?

A

Allows for platform independence - Intermediate language run in virtual machine to execute on different processors.