Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

Introduction

What is System Programming?


• Earlier computers performed simple operations/Processes
(program in execution)
• But the expectations from modern computers are much
complex (both hardware and associated software)
• System Programs were developed to make computers
better adapted to user needs.
• Various System programs:
– Assemblers
– Macro-processors
– Loaders & Linkers
– Compilers
– Formal Systems…
System & Application Programs
• System Programs are used to develop
Application programs.
• Application programs are used to perform
various specific tasks for the users.
– Eg. Word processor, accounting application, web
browser, media player, photo editor, etc.
Machine Structure

• Basic Von-Neumann machine.


• Processing units process the data in Memory/Core
or I/O according to the instructions also present in
the memory.
Components of Programming System
• Assemblers: It’s a system program that converts the
assembly (source code. Eg. Add, Sub) into machine language
(object code. Eg. 01100001…).
• Macro-processors: Macros are abbreviations for a part of a
program, relieving programmers of the need to repeat
identical portions of the program.
They are analogous to functions in programming languages.
Eg. Macro ----Start of Definition
Incr ----Macro Name
A 1, Data
A 2, Data
Mend ----Macro end
Components of Programming System
• Loaders & Linkers: A Loader places the object code into the
memory of computer for execution. A Linker merges various
object modules to form a single object code (by resolving
symbolic references between object modules). A Loader
performs: “Allocation of memory, Linking, Relocation of
program and Loading”.
• Compilers: It converts a high level language (eg. C, PL1, Java)
to machine understandable low level language (101110…)
which is also called the object code. Interpreter on the other
hand executes the code step by step, helpful in debugging
(eq. Python, Perl, Ruby)
• Formal Systems: Made up of alphabets, words, set of
inference relations, eg. Set theory, Boolean algebra, BNF
(Backus Normal Form). They are used for specifying syntax &
semantics of programming languages.
Operating Systems
• An Operating System is a flexible System
program capable of performing complex tasks.
• It is an interface or platform between the user
(Applications) and the hardware.
• Requires resources (memory, processor, I/O,
etc.) to do its job.
• Eg. Windows, Mac, Unix, etc.
Functions of OS
• Batch Processing: Processes are allocated to the
memory in batches for execution.
• Multi-Programming: Multiple programs residing
in separate areas of memory.
• Paging: It’s a memory management technique
wherein the program is divided into equal size
blocks (Pages) and loaded into equal memory
frames. In Demand paging scheme, only those
pages that are required are loaded into the main
memory.
Functions of OS
• Segmentation: The program is divided into
variable size segments and loaded into memory.
• Scheduling: OS Schedules the processes using
many scheduling schemes, viz. First come- First
serve (FCFS), Shortest Job First (SJF), Round Robin
(time based), etc.
Scheduling involves Time-sharing of processors to
a process.
• Error Handling: Handles Errors in the system and
debugs them.

You might also like