0% found this document useful (0 votes)
44 views93 pages

SS - Unit-1 - Overview of System Software

The document provides an overview of system software, detailing its role as an interface between users, application software, and computer hardware. It explains the hierarchy of software, types of system software, and their functions, including operating systems and utility programs. Additionally, it discusses the importance of system software in managing computer resources and facilitating application development.

Uploaded by

sayjarenis10
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views93 pages

SS - Unit-1 - Overview of System Software

The document provides an overview of system software, detailing its role as an interface between users, application software, and computer hardware. It explains the hierarchy of software, types of system software, and their functions, including operating systems and utility programs. Additionally, it discusses the importance of system software in managing computer resources and facilitating application development.

Uploaded by

sayjarenis10
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

C. K.

PITHAWALA COLLEGE OF ENGINEERING


AND TECHNOLOGY, Surat
Website : [Link]
Department: Computer Engineering
Subject: System Software (3160715)

Chapter 1
Overview of System Software

Prepared By: Prof. Monali Panchal, Assistant Professor,


CKPCET Email : [Link]@[Link]
Outline
❖ Introduction
❖ Software
❖ Software Hierarchy
❖ System Programming
❖ Machine Structure
❖ Interfaces
❖ Address Space
❖ Computer Languages & Tools
❖ Life Cycle of a Source Program
❖ Different Views on the Meaning of a Program,
❖ System Software Development,
❖ Recent Trends in Software
❖ Levels of System Software

Prof. Monali Panchal SS(3160715) 2


Overview
➢ A computer processes digital data.
➢ A user solves a problem by writing and/or running a program written
in a high-level programming language like C.
➢ Inside computer, system programs called compiler and assembler
break the user program down into assembly code (instruction set) and
then into binary machine code.
➢ The machine code is processed.

Prof. Monali Panchal SS(3160715) 3


Overview (Cont..)

Prof. Monali Panchal SS(3160715) 4


What is System Software?

➢ System software consists of the program that control or maintain the


operations of the computer and its devices.

➢ System software serves as the interface between the user, the


application software and the computer hardware.

Prof. Monali Panchal SS(3160715) 5


System Software
➢ Consist of a variety of programs that support the operation of a
computer.

➢ Makes it possible for the user to focus on an application or other


problem to be solved, without needing to know the details of how the
machine works internally.

➢ One of the important characteristic of system software is machine


dependency.

Prof. Monali Panchal SS(3160715) 6


System Software (Cont..)

➢ Systems software functions


as a bridge between
computer system hardware
and the application software.
➢ System software coordinates
the various parts of the
computer system and
mediates between
application software and
computer hardware.

Prof. Monali Panchal SS(3160715) 7


System Software (Cont..)
➢ Program is a sequence of related instructions, performed one step at a
time by the CPU to accomplish some task.

➢ There are three types of programs: operating systems, language


interpreters and compilers and applications programs

➢ Examples of systems software are: Text editors, Compilers, Loaders,


Linker, Debugger, Assembler and Operating system.

Prof. Monali Panchal SS(3160715) 8


System Software (Cont..)
➢ System software is strongly machine dependent. Most of the system
software differs from application software in terms of machine
dependency.

➢ Application program is used to solve some problem using the


computer as tool. System program are intended to support the
operation and use of the computer itself.

Prof. Monali Panchal SS(3160715) 9


System Software (Cont..)
➢ Example of machine dependency are as follows:

1. Assembler translates mnemonic instructions into machine code.


2. Compilers must generate machine language code.
3. Operating systems are directly concerned with the management of
all of the resources of a computing system.

Prof. Monali Panchal SS(3160715) 10


System Software (Cont..)
➢ There are some aspects of system software that do not directly depend
upon the type of computing system.
➢ For example:

1. General design and logic of an assembler.


2. Code optimization techniques.
3. The process of linking independently assembled subprograms together.

Prof. Monali Panchal SS(3160715) 11


Relationship between Hardware, System Software,
Application Software and User

Prof. Monali Panchal SS(3160715) 12


Relationship between Hardware, System Software,
Application Software and User (Cont..)

➢ System software-consisting of operating systems, language


translators, and utility programs-controls access to the
hardware. Application software such as must work through
the system software to operate.
➢ The user interacts primarily with the application software.

