Chapter 3 - Software Flashcards
Software
The programs we run on our computers, usually produced by a programming language
Programs
Stored sets of instructions that are given to the processor to carry out
System software
Controls the hardware, acts as an intermediary between application and hardware. It hides the complexity of hardware (programmers don’t need to worry about precise data movement) and allows user to operate the computer without writing code
Application software
Handles the real world jobs
Utility software
Used to maintain computer systems
Operating system
A set of programs that controls hardware and lets a user interact with the computer. Also responsible for keeping track of all files in a system
Kernel
Heart of the operating system, actually makes the hardware do things
Interface
Boundary between human and machine, providing a place for inputs and outputs
Shell (scripts)
Software that a user needs to communicate with the kernel
GUI
Graphical User Interface, uses images to represent resources, files, programs and actions
Defragmentation
A process used to tidy up memory in order to reduce the time taken to reach files
Multi-tasking
When several programs are loaded into memory at the same time (multi-programming) and it appears to the user that they are all running at the same time
Process
A program that is being executed
Scheduler
Allocates time for processes according to a policy e.g. shortest first, all jobs equal time
Hierarchical file systems
Stores files in directories that may include subdirectories
File extensions
Indicates what type of file something is e.g. doc
Attributes
Provide extra information about a file and stored with a file e.g. date and size
Viruses
Programs that replicate themselves and attach themselves to legitimate files to cause harm
Privileges
Rights assigned to users and groups
Encryption
Transforming files so that an unauthorised person cannot understand them
Linkers
Combine modules of object code (machine-level code) into a single executable program
Interpreters
Convert typed commands into machine instructions that a processor understands. One instruction at the time that runs before next translation
Custom written software
Software specially commissioned for a particular customer
Off the shelf software
Software that can be bought from a supplier
Open source software
Software that has been placed in the public domain by programmers (produced collaboratively) so the source code is publicly available
Proprietary software
Software developed for profit by a company - source code not available and licence does not allow editing
What are the advantages of using a GUI? (3)
1) No special training required
2) Keyboard use is limited
3) No commands to be learnt
What is a device driver?
Software in a deivce that creates an interface, allows the OS to communicate with the device, allows devices to operate independently
What should a multi-programming OS do? (3)
1) Make sure the CPU is used as much as possible
2) Try and speed up all tasks
3) Share resources fairly between tasks
What jobs does an OS do? (8)
1) Controls hardware (hides complexities)
2) Provides interface
3) Memory management
4) File tracking
5) Authentication of users
6) Utilities
7) Allows user to operate without coding
8) Sets attributes to files for users e.g. read only
What harm can viruses cause? (3)
1) File damage
2) Take control of a computer
3) Retrieve confidential info
What are examples of utilities software?
Antivirus, firewall, disk organisation, system maintenance - clear away redundant files, system information - checks for problems on secondary storage, automatic updates
What are the advantages of custom written software? (5)
1) Exact features required
2) Maintenance contract possible
3) Developer can be contacted
4) Should not require special adaptations
5) Compatible with hardware
What are the disadvantages of custom written software? (3)
1) Not tested as much
2) Expensive
3) Long time to develop
What are the advantages of off the shelf software? (4)
1) Ready immediately
2) Extensive testing
3) Forums of customers that can help
4) Cheaper
What are the disadvantages of off the shelf software? (3)
1) Might not be exactly what needed
2) May need extensive customisation
3) Hard to look for trainers
What are the advantages of open source software? (3)
1) Free
2) Can be altered
3) Reliable - many people contribute
What are the disadvantages of open source software? (3)
1) No one to contact
2) Tech knowledge needed to adapt
3) Easy to get viruses
What are the advantages of propriety software? (3)
1) Someone to contact with problems
2) Tested
3) Regular updates
What are the disadvantages of propriety software? (3)
1) Expensive
2) Deliberate incompatibilities
3) Infelxible
Why is command line used? (3)
1) Can group commands
2) More control
3) Quicker