Hardware and Software Flashcards

1
Q

What is hardware?

A
  • The term given to the physical components of a computer system
  • Includes both the internal and external components of a computer system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is software?

A
  • The name given to program code
  • Sequences of instructions which are executed in order to perform a task
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is application software?

A
  • The name given to programs that complete a specific task for the user
  • Examples include word processors, web browsers and spreadsheets
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is system software?

A
  • Operates, controls and maintains the computer and its components
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the operating system (in terms of system software)?

A
  • Form of system software
  • Allows the user to control the computer with ease
  • Provides a virtual machine, hiding the true complexity of the computer from the user
  • Manages and controls access to the computers resources including:
    - Memory management
    - Processor scheduling
    - Interrupt handling
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are utility programs?

A
  • Form of system software
  • Used for completing housekeeping tasks such as:
    • Data backup
    • Data defragmentation
    • Data compression
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are library programs?

A
  • Form of system software
  • Contains useful functions that are frequently used by a program
  • Used by programmers to simplify the process of developing programs
  • Must be imported within the program
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are translators?

A
  • Form of system software
  • Translates between different types of language
  • Three types including:
    • Compilers
    • Assemblers
    • Interpreters
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are low-level programming languages?

A
  • Programs are processor specific
  • Directly affect the processor
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is machine code?

A
  • Form of low-level language
  • Uses binary to represent instructions
  • Long and difficult to understand
  • Programs are prone to errors and difficult to debug
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is machine code useful for?

A
  • Embedded systems and real-time applications
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is assembly language?

A
  • Form of low-level language
  • Developed to simplify programming
  • Uses mneumonics instead of binary instructions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Why is assembly language better than machine code?

A
  • The use of mneumonics makes assembly language more compact and less error prone than machine code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is a high-level programming language?

A
  • Not platform specific
  • Must be translated into machine code before execution
  • Uses english and maths in instructions
  • Examples include Java and Python
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Evaluate high-level vs low-level programming language

A
  • High-level is portable whereas low-level isn’t due to their processor specific nature
  • High-level is more understandable than low-level although assembly language is also understandable with mneumonics compared to machine code
  • High-level uses commenting and named variable for easy debugging, low-level debugging is hard
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are assemblers?

A
  • Translates assembly language into machine code
  • Platform specific
  • Translation is quick
17
Q

What are compilers?

A
  • Translates high-level languages into machine code
  • Platform specific
  • Checks for errors line-by-line
  • Translates entire program at once
  • If source code contains an error, it wont be translated
18
Q

What are interpreters?

A
  • Translates high-level languages into machine code, line-by-line
  • Checks for errors during translation
19
Q

Evaluate compilers vs interpreters

A
  • Compilers check for errors line-by-line before translating, interpreters begin translation immediately
  • Compilers translate entire source code at once, interpreters check each line for errors during translation
  • Compilers do not need the source code or the compiler to be present for execution, whereas interpreters need both
  • Compilers protect the source code, interpreters do not
20
Q

What is source code?

A
  • Input to a translator
21
Q

What is object code?

A
  • Translator’s output