Fundamentals of computer systems Flashcards

1
Q

State the purpose of an operating system

A

To hide the complexity of the hardware from the user

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

State different types of management carried out by the operating system (6 marks)

A
  • Management/allocation of processors
  • Management/allocation of memory/RAM
  • Management of IO devices/peripherals OR device drivers
  • Management of backing store/secondary storage/file management
  • Power/battery management
  • Interrupt handling
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

State which of the following classifications best describes a Compiler

  • Utility program
  • Library program
  • Application software
  • Translator
  • Operating system
A

Translator

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

State which of the following classifications best describes a Disk defragmenter

  • Utility program
  • Library program
  • Application software
  • Translator
  • Operating system
A

Utility program

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

State which of the following classifications best describes an image editor

  • Utility program
  • Library program
  • Application software
  • Translator
  • Operating system
A

Application software

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

State which of the following classifications best describes an IDE

  • Utility program
  • Library program
  • Application software
  • Translator
  • Operating system
A

Application software

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

Explain what is meant by a library program

A
  • A resource/collection of program code
  • To reduce the amount of programming required OR to provide access to subroutines OR to allow sharing of code across different programs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

State the name and describe the purpose of two utility programs

A

(Allow any reasonable response (too many to list here).)

Mark in pairs, 1 mark for identification and 1 mark for explanation. Max. two pieces of software: (4)

  • Anti-virus/anti-malware; used to detect and remove viruses/malware.
  • Firewall; used to control/prevent data from being transmitted or received.
  • Device driver; used to allow the operating system to communicate with an external device/peripheral (allow by example, e.g. printer).
  • Backup manager; used to schedule/organise backup and recovery of data.
  • System monitor; used to record/display data relating to the system such as memory usage, processor usage, temperature, etc.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Describe one similarity and one difference between assembly language program code and machine code.

A

Similarity: both programs will be the same length/have the same number of instructions.

Difference: the machine code program will be represented in binary. The assembly language program will be represented using characters/mnemonics OR the assembly language program will be stored using ASCII/Unicode.

NB: Refuse ‘stored’ instead of ‘represented’ but allow ‘written’. All data stored in a computer system is ultimately stored as binary. Allow ‘stored’ in reference to ASCII/Unicode as the distinction is clear.

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

State the name of the translator used to convert assembly language code into machine code

A

Assembler

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

Jemima has created a computer-based board game that is designed to work on desktop computers, tablet computers and smartphones.

Suggest whether the program should be written using a high-level language or a low-level language.

Justify your response.

A

High-level language

  • The program needs to run on several different platforms.
  • Low-level programming languages are platform specific OR high-level languages can be translated/run on different platforms.
  • It is quicker for developers to write programs using high-level languages.
  • It is easier for developers to write OR read OR debug OR maintain code using high-level languages.
  • Comments can be added to high-level code to make the code easier to understand/maintain.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Jemima is using a compiler to translate the program code into machine code.

State the name of another suitable translator.

A

Interpreter

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

A program, has been written using an imperative high-level language. When translated the compiler produces bytecode.

Explain what is meant by the term ‘imperative’.

A
  • Instructions are carried out in a specified order/sequence.
  • The language describes how to solve the problem.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

A program, has been written using an imperative high-level language. When translated the compiler produces bytecode.

Explain the term ‘bytecode’ and describe the purpose of producing bytecode eather than machine code when the program is compiled. (4 marks)

A
  • Bytecode is an intermediate code designed to be run on a virtual machine OR bytecode is a type of machine code that will run on a software platform rather than a hardware platform.
  • This allows a high-level language to be compiled into a format that will run on any platform.
  • As long as the virtual machine is present (e.g. Java and the Java Virtual Machine (JVM)) (1) the bytecode is then compiled by the virtual machine at (or just before) runtime into machine code for that specific platform.
  • This gives the appearance that compiling the program produces platform-specific machine code, while actually allowing the compiled bytecode to be executed quickly across multiple platforms.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

State the name of a logic gate that has only one input

A

NOT gate

(Allow buffer.)

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

State the purpose of a D-type flip-flop

A

Used to store the state of data OR used as memory

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

Describe the two inputs into a D-type flip-flop

A
  • Clock/trigger/enable
    • Used to output the current state of the input.
    • (Accept: Allows synchronisation with other flip-flops.)
  • Data
    • Used to accept data OR allow data input OR change the internal state of the D-type flip-flop.

NB: The model of the D-type flip-flop used by AQA (and some other exam boards) only has two inputs: data and clock, without set or reset. Some resources may include all four.

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

