3.6 computer systems Flashcards

1
Q

hardware

A

electronic/mechanical components of a computer system

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

software

A

instructions / programs / code

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

software categories

A

application software
system software > operating systems - utility programs - library programs - translators

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

application software

A

carrying out specific tasks that are user-oriented / perform a function for the end-user

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

examples of application software

A

word processors, image editors, internet browsers, email clients

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

system software

A

controls/manages the operation of the system, required to operate a computer

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

operating system

A

controls computer’s hardware + software resources, allows software to interact with hardware - hides the complexities of the hardware

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

tasks of an operating system

A
  • resource management
  • processor scheduling
  • memory management
  • i/o management
  • provision of a user interface / hiding complexities of the hardware from the user
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

resources that the os manages

A
  • processors
  • memory
  • i/o devices
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

processor scheduling

A

determining order in which processes executed, allows for multi-tasking

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

utility programs

A
  • analyse, configure, optimise or maintain a computer system
  • perform additional common tasks needed by users
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

examples of utility programs

A

compression software, disk defrag software, anti-malware software, backup software, disk utilities, file repair, file manager

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

disk utilities

A
  • management of secondary storage devices, such as hdd, ssd
  • disk defrag software is an example of this utility
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

library programs

A

collection of pre-compiled routines that can be used across many programs, eg. math, random, turtle etc in python

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

virtual memory (VM)

A
  • area on disk that is used as RAM if RAM insufficent to hold all data / instructions in a running process
  • data copied from RAM to disk, while next block of data/code is loaded from VM
  • allows many processes to be running at once, but noticeably slows down PC
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

why is VM less common

A

RAM cheaper and systems have more RAM than they did a decade ago

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

multitasking

A

execution of more than 1 task simultaneously, cpu processes only 1 task at a time but switches between processes so fast that it appears to be processing multiple processes at same time

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

multiprocessing

A

more than one processor being used, different parts of a task may be distribute among processors in separate CPUs, or a CPU may have 2+ processors

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

translators

A

software which translates between languages, includes compilers, assemblers and interpreters

20
Q

machine code

A
  • binary
  • directly manipulates computer’s processor
21
Q

mc cons

A
  • very long + difficult to code
  • prone to errors + difficult to debug
22
Q

mc pros

A
  • very powerful
  • no constraints when coding
  • no need to translate before execution so useful for embedded systems + real-time applications
23
Q

assembly language

A
  • mnemonics used in place of opcodes
  • operands replaced by decimal or hex number
24
Q

al pros

A
  • more compact than mc
  • less error prone
  • easier to write and understand
25
Q

why may a programmer write in al over high-level lang?

A
  • no interpreter/compiler for the processors (as bespoke/new, also interpreter increases mem requirements)
  • al requires less memory
  • platform dependence not relevant (code specific to type of device)
26
Q

al and mc

A

each al instruction has 1-to-1 correlation to mc instruction

27
Q

operand

A

the quantity on which an operation is to be done. can be either an actual value or address in memory where value is held

28
Q

opcode

A

instruction

29
Q

operation

A

what instruction does

30
Q

instruction set

A

all instructions that computer can understand + execute. if each instruction held in 8 bits, 4 bits for opcode, 4 bits for operand, computer can execute 16 different instructions

31
Q

assembly lang con

A

must be translated into machine code via assembler

32
Q

when is assembly code generally used?

A

when program needs to:
- execute asap
- occupy little space
- manipulate indiv bits/bytes

33
Q

examples of uses of assembly code

A

include embedded systems, real-time systems, sensors, mobile phones, device drivers and interrupt handlers

34
Q

high-level language platforms

A

not platform specific, must be translated into mc by a compiler/interpreter

35
Q

high-level lang pros

A
  • much easier to write/read/debug programs as features like indentation + named variables involved
  • portability
  • come with libraries of functions to be imported and used by programmer
36
Q

portability (low-level)

A
  • mc produced by a compiler for platform a cannot be run by platform b
  • implementing software on diff platforms means recompiling source code
37
Q

portability (high-level)

A
  • can be compiled/translated to run on wide range of computer architectures
  • not specific to particular instruction set
38
Q

cons of high-level langs

A
  • object code may run slower than mc or al
  • may occupy more space in RAM, can be a problem in embedded systems with small amt memory
  • mostly cannot manipulate individual bits (essential in some programs, like device drivers)
39
Q

assemblers

A

AL to MC
- 1-to-1 correspondence > translation quick + straightforward
- platform specific > assembler specific to processor instruction set
- convert source code into object code

40
Q

compilers

A

high-level to MC
- produces object code/mc > platform specific
- translates whole source code at once > compiler will not produce an executable file if error encountered
- do not need compiler or source code to execute compiled program > protects sc from extraction

41
Q

interpreters

A

high-level to MC
- does not produce object code
- analyses source code line by line, will run program up until first error > useful in development
- executes slower than object code produce by compiler
- interpreter + source code always need to be present > more portable, not protected from extraction

42
Q

intermediate languages

A

some compilers translate source code into an intermediate language (usually bytecode)

43
Q

why are intermediate languages (ie bytecode) used

A

allows for platform independence / portability - target platform may not be known

44
Q

how are bytecode programs executed after bytecode produced

A

virtual machine performs just in time compilation to convert bytecode to object code and execute it

45
Q

example of assembly language

A

SUB1: ADD NUM1 * test subroutines
——— JSR SUB2
——— RTN
SUB2: ADD NUM1
——— JSR SUB3
——— RTN
SUB3: ADD NUM1
——— JSR SUB4
——— RTN
SUB4: ADD NUM1
——— RTN
START: LDA NUM1
———- JSR SUB1
———- STA NUM2
———- HLT
NUM1: 7
NUM2: 0