Fundamentals of computer systems Flashcards
State the purpose of an operating system
To hide the complexity of the hardware from the user
State different types of management carried out by the operating system (6 marks)
- 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
State which of the following classifications best describes a Compiler
- Utility program
- Library program
- Application software
- Translator
- Operating system
Translator
State which of the following classifications best describes a Disk defragmenter
- Utility program
- Library program
- Application software
- Translator
- Operating system
Utility program
State which of the following classifications best describes an image editor
- Utility program
- Library program
- Application software
- Translator
- Operating system
Application software
State which of the following classifications best describes an IDE
- Utility program
- Library program
- Application software
- Translator
- Operating system
Application software
Explain what is meant by a library program
- 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
State the name and describe the purpose of two utility programs
(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.
Describe one similarity and one difference between assembly language program code and machine code.
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.
State the name of the translator used to convert assembly language code into machine code
Assembler
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.
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.
Jemima is using a compiler to translate the program code into machine code.
State the name of another suitable translator.
Interpreter
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’.
- Instructions are carried out in a specified order/sequence.
- The language describes how to solve the problem.
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)
- 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.
State the name of a logic gate that has only one input
NOT gate
(Allow buffer.)
State the purpose of a D-type flip-flop
Used to store the state of data OR used as memory
Describe the two inputs into a D-type flip-flop
- 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.
There are four different types of systems software.
Describe the purpose of systems software
Software designed to manage the system OR allow the system to run OR manage the computer hardware
One exmaple of systems software is an operating system.
NAme and describe the function of the three other types, including examples
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)