Published on

Published in: Education


  2. 2. <ul><li>What is system programming…??? </li></ul><ul><li>System programming is the activity of  programming   system software . </li></ul><ul><li>systems programming aims to produce software which provides services to the  computer hardware  . It requires a greater degree of hardware awareness. </li></ul>
  3. 3. <ul><li>Reasons for the evolution of system programs- </li></ul><ul><li>1)To make computer better adapted to the need of users. </li></ul><ul><li>2)People wanted more assistance in the mechanics of preparing their program. </li></ul>
  4. 4. <ul><li>We will discuss about the evolution of following components of system programming- </li></ul><ul><li>ASSEMBLERS </li></ul><ul><li>LOADERS </li></ul><ul><li>LINKERS </li></ul><ul><li>MACROS </li></ul><ul><li>COMPILERS </li></ul>
  5. 5. <ul><li>ASSEMBLER </li></ul><ul><li>Initially the users were compelled to write their program in machine code (a series of 0 and 1). </li></ul><ul><li>But the programmer found it difficult to write or read programs in machine code. </li></ul><ul><li>Now the users began to use some mnemonic (symbol) for each machine instruction, which they subsequently translate into machine language. </li></ul>
  6. 6. <ul><li>Such a mnemonic machine language is called assembly language. </li></ul><ul><li>Programs known as assembler were written to automate the translation of assembly language to machine code. </li></ul><ul><li>The input to the assembler is called the source program and the output is a machine language translation( object program ). </li></ul>
  7. 7. <ul><li>LOADERS </li></ul><ul><li>A loader is a system program that places programs into memory and prepares them for execution. </li></ul><ul><li>Once the assembler produces an object program, that program must be placed into memory and executed. </li></ul><ul><li>It is the purpose of loader to assure that object programs are placed in memory in an executable form. </li></ul>
  8. 8. <ul><li>MACROS </li></ul><ul><li>First you should know what is subroutine..? </li></ul><ul><li>A subroutine is a body of computer instruction designed to be used by other routines to accomplish a task. </li></ul><ul><li>There are two types of subroutine- </li></ul><ul><li>Open subroutine </li></ul><ul><li>Close subroutine </li></ul>
  9. 9. <ul><li>Open subroutine or Macros </li></ul><ul><li>whose code is inserted in the main program(flow continues). </li></ul><ul><li>Thus if the same open subroutine is called four times, it would appear in four different places in the calling program. </li></ul><ul><li>Closed subroutine </li></ul><ul><li>It can be stored outside the main routine, and control transfers to the subroutine. </li></ul>
  10. 10. <ul><li>NEED OF MACROS- </li></ul><ul><li>To relieve programmers of the need to repeat identical parts of their program operating system provide a macro processing facility, which permits the programmer to define an abbreviation for a part of his program and to use this abbreviation in his program. The macro processor treats the identical parts of the program defined by the abbreviation as a macro definition and saves the definition. </li></ul>
  11. 11. <ul><li>COMPILERS </li></ul><ul><li>As the user’s problems became more categorized into areas such as </li></ul><ul><li>scientific </li></ul><ul><li>Business </li></ul><ul><li>Statistical problems </li></ul><ul><li>Some high level languages were developed that allowed the user to express certain problems concisely and eaisly. </li></ul><ul><li>Ex-FORTRAN,COBOL,ALGOL….. </li></ul>
  12. 12. <ul><li>A compiler is a system program that accepts program written in HIGH level language and produces an object program. </li></ul><ul><li>Modern compilers must be able to provide the complex facilities that programmers are now demanding. </li></ul>