1 / 23

Computer Software

Computer Software. Evolution of Programming Languages. Machine Languages Assembly Languages High-Level Languages Fourth-Generation Languages. Machine Languages. The native language of the hardware Patterns of binary bits Machine specific, is non-portable

nasia
Download Presentation

Computer Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Software

  2. Evolution of Programming Languages • Machine Languages • Assembly Languages • High-Level Languages • Fourth-Generation Languages

  3. Machine Languages • The native language of the hardware • Patterns of binary bits • Machine specific, is non-portable • is essentially the microcode of the processor

  4. Assembly Languages • Replace the pattern of binary bits with • mnemonics for the commands • variable names for memory locations • Essentially a one-to-one mapping of the machine language • Still machine specific, is non-portable

  5. High-Level Languages • Represents multiple machine-level statements with single statements • Easier to learn and use • Not machine specific, is portable

  6. An Example Machine Code Assembly Code High-Level Code in Hex 27BB0001 ldah gp, main main() 23BD8050 lda gp, main { 23DEFFF0 lda sp, -16(sp) int a, b, c; A61D8018 ldq r16, 8(gp) a = 3; A77D8010 ldq r27, printf b = 4; 47E0F411 mov 7, r17 c = a + b; B75E0000 stq r26, (sp) printf(“\n%d\n”, c); 6B5B4000 jsr r26, printf } 27BA0001 ldah gp, main A75E0000 ldq r26, (sp) 23BD8050 lda gp, main 47FF0400 clr r0 23DE0010 lda sp, 16(sp) 6BFA8001 ret r26

  7. Move from Language to Language • Computers only understand machine language. • Use an ASSEMBLER to convert a program written in assembly language to machine language. • Use a COMPILER to convert a program written in a high-level language to machine language.

  8. Executable Code • Program code which is in machine language and can be run (executed) by the computer • Is hardware dependent you can’t run it on just any machine • On PCs PC usually have an EXE or a COM extension

  9. Object Code • Program code which is in machine language but which is not ready to be run (i.e. it is a partial program). • Is hardware dependent. • On PCs usually has an OBJ extension. • Not commonly used by end-users.

  10. Source Code • Program code which is written in a high-level language. • Cannot be run by the computer. • Is usually a text file. • File name extension usually reflects the high-level language • BASIC - BAS extension • Pascal - PAS extension

  11. Compiler & Files Error Messages Program Listing Source Code Compiler Object Code Executable Code Object Code Library Linker

  12. Dynamic Link Libraries • Some Window programs use “run-time” linking and and require the presence of dynamic link library files which have a DLL extension. • DLL files ideally contain code which would be used my a number of programs.

  13. Object Libraries & DLLs • Both contain “commonly” used code. • With object libraries all the code is included in the executable file at compile time so: • programming effort is saved • no space saving is realized, executables which use common code have their own copy of the library code

  14. Object Libraries & DLLs • With DLLs the code is “fetched” from the DLL file at “run time” so: • programming effort is saved • space savings “may” be realized • the more executables that use the library code the greater the savings • typically only a small part of the library code is used

  15. Common HLLs • FORTRAN • COBOL • BASIC • Pascal • C • C++ • PL/1 • Ada • JAVA • LISP • Prolog

  16. Fourth Generation Languages • First three generations focused on describing “HOW TO DO” a task. • 4GLs focus on describing “WHAT TO ACCOMPLISH” • The fourth generation language compiler must be able to translate the “what to accomplish” description into a machine level “how to” set of instructions.

  17. Categories of 4GLs • Query languages • Report generators • Graphics languages • Application generators • Very high-level programming languages • Application software packages • Microcomputer tools

  18. Categories of Software • System Software • Operating Systems (OS) • Language Translators • Utility Programs • Application Software

  19. Operating Systems • It is the job of the operating system to manage the computers resources and control the execution of programs. • Computer resources include • memory • device drivers for peripheral devices • The OS is the interface between the hardware and the user/application program.

  20. Layers of interaction Users Application Software System Software Hardware

  21. Operating Systems • OSs run the full spectrum from • single program-single user, to • multitasking, multi-user, with virtual memory • The OS decides which program runs and for how long. • The OS improves throughput by skipping over processes that are waiting for I/O.

  22. Common Operating Systems • CP/M • DOS • Windows 3.1 • Windows 95 • Windows NT • OS/2 • System 7 • Mac OSX • Linux • UNIX • VMS • VM/CMS

  23. More RAM needed! • Newer OSs extend the capabilities of desktop computers but require more RAM • Windows 3.0 - 1MB (std),2MB (real) • Windows 95 - 8MB recommended • Windows NT 4.2 - 16MB (32 rec.) • Windows 2000 - 64MB min. • Windows XP - 128MB rec.(64MB min) • Windows Vista - 1GB rec. (512MB min)

More Related