There are four different types of systems software.

Describe the purpose of systems software

A

Software designed to manage the system OR allow the system to run OR manage the computer hardware

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

One exmaple of systems software is an operating system.

NAme and describe the function of the three other types, including examples

A

1 mark for identification, 1 mark for explanation, 1 mark for example

  • Utility (program) (1) a program used to maintain/optimise a computer system. (1) Any suitable example, e.g. anti-malware, firewall, disk defragmenter, disk clean up, system monitor, backup manager, etc. (1)
  • Library (program) (1) a resource OR collection of program code that can be accessed by other programs. (1) Any suitable example, e.g. math library, random number library, GUI library, etc. (1)
  • Translator (1) used to translate high-level language OR assembly language source code into machine code (for execution). (1) Example: assembler OR compiler OR interpreter. (1)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Describe the role of a typical operating system and its key functions

A

Role of the OS: to hide the complexity of the hardware from the user.

Key functions

  • Processor scheduling OR allocation of processors
  • Memory management OR allocation of RAM
  • Virtual memory management OR allocation of VM
  • Peripheral management OR I/O management
  • File management OR backing store management OR secondary storage management
  • Interrupt handling
  • Power management OR battery management
  • User interface provision
  • Thread management (in the context of CPU/processor scheduling)
21
Q

Explain the need for using a translator on the high-level source code and the steps involved in translation (4-6marks)

A

The high-level language source code cannot directly be understood/executed by a processor and must therefore be translated into machine code in order to be executed.

Steps: Any three from:

  • Each instruction is checked for syntax errors.
  • Each instruction is translated into machine code instructions.
  • Using the instruction set specific to that system/platform OR processor.
  • One HLL instruction may be translated into several machine code instructions.

Each instruction is then executed by the process (in the case of an interpreter) OR stored in an object code/machine code/bytecode file (in the case of a compiler).

22
Q

Describe the advantages of writing in a high-level languae rather than machine code (4-8 marks)

A

Any two from: (Mark in pairs: 1 mark for identification, 1 mark for expansion)

  • Easier/quicker to read/write (1) as HLL is closer to natural language OR English. (1)
  • Less likely to make mistakes (1) as machine code looks very similar OR counter argument for HLL. (1)
  • Logic in HLL is easier to follow (1) due to the use of structured statements OR data structures OR comments. (1)
  • Can be run on different platforms (1) as machine code is specific to one instruction set OR platform. (1)
23
Q

Explain why it may be preferable to use an interpreter rather than a compile to translate the high-level source code

A

Indicative response

The source code can be made available so that others can view/edit/improve/maintain the algorithms/program code. The program can be updated more easily as the form and structure of the data may change over time.

The program will not need to be translated separately for each platform before it is shared and the program will work on any platform for which an interpreter is available.

Debugging will be easier as the program will halt at the exact point in the program where an error is detected.

Some programming languages are restricted to either a compiler or an interpreter. Paul may have chosen a programming language that does not have a compiler available.

Level

Description

Marks

3

A line of reasoning has been followed to produce a coherent, relevant, substantiated and logically structured response. The response covers all areas indicated in the indicative response and there is sufficient detail to show that the student has an excellent level of understanding of the issues involved.

5–6

2

A line of reasoning has been followed to produce a coherent, relevant, substantiated and logically structured response but the response may only cover some of the areas indicated in the indicative response. A reasonable understanding is shown of each of these areas.

3–4

1

A few relevant points have been made but there is no evidence that a line of reasoning has been followed. The points may only relate to one of the areas from the indicative response or may be made in a superficial way with little substantiation.

1–2

24
Q

state the purpose of an operating system

A

to hide the complexity of the hardware from the user

25
Q

state some different types of management carried out by the operating system (5)

A
  • allocation of processors
  • memory management
  • peripheral management
  • file management/secondary storage
  • power management
26
Q

explain what is meant by a Library Program

A

a resource/collection of program code to reduce the amount of programming required OR to provide access to subroutines OR to allow sharing of code across different programs

27
Q

explain what is meant by utility Program and give 3 examples with their purpose

A

programs that performs tasks on the infrastructure of the computer.

  • driver manager : used to allow the operating system to communicate with an external devices
  • task monitor : used to display data relating to the system such as memory usage, processor usage, temperature
  • disk defragmenter : to reorganise files on hard drive for ease of access. to speed up your hard disk
  • file manager/backup manager : organises data firewall : used to control/prevent data from being transmitted or received
28
Q

give 5 reasons why a high level language is generally preferable