Prof. Monali Panchal SS(3160715) 13


Relationship between Hardware, System Software,
Application Software and User (Cont..)

Prof. Monali Panchal SS(3160715) 14


Relationship between Hardware, System Software,
Application Software and User
➢ Firmware:
is a combination of software and hardware. ROMS, PROMS and
EPROMS that have data or programs recorded on them are
firmware.
➢ Assembler:
It is program that change the source program in assembly language
to object program in machine language.
➢ Loader:
is a system software that process instruction in the object file &
place the object file in a suitable location in the physical memory.
Prof. Monali Panchal SS(3160715) 15
Relationship between Hardware, System Software,
Application Software and User (Cont..)
➢ Linker:
to perform the linking operations.
➢ OS:
The system software that manages and controls the computer's
activities.
➢ Compiler:
Program that read program (source code) written in a language
(source language), & later interpret into other programming
language (target language)

Prof. Monali Panchal SS(3160715) 16


Software
➢ Computer program or set of computer program is called as software.
For example, you can say: "The problem lies in the software,"
meaning that there is a problem

➢ Software refers to programs that make the computer perform some


task. A program is a set of instructions that tells the computer what
to do.

Prof. Monali Panchal SS(3160715) 17


Software (Cont..)

➢ Software is a generic term for organized collections of computer


data , often broken into two major categories:
1. System software: provides the basic non-task-specific functions of
the computer
2. Application software : which is used by users to accomplish specific
tasks.

Prof. Monali Panchal SS(3160715) 18


Software (Cont..)

➢ Software is created with programming languages and related utilities


like: Interpreter,compiler, linker, editors, debuggers and other tool for
multiple language.

➢ Applications software includes programs that do real work for users.


For example, word processors, spreadsheets, and database management
systems.

Prof. Monali Panchal SS(3160715) 19


Software Hierarchy

Application Program Highest Level

High level languages

Operating System

Assembly Language

Machine Language Lowest Level

Prof. Monali Panchal SS(3160715) 20


Software Hierarchy (Cont..)
Machine Language :
➢ The fundamental language of the computer's processor, also I called Low
Level Language.
➢ All programs are converted into machine language before they can be
executed. It consists of combination of O's and 1's.
Assembly Language:
➢ A low level language that is similar to machine language.
➢ It uses symbolic operation code to represent the machine operation
code.

Prof. Monali Panchal SS(3160715) 21


Software Hierarchy (Cont..)
Operating System:

➢ The operating system is a set of commands that performs common


system tasks such as accepting data from the keyboard, displaying data
directory, on the monitor, sending data to the printer, examining the
contents of directory, etc.
➢ It is stored on the hard disk and is loaded to memory when the
computer is switched on.

Prof. Monali Panchal SS(3160715) 22


Software Hierarchy (Cont..)
Application Program:
➢ An application program is software written by a professional programmer for a
specific operating system to perform a particular task such as word processing,
spreadsheet, graphic design, music editing, etc. Examples of application
software are MS office, Netscape, Media player, Adobe acrobat etc.

High Level Language:


➢ Computer programming languages that is easier to learn. It uses English like
statements. Examples are C++, Visual Basic, Pascal, Fortran etc.

Prof. Monali Panchal SS(3160715) 23


System Programming

➢ Systems software consists of a set of programs that support the


operation of a computer system and help, the programmer, to simplify
the programming process and create a environment to run application
software efficiently.
➢ Examples of systems software are: Text editors, Compilers, Loaders,
Linker, Debugger, Assembler and Operating system.

Prof. Monali Panchal SS(3160715) 24


System Programming (Cont..)
➢ There are two major types of software: system software and application
software. Each kind performs a different function.
System software:
➢ is a set of generalized programs that manage the computer's resources,
such as the central processor, communications links, and peripheral
devices.
➢ Programmers who write system software are called system
programmers.

Prof. Monali Panchal SS(3160715) 25


System Programming (Cont..)
Application software
➢ Used by end user. It is concerned with solution of some problem,
using computer as a tool, instead of how computers can work.
➢ Describe the programs that are written for or by users to apply the
computer to a specific task.
➢ Programmers who write application software are called application
programmers

Prof. Monali Panchal SS(3160715) 26


