Classification Of Software


Published on

AQA AS Computing Comp2 Classification of software

Published in: Education, Technology
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Classification Of Software

  1. 1. Classification of Software
  2. 2. The Diagram (must learn)
  3. 3. Operating System <ul><li>The operating system gives the user an ‘environment’ to run there programs in. It is not intended as the actual program itself (you can’t type a letter with only windows xp installed). The job of the operating system is to allow more generic programs such as word, excel, etc to be able to run on different pieces of hardware. </li></ul><ul><li>There are different operating systems available such as MacOSX, Windows 3.1/98/nt/2000/XP/Vista, Linux Redhat/Susie/Ubuntu/etc, etc. </li></ul><ul><li>Software will normally be written to run on only one operating system (or family such as windows compatible) and will also often have system requirements of specific hardware. </li></ul>
  4. 4. Library Programs <ul><li>Library programs are a way of sharing common bits of program so that they do not need to be re-written for each piece of software. A classic example of this is how to use the mouse. You don’t want to have to include mouse routines in word, etc when they will be generic shared bits of code. In windows you can often spot library programs by their extension .dll (dynamic link library). </li></ul>
  5. 5. Utility Programs <ul><li>Utility programs are normally small little programs which will help out with the running of your computer (making zip files, etc). But probably aren’t the reason you use the computer. They are not functional in the way word and excel are, more of handy add ons. Many actually come included in the operating system such as defrag. Have a look at for other utility programs. </li></ul>
  6. 6. Language Translators <ul><li>Language translator is a generic term intended to cover getting from programs written in a specific programming language to the actual machine code. Even assembler needs to be translated. Depending on how the assembler works it will fit in to one of three categorise (in theory) </li></ul><ul><li>Assembler </li></ul><ul><li>Compiler </li></ul><ul><li>Interpreter </li></ul>
  7. 7. Assemblers <ul><li>You have had a good look at assembler when working with machine code. In one of your homework's you even wrote a little of your own assembler language. Assemblers are about as basic as you can get for programming languages. They simply translate line for line the mnemonic op-code and decimal operand into binary ready for the processor. </li></ul>
  8. 8. Compiler <ul><li>There are several examples of compilers C being one of the most prominent. A compiler will take a program written in a high level programming language and by looking at the code as a whole it will convert it into machine code. This process normally requires several passes to ‘optimise’ the code and can take some time. You do not want to compile programs every time you run them so this is most suitable for programs that will not change. </li></ul>
  9. 9. Interpreter <ul><li>Java is often called an interpreter (which it nearly is), php is a true interpreted language. </li></ul><ul><li>An interpreted language is a higher level language so it cannot simply be assembled into machine code. Instead it is translated ‘on the fly’ into machine code, chunk by chunk. This is relatively efficient for programs which change as you go. The downside is no machine code is stored so the process needs to be run every time. It is not very good for large programs such as word. </li></ul>