A
  1. high level languages can run on different platforms
  2. low level languages are platform specific
  3. it is quicker to develop programs using high level languages
  4. it is easier to maintain/debug
  5. comments can be added to high level code
29
Q

explain the term bytecode and explain the purpose of producing bytecode rather than machine code when the program is compiled (4 marks)

A
  • bytecode is an intermediate code designed to be ran on a virtual machine OR bytecode is a type of machine code that will run on a software platform rather than a hardware platform (1)
  • this allows a high level language to be compiled into a format that can be run on any platform (1)
  • as long as the virtual machine is present (java and java virtual machine JVM) the bytecode is then compiled by the virtual machine at runtime into machine code that is platform specific (1)
  • this gives the appearance that compiling the program produces platform specific machine code, while actually allowing the compiled bytecode to be executed quickly across multiple platforms (1)
30
Q

state the purpose of a d-type flip-flop

A

clock used to store the state of data OR memory data used to accept data OR allow data input OR change the internal state of the d-type flip-flop

31
Q

give 4 examples of system software

A
  • utility programs
  • operating system
  • library programs
  • translator
32
Q

list the key functions of an operating system

A

processor schedule memory management virtual memory management peripheral management file management interrupt handling power management user interface provision thread management

33
Q
A

half adder

result s is the sum of the two inputs adn c is the carry

adding two binary digits

34
Q
A

full adder

for more than a single bit (half adder)

37
Q

Expain a worm

A
  • malicious software
  • that enters a computer from the internet wihtout any explicit user interaction.
  • does not need to attatch itself to an existing application or file

A small program that exploits a network security weakness (security hole) to replicate itself through computer networks

38
Q

What is a real number?

A

Real numbers can be thought of as points on an infinitely long number line

All rational numbers are real numbers

All irrational numbers are real numbers

All natural numbers are real numbers

pi is a real number

All integers are real numbers

39
Q

Explain why the vernam cipher is considered more secure than the caesar cipher (6 Marks)

A

Indicative repsonse

Brute Force

  • Caesar - Uses one common key for all characters.
  • Caesar - Easy to try all combinations of keys
  • Caesar - Very few possible double matches (where one ciphertext word could be converted to more than one plaintext word)
  • Vernam - It is impossible to use brute force to crack as each character uses a different key

Frequency analysis

  • Caesar - most commonly found characters in the ciphertext message will match the most commonly found characters in the language
    • e.g. ‘e’, ‘a’, ‘t’ in English are the most common characters
    • ‘q’ in English is almost always followed by ‘u’
  • As the same key is used, once a match has been made some letters, the entire message will be compromised
  • Vernam - each character is encrypted using a different key and therefore frequency analysis is unhelpful
  • Vernam - even if one or two characters could be cracked with confidence, this would give no clue to the remainder of the message

Rules for key security

Assuming the key is:

  • truly random
  • only used once
  • kept secret by sender and receiver

then the encryption is mathematically secure and cannot be decrypted even given infinite time and infinite ciphertext, whereas this is not true of the Caesar cipher.

40
Q

Describe one similarity and one difference between assembly language and machine code (2 marks)

A

Similarity (1)

  • both programs will be the same length and have the same number of instructions

Difference (1)

  • the machine code program will be represented in binary
  • the assembly language program will be presented using ASCII/Unicode
41
Q

Explain what is meant by the term ‘imperative’ (2 marks)

A
  • Instructions are carried out in a specified order
  • The language described how to solve the problem

SIS

42
Q

Describe the function of utility program and give an example (2 marks)

A

A utility program is used to maintain/optimise a computer system (1)

Examples:

  • Anti-malware
  • Firewall
  • Disk defragmenter
  • Disk cleanup
  • System monitor
  • Backup Manager
  • etc
    *
43
Q

Describe the function of a library program and give an example (2 marks)

A

A library program is a collec tion of program code (aka a resource) that can be accessed by other programs (1)

Examples:

  • Math library
  • Random number library
  • GUI library
44
Q

Describe the function of a translator and give an example (2 marks)

A

A translator is used to translate high-level language / assembly language source code into machine code (for execution) (1)

Examples: (1)

  • assembler
  • compiler
  • interpreter
45
Q

Describe the role of a typical operating system and it’s key functions (7 marks!)

A

Role of the OS: to hude the complexity of the hardware from the user (1)

Key functions (any six from) (6)

  • Processor scheduling OR allocation of processors
  • Memory management OR allocation or RAM
  • Virtual memory management OR allocation of VM
  • Peripheral management OR I/O management
  • File management OR backing store management OR secondary storage management
  • Interrupt handling
  • Power management OR battery management
  • User interface provision
  • Thread management (in the context of CPU/processor scheduling)
