Unit 4 - Hardware and Software Flashcards
Define hardware
The electrical and electro-mechanical components of the computer which comprise the physical presence of the computer
Define software
A generic term for program that can be run on a computer and does not have a physical presence
Define systems software
Software which is required to run and manage the computer’s hardware and application progress
Define an operating system software
A suite of programs designed to control the operations of the computer
Define general purpose software
Software used for a range of generic tasks
Define special purpose software
Software that is designed for one unique purpose
Define off-the-shelf software
A generic piece of software deigned to perform a task for a wide audience
Define bespoke software
A piece of software created exactly to fit a single user’s specific needs and requirements
What subsections come under software?
Application software and system software
What are the subsections of application software?
General purpose software, off-the-shelf software, bespoke software and special purpose software
What are the subsections of system software?
Operating systems, utility software, library programs and translators
Define machine code
The lowest level of code that consists of just binary
Define translators
A system used by a computer that translates high level coding languages to machine code
Define a library
A collection of pre-compiled routines, data and resources that can be called and used by other programs
What are the four main functions of the operating system?
Memory management, processor scheduling, backing storage management and peripheral management
Explain the OS’s role in peripheral management
The OS acts as a bridge between the software of a computer and the peripheral’s the computer is connected to, this is because the software cannot communicate with the peripherals directly
Explain the OS’s role in memory management
The OS allocates memory space for each function that the computer is currently running
Explain the OS’s role in backup management
The OS is responsible for ensuring that all files are backed up in a secure location
Explain the OS’s role in processor scheduling
The OS needs to allocate processor time to each program/task that is currently being run
Define Application Programming Interface
A set of subroutines that enables one program to interface with another program .e.g. access its data and functions
Why is an API necessary?
It provides a user-friendly interface which means that the user is able to use a computer and execute functions without knowing what occurs for them to be performed
What does API stand for?
Application Programming Interface
List the four main functions of the OS
- Memory management
- Processor scheduling
- Backing store management
- Peripheral and I/O device management
Give an example of an interrupt
“out of paper”
“out of ink”
What is virtual memory?
A solution for a lack of physical storage where parts of secondary storage are used a primary storage
What was the name of the first programmable computer?
Colossus
What did Colossus use as its input?
A continuous piece of tape with 20,000 5-bit characters on it
How did Colossus program and output results?
It was programmed using switches and plug panels and the output was an indicator lamp panel
Why was Enigma so hard to crack?
It used a Vernam Cipher and the key changed every day
How was Enigma broken?
The codebreakers worked out that every message would contain ‘Heil Hitler’ and if they could work out that they could work out the rest of the message
What did early computers look like?
They were very large with a limited memory (each cell was around the size of a lightbulb), a CU and an accumulator. They were programmed using machine code which was entered using a set of switches
What are the two sections of a command in machine code?
Operand and opcode
Define the word operand
The section of the command that defines what data is to be operated on or used in this command
Define the word opcode
The actual instruction which refers to what is to be done with the data
Define instruction set
All of the instructions which a computer system can understand and execute
How did assembly language build on machine code?
Each opcode was replaced with a mnemonic and the operand was replaced by a denary or hexadecimal number
Why did programmers use assembly language?
It acted as a shorthand which meant that it was more efficient and easier for programmers to write and they were less likely to make mistake when writing out a few characters than they were writing out ling strings of machine code, assembly language was also easier to understand as it gave some indication of what the command might do
What was the name of the first high level language?
FORTRAN
What is the difference between an imperative high level language and a decelerative high level language?
An imperative high level language is one that consists of a list of commands for the computer to perform where as a decelerative high level language is one that states the outcome desired
What is a decelerative high level language?
A programming language that declares what properties the result of the program should have
What are the advantages of high level languages?
- Easier to debug
- Easier to understand
- Different languages can be used for different problems
- The programmer is able to think about the program as a whole rather than the individual steps
- High level languages can be transferred between computers
What are the disadvantages of high level languages?
- Take longer to execute
- A translator is required
- Object code takes up more memory
- They don’t have statements that allow programmers to manipulate individual parts of the command
What does a translator do?
It translates source code into object code
What is an object code?
The translated version of the source code which can be understood by the computer (it will be in machine code)
How do compilers translate source code?
They translate the whole code at once before it is run, it first produces an intermediate code which is used during the debugging phase after analysis of the code. Once all of the errors have been corrected the object code is produced which can be transferred to other computers and the compiler does not need to be present for it to run.
How do interpreters translate source code?
The source code is translated into an intermediate code which is executed immediately, this means that no object code file is produced and each line is just run immediately
Give examples of the different phases of analysis of a compiler
Syntactical analysis, lexical analysis and semantic analysis
Advantages of a compiler
- Code can be transferred onto other computers after translation
- The compiler does not need to be present for it to run
- Reduced runtime
- More secure as object code cannot be easily read by someone wanting to modify and sell the program
- Can translate most high level languages
Advantages of an interpreter
- Scans for errors
- Runs up until an error
- Better for beginner programmers
- Can translate most high level languages
What is bytecode?
An intermediary form of code produced by a compiler that can be executed on any computer using a virtual machine
What are computers made up of?
Billions of switches
How are logic gates created in computers?
Switches are combined in different ways to make logic gates
What do electronic logic gates do?
They take multiple inputs and produce one output
Which gate is the universal gate?
NAND
Why is the NAND gate the universal gate?
Because any logic gate can be made using a combination of NAND gates
List the 6 main gates
AND, OR, NOT, NAND, XOR (exclusive or), NOR (not or)
What are the advantages of NAND gates?
Using only NAND gates to make logic circuits reduces production costs and using as few gates as possible will speed up processing
Define virtual machine
The concept that all of the complexities of using a computer are hidden from the user and other software by the operating system
Define application software
Programs that perform specific tasks that would need doing even if the computers didn’t exist
What are utility programs?
Programs that perform specific common tasks related to running the computer
What is resource management?
How an operating system manages hardware and software to optimise the performance of the computer
What is a processor?
A device that carries out computation on data by following instructions in order to produce an output
What is scheduling in client-server systems?
A technique to ensure that different users or different programs are able to work on the same computer system at the same time
What is a device driver?
A piece of software that enable a peripheral device to communicate with the OS
What does file management mean?
How an OS stores and retrieves files
What is source code?
Programming code that has not yet been compiled into an executable file
How do you execute bytecode using a virtual machine?
A virtual machine can take on the properties of any computer architecture meaning that the source code in bytecode can be executed on any platform
Why is the OS beneficial to the user?
It hides the complexities of the hardware from the user meaning they do not have to know how to perform a large number of automated processes and it makes the computer system easier to use