System Programming (Cont..)

Systems software can be classified in two groups:

1. Software to create a program development environment:


Text editor, Compiler, Assembler, Linker and low-level Debugger.

2. Software to create a run-time environment:


Operating system, Loader, Dynamic Linker and Program libraries.

Prof. Monali Panchal SS(3160715) 27


Systems Software: Program Development Environment

Text editor: Software that permits the creation and editing of text files (i.e.
application programs).
Compiler: Translates programs written in a high level language to object
code or machine code.
Assembler: Translates programs written in assembly language to object
code or machine code.
Static Linker: Combines and resolves references between object programs
and creates the executable code.
Debugger (Low-level): It is used to debug executable programs and their
related object code and source program.
Prof. Monali Panchal SS(3160715) 28
Systems Software: Run-Time Environment
Loader: Loads an executable code and starts its execution.
Libraries: Precompiled programs that create a set of functions for use by
other programs.
Dynamic linker : Loads and links shared libraries at run-time
Operating system:
➢ The operating system handles all resources efficiently,
➢ creates an environment for application programs to run
➢ provides a friendly interface between the user and the computer
system.

Prof. Monali Panchal SS(3160715) 29


Software Software Vs Application Software

Prof. Monali Panchal SS(3160715) 30


Software Software Vs Application Software (Cont..)

Prof. Monali Panchal SS(3160715) 31


Software Software Vs Application Software (Cont..)

Prof. Monali Panchal SS(3160715) 32


Function Of System Software
➢ Control system
➢ Manage machine resources
➢ Provides services to programmer or to application
software
➢ Often written in assembler
➢ May run at all times computer is on
➢ Handle several processes at once

Prof. Monali Panchal SS(3160715) 33


Function of Application Software

➢ Carries out application Manage application data


➢ Provides services to end user
➢ Usually written in a high level language
➢ Only runs for duration of a given application
➢ Program is usually just a single step-by-step process.

Prof. Monali Panchal SS(3160715) 34


Category of System Software
➢ Two types of system software are
- Operating system
- Utility programs

➢ Several types of utility programs are provided with an operating


system.
➢ Other utility programs are available as programs separate from
the operating system.

Prof. Monali Panchal SS(3160715) 35


Function of Operating System
➢ Starting a computer.
➢ As a user interface.
➢ Offering the application program.

Prof. Monali Panchal SS(3160715) 36


Function of Utility Programs
1. File Manager
2. Image Viewer
3. Uninstaller
4. Disk Scanner
5. Disk Defragmenter
6. Diagnostic Utility
7. Backup Utility
8. Screen Saver
9. Antivirus Program

Prof. Monali Panchal SS(3160715) 37


Category of Application Software
Productivity - Ms Office
➢ Education - Encyclopedia
➢ Entertainment - Games
Business - Accounting and Inventory

Prof. Monali Panchal SS(3160715) 38


Why using System Software?
➢ To avoid write program in machine language.
➢ Get program into memory.
➢ For embedded system.
➢ Programmers productivity.
➢ Control of peripherals.

Prof. Monali Panchal SS(3160715) 39


Assembler
➢ Responsible for translating the assembly language program into
machine code.
➢ A pure assembly language is a language in which each statement
produces exactly one machine

Prof. Monali Panchal SS(3160715) 40


Assembler Functions

1. Translate mnemonic opcodes to machine language.


2. Convert symbolic operands to their machine addresses.
3. Build machine instructions in the proper format.
4. Convert data constants into machine representation.
5. Error checking is provided.
6. Changes can be quickly and easily incorporated with a reassembly.
7. Variables are represented by symbolic names, not as memory locations.

Prof. Monali Panchal SS(3160715) 41


Compiler

➢ Compiler is a program that reads the source language and converts


into equivalent machine language which is also called as target
language.

Prof. Monali Panchal SS(3160715) 42


Compiler (Cont..)
➢ The compilation process is divided into parts: analysis and synthesis

➢ Analysis Phase:
source program is broken up into pieces and an intermediate code can
be generated
➢ Synthesis phase:
from the generated intermediate code a machine code can be generated.

Prof. Monali Panchal SS(3160715) 43