46
Q

Explain the need for using a translator on high-level source code and the steps incolved in the translation (5 marks)

A

Need: (2)

  • The high-level language source code cannot directly be understood/executed by a processor (1)
  • Must be translated into machine code in order to be executed (1)

Steps: Any three from (3)

  • Each instrcution is checked for syntax errors (1)
  • Each instruction is translated into machine code instructions (1)
  • Use the instruction set specific to the system/platform/processor (1)
  • One high-level language instruction my be translated into several machine code instructions (1)

For an interpreter; each instruction is then executed by the process

For a compiler; each instruction is then stored in an object code / machine code / bytecode file (1)

47
Q

Describe the advantages of writing in a high-level language rather than machine code (8 marks)

A
  • Easier/quicker to read/write (1) as HLL is closer to natural language / english (1)
  • Less likely to make mistakes (1) as machine code look very similar (1)
  • Logic in HLL is easier to folow (1) due to the use of structured statements OR daa structures of comments (1)
  • Can be run on different platforms (1) as machine code is specific to one instruction set OR platform (1)
48
Q

Explain why it may be preferable to use an interpreter rather than a compiler to translate the high-level source code (6 marks)

A
  • Source code is needed to execute the program so every machine that runs the program needs the source code. This means that anyone can can view/edit/improve/maintain the algorithms/program code. The program can be updated more easily as the form and structure of the data may change over time.
  • The program will not need to be translated separately for each platform before it is shared and the program will work on any platform for which an interpreter is available.
  • Debugging will be easier as the program will halt at the exact point in the program where an error is detected.
  • Some programming languages are restricted to either a compiler or an interpreter.
49
Q

Describe the principles of operation of an optical disk drive that is used to read data from an optical disk such as a CD-ROM or DVD-ROM. [6 marks]

A

Reading mechanism

  • (Low power beam of) laser / light is shone at disk NE. implication because it is reflected
  • Light is focussed on spot on track
  • (Some) light is reflected back from disk
  • Amount of light reflected back is measured // light sensor detects reflection
  • Disc spins at constant linear velocity // zoned constant linear velocity // variable (angular) velocity
    • A. variable speed
    • R. constant speed

How data is represented

  • Data is stored on one/spiral track
    • A. data is read in a spiral
  • Continuation of land/pit reflects light whereas transition between land and pit scatters light
    • A. land reflects light whereas pits scatter light/do not reflect light or vice-versa
    • A. “bump” for “land”
  • Transition between land and pit indicates a 1 and continuation of land/pit represents 0
    • A. land represents 1, pit 0 or vice-versa
    • A. reflection represents 1, no reflection 0 or vice-versa
    • A. “bump” for “land” or other wording which clearly reflects nature of pits and lands
50
Q

USB Flash Drives (a type of SSD) are a more popular choice for transferring files such as images and word processed documents from one computer to another than CD-Rs (a type of optical disk).

Explain why this is the case. [1-6 mark]

A
  • Flash drives can have a higher (storage) capacity;
  • Flash drives have faster access/read/write times;
  • No drive is required to use a flash drive // flash drive and medium are integrated;
  • Flash drives can be reused;
  • Flash drives are more compact;
  • Flash drives not damaged by scratches;
51
Q

Describe the principles of operation of an SSD [6 marks]

A
  • The solid-state drive operates by trapping electrons in a wafer of semiconducting material
  • The electrons and their electric charge remain trapped even when electric power is removed; i.e. SSD is non-votalite storage
  • The sites where these electrons are trapped are organised in a grid
  • The entire grid layout is known as a block
  • Individial rows that mke up the grid are a page
  • Unlike magnetic disk drives, solid-state drives contain no moving parts. This means that solid sate dries can operate faster
  • The technology used is NAND flash memory which is a type of EEPROM (Electrically Erasable Programmable Read Only Memory).
  • An SSD is a block-oriented storage device which has to erase a block first in order to rewrite it because NAND flash memory can’t overwrite existing data. Erasing a block means ‘untrapping’ electrons.
  • Requires an oboard controller which has an embedded microprocessor with RAM buffer to perform reading and writing to the SSD.
  • SSD blocks can be programmed for only a limited amount of time before they become unreliable. This is know as write-endurance.
  • The lessen the effect of write-endurance, the controller uses a technique called wear-levelling; it makes sure that all the drives memory chips are used, cell by call, before the first cell is written on again.