Computer Systems Flashcards
What is application software
Programs set to complete a specific task - Word processor, web browser etc.
What is system software?
Software which operates, maintains and controls the computer and its components.
Give examples of system software.
- Operating system
- Utility programs
- Library programs
- Translators
What is the operating system?
System allowing users to control the computer with easy - provides virtual machine abstracting complexity of computer from user.
Manages and controls access to computers resources - memory management, processor scheduling, interrupts etc.
What are utility programs? Give some examples.
Programs which are used to aid computer system.
- Data backups
- Defragmenting hard drives
- Compression
- Encryption
What are library programs?
LIbraries - contain useful functions frequently used by a program.
Simplify developing programs - first import it.
What are translators? Name the 3.
Software to translate between different types of language
- Compilers
- Assemblers
- Interpreters.
What is machine code?
Language which uses only binary digits to represent instructions.
Name the positives and negatives of machine code.
Pros:
- Very powerful
- Programmers are not constrained
- Doesn’t require translation before execution
- Excellent for embedded systems.
Cons:
- Code can be very long
- Extremely difficult for humans to understand.
- Prone to errors
- Difficult to debug.
- Platform specific
What is Assembly language?
Use of mnemonics to simplify the process of writing computer programs. Each instruction has 1to1 correlation to machine code instruction.
Name some positives and negatives of assembly language.
Pros:
- Compact
- Easier than machine code.
- Less error prone
Cons:
- Requires an assembler to convert to machine code
- Uses mnemonics - have to remember what they do to code.
- platform specific.
What are high-level languages?
Coding language which uses english instructions and mathematical symbols in the code. Use built-in functions to save time while programming.
State some positives and negatives of high-level languages.
Pros:
- easier to code and understand for humans
- Easier to debug - often comes with debugging software.
- Quickest to code.
- Not platform specific
Cons:
- Requires compiler or interpreter before being executed - Takes time.
What is an assembler?
Translates assembly language into machine code. Quick and easy - assembly is 1to1 to machine code.
What is a Compiler
Translates high-level code into machine code. Takes time, compiles all code at once then runs program. Once translated, runs program without any other software.