Interpreter
Computer programs are compiled or interpreted.
➢ Languages like Assembly Language, C, C++, Fortran, Pascal were
almost always compiled into machine code.
➢ Languages like Basic, VB Script and JavaScript were usually
interpreted.
➢ An Interpreter reads the statements of a program, analyzes them and
then executes them on the virtual machine by calling the
corresponding instructions of the library.

Prof. Monali Panchal SS(3160715) 44


Interpreter (Cont..)

➢ Interpretation provides more functionality. e.g. for debugging one


can modify the value of a variable during execution.
➢ Interpretation is the conceptual process of running high-level code
by an interpreter.

Prof. Monali Panchal SS(3160715) 45


Interpreter (Cont..)
➢ The process of interpretation can be carried out in the following
phases:
1. Lexical analysis
2. Syntax analysis
3. Semantic analysis
4. Direct analysis

Prof. Monali Panchal SS(3160715) 46


Linker and Loader
➢ When we run a program, two major players work behind the
scenes to make it happen: two components; namely, the Linker
and the Loader. This may best be described as a double act of
computing.
➢ The most important work is done by the linker; this is the output
of all the different locations with code and produces an executable
file. There is then the loader function which is the one that loads
this file into memory, ready to run.

Prof. Monali Panchal SS(3160715) 47


Loader
➢ Loader is a utility program which takes object code as input
prepares it for execution and loads the executable code into the
memory. Thus loader is actually responsible for initiating the
execution process.
➢ It is special program that takes input of executable files from linker,
loads it to main memory, and prepares this code for execution by
computer. Loader allocates memory space to program.

Prof. Monali Panchal SS(3160715) 48


Loader (Cont..)

Prof. Monali Panchal SS(3160715) 49


Function of Loader

➢ The loader is responsible for the activities such as allocation, linking,


relocation and loading.

Loading: The loader loads the executable file into memory and allocates
memory for the program.
Relocation: The loader adjusts the program’s memory addresses to reflect its
location in memory.

Prof. Monali Panchal SS(3160715) 50


Function of Loader (Cont..)

Symbol Resolution: The loader resolves any unresolved external symbols


that are required by the program.
Dynamic Linking: The loader can dynamically link libraries into the
program at runtime to provide additional functionality.

Prof. Monali Panchal SS(3160715) 51


Linker

➢ Linking, which combines two or more separate object programs and


supplies the information needed to allow references between them.

➢ A linker is a special program that combines the object files, generated by


the compiler/assembler and other pieces of code to originate an
executable file that has a .exe extension.
➢ In the object file, the linker searches and appends all libraries needed for
the execution of the file. It regulates the memory space that will hold the
code from each module.

Prof. Monali Panchal SS(3160715) 52


Function of Linker

Symbol Resolution: The linker resolves symbols in the program that are
defined in one module and referenced in another.
Code Optimization: The linker optimizes the code generated by the
compiler to reduce code size and improve program performance.
Memory Management: The linker assigns memory addresses to the code
and data sections of the program and resolves any conflicts that arise.
Library Management: The linker can link external libraries into the
executable file to provide additional functionality.

Prof. Monali Panchal SS(3160715) 53


Linker (Cont..)

➢ The linking process is performed in two passes.


➢ Linker builds the Global symbol table with the help of USE and
DEFINITION table.
➢ In Global symbol table name of each externally referenced symbol is
included along with its address relative to beginning of the load module.
➢ In pass 2, the addresses of external references are replaced by obtaining
the addresses from global symbol table.

Prof. Monali Panchal SS(3160715) 54


Macro-Processors

➢ Macro is a unit of specification for program generation through


expansion.
➢ A macro represents a commonly used group of statements in the the
corresponding group of source language statements. This is called
expanding of macros.
➢ A macro consists of a name, a set of formal parameters and body of
code.

Prof. Monali Panchal SS(3160715) 55


Macro-Processors (Cont..)

➢ Macro expansion is a macro name with a set of formal parameters is


replaced by some code.
➢ Lexical expansion is replacement of a character string by another
character string during program generation.
➢ Semantic expansion is generation of instructions tailored to the
requirements, during program generation specific usage.

Prof. Monali Panchal SS(3160715) 56


Machine Structure

Prof. Monali Panchal SS(3160715) 57


Machine Structure (Cont..)

➢ Computer software consists of the instructions and application


