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
why may a programmer write in al over high-level lang?
- 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
al and mc
each al instruction has 1-to-1 correlation to mc instruction
27
operand
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
opcode
instruction
29
operation
what instruction does
30
instruction set
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
assembly lang con
must be translated into machine code via assembler
32
when is assembly code generally used?
when program needs to: - execute asap - occupy little space - manipulate indiv bits/bytes
33
examples of uses of assembly code
include embedded systems, real-time systems, sensors, mobile phones, device drivers and interrupt handlers
34
high-level language platforms
not platform specific, must be translated into mc by a compiler/interpreter
35
high-level lang pros
- 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
portability (low-level)
- mc produced by a compiler for platform a cannot be run by platform b - implementing software on diff platforms means recompiling source code
37
portability (high-level)
- can be compiled/translated to run on wide range of computer architectures - not specific to particular instruction set
38
cons of high-level langs
- 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
assemblers
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
compilers
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
interpreters
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
intermediate languages
some compilers translate source code into an intermediate language (usually bytecode)
43
why are intermediate languages (ie bytecode) used
allows for platform independence / portability - target platform may not be known
44
how are bytecode programs executed after bytecode produced
virtual machine performs just in time compilation to convert bytecode to object code and execute it
45
example of assembly language
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