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.
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.
Why does the OS have to manage an interface?
To allow the user to easily interact with the computer. In PCs, the interface is usually a WIMP.
What is WIMP?
A type of user interface which stands for:
Windows
Icons
Menus
Pointers
It is where the user selects icons and menu items with a pointer of some kind (with a mouse, stylus or fi nger).
What is a user interface?
The method of communication between the computer and its user. (A.K.A. HCI or MMI)
What is HCI?
Human-Computer Interface: another term for user interface.
What is MMI?
Man-Machine Interface: another term for user interface.
What is GUI?
Graphical User Interface. A style of user interface, which is based on icons rather than text.
What is Command-Line Interface?
A style of user interface that is only text-based. Commands are typed in at a text prompt.
What is an address (in terms of memory)?
A numerical reference to a location in memory.
What is a process?
A program that is running in main memory.
What is an executable file?
A file without the programming development environment (compiled code).
What is the advantage of an executable file over one run in an interpreter?
It runs at a faster rate.
What are the different categories of system utility?
- Security utilities
- Disk organisation
- Maintenance utilities
What is a virus?
- A program that is installed on a computer without your knowledge or permission with the purpose of doing harm.
- It includes instructions to replicate automatically on a computer and between computers.
What do security utilities do?
Keep your computer safe from hackers and viruses.
What do disk organisation utilities do?
Organise your files into folders and tidy up the disk.
What do maintenance utilities do?
Perform system diagnostics and get software updates.
What does antivirus software do?
- It prevents harmful programs from being installed on the computer.
- It prevents important files, such as the operating system, from being changed or deleted.
- Performs regular scans and removes any virus.
What is a firewall and what does it do?
• A utility program that prevents unauthorised access to computers or a LAN from the Internet
• Controls what sites computers on the LAN can access.
(See diagram pg 39 of textbook)
Give some examples of filter criteria for a firewall.
- Where the access is from (the computer’s address)
- The type of traffic (e.g. .exe files may carry viruses)
- Specific web site addresses
Define spyware.
A program that secretly records the user’s actions on the computer including passwords and personal details they type when accessing a secure site.
What does anti-spyware software do?
It detects spyware programs and prevents them from installing.
Name the different types of security utilities.
- Anti-virus software
- Anti-spyware
- Firewall
Name the different types of disk organisation utilities.
- Formatting
- File transfer + File management
- Disk defragmentation
What does a formatting utility do?
When a hard disk is new or a new OS is installed, the disk needs to be marked to indicate recording blocks. This is so that the OS can save files to the hard disk as expected.
What does a file transfer / file management utility do?
Allows the user to move or copy files using a logical view of the files stored.
What does a disk defragmentation software do?
Rearranges fragmented files on the hard disk to put them more consecutively, allowing faster access.
(See diagram pg 41 of textbook)
Name the different tyes of maintenance utilities.
- System information and diagnosis
- System clean-up tools
- Automatic updating
What are system utilities?
Small programs that allow us to perform maintenance on the computer system, monitor the system, transfer files etc. around the system, clean up and improve the performance of the system.
What does a system information and diagnosis utility do?
Gives information about the hardware,
statistics about its use and information that will help diagnose any problems with the computer.
What does a system clean-up utility do?
Finds files which are no longer necessary, such as temporary files and files used to install a software package, and deletes these.
What are the effects of using a system clean-up utility?
- Frees up disk space
- Reduces the time it takes to boot up the system
- Improves performance of the computer
What does an automatic updating utility do?
It searches a web server location periodically for updates to the software and can download them automatically.
What is system diagnosis?
Information about the system / hardware / performance etc.
What is a back-up utility?
A program designed to make copies of important files / whole system in case of damage or loss.
What is a stand-alone utility program?
A program that does not come with the OS but is designed to do a system task.
What is multi-purpose software?
Software that can have more than one use. E.g. Word Processor.
What is special purpose software?
Software that has one use. E.g. A game editing program
What is bespoke software?
Software designed specifically for one company to do exactly what is needed. E.g. Air Traffic Control Software
What is open source software?
- Free to use
* Supplied with its source code, which can be modified
What happens when a person creates new software from open source software?
They can sell it, but it must also be open.
What is the difference between freeware and open source software?
Both are free to use, but freeware doesn’t give the user access to the source code.
What is proprietary software?
- Made and controlled by one company
* No access to source code and no reselling
Compare the advantages of open source and proprietary software.
OPEN SOURCE
• Often cheaper
• Source code is available (can be altered)
PROPRIETARY
• Better support from company
• Updates more often
What does a file extension do?
Allows the user and computer to tell what type of file it is easily and what it is.
What are the file extensions MP3, MP4, XLS?
Sound, Video, Excel file
What are the advantages of using code from a software library?
- Saves time
- More pro looking input screens
- Access to advanced validation code
What are the disadvantages of using code from a software library?
- May reduce security of site
- External code not well documented
- Limited by what external source of code offers
What is off-the-shelf software?
Software that can be purchased from a High Street or online store. Not custom-written.
What is custom-written software?
Software that is written for one customer’s specific requirements.
What are the advantages and disadvantages of off-the-shelf software (compared to custom written software)?
ADV • You can buy it straight away • Cheaper than custom-written software • Lots of support from community • Regular updates DIS • Unnecessary features • Not always useful
What are the advantages and disadvantages of custom written software (compared to off-the-shelf software)?
ADV • Does exactly what is needed • Provides edge over other companies • No unnecessary features DIS • Not available straight away • Expensive • No support community • No regular updates and bug fixes to download
What is a development environment?
A program that helps us write software.