programs that permit computers to accomplish tasks.
➢ Central processing unit (CPU) consists of set of interconnected
components such as instruction interpreter, location counter, program
counter, instruction register, various register sets and general purpose
registers.
➢ The CPU manipulates raw data and control other part of
computer systems. CPU used to process data.

Prof. Monali Panchal SS(3160715) 58


Machine Structure (Cont..)

➢ An arithmetic logic unit (ALU) and control unit is one of the core
components of all central processing units.
➢ The ALU performs the computer's principle logical and arithmetic
operations,adds, subtracts, multiples and divides, determining whether
a number i is positive or negative or zero.
➢ The control unit coordinates and controls the other parts of the
computer systems .
➢ Input devices convert data and instructions into electronic form for
input into the computer. Hardware used to enter data and instructions.

Prof. Monali Panchal SS(3160715) 59


Machine Structure (Cont..)

➢ Three kinds of busses linked between the CPU, primary storage


and the other devices in the computer system:

1. Data bus: Pass information in bi-directional.


2. Address bus: Transmits signals for locating a given address in primary
3. Control bus: Transmits signals specifying whether to read or write data
to or storage, indicating where data should be placed from primary storage
address, input device or output device.

Prof. Monali Panchal SS(3160715) 60


Machine Structure (Cont..)

➢ The internal bus is also known as internal data bus, memory bus,
system bus connects all the internal components of a computer.
➢ External bus is made up of the electronic pathways that connect the
different external devices, such as printer etc., to the computer.

Prof. Monali Panchal SS(3160715) 61


Interfaces

➢ Interface is used between computer hardware and computer


software.
➢ There are two types of interface used in computer.
1. User interface
2. System interface

Prof. Monali Panchal SS(3160715) 62


Interfaces (Cont..)

Prof. Monali Panchal SS(3160715) 63


User Interface
➢ The user interface controls how you enter data or instructions and
how information displays on the computer screen.
➢ A graphical user interface (GUI) combines text, graphics, and other
visual images to make software easier to use.
➢ Interface means a user controls a software application or hardware
device. A good user interface provides a "user-friendly" experience.
➢ System users often judge a system by its interface rather than its
functionality.
➢ Programs like word processors and Web browsers all have rather similar
interfaces, providing a consistent user experience across multiple
programs.
Prof. Monali Panchal SS(3160715) 64
System Interface
➢ System interface is a
mechanism for
interaction between
the physical and
logical devices that
enables them to
communicate with
each other.

Prof. Monali Panchal SS(3160715) 65


Address Space

➢ CPU can access content of main memory and register directly.


➢ Accessing memory may take many CPU clock cycle. Mismatch of
speed between CPU and memory is overcome by using cache
memory.
➢ Each process requires its own address space operating system define
legal address for each process. Maximum and minimum limit is also
decided so that process can access only these legal addresses.

Prof. Monali Panchal SS(3160715) 66


Address Space (Cont..)
➢ An address space is the set of addresses that a process/program can
use to address main memory. Each process has its own address
space.
➢ User programs are loaded into consecutive memory locations by
using base and limit register.
➢ Memory protection is used to avoid interference between programs
existing in main memory.
➢ The memory protection hardware compares every memory address
used by the program with the contents of two registers (base and
limit) to ensure that it lies with the allocated memory area.

Prof. Monali Panchal SS(3160715) 67


Address Space (Cont..)
➢Multiple hardware memories are used to provide a larger address
space. The simplest method of memory protection is adding two
registers to the CPU.
➢ When a process reads from or writes to address, the memory
decoder adds on the for value of the base register. The actual
operation of read or write to address = base register + limit
register.
➢ If the input address is higher than limit or lowers than zero, then
the memory hardware generates error. This is informed to the
operating system by using sri interrupt.

Prof. Monali Panchal SS(3160715) 68


Address Space (Cont..)
➢ Logical address is generated by the CPU. This address is also
called virtual address. Main memory addresses uses physical
address. This address also called real address. Logical address
space: Set of all logical addresses generated by a program.
➢ Logical address and physical address is identical when load time
and compile time address binding is performed. The execution
time address binding generates different physical and logical
address. Memory Management Unit (MMU) is responsible for run
time address mapping from virtual to physical address.

