4a - Computer systems - software Flashcards
What is a computer system?
a collection of inputs, processors, outputs, and storage that work together to achieve a common goal
What is the difference between hardware and software?
-hardware is the electronic and physical components that make up a computer system and its peripherals
-software are the programs that run on the hardware
What is an XOR gate? Draw its symbol and corresponding Boolean algebra symbol:
-exclusively OR
-on if the inputs are different, off if the outputs are the same
⊕
How do you make an XOR gate using only the basic logic gates?
A.B̅+B.A̅
Draw a NOT gate and its corresponding Boolean algebra symbol:
overbar, eg C̅
Draw an OR gate and its corresponding Boolean algebra symbol:
+
Draw an AND gate and its corresponding Boolean algebra symbol:
.
What is the order of precedence with Boolean algebra?
Brackets
NOT
AND
OR
What is the difference between application and system software?
-application software is a program with a specific end user task (eg word processing/database/spreadsheet software)
-system software (comprised of the OS and utility programs) supports the operation of the computer system, controlling the hardware, and providing a platform for running application software
What are utility programs? Give some examples:
a type of system software that assists the computer system to run smoothly (eg anti-virus, disk defragmentation, data compression)
Disk defragmentation works with a HDD and moves files closer together on the disk allowing for faster read speeds, freeing up space simaltaneously
What is the operating system (OS)?
a type of system software that enables the computer hardware to be usable, by providing a graphical user interface (GUI) to hide its complex nature
It is an example of abstraction
What does the OS manage?
-input/output devices
-security (user accounts with credentials, organising access rights)
-allocation of memory
-application software
-processor(s) (eg allocating time for tasks)
(I, SAAP)
How is a high level programming language different to a low level language?
-high level uses more human-readable commands, which often correspond to several low level commands
-low level languages are much closer to the processor and have little to no abstraction, where the commands have a 1:1 correspondence with the machine code
The terms high and low refer to the amount of abstraction that is used in that class of programming language
What are the advantages of using a high level programming language? Name one drawback too:
-allows for faster development
-easier to find errors in code
-has built in functions/libraries
-hardware-independent so code is portable/shareable
-however it takes longer to test because it must be translated into machine code before use
What code does a processor use to execute instructions? Can one type of processor understand another processor’s code?
-machine code, as it can only read binary
-no, as each type of processor will have its own specific machine code instruction set (hardware-dependent)