1  Introduction to System Programming

 What is system software  

what is system software state the goal of system software?
 A system software program that helps in the effective execution of application programs system software all the application programmer  to focus on the application to be developed without  worrying about the internal detail of the system
 the system software is computer software designed to operate computer hardware and to provide a platform for running application software
 example:  assembler linker compiler interpreter microprocessor and operating system

 Goal of system software

  • 1 to make effective execution of general user program
  • 2  achieve efficient use of available resources
  • 3 to achieve the efficient performance of the system
  • 4 to make available new better facilities
  • 5 the user provides a convenient method of using a computer system

Component of system software

what are the four components of system software?

the above figure shows the Abstract view of system component
    the system software is usually related to the architecture of the computer machine on which they are running
following are the component of system software
  • 1 Assemble
  • 2 Loader
  • 3 Linker 
  • 4 Compiler
  • 5 Interpreter 
  • 6 Microprocessor

1 Assemble

and assembler is a program that accepts Input and assembly language program and produces its machine language equivalent code along with information for the loader, in short, the assembler is responsible for the transmitting Assembly language program into machine code
the assembler can define as a computer program that translates assembly code into the corresponding machine code that can be executed by the computer

2 Loader

installing code in memory is called as loading a loader is a system software program that performs loading function loading is the process of placing the program into memory for execution the loader load an object code into memory and prepare it for execution

3 Linker 

the task of integrating the program  module together is called as linking linker is a program that takes one or more objects generated by the compiler and combines them into a single  executable program
figure concept of linker:
we can define a linker as a computer program that takes or combines serval separately compile object files into one is an executable program

4 Compiler

a compiler translates a program written in a high-level programming language into a low-level machine language that is required by computer compiler takes as its input a program written its  source language and  produces an equivalent program in the target system
fig compilation process

5 Interpreter 

it is designed to run another non-executable program source code directly without compiling it first interpreter is a program which translates statement of a program into machine code translate only one statement of the program at a time. means it read only one statement of a program translate it and execute its
example basic logo small talk etc
fig interpreter

6 Microprocessor

macros: micro is a single line abbreviation for a set of instruction micro is a line of computer programming coding that results in one or more lines of program coding in the target programming language
Macros also called as a macro instruction
Syntax of macro
a macro can be defined by using two pseudo opcodes (ops)
1 MACRO 2 ENDM
MACRO : indicate the start of a macro definition
2 ENDM :indicates the end of the micro definition
MACRO 
MACRO NAME
set of instruction
ENDM
example 
MACRO
ADDITION 
ADD A, DATA
ADD B, DATA
ENDM

Macro processor

 the macro processor allows you to define and use macros in your assembly programs a processor replaces each macroinstruction with the corresponding group of source language statement macro, this is called as expanding the macro 
 The  macro processor treats  the identical part of a program defined by  Abbreviation as a micro definition and saves the definition
 The  macro processor substitutes the definition for all occurrences of the abbreviation in the program in short a  macro processor
  • 1 recognised a macro definition
  • 2 save the macro definition
  • 3 recognised macro calls
  • 4 Expand macro calls 

fig mpo processor

Evolution of system software

Describe the evolution of system software?

  • 1 the early computers were the program in the machine language
  • 2  the programmer would write out the symbolic program on a sheet of paper hand assemble into machine code and then toggle the machine code into the computer. The symbols Where are bound to who addresses and programmer binding the names to the machine address
  • 3 the assembler save the problem by allowing the programmer has to write a program in term of symbolic names and binding the name to the machine address. Letter on to basic linker function reallocation and Library  search predates even assemblers
  • 4the linker and loader divided up the work with linker doing part of address binding assigning addresses with which program and loader doing a final reallocation step to assign
  • 5 linker had to deal with the object code generated by high-level programming language search FORTRAN
  • 6 the high-level programming language code becomes larger than available memory, so linker provided overlays technique that programmer arrange different part of the program to share the same memory  with each overlay loaded on demand when another part of the program called into it 
  • 7 the overlays Where are widely used on the mainframe computer from the advance of the disk around 1960  until the virtual memory in 1970
  • 8 compiler and assembler were modified to create object code in multiple sections with one sectional for read-only code, another code for writeable data


Evolution of the operating system

Describes the evolution of the operating system? (8mark)


  • 1The earliest computer where entirely program in the machine memory devices different file system increase the efficient management of these resources become more critical. these resources are valuable and hence management of them is very important.
  • 2 The early batch system when the operating system in which the memory resources were allocated totally a single program hence  the program did not need to your entire memory, a portion of that resources was wasted
  • 3 Multiprogramming operating system with motion core memory Where are developed to solve this problem, multiprogramming allow multiple programs to reside into at the same time. separate area code at the same time. here programs then give a fix portion of code memory
  • 4 In a multiprogramming operating system as a new technology such as fragmentation paging demand paging where the use
  • 5 In a multiprocessing operating system, the traffic controller was used to coordinates the processor. and the process. In multiprocessing operating system OS resources scheduler,input-output scheduler there used on the basis of
  • 6letter on the time-sharing operating system where are developed in which time-sharing is one of the techniques of allocating processor time used.Currently the operating system available consist of batch processing, multiprogramming, multiprocessing and time sharing characteristics


Foundation of system programming

Explain the foundation of system programming

fig 
system programming is a process of activity through which programmer can design system software above figure shows the foundation of system programming

Definition: system software refers to the files and programs that make up your operating system

 system software increases the productivity of computer which depends upon the effectiveness efficiency and sophistication of the system program


  • 1 The compiler is a system program that accepts people like language and translates them into machine language
  • 2 The loader is a program that prepares a machine language program for execution  microprocessor to allow programmers to use the abbreviation system program provide efficient management of various resources it manages resource allocation such as MS Windows, Linux, Mac OS allow flexible storing and retrieval of information 
  • 3 microprocessor allows the programmer to use the abbreviation
  • component of the machine structure

  • Memory: it is a device where information is Store
  • Processor: they are the devices that operate on the memory information 
  •  I/O Processor: they are a concern with the transfer of data between memory and peripheral devices like disc CD DVD printer etc..IO processor execute IO instruction that is stored in the memory
  • Central Processing Unit (CPU): the CPU are concerned with the  manipulation  of data store in memory 
  • fig


An important question  for exam
1 what is system software? explain the evolution of System Programming software? (8 marks)
2 write a note on the component of system software with example? (4 marks)
3 explain the foundation of system programming? (4 marks)
4 explain OS as manager of the system? (4 marks)
5 define term compiler assembler loader macros? 04 mark)