1. introduction to system program
computer
that can accept input, store data, and retrieve, process and output
ymputer is a machine that can be programmed to carry out sequences of arithmetic or logical operations automaticaly.
fn electronic machine that can store, ind and arrange information, calculate amounts and-control other machines.
+ A.computer program in its human-readable form is called source code
+ Source code needs another computer program to execute because computers can only execute their native machine
instructions
Therefore, source code may be translated to machine instructions using the language's complier.
+ Assembly language programs are translated using an assembler.
generations of programming language
1. first generation: is machine language. Machine language requires the programmer to enter instructions using
instruction numbers called machine code. ex add operator of instruction code 24576
2.second generation:- is assembly language,. Assembly language allows the programmer to use mnemonics instructions
instead of remembering instruction numbers. assembler translates each assembly language mnemonic info its machine
language number
5. third generation uses compilers and interpreters to execute computer programs. third generation language i Rs
independence from particular hardware
4, fourth generation:- emphasizes what output results are desired, rather than how programming statements should be
constructed. popular fourth generation language is called Structured Query Language (SQL)
1.1 distinguish between system program and application program
introduction to system program System programs communicate and coordinate the
activities and Functions of hardware and software
of a system and also controls the operations of the
ea vr User 3 fig User n hardware..
System software runs when the system is turned
Compiler Text Eater ‘Assomblor Database Systom ‘on and stops when the system is turned off While
SYSTEM AND APPLICATION PROGRAMS application software runs as per the user's request
The system program serves as a part of the
operating system. It traditionally lies between the
OPERATING SYSTEM user interface and the system calls
COMPUTER operating system is one of the examples of system
software, Programming tools such as compilers,
HARDWARE assemblers, UO routines, interpreters, scheduler.
loaders and linkers
introduction to system programming
the act of bang Systeme Sofware exhgSpstem Programming Langusgas
involves the development of the individual pieces of software that allow the entire system to function as a single unit.
designing and writing computer programs that allow the computer hardware to interface with the programmer and the
user, leading to the effective execution of application software on the computer system
essential and important foundation in any computer's application development, and always evolving to accommodate changes
in the computer hardware
System programming leads to the development of computer system
The system programming enhances or extends the functions of an operating system and may comprise components such as
drivers, utilities and updates
enable efficient management of hardware resources such as memory, file access VO operations, device management and
process management such as process administration and multi-tasking
introduction to application program
an application (app), an application program. or application software
software, is a computer software package that performs a specific function directly for an end user or, in some cases, For
another application.
{An application can be self-contained or a group of programs.
An application program isa comprehensive, saltcantained program that performs a particular Function direct For the user
System software includes programs running in the background, which enable application programs to Function.
ex Email,Web browsers Games,Word processors,Enterprise software,Accounting software,Graphics softwareMedia
players,Oatabase managementsystem software.
‘System Software maintains the system resources and
gives the path for application software to run.
application software
‘Application software is built For specific tasks.
Low-level languages are used to write the system
software.
It is general-purpose software.
While high-level languages are used to write the
application software.
While it's a specific purpose software.
Without system software, the system stops and can’t
System software runs when the system is turned on
and stops when the system is turned off.
‘System software is an operating system, etc..
‘System Software programming is more complex than
application software.
While Without application The software system always
While application software runs as per the user's
request.
‘Application software is Photoshop, VLC player,
‘Application software programming is simpler in
comparison to system software.
The Software that is designed to control, integrate
and manage th individual hardware components and
application software is know as system software.
‘A set of computer programs installed in the user's
system and designed to perform a specific task is known
as application software.
‘A system software operates the system in the
background until the shutdown of the computer.
‘Application software run:
the user's request.
the front end according to
The system software has no interaction with users. It
serves as an interface between hardware and the end
user
‘Application software connects an intermediary between
the user and the computer
System software runs independently
Memory Management ,Disk Management, Controlling
Devices,£xecution and Loading
‘Application software is dependent on system software
because they need a set platform for its functioning.
data Manipulation, Resource coordination, Information|
management visuals construction
1.3 Programming Environment - Editors, Debugger, Translators, Device drives and Operating
systems, Linker and Loaders
1, editor:-
Editors or text editors are software programs that
enable the user to create and edit text files
In the field of programming, the term editor usually
refers to source code editors that include many special
Features for writing and editing code
The term editor is commonly used to refer to a text
editor, a software program that allows users to create or
manipulate plain text computer files. They are used in
the field of computer programming.
Examples of text editors
« Notepad and WordPod - Microsoft Windows included
text editors
-TextEdit -Apple computer text editor
Emacs - Text editor for all platforms that is a very
powerful text editor once you've learned all its
commands and options.
+ Vi and Vim. Other great editors primarily used with Linux
but also available with multiple platforms.
+ Word Word Processor for Windows and Apple computers.
Microsoft Edit - MS-DOS text editor.
-NEdit - A graphical text editor.
+ Pico. A console-based text editor.
sNotepad++ Our favorite free text editor. Notepadt+, is a
‘powerful alternative to Windows Notepad.
+ Textpad - Our favorite Shareware text editor
Bie Lt Famat Wer Hp
| “Tite Bor Maximize C08
eee
2. debugger
Debugging is the process of Finding and fixing errors or bugs
in the source code of any software, When software does not
work as expected, computer programmers study the code to
determine why any errors occurred.
-Debugging is the process of identifying and resolving errors,
(or bugs, in a software system. It is an important aspect of
software engineering because bugs can cause a software
system to malfunction, and can lead to poor performance or
incorrect results. Debugging can be a time-consuming and
complex task, but it is essential for ensuring that a software
system is functioning correctly= Syntax error Runtime error
standard.
ing the wrong Function
+ Logic error
+ Disregarding adopted conventions in the coding
fariable name in the wrong place
«Failing to initialize a variable when absolutely required - Skipping a check for an error return
Challenges of debugging
The debugging process can be quite difficult and require as much work ...if not more than writing the code to begin with.
1. The negative effect of the coding error is clear, but the cause is not
Zhe negat
3Dependencies are not clear, so fi
parts of the program.
3.Translators
effect of the coding error is difficult to reproduce. for example when web content contains drop-down menus
ixing a coding error in one part of the program accidentally introduces new errors in other
generic term that can refer to a comple, assembler, oF interpreter-anything that converts language into another,
‘ample. These include translations between high-level and human-readable computer languages
Compiler
language processor that reads the
complete source program written in
high-level language as a whole in one
go and translates it into an equivalent
Program in machine language is called
a Compiler.
in a compier, the source code is
translated to object code successfully
is Free of errors. The compiler
specifies the errors at the end of the
compilation with line numbers when
there are any errors in the source
code.
assembler
The Assembler is used to translate the
program written in Assembly language
into machine code.
The source program is an input of
fan assembler that contains assembly
language instructions.
The output generated by the assembler
is the object code or machine code
understandable by the computer.
Assembler is basically the 1st interface
that is able to communicate humans
with the machine.
We need an Assembler to fill the gap
between human and machine so that
interpreter
translation of a single statement of
the source program into machine
code is done by a language
processor and executes immediately
before moving on to the next line is
called an interpreter.
The interpreter moves on to the
next line for execution only after
the removal of the error.
‘An Interpreter directly executes
instructions writte
programming or scripting language
without previously converting them
to an object code or machine code.
they can communicate with each other. in interpreter translates one line
code written in assembly language is at a time and then executes
Se SESE. some sort of mnemonics(instructions)
sas ae Sie)
ouson bg
4, Device driver
Drivers are OS Specific: Windows, Linux, or macOS
‘ekernel device drivers consist of some generic hardware loaded with the operating system (0S) as part of the 0S.
Example: Motherboards, processors, and BIOS
‘*User-mode device drivers - external devices that they bring to use, such as external plug-and-play devices , Example:
Printer, Scanner
device driver is a computer program that operates or controls a particular type of de
automaton.
driver provides a software interface to hardware devices, enabling OS and other computer programs to access hardware
Functions without needing to know precise details about the hardware being used.
driver communicates with the device through the computer bus or communications subsystem to which the hardware
connectsm
Drivers are hardware dependent and operating-system-specific.
5. Operating system
Operating System (0S) is an interface between a computer user and computer hardware.
~An operating system is a program that acts as an interface between the user and the computer hardware and controls.
the execution of all kinds of programs
software which performs all the basic tasks like file management, memory management, process management, handling
input and output. and controlling peripheral devices such as disk drives and printers
software that enables applications to interact with a computer's hardware.
~An Operating System is the low-level software that supports a computer's basic Functions, such as scheduling tasks and
controlling peripherals.
~system software that manages computer hardware, software resources, and provides common services for computer
programs
=-The software that contains the core components of the operating system is called the kernel
important functions of an operating System
>Memory Management >Processor Management >Device Management >>File Management Network Management
>-Security >Control over system performance > job accounting >Error detecting aids >Coordination between other
software and users
that is attached to a computer orSource
‘Application
‘Softwares
loadi
loader is a vital component of an operating system th:
Data
4
oe yn i t
- ——+ Data flow
Object <== Control flow
Modules
Binary
Program
‘Schematic Execution of the Program
6. linker and loader
linker is an important utility program that takes the object files, produced
by the assembler and compiler, and other code to join them info a single
executable file. There are two types of linkers, dynamic and linkage.
is accountable for
1g programs and libraries, Absolute, Direct Linking, Bootstrap and
Relocating are the Fypes of loaders
linker
‘The main function of Linker is to generate executable files.
The linker takes input of object code generated by
compiler/assembler.
king can be defined as process of combining various
2 of codes and source code to obtain executable code.
pi
Linkers are of 2 types: Linkage Editor and Dynamic Linke
Another use of linker is to combine all object module:
inker is also responsible for arranging objects in
program's address space.
loader
main objective of Loader is to load executable
memory.
's to main
the loader takes input of executable files generated by linker.
Loading can be defined as process of loading executable codes
to main memory for Further execution.
Loaders are of 4 types: Absolute, Relocating, Direct Linking,
Bootstrap.
helps in allocating the address to executable codes/files.
Loader is also responsible for adjusting references which are
used within the program.
1.4 Hybrid system
Hybrid operating system may allow one operating system to fulfil requirements and the other operating system to Fulfil
the rest.
-In a hybrid operating system, two operating system may execute on a single device. This can be done by dividing the
memory and the processor between the operating systems. All the system resources would be shared between them
~Both the operating systems in the hybrid environment may be aware of the other operating system and share resources
with each other.
For example: one of the operating systems may provide user interface, applications monitoring etc. while the other
oper
operating system.
ing system may be a high-performance operating system that does not provide the same services as the first