Flashcards in 3. Software Deck (81)
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
What 4 types of program does application software include?
• Custom written
• 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?
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
• 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.
Why does the OS have to manage multi-tasking?
When many programs are open in the background, the OS needs to control what the processor does. It allocates a small amount of processor time for each active process in memory.
What are peripherals?
Computer hardware components that are not parts of the CPU, which provide input, output or storage.
Is a hard disk a peripheral?
Yes, because it is not part of the CPU.
Why does the OS have to manage peripheral management?
The OS needs to allow the user to print things, etc. on input and output devices. When the user gives an instruction, the peripheral management function takes over and sends data to the correct component for it to be carried out.
Why does the OS have to manage security?
The OS needs to make sure that the user can protect certain files with passwords. In other cases, for example a washing machine, all that is needed is a function to stop the user opening the door when the machine is full of water.