Prof. Monali Panchal SS(3160715) 69


Computer Language
➢ A computer language is a set of predefined
words that are combined into a program
according to predefined rules (syntax).
➢ computer languages have evolved from
machine language to high-level
languages.
➢ Programming languages are used to
facilitate communication about the task of
organizing and manipulating information,
and to express algorithms precisely.

Prof. Monali Panchal SS(3160715) 70


Machine Language
➢ It is the lowest-level programming language. Machine languages
are only language understood by computer.
➢ Each computer had its own machine language, which was made of
streams of .
➢ While easily understood by computers, machine languages are
almost impossible for humans to use because they consist entirely
of numbers.
➢ All instructions must be provided to the CPU in its native
language, machine language.

Prof. Monali Panchal SS(3160715) 71


Mnemonic Level Language
➢ This language is similar to machine level language. In this
language, instead of using 0 and 1, it uses mnemonic code.
➢ A "mnemonic low-level language" refers to assembly language,
which is a type of low-level programming language that uses
mnemonic codes (short, easily remembered symbols) to represent
machine instructions, making it more human-readable than raw
binary machine code.
➢ It provides way to write instructions using words that are easier to
understand than their binary equivalent.

Prof. Monali Panchal SS(3160715) 72


Mnemonic Level Language (Cont..)
➢ Mnemonics act as a bridge between human-readable code and the
underlying machine language, allowing programmers to write
instructions that are more easy to remember and understand
➢ Mnemonics are not case-sensitive.
➢ Machine instruction mnemonics specify the operation to be
performed.
➢ Example: "ADD" might be a mnemonic for an "add" operation,
while "MOV" could represent a "move" operation.
➢ Translation: An assembler program translates these mnemonic
codes into the actual machine code that the CPU can execute.
Prof. Monali Panchal SS(3160715) 73
Assembly Language
➢ Assembly language uses letters and numbers to represent machine
language instructions.

➢ Assembly language is a low-level programming language that


allows programmers to communicate directly with a computer's
hardware such as registers, memory locations, input/output devices
or any other hardware components.

➢ It uses mnemonics to represent the operations that a processor has


to do. Which is an intermediate language between high-level
languages like C++ and the binary language.
Prof. Monali Panchal SS(3160715) 74
Assembly Language (cont..)
➢ Assembly language is readable by humans, unlike machine
language which is made up of binary and hexadecimal characters.
➢ Assembly language uses mnemonics like "End", "Sub", "Ass",
"Mov", and "Mul" to represent data and information.
➢ Assembly language is used to manipulate hardware, access
specialized processor instructions, and solve performance issues.
➢ Assembly languages are only somewhat easier to work with than
machine languages.

Prof. Monali Panchal SS(3160715) 75


How Assembly Language works?
➢ Assembly languages contain mnemonic codes that specify what
the processor should do.
➢ The mnemonic code that was written by the programmer was
converted into machine language (binary language) for execution.
➢ An assembler is used to convert assembly code into machine
language. That machine code is stored in an executable file for the
sake of execution.

Prof. Monali Panchal SS(3160715) 76


High Level Language
➢ Higher-level languages are more powerful than assembly language
and allow the programmer to work in a more English-like
environment.
➢ A high-level language is any programming language that uses
words and symbols to make it relatively easy to read and write a
computer program.
➢ In a high-level language, instructions do not necessarily
correspond one-to-one with the instruction set of the CPU. One
command in a high-level language may correspond to many
microprocessor instructions.

Prof. Monali Panchal SS(3160715) 77


High Level Language (Cont..)
➢ Many high-level languages have been developed. These include:
FORTRAN, COBOL, BASIC, Logo, Pascal, C, C++, Java, and
others.
➢ These languages simplify even further the terminology and
symbolism necessary for directing the machine to perform various
manipulations of data.
➢ Each instruction in a high-level language is equivalent to several
machine-code instructions.
➢ High-level languages are used to solve problems and are often
described as problem-oriented languages.

Prof. Monali Panchal SS(3160715) 78


Advantages of High Level Languages:
1. Reduce the number of instructions that must be written.
2. Allow programs to be written in a shorter amount of time than a
low-level language would take.
3. Reduce the number of errors that are made, because instructions
are easier to read.
4. They are more portable.

