What is software?
Any program that runs on a computer.
What are the two main categories of software?
* Application software
What is system software?
Programs that are needed to enable the computer to function.
E.g. The OS, utilities, library routines, programming language translators
What is application software?
Programs that enable a user to perform a task. That is something that the user may need to do with or without a computer, like writing a letter.
What is the easiest way of telling whether a program is system software or application software?
What 4 types of program does system software include?
What 4 types of program does application software include?
Remember to revise the categorisation of software.
Pg 33 of textbook
What is an operating system?
Systems software that is necessary for the computer to function.
What are utility programs?
Systems software that provides other useful functions for operating the computer or performing computer-related tasks such as anti-virus programs.
What is library software?
Systems software modules that perform frequently required tasks. They can be built into or called from other programs.
(Think about JS libraries)
What are translators?
System software that translates high-level programming languages into machine code.
What programs do translators include?
* Interpreters
What is a compiler?
A program that converts high level instructions into executable machine code.
What is an interpreter?
A method of running programs written in high level language “line by line” in the development environment.
What is an assembler?
Translator that converts low-level assembly language into machine code.
What is the difference between a compiler and interpreter?
If a program is to be run in a web based environment (e.g. a JS program), should it be compiled or interpreted?
Interpreted, because a compiled program makes code for only one particular processor type. On the web, the program needs to be able to run on many processor types.
What is a high level language?
A language such as Visual Basic that uses more human readable commands to make programs.
What is an assembly language?
Language that is much closer to the actual instruction set of the processor - uses mnemonics such as LD (standing load).
What is a virtual machine?
One that “simulates” a processor instruction set. So by using a virtual machine, a program can run on more than one real processor - interacting with the virtual machine.
What are the functions of the operating system?
Why does the OS need to manage memory management?
The OS needs to allocate space for each program in the main memory. It needs to reuse this space when the program is closed.
What is multi-tasking?
Managing how several tasks or programs, which are all running at the same time, share the processor.