Monday, 24 March 2014

SOFTWARE

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.