System software
Types of software
System software:
operating system, device drivers, firmware, servers, utilities, interfaces
Developer software:
Programing languages
utilities
Applications
Web browsers, Games
Multitasking
Allows the computer to make best use of the CPU. A multitasking operating system allows more than processes in the RAM at a time, they can be in multiple states:
Running-
CPU is currently processing this program
Runnable-
Ready to go in the queue, its waiting for current program to finish
Waiting-
Waiting to go in the queue to become runnable
Operating system
An operating system is a collection of software that manages the hardware in a computer.
Windows: the most popular OS that is used in most desktop and laptop computers. it also has a GUI that allows all programs running under windows to look the same.
UNIX: A OS used on servers and workstations, traditionally it ha a command line interface.
MacOS: Apple Computers’ own proprietary operating system based on UNIX
LINUX: designed to behave like UNIX but was developed separately and is the basis for many other operating systems.
Operating systems also have supporting software to manage various aspects of the system:
Utility software
–is often loaded with the operating system
–comes as small-scale programs used to carry out simple maintenance tasks.
Security
–Anti-virus software to detect and remove viruses that could damage the data on the computer;
–Anti-spyware to detect and remove spyware such as a
Trojan that logs key strokes to steal passwords and other sensitive data;
–Firewalls that restrict incoming and outgoing access to certain network addresses.
Maintenance:
Disk organisation tools allow formatting and management of files on disks, for example:
–Disk defragmenters: As files are deleted and added, the data gets spread around the disk, leaving gaps. The defragmenter moves the files to put all the free space together to improve access speeds.
–Other utilities include:
–Archive
–Backup
–Data compression
–Disk cleaners
–Network utilities
Development software
Editors:
These are used to write programs, these are usually just word processors that don't save formatting. Editors will often have features to help organise the code by detecting program constructs and indenting loops, using different colours for key words and automatic line numbering.
Compilers:
These translate the high-level code used by the programmer into the machine instructions required by the computer. The high level code produced by the programmer is called source code, and the machine instructions created by the compiler, object code.
Interpreters:
These also translate the high level code into machine instructions but they translate the code one line at a time and execute it, instead of translating the whole program to create the object code.
Assemblers:
These are used to translate assembly language programs into machine instructions. Assembly language is not machine code but each assembly language instruction translates to just one machine instruction.
Linkers:
These are used to connect sub programs that are often written using different languages or tools the linker combines all these bits of code to make them work together.
Applications software
Applications are programs that do real world jobs:
There is a huge range of applications (or apps) to do all sorts of jobs and for a wide range of devices.
Office software
–Word processor
–Spreadsheet
–Presentation software
–Drawing package
–Database management software
Enterprise software
This may include standard office applications alongside specialist items, for example:
–Stock control
–Payroll
–Electronic Point of Sale
–Customer management
Questions
1. An IDLE can help a programmer by checking for syntax errors in his code and by making it easier for new users to work out what the code does.
2. a) open source software is software that anyone can use or edit to make better and can be accessed for free
b) two advantages are that it is free and that anyone can add to it to improve it however two disadvantages are that there is no guarantee of updates because it is being developed for free and that most open source software isn't reliable.
3.
a) an editor is a piece of software used to edit the code of a program and is used by developers.
b) a disc defragmenter is a piece of software used to free up space on a hard drive by organising your files so that you are using up a your hard drive efficiently.
c) a firewall is a real-time protection against viruses infecting your PC.