Perfect Papers Software


Published on

Published in: Education, Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Perfect Papers Software

  1. 1. Software Computer Systems Standard Grade Computing Studies Calderside Academy Computing Department
  2. 2. What is software <ul><li>Software </li></ul><ul><ul><li>is the term that we use for all the programs and data that we use with a computer system. </li></ul></ul><ul><li>Two types of software </li></ul><ul><ul><ul><li>Program - the instructions that the computer follows (e.g. a word processor or a game). </li></ul></ul></ul><ul><ul><ul><li>Data - what the programs process (e.g. a word processing document or a saved game) </li></ul></ul></ul>
  3. 3. More on software <ul><li>Programs </li></ul><ul><ul><li>there are two types of program software. </li></ul></ul><ul><li>Systems Software </li></ul><ul><ul><ul><li>programs used to organise the computer, handle its devices, manage memory etc. The Operating System is Systems Software (see later). </li></ul></ul></ul><ul><li>Applications software </li></ul><ul><ul><ul><li>programs designed to carry out a manual task (Word Processors, Databases, Graphics etc.) </li></ul></ul></ul>
  4. 4. The Operating System <ul><li>The operating system (OS) is the most important program used by the computer . </li></ul><ul><ul><li>The OS in most modern computers is stored on hard disc and is loaded into RAM when the computer starts up. </li></ul></ul><ul><ul><li>Some computers store their OS in ROM so that it cannot be erased by accident. ROM operating systems load very quickly. </li></ul></ul><ul><ul><li>The operating system controls and monitors the operation of the computer system. </li></ul></ul><ul><ul><li>The filing system is part of the OS and it controls the loading and saving of programs and data from backing storage. </li></ul></ul>
  5. 5. Modern Operating Systems <ul><li>Examples of operating systems which are disc based </li></ul><ul><ul><li>Windows 98 for the PC </li></ul></ul><ul><ul><li>System 8 for Apple Macintosh </li></ul></ul><ul><ul><li>Unix for large fileservers and networks. </li></ul></ul><ul><li>Examples of operating systems which are ROM based </li></ul><ul><ul><li>JavaOS for Network Computers (NCs) </li></ul></ul><ul><ul><li>RiscOS for ACORN Computers </li></ul></ul><ul><ul><li>Windows CE2 for palm top and handheld computers. </li></ul></ul>
  6. 6. Standard Functions of the OS. <ul><li>User interface </li></ul><ul><ul><li>the OS provides the means of communicating with the computer system (Icons, commands etc. are all provided by the operating system). </li></ul></ul><ul><li>Manages memory </li></ul><ul><ul><li>The way that memory is allocated to programs is controlled by the OS. </li></ul></ul><ul><li>Controls input/output </li></ul><ul><ul><li>The access to all devices attached to the computer is controlled by the OS. For example, the OS can stop two programs trying to use the same device at the same time. </li></ul></ul>
  7. 7. More OS - Standard Functions <ul><li>The filing system manages backing storage </li></ul><ul><ul><li>The access to all types of backing storage devices is controlled by a special part of the operating system called the filing system. </li></ul></ul><ul><ul><li>The filing system will prevent two programs trying to access the same files at the same time. </li></ul></ul>
  8. 8. Resource allocation <ul><li>When a computer is running the demands on the systems resources (i.e. memory, input/output devices, backing storage etc.) may be greater than the resources available. To deal with this a resource allocation system is built into the OS. </li></ul><ul><li>Various techniques are used to prevent two programs demanding the same resource at the same time (e.g. two programs can't both send files to the printer at the same time). </li></ul>The resource allocation system also ensures that all programs running on the system receive as much processing time as possible.
  9. 9. OS - Special Functions <ul><li>Multi-programming </li></ul><ul><ul><li>Also know as multi-tasking. Some operating systems allow more than one program to run on the system at the same time. This is possible because the resource allocation system shares the processors time between the different programs. </li></ul></ul><ul><li>Multi-access </li></ul><ul><ul><li>Some operating systems allow many users to use the same computer system at the same time. Any computer system used in this way will have a multi-access operating system. The resource allocation system shares the resources of the computer system (discs, memory, processor etc.) between the different users. </li></ul></ul>
  10. 10. OS - Different modes of processing <ul><li>There are several different modes of processing. </li></ul><ul><li>Interactive </li></ul><ul><li>Accepting input from a human. Interactive computer systems are programs that allow users to enter data or commands. Most popular programs, such as word processors and spreadsheet applications, are interactive. In interactive processing, the application responds to commands as quickly as it can once they have been entered. Sometimes there is a delay while the processor finishes another task. </li></ul><ul><li>Real Time </li></ul><ul><li>Real-time operating systems are systems that respond to input immediately. Automatic teller machines for banks are an example of real time processing. Real time systems are used for tasks such as navigation, in which the computer must react to a steady flow of new information without interruption. </li></ul>
  11. 11. OS - Different modes of processing (cont.) <ul><li>BATCH </li></ul><ul><li>Executing a series of jobs (programs + data) all at one time. The term originated in the days when users entered programs on punch cards. They would give a batch of these programmed cards to the system operator, who would feed them into the computer. </li></ul><ul><li>Usually, batch jobs are stored up during working hours and then executed during the evening or whenever the computer is idle. Batch processing is particularly useful for operations that require the computer or a peripheral device for an extended period of time. Once a batch job begins, it continues until it is done or until an error occurs. Note that batch processing implies that there is no interaction with the user while the program is being executed. </li></ul>
  12. 12. OS - Different modes of processing (cont.) <ul><li>Interactive systems with background job capability </li></ul><ul><li>Some operating systems allow a background process to occur at the same time as a foreground interactive process. </li></ul><ul><li>The foreground process is the one that accepts input from the keyboard, mouse, or other input device. Background processes cannot accept interactive input from a user, but they can access data stored on a disk and write data to the video display unit. </li></ul>For example, some word processors print files in the background, enabling you to continue editing while files are being printed.
  13. 13. The Filing System <ul><li>The system that an operating system uses to organise and keep track of files. </li></ul><ul><li>Catalogue/Directory </li></ul><ul><li>The filing system can access the contents of floppy and hard discs. The contents of these discs is held in the directory(also called catalogue). The filing system reads this information so that it can find any file on the disc straight away. </li></ul><ul><li>Types of File </li></ul><ul><li>Software can be stored on backing storage as files. There are two types of files. </li></ul><ul><ul><li>Program files (such as the operating system, word processors etc). </li></ul></ul><ul><ul><li>Data files (such as graphics images, documents etc). </li></ul></ul>
  14. 14. Types of filing system <ul><li>A hierarchical filing system is one that uses directories to organise files into a tree structure. </li></ul><ul><li>Hierarchical filing system </li></ul><ul><li>A filing system in which directories have files and subdirectories beneath them. </li></ul><ul><li>Flat filing system </li></ul><ul><li>All the files are organised into one large area. </li></ul>A Hierarchical Filing Structure C:/ D:/               Computer Drives Folders Files
  15. 15. Types of access <ul><li>Sequential Access </li></ul><ul><li>To go from file A to file Z in a sequential-access system, you must pass through all intervening files. </li></ul><ul><li>Sequential access is sometimes called serial access. </li></ul><ul><li>Random Access </li></ul><ul><li>Refers to the ability to access data at random. In a random-access system, you can jump directly to file Z. Disks are random access media, whereas tapes are sequential access media. </li></ul>
  16. 16. Systems Software <ul><li>The operating system is just one example of systems software. </li></ul><ul><li>Other examples of systems software are: </li></ul><ul><ul><li>Anti-virus tools </li></ul></ul><ul><ul><li>Disk utilities </li></ul></ul><ul><ul><li>Programming tools </li></ul></ul><ul><ul><li>Printer manager utilities </li></ul></ul><ul><li>All these are examples of programs. Programs can be written in a number of different ways... </li></ul>
  17. 17. Low Level Languages <ul><li>Computers only understand binary!!! </li></ul><ul><li>All programs have to end up in binary language in order work. </li></ul><ul><li>The binary language that the computer understands is called MACHINE CODE </li></ul><ul><li>Machine code looks like this… </li></ul><ul><li>00100111,01110100,10010001 </li></ul><ul><li>NOT very easy to understand. </li></ul><ul><li>That’s why High Level Languages and Assembly Language have been produced... </li></ul>
  18. 18. High Level Languages <ul><li>We use high level languages (HLLs) because programming in low level languages like machine code is VERY difficult. </li></ul><ul><li>High level languages make it easier for us to write programs because we can use commands that mean something (PRINT, END, IF, THEN). </li></ul><ul><li>High level language programs still have to be converted into machine code to work. This is done by a translator. </li></ul><ul><li>There are lots of different HLLs but they all still have several things in common... </li></ul>
  19. 19. Common features of High Level Languages <ul><li>English like words and phrases as instructions eg. PRINT, IF, THEN, END, STOP, ELSE, OPEN etc. </li></ul><ul><li>Arithmetic operations such as multiply, divide, add subtract etc. </li></ul><ul><li>High level languages are problem orientated. This means that the programmer can forget about the internal workings and set-up of the computer system and can concentrate on solving the problem. </li></ul>
  20. 20. Common features of High Level Languages <ul><li>Words and symbols are combined to conform to a predefined SYNTAX to produce program instructions (also called statements). Syntax are the rules which govern how the program commands are used (similar to the rules of grammar that govern how we use the English language). </li></ul><ul><li>Must be translated into machine code. A special program (a type of systems software) called a translator does this…. </li></ul>
  21. 21. Types of translator <ul><li>There are two types of translator for high level languages . </li></ul><ul><li>Compiler </li></ul><ul><li>A program that translates source code into machine code. The compiler gets its name from the way it works, looking at all of the source code and collecting, reorganising and converting the instructions into machine code. </li></ul><ul><li>Compilers require some time to create an executable program. However, programs produced by compilers run much faster than the same programs executed by an interpreter. </li></ul><ul><li>The program produced by the compiler is executable. It does not need the compiler or the source code. </li></ul><ul><li>Many compilers are available for the same language. For example, there is a FORTRAN compiler for PCs and another for Apple Macintosh computers. This makes the program source code PORTABLE (able to run on a number of different computer processors). </li></ul>
  22. 22. Types of translator <ul><li>Interpreter </li></ul><ul><li>An interpreter translates high-level instructions into a machine code line by line. Each HLL statement is converted, in turn, into machine code and then executed. </li></ul><ul><li>An interpreter can immediately execute high-level programs (unlike a compiler). For this reason, interpreters are sometimes used during the development of a program, when a programmer wants to add small sections at a time and test them quickly. Also interpreters are often used in education because they allow students to program interactively. </li></ul><ul><li>The advantage of an interpreter over a compiler is that it does not need to go through the compilation stage during which machine code instructions are generated. </li></ul><ul><li>Many interpreters are available for the same language. For example, there is a BASIC interpreter for PCs and another for Apple Macintosh computers. This makes the program source code PORTABLE. </li></ul>
  23. 23. Assembly Language <ul><li>Machine code consists entirely of numbers and is almost impossible for humans to read and write. Assembly language has the same structure and set of commands as machine code, but it allows a programmer to use names instead of numbers. </li></ul><ul><li>Each type of processor has its own machine code, so an assembly language program written for one type of processor won't run on another. </li></ul><ul><li>In the early days of programming, all programs were written in assembly language. Now, most programs are written in a high-level language such as FORTRAN or C. Programmers still use assembly language when speed is essential or when they need to perform an operation that isn't possible in a high-level language. </li></ul>
  24. 24. Types of translator <ul><li>There is one type of translator for assembly language programs. </li></ul><ul><li>Assembler </li></ul><ul><li>A program that translates programs from assembly language to machine language. </li></ul>LDA #28 PRN #76 CLE #1 JMP #8 011000011100 101001001100 100100000001 110100001000 Assembler
  25. 25. Types of High Level Language <ul><li>General purpose </li></ul><ul><li>General purpose high level languages are written for a wide variety of tasks. They can be used for any type of application however they may lack certain commands that make particular tasks easy to do. </li></ul><ul><li>Special Purpose </li></ul><ul><li>Special purpose high level languages are written for particular types of task. For example Delphi is written for windows database programming and has special commands that make this type of task easier to carry out. </li></ul>