3. Software Flashcards
What is software?
Any program that runs on a computer.
What are the two main categories of software?
- System 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?
- Ask yourself “Would I need to do this task if I didn’t have a computer?”
- If yes, such as writing a letter, then it is an application.
- If no, then it is system software.
What 4 types of program does system software include?
- Operating systems
- Utility programs
- Library programs
- Translators
What 4 types of program does application software include?
- Off-the-shelf
- Custom written
- Proprietary
- Open source
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?
- Compilers
* 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?
- An interpreter executes the code line by line in the development environment.
- A compiler produces a machine code version of the program, which can be run without the development environment. This is an executable file.
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?
- Memory management
- Peripheral management
- Multi-tasking
- Security
- User interface
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.