Prof. Monali Panchal SS(3160715) 79


Problem Oriented VS Procedure Oriented Language
Problem Oriented Language Procedure Oriented Language
Source language is a problem oriented A procedure oriented program language is
language. the target language.

Execution gap is large because of problem specification gap is larger because of


oriented language procedure oriented language

Problem oriented languages is also known Procedural oriented languages is also known
as fourth generation languages as third generation languages

Example: Query language and Application Example: COBOL, FORTRAN, Pascal, Ada
Generators and HTML.

Problem-oriented Languages were designed Procedural languages are intended to solve


to solve specific problems target language. general problems

Prof. Monali Panchal SS(3160715) 80


Tools
1. Text editor:
➢ A text editor is a tool that allows a user to create and review
documents in a computer.
➢ Depending on how editing is performed, and the type of output
that can be generated, editors can be broadly classified. Program
used for creating and changing text files is called a text editor.
➢ A text editor can be used to write email, compose Web pages,
create computer programs, and install little files that control them.

Prof. Monali Panchal SS(3160715) 81


Tools (Cont..)
2. Debugging aids:

➢ Debuggers are tools that can examine the state of a running program.
➢ Common debuggers: adb, dbx, gdb, kdb, wdb, xdb.
➢ Microsoft Visual Studio has a built-in debugger.

Prof. Monali Panchal SS(3160715) 82


Life Cycle of a Source Program

Prof. Monali Panchal SS(3160715) 83


Life Cycle of a Source Program

Prof. Monali Panchal SS(3160715) 84


Different Views on the Meaning of a Program

➢ Multiple views of a program is as follows:

1. Object code is assembler views of program.


2. Abstract model is a programmer views.
3. Machine code is a hardware view.
4. Executable code is object program view of linker.
5. Loader view is an executable program in the computer memory for execution.

Prof. Monali Panchal SS(3160715) 85


Recent trends in Software Development

➢ The evolution of computer hardware is parallel to evolution of comp


software towards to suit the demand.
➢ As the tech world Continues to grow, there is the new software development
every day.
➢ This includes tools for entertainment, multitasking, and other advanced
features.
➢ Professionals or individuals upgrade their software regularly to be able to
carry out various tasks.

Prof. Monali Panchal SS(3160715) 86


Recent trends in Software Development (Cont..)
➢ Recent trend is of services oriented paradigm.
➢ Service-oriented architecture is approach that is used to create architecture
based upon use of services.
➢ Services carry out some small function, such Producing data, validating a
customer, or providing simple analytical services.

Prof. Monali Panchal SS(3160715) 87


Levels of System Software
➢ Translator is itself a computer program.
➢ It accepts a program written in high level language as input and
generates corresponding the machine program as output. The original
high-level program is called source.
➢ System software act as translator in following categories:
1. High level translator
2. Low level translator
3. Lowest level translator

Prof. Monali Panchal SS(3160715) 88


Levels of System Software (Cont..)

Prof. Monali Panchal SS(3160715) 89


Levels of System Software (Cont..)
Compiler:
➢ It is a computer program that translates programs written in a
high-level language to the machine language.
➢ A typical computer processes some type of input data to produce
output data.
➢ The compiler translate source code into machine code or compiled
code.

Prof. Monali Panchal SS(3160715) 90


Levels of System Software (Cont..)
➢ Assembler converts assembly language programs into object files.
contain a combination of machine instructions, data, and information
place instructions properly in memory.
➢ Linker: merges the object files produced by separate compiler or
assembler and creates an executable file.
➢ Loader: Part of the OS that brings an executable file residing in disk
memory and starts it running.

Prof. Monali Panchal SS(3160715) 91


Levels of System Software (Cont..)
High level translator: System program translates a program from a
language to, usually, low level machine instructions.
➢ The translated program saved and executed at a later time.
➢ For example, a high level operation is number to be multiply while
a low level operation involves manipulation of binary data.
➢ Low level translator : Example of low level translator is assembler,
loader, linker and object code translator.
➢ Lowest level translator: Machine level program is translated into the
signal level by using some devices to perform actual tasks.

Prof. Monali Panchal SS(3160715) 92


Prof. Monali Panchal SS(3160715) 93

You might also like