System softare

Dr. C.V. Suresh Babu
Dr. C.V. Suresh BabuTeacher / Trainer / Coach / Author / Publisher / Educational consultant en Hindustan University / Sathyasai B.Ed college
System Software
Dr. C.V. Suresh Babu
• WHAT IS SOFTWARE?
• SYSTEM SOFTWARE
• APPLICATION SOFTWARE
• CONTEMPORARY TOOLS FOR SOFTWARE
DEVELOPMENT
*
Relationship between Software
and Hardware
Hardware
Operating System
Users
System Software
Application Software
Computing
System
Components
Provides the physical mechanisms to input and
output data, manipulating data and controlling
the various input, output, storage and
communication components
Hardware
What is software?
• A software program is a series of statements
or instructions to the computer. A program is
loaded into memory (RAM). Its execution is
referred to as a process.
• A program is analogous to a recipe.
Example: Read (“Your age in years :”) to A
A = A * 12
PRINT (“Your are ” & str(A) & “ months old”)
MIDDLEWARE
SOFTWARE ALLOWS DIFFERENT APPLICATIONS TO
EXCHANGE DATA
Data being
manipulated –
can be
alphanumeric,
graphic or any
other form. In all
cases it is
represented in a
form that the
computer will
understand and
manipulate
Relationships between User,
Software and Hardware
Hardware
System
Software
Application
Software
User
Print on screen,
Read keyboard entries,
Write files on disk,...
Surf Web,
Format document,
Play games,...
SOFTWARE
DETAILED INSTRUCTIONS TO CONTROL COMPUTER
OPERATION
• PROGRAM: SET OF INSTRUCTIONS TO THE COMPUTER
• STORED: PROGRAM MUST BE IN PRIMARY STORAGE
• SYSTEM SOFTWARE:
MANAGES COMPUTER
RESOURCES
• APPLICATION SOFTWARE:
SPECIFIC BUSINESS
APPLICATION
Framework for Software
• System Software
• manages the resources of the computer
• resources can be CPU, RAM, secondary
storage, printers, communication
devices…
• Application Software
• performs a specific task on the computer
• examples include word processing,
spreadsheets, program languages, games
...
PROGRAMMING LANGUAGES:
ASSEMBLY LANGUAGE; FORTRAN;
COBOL; PL / 1; QBASIC; PASCAL; C; C++;
FOURTH GENERATION LANGUAGES
OPERATING SYSTEM:
• SCHEDULED COMPUTER
EVENTS
• ALLOCATES COMPUTER
RESOURCES MONITORS
EVENTS
LANGUAGE TRANSLATORS:
• INTERPRETERS
• COMPILERS
UTILITY PROGRAMS:
• ROUTINE
OPERATIONSMANAGE
DATA
SOFTWARE
HARDWARE
SYSTEM SOFTWARE
APPLICATION SOFTWARE
Application Software
• Primarily concerned with accomplishing specific tasks for
the end-user
• Three types of application software:
• Development tools: to create new software (programming
languages)
• Utilities - Management tools: to manage programs and data on the
computer (backup, screen savers,.)
• Special / general purpose applications: what the computer is used
for (word processing, games,…)
Application
Software's
Example
• User interface
• Application programming
interface
• File management system
• Kernel
• I/O drivers and network module
• Generalized programs that
manage the resources of
the computer, such as the
central processor,
communications links, and
peripheral devices.
• System software – or
operating system helps in
managing the files, to load
and execute programs and
to accept and interpret
commands form mouse
and keyboard; DOS,
Windows, Unix are some of
many existing operating
systems
Human Vs Machine
Programs
• The computer can only understand the bits (the
encoded program)
• Humans don't like to deal with bits, so they developed
English-like abbreviations for programs.
Programming Language
Machine Language
GENERATIONS
Generations of
PROGRAMMING LANGUAGES
1st. Since 1940s. MACHINE LANGUAGE: binary code
2nd. Since early ’50s. ASSEMBLY LANGUAGE: mnemonics for
numeric code
3rd. Since mid ‘50s. HIGH-LEVEL LANGUAGES
4th. Since late ‘70s. MODERN APPLICATION PACKAGES
5th. Since late ’90s. Associated with ARTIFICAL INTELLIGENCE
The Program Translation Process
• Terms,
terms, and
more terms!
Source
Object
Executable
Translator
Linker
Loader
Programming Language
Categories
• Machine Language
• Binary coded instructions
• Assembly Language
• Symbolic coded instructions
• Procedural Languages
• procedural statements or
arithmetic notation
• Four-generation Languages
(4GL’s)
• Natural language and
nonprocedural statements
• Object-oriented Languages
• Combination of objects and
procedures
A Machine’s own language
• For understanding how computers work, we
need familiarity with the computer’s own
language (called “machine language”)
• It’s LOW-LEVEL language (very detailed)
• It is specific to a machine’s “architecture”
• It is a language “spoken” using voltages
• Humans represent it with zeros and ones
Example of machine-language
Here’s what a program-fragment looks like:
10100001 10111100 10010011 00000100
00001000 00000011 00000101 11000000
10010011 00000100 00001000 10100011
11000000 10010100 00000100 00001000
It means: z = x + y;
Beyond your
understanding?
• Though possible, it is extremely
difficult, tedious (and error-prone)
for humans to read and write “raw”
machine-language
• When unavoidable, a special
notation can help (called
hexadecimal representation):
A1 BC 93 04 08
03 05 C0 93 04 08
A3 C0 94 04 08
• But still this looks rather
meaningless!
2GL Assembly language
• There are two key ideas:
-- mnemonic opcodes: we employ abbreviations of
English language words to denote operations
-- symbolic addresses: we invent “meaningful”
names for memory storage locations we need
• These make machine-language understandable to
humans – if they know their machine’s design
Assembly Language
• When to use
• When speed or size of program is critical
• Hybrid approach
• Hardware Drivers
• Can use specialized instructions
• Disadvantages
• Inherently machine specific
• Architectures may become obsolete
• Lack of programming structure
Assembly & Machine Language
ST 1,[801]
ST 0,[802]
TOP: BEQ [802],10,BOT
INCR [802]
MUL [801],2,[803]
ST [803],[801]
JMP TOP
BOT: LD A,[801]
CALL PRINT
Assembly Language
00100101 11010011
00100100 11010100
10001010 01001001 11110000
01000100 01010100
01001000 10100111 10100011
11100101 10101011 00000010
00101001
11010101
11010100 10101000
10010001 01000100
Machine Language
An Assembler
Assembly
Language
Program
ST 1,[801]
. . .
Machine
Language
Program
01001001
10010100
Assembler
Assemblers
• Binary code = machine code
• Hex code
• Assembly Language
• Mnemonic names  op codes
• Labels  memory addresses
• Comments
• Symbol table
• Operations table
• Memory Relocation
• Cross Assembler
Third Generation Language (HLL)
• Many high-level languages have been
developed.
• Different ways of representing
computations.
• Different languages for different needs:
• symbolic vs. numeric computation
• human efficiency vs. program efficiency
• portability
• extensibility
High-Level Languages
• FORTRAN (FORmula TRANslator): Scientific,
Engineering applications
• COBOL (COmmon Business Oriented Language):
Predominant for transaction processing
• BASIC (Beginners All-purpose Symbolic
Instruction Code): General purpose PC
language
HIGH-LEVEL LANGUAGES
• PASCAL: Used to teach
structured programming
practices. Weak in file
handling, input / output
• C and C++: Powerful PC
Language for developing
applications. Efficient
execution; cross platform.
C++ is object oriented
LANGUAGE TRANSLATION
• SOURCE CODE: High level Language
Instructions
• COMPILER: Translates HLL into Machine
Language
• OBJECT CODE: Translated Language ready for
Computer
TRANSLATIONPROCESS
SOURCE CODE
PROGRAM
COMPILER
OBJECT CODE
LINKAGE
EDITOR
LOAD MODULE
OTHER OBJECT
CODE MODULES
UTILITY PROGRAMS
PERFORM ROUTINE
TASKS
Compiler
C++ Program
int main() {
int i=1;
. . .
Machine
Language
Program
01001001
10010100
C++ Compiler
Created with text editor or
development environment
Compilers
• Translates high-level language into low-
level instructions
• High-level language: Source code
• Machine-level: Object code
• Changes, including bug fixes, require
recompiling
Many Different Compilers
• There are many different C++ Compilers:
• Microsoft Visual C++
• Borland C++
• GNU g++
• IBM xlc
• Sun CC
 The 4GL programmer would only have to be concerned with what
quantity of coffee should be prepared and if milk and sugar
should be added.
 Non-procedural languages state the goal to be achieved, but not
the steps required in order to achieve the goal.
 Using a 4GL to create an application that it was not intended for
will create problems for a programmer.
In theory, Fourth Generation Languages are 'non-procedural'
languages, meaning that the programmer says what they want done
rather than how to do it.
Fourth Generation Languages (4GLs)
Example: Instructions for making a
cup of Coffee:
1. Boil the water
2. Add a teaspoon of coffee to a cup.
3. Fill the cup 3/4 full with boiling water.
4. Add milk
5. Stir the contents of the cup with a
teaspoon.
A ‘Procedural' language requires each
step in the process of making a cup of
coffee to be defined.
FOURTH GENERATION
LANGUAGES (4GL)
• Can be employed by End
Users
• Non Procedural
• Can develop applications
quickly
• Natural Languages
• SIX Categories
1. QUERY LANGUAGES:
• Rapidly retrieve data
• Interactive/ on-line
• May use NATURAL LANGUAGE
• Support special requests for data from relational
databases
2. REPORT
GENERATORS:
• Create customized
reports
• Wide range of formats
3. GRAPHICS
LANGUAGES:
• Can manipulate
drawings, graphs,
photos, videos
• Presentation
managers
4. APPLICATION GENERATORS:
• User specifies computer needs
• Generator creates logic and code for application
• Greatly reduces development time
5. VERY HIGH-LEVEL PROGRAMMING LANGUAGES:
• Professional programmer productivity tool
• Uses fewer instructions
• Reduces development time
*
6. SOFTWARE PACKAGE:
Commercially available set
of programs...
• WORD PROCESSING
• SPREADSHEETS
• DATA MANAGEMENT
• PRESENTATION
MANAGEMENT
INTEGRATED SOFTWARE
PACKAGES NOW COMBINE
THESE TO SIMPLIFY LEARNING
AND USE
*
4GLs contain the following
advantages and disadvantages:
Advantages
Disadvantages
1. They possess friendly
interfaces
2. They are easier to use than
previously used high level
languages
3. The programming language
contained within a 4GL is
closely linked to the English
language structure
1. The downside of a 4GL is that
the programs run slower than
those of earlier language
generations because their
machine code equivalent is
considerably longer and more
complicated to execute
2. The recent popularity of 4GLs
is closely linked to the
development of fast
microprocessors
OBJECT-ORIENTED PROGRAMMING
• COMBINES DATA & PROCEDURES INTO A SINGLE
OBJECT
• PROGRAM SENDS MESSAGE TO OBJECT TO
PERFORM EMBEDDED PROCEDURE
• OBJECT’S DATA ENCAPSULATED FROM REST OF
SYSTEM
• CREATES REUSABLE CODE
• REDUCES TIME AND COST OF WRITING SOFTWARE
*
OBJECT-ORIENTED
PROGRAMMING
VISUAL PROGRAMMING: SELECT AND ARRANGE OBJECTS
RATHER THAN WRITE CODE
CLASS: ALL OBJECTS OF A CLASS HAVE ALL FEATURES OF
THAT CLASS
INHERITANCE: SPECIFIC CLASS RECEIVES FEATURES OF A
MORE GENERAL CLASS
OVERRIDE: SUBCLASS MAY OVERRIDE INHERITED METHOD
(e.g.: Printout of an HOURLY worker pay check may differ
from that of a WEEKLY worker
*
OBJECT-ORIENTED
PROGRAMMING
JAVA: Sun Microsystems OBJECT-ORIENTED
PROGRAMMING LANGUAGE
• APPLET: TINY PROGRAM TO EXECUTE SMALL FUNCTION
• APPLETS DOWNLOADED FROM NETWORK
• RUN ON ANY COMPUTER & OPERATING SYSTEM
• RESULT SAVED ON NETWORK, NOT ON PC
• ONLY NETWORK VERSION OF SOFTWARE NEEDS UPGRADE
*
OBJECT-ORIENTED
PROGRAMMING
HTML: Hypertext markup language,
current favorite for Web pages
XML: eXtensible Markup Language,
further development of HTML
describes data more fully
XHTML: Hybrid may replace HTML as
standard for Web
*
OBJECT-ORIENTED PROGRAMMING
ActiveX: Controls for Windows software
environment to enable OBJECTS: e.g.,
• CHARTS
• TABLES
• ANIMATIONS
to be EMBEDDED IN A WEB PAGE
*
Object-Oriented
Languages
• SmallTalk
• C++
• Java
• Based on C++
• Platform independent
 Fifth generation languages are normally associated with
the field of artificial intelligence.
 Artificial intelligence, built up through logic
programming, models a real world environment or
situation.
 Artificial intelligence aims to support flexible and
informed patterns of behavior within a computer.
 The main contenders within the fifth generation
language category are:
•Prolog 2
•Expert Systems
•Knowledge Based Systems
Fifth Generation Languages
Programming Tools Overview
• Editors
• Assemblers
• Debuggers
Integrated Development Environments
(IDEs) combine several of the above
programming tools
System softare
Program Text Editors
• Word processors format the appearance of the text
• Text editors
• Format the spacing between words for legibility
• Ideal for structured languages
• Text is the same font size
• Examples
• DOS – Edit
• Windows – Notepad, Wordpad
• Unix / Linux – ed, vi, emacs
• IDEs
• MS Visual C++, Symantec Visual Cafe
Debuggers  A debugger is a computer
program that is used to debug
(and sometimes test or optimize)
other programs.
 When the program crashes, the
debugger shows the position in
the original code if it is a source-
level debugger or symbolic
debugger, commonly seen in
integrated development
environments.
 If it is a low-level debugger or a
machine-language debugger it
shows the line in the disassembly.
SOFTWARE TOOLS
• WORD PROCESSING
• SPREADSHEETS
• DATA MANAGEMENT
• PRESENTATION GRAPHICS
• INTEGRATED SOFTWARE SUITES
• E-MAIL
• WEB BROWSERS
GROUPWARE
CAPABILITIES
• GROUP WRITING &
COMMENTING
• ELECTRONIC MAIL
DISTRIBUTION
• SCHEDULING MEETINGS &
APPOINTMENTS
• SHARED FILES & DATABASES
• SHARED TIME LINES & PLANS
• ELECTRONIC MEETINGS &
CONFERENCES
What is an Operating
System?
• OS must always be resident in memory (RAM)
• The Operating System (OS) is the one program that
manages and controls the activities of the
computer:
• Communicates with peripherals
• Allocates and assigns resources to the CPU
(memory management,...)
• Schedules jobs executed by the CPU
(priorities,…)
• Monitors activities of the computer (security,
hacking,...)
OS Design Objectives
• Must take advantage of the characteristics of the
Microprocessor (Word size, Instruction set,…)
• Optimize resources to maximize CPU utilization
(Spooling, Virtual Memory,…)
• Facilitate communication with programmers,
operators and users (JCL, GUI,...)
Input -> Process -> Output model
• Computer system is suppose to perform a
useful operation, such as word processing,
retrieval and manipulation of data,
bookkeeping, etc.
• i.e. a credit card transaction operation
• Regardless of the type of operation to be
performed, the work of a computer can be
characterized as an input->process-
>output model:
• the program retrieves input from a disk
file, mouse, keyboard or other type of
input,
• processes the input
• produces the output to a disk, terminal,
printer or some other type of output
device
• All of the above operations are repetitive
in nature
Operating System
Components
MULTIPROGRAMMING
OPERATINGSYSTEM
UNUSED MEMORY
PROGRAM 1
TRADITIONAL SINGLE-
PROGRAM SYSTEM
OPERATINGSYSTEM
UNUSED MEMORY
PROGRAM 1
PROGRAM 2
PROGRAM 3
MULTIPROGRAMMING
ENVIRONMENT
MULTITASKING
MULTIPROGRAMMING ON
A SINGLE-USER SYSTEM
SUCH AS A
MICROCOMPUTER
*
Multitasking
• Extension of
Multiprogramming
• Need for user interactivity
• Instead of switching jobs when
waiting for IO, a timer causes
jobs to switch
• User interacts with computer
via CRT and keyboard
• Systems have to balance CPU
utilization against response
time
• Better device management
• Need for file system to allow
user to access data and code
• Need to provide user with an
“interaction environment”
Multiprogramming on a single-user
system such as a Microcomputer
MULTITHREADING
ABILITY TO EXECUTE DIFFERENT PARTS (THREADS) OF A PROGRAM
SIMULTANEOUSLY
*
VIRTUAL STORAGE
METHOD OF HANDLING SEVERAL PROGRAMS IN PRIMARY STORAGE:
• PROGRAM DIVIDED INTO
• FIXED LENGTH PORTIONS (PAGES) OR
• VARIABLE LENGTH (SEGMENTS)
• CURRENT PORTIONS RESIDE IN PRIMARY STORAGE
• PORTIONS SWAPPED OUT WHEN DONE
*
TIME SHARING
MANY USERS SHARE LARGE CPU:
• TIME IN CPU DIVIDED INTO SLICES (e.g.: 2
MICROSECONDS)
• EACH USER HAS ACCESS TO CPU DURING SLICE
• SINCE CPU IS FAST, CAN DO MUCH DURING TIME
SLICE
• USER’S JOB SWAPPED OUT AT END OF SLICE
*
MULTIPROCESSING
• TWO OR MORE PARALLEL
PROCESSORS IN SYSTEM
• PROGRAM CAN BE DIVIDED TO BE
PROCESSED BY MULTIPLE CPUs
• CAN PROCESS LARGE PROGRAMS
MORE RAPIDLY
*
GRAPHICAL USER INTERFACE
(GUI)
OPERATING SYSTEM USES:
• GRAPHIC ICONS: Icons, buttons, bars, boxes
• POINTER: Mouse, pen, touch screen
TO ISSUE COMMANDS
MAKE SELECTIONS
*
MICROCOMPUTER OPERATING SYSTEMS
32-bit operating system, GUI, multitasking,
networking
32-bit operating system not limited to Intel chips.
Multitasking, multiprocessing, networking
32-bit. Developed for IBM PS/2. Multitasking,
networking
Paired-down for handheld computers, wireless
communication devices
Windows
98 & 95
Windows NT
Me & 2000
Windows CE
OS/2
OPERATING SYSTEM FEATURES
OPERATING SYSTEM
Mac OS For Macintosh computers. Multitasking.
Powerful graphics, multimedia
Unix For powerful microcomputers, workstations,
minicomputers. Multitasking, multi-user
processing, networking. Portable to various
computer platforms
DOS For IBM (PC-DOS) and PC (MS-DOS).
Program memory: 640K
Linux Free, reliable alternative to Unix, Windows.
Runs on many Platforms. Open-source
FEATURES
MICROCOMPUTER OPERATING SYSTEMS
1 de 71

Recomendados

Computer Languages por
Computer Languages Computer Languages
Computer Languages Anjana Mohanan
7.7K vistas47 diapositivas
Lecture1 por
Lecture1Lecture1
Lecture1Pagal Bacha
886 vistas17 diapositivas
Introduction to programming languages por
Introduction to programming languagesIntroduction to programming languages
Introduction to programming languagessamina khan
216 vistas22 diapositivas
High Level Languages (Imperative, Object Orientated, Declarative) por
High Level Languages (Imperative, Object Orientated, Declarative)High Level Languages (Imperative, Object Orientated, Declarative)
High Level Languages (Imperative, Object Orientated, Declarative)Project Student
5K vistas14 diapositivas
Classification of Programming Languages por
Classification of Programming LanguagesClassification of Programming Languages
Classification of Programming LanguagesProject Student
14K vistas9 diapositivas

Más contenido relacionado

La actualidad más candente

Computer languages por
Computer languagesComputer languages
Computer languagesAqdasNoor
2.1K vistas29 diapositivas
Development of computer languages por
Development of computer languagesDevelopment of computer languages
Development of computer languagesluckas chauhan
349 vistas15 diapositivas
computer language with full detail por
computer language with full detail computer language with full detail
computer language with full detail sonykhan3
43 vistas13 diapositivas
computer languages por
computer languagescomputer languages
computer languagesThe millennium school
2.4K vistas13 diapositivas
FIT-Unit3 chapter2- Computer Languages por
FIT-Unit3 chapter2- Computer LanguagesFIT-Unit3 chapter2- Computer Languages
FIT-Unit3 chapter2- Computer Languagesraksharao
1.6K vistas50 diapositivas
computer languages por
computer languagescomputer languages
computer languagesRajendran
1.2K vistas23 diapositivas

La actualidad más candente(20)

Computer languages por AqdasNoor
Computer languagesComputer languages
Computer languages
AqdasNoor2.1K vistas
Development of computer languages por luckas chauhan
Development of computer languagesDevelopment of computer languages
Development of computer languages
luckas chauhan349 vistas
computer language with full detail por sonykhan3
computer language with full detail computer language with full detail
computer language with full detail
sonykhan343 vistas
FIT-Unit3 chapter2- Computer Languages por raksharao
FIT-Unit3 chapter2- Computer LanguagesFIT-Unit3 chapter2- Computer Languages
FIT-Unit3 chapter2- Computer Languages
raksharao1.6K vistas
computer languages por Rajendran
computer languagescomputer languages
computer languages
Rajendran 1.2K vistas
High level languages representation por gaurav jain
High level languages representationHigh level languages representation
High level languages representation
gaurav jain15.2K vistas
Computer programming language generations por MOHSIN BANGI
Computer programming language generationsComputer programming language generations
Computer programming language generations
MOHSIN BANGI372 vistas
Computer Languages....ppt por hashgeneration
Computer Languages....pptComputer Languages....ppt
Computer Languages....ppt
hashgeneration135.7K vistas
Levels of programming languages por MOHSIN BANGI
Levels of programming languagesLevels of programming languages
Levels of programming languages
MOHSIN BANGI234 vistas
introduction computer programming languages por BakhatAli3
introduction computer programming languages introduction computer programming languages
introduction computer programming languages
BakhatAli3269 vistas
High Level Language (HLL) por Maliha Jahan
High Level Language (HLL)High Level Language (HLL)
High Level Language (HLL)
Maliha Jahan11.3K vistas
What is Higher Language and Lower Language in programming. por Questpond
What is Higher Language and Lower Language in programming.What is Higher Language and Lower Language in programming.
What is Higher Language and Lower Language in programming.
Questpond750 vistas

Similar a System softare

Programming Fundamentals and Programming Languages Concepts por
Programming Fundamentals and Programming Languages ConceptsProgramming Fundamentals and Programming Languages Concepts
Programming Fundamentals and Programming Languages Conceptsimtiazalijoono
176 vistas25 diapositivas
Program Logic and Design por
Program Logic and DesignProgram Logic and Design
Program Logic and DesignFroilan Cantillo
206 vistas51 diapositivas
Lecture 8 por
Lecture 8Lecture 8
Lecture 8Anshumali Singh
4.2K vistas14 diapositivas
Problem Solving and Program Design in C_1.pdf por
Problem Solving and Program Design in C_1.pdfProblem Solving and Program Design in C_1.pdf
Problem Solving and Program Design in C_1.pdfjlu08167
5 vistas21 diapositivas
Presentation-1.pptx por
Presentation-1.pptxPresentation-1.pptx
Presentation-1.pptxanimewatcher7
6 vistas16 diapositivas
Computer software por
Computer softwareComputer software
Computer softwareargusacademy
454 vistas8 diapositivas

Similar a System softare(20)

Programming Fundamentals and Programming Languages Concepts por imtiazalijoono
Programming Fundamentals and Programming Languages ConceptsProgramming Fundamentals and Programming Languages Concepts
Programming Fundamentals and Programming Languages Concepts
imtiazalijoono176 vistas
Problem Solving and Program Design in C_1.pdf por jlu08167
Problem Solving and Program Design in C_1.pdfProblem Solving and Program Design in C_1.pdf
Problem Solving and Program Design in C_1.pdf
jlu081675 vistas
Lecture_1_Introduction_to_Programming.pptx por Chewe Lulembo
Lecture_1_Introduction_to_Programming.pptxLecture_1_Introduction_to_Programming.pptx
Lecture_1_Introduction_to_Programming.pptx
Chewe Lulembo8 vistas
Interaction With Computers FIT por Raj vardhan
Interaction With Computers FITInteraction With Computers FIT
Interaction With Computers FIT
Raj vardhan46 vistas
Unit 1 computer concepts por Mithun DSouza
Unit 1   computer conceptsUnit 1   computer concepts
Unit 1 computer concepts
Mithun DSouza729 vistas
Introduction_to_Programming.pptx por PmarkNorcio
Introduction_to_Programming.pptxIntroduction_to_Programming.pptx
Introduction_to_Programming.pptx
PmarkNorcio13 vistas
Introduction Programming Languages por Manish Kharotia
Introduction Programming LanguagesIntroduction Programming Languages
Introduction Programming Languages
Manish Kharotia666 vistas
C++ Training - Lecture 01 por Babak Farhang
C++ Training - Lecture 01C++ Training - Lecture 01
C++ Training - Lecture 01
Babak Farhang216 vistas

Más de Dr. C.V. Suresh Babu

Data analytics with R por
Data analytics with RData analytics with R
Data analytics with RDr. C.V. Suresh Babu
848 vistas12 diapositivas
Association rules por
Association rulesAssociation rules
Association rulesDr. C.V. Suresh Babu
374 vistas6 diapositivas
Clustering por
ClusteringClustering
ClusteringDr. C.V. Suresh Babu
477 vistas12 diapositivas
Classification por
ClassificationClassification
ClassificationDr. C.V. Suresh Babu
208 vistas22 diapositivas
Blue property assumptions. por
Blue property assumptions.Blue property assumptions.
Blue property assumptions.Dr. C.V. Suresh Babu
5.4K vistas11 diapositivas
Introduction to regression por
Introduction to regressionIntroduction to regression
Introduction to regressionDr. C.V. Suresh Babu
270 vistas9 diapositivas

Más de Dr. C.V. Suresh Babu(20)

A study on “impact of artificial intelligence in covid19 diagnosis” por Dr. C.V. Suresh Babu
A study on “impact of artificial intelligence in covid19 diagnosis”A study on “impact of artificial intelligence in covid19 diagnosis”
A study on “impact of artificial intelligence in covid19 diagnosis”
A study on “impact of artificial intelligence in covid19 diagnosis” por Dr. C.V. Suresh Babu
A study on “impact of artificial intelligence in covid19 diagnosis”A study on “impact of artificial intelligence in covid19 diagnosis”
A study on “impact of artificial intelligence in covid19 diagnosis”

Último

Java Simplified: Understanding Programming Basics por
Java Simplified: Understanding Programming BasicsJava Simplified: Understanding Programming Basics
Java Simplified: Understanding Programming BasicsAkshaj Vadakkath Joshy
295 vistas155 diapositivas
Are we onboard yet University of Sussex.pptx por
Are we onboard yet University of Sussex.pptxAre we onboard yet University of Sussex.pptx
Are we onboard yet University of Sussex.pptxJisc
96 vistas7 diapositivas
Community-led Open Access Publishing webinar.pptx por
Community-led Open Access Publishing webinar.pptxCommunity-led Open Access Publishing webinar.pptx
Community-led Open Access Publishing webinar.pptxJisc
93 vistas9 diapositivas
UWP OA Week Presentation (1).pptx por
UWP OA Week Presentation (1).pptxUWP OA Week Presentation (1).pptx
UWP OA Week Presentation (1).pptxJisc
88 vistas11 diapositivas
Scope of Biochemistry.pptx por
Scope of Biochemistry.pptxScope of Biochemistry.pptx
Scope of Biochemistry.pptxshoba shoba
133 vistas55 diapositivas
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx por
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptxEIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptxISSIP
369 vistas50 diapositivas

Último(20)

Are we onboard yet University of Sussex.pptx por Jisc
Are we onboard yet University of Sussex.pptxAre we onboard yet University of Sussex.pptx
Are we onboard yet University of Sussex.pptx
Jisc96 vistas
Community-led Open Access Publishing webinar.pptx por Jisc
Community-led Open Access Publishing webinar.pptxCommunity-led Open Access Publishing webinar.pptx
Community-led Open Access Publishing webinar.pptx
Jisc93 vistas
UWP OA Week Presentation (1).pptx por Jisc
UWP OA Week Presentation (1).pptxUWP OA Week Presentation (1).pptx
UWP OA Week Presentation (1).pptx
Jisc88 vistas
Scope of Biochemistry.pptx por shoba shoba
Scope of Biochemistry.pptxScope of Biochemistry.pptx
Scope of Biochemistry.pptx
shoba shoba133 vistas
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx por ISSIP
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptxEIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx
ISSIP369 vistas
Psychology KS5 por WestHatch
Psychology KS5Psychology KS5
Psychology KS5
WestHatch93 vistas
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant... por Ms. Pooja Bhandare
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...
Ms. Pooja Bhandare93 vistas
Narration ppt.pptx por TARIQ KHAN
Narration  ppt.pptxNarration  ppt.pptx
Narration ppt.pptx
TARIQ KHAN135 vistas
Class 10 English lesson plans por TARIQ KHAN
Class 10 English  lesson plansClass 10 English  lesson plans
Class 10 English lesson plans
TARIQ KHAN288 vistas
The Open Access Community Framework (OACF) 2023 (1).pptx por Jisc
The Open Access Community Framework (OACF) 2023 (1).pptxThe Open Access Community Framework (OACF) 2023 (1).pptx
The Open Access Community Framework (OACF) 2023 (1).pptx
Jisc110 vistas
Classification of crude drugs.pptx por GayatriPatra14
Classification of crude drugs.pptxClassification of crude drugs.pptx
Classification of crude drugs.pptx
GayatriPatra1486 vistas
11.28.23 Social Capital and Social Exclusion.pptx por mary850239
11.28.23 Social Capital and Social Exclusion.pptx11.28.23 Social Capital and Social Exclusion.pptx
11.28.23 Social Capital and Social Exclusion.pptx
mary850239298 vistas
Ch. 7 Political Participation and Elections.pptx por Rommel Regala
Ch. 7 Political Participation and Elections.pptxCh. 7 Political Participation and Elections.pptx
Ch. 7 Political Participation and Elections.pptx
Rommel Regala97 vistas
Drama KS5 Breakdown por WestHatch
Drama KS5 BreakdownDrama KS5 Breakdown
Drama KS5 Breakdown
WestHatch79 vistas

System softare

  • 2. • WHAT IS SOFTWARE? • SYSTEM SOFTWARE • APPLICATION SOFTWARE • CONTEMPORARY TOOLS FOR SOFTWARE DEVELOPMENT *
  • 3. Relationship between Software and Hardware Hardware Operating System Users System Software Application Software
  • 5. Provides the physical mechanisms to input and output data, manipulating data and controlling the various input, output, storage and communication components Hardware
  • 6. What is software? • A software program is a series of statements or instructions to the computer. A program is loaded into memory (RAM). Its execution is referred to as a process. • A program is analogous to a recipe. Example: Read (“Your age in years :”) to A A = A * 12 PRINT (“Your are ” & str(A) & “ months old”)
  • 7. MIDDLEWARE SOFTWARE ALLOWS DIFFERENT APPLICATIONS TO EXCHANGE DATA Data being manipulated – can be alphanumeric, graphic or any other form. In all cases it is represented in a form that the computer will understand and manipulate
  • 8. Relationships between User, Software and Hardware Hardware System Software Application Software User Print on screen, Read keyboard entries, Write files on disk,... Surf Web, Format document, Play games,...
  • 9. SOFTWARE DETAILED INSTRUCTIONS TO CONTROL COMPUTER OPERATION • PROGRAM: SET OF INSTRUCTIONS TO THE COMPUTER • STORED: PROGRAM MUST BE IN PRIMARY STORAGE • SYSTEM SOFTWARE: MANAGES COMPUTER RESOURCES • APPLICATION SOFTWARE: SPECIFIC BUSINESS APPLICATION
  • 10. Framework for Software • System Software • manages the resources of the computer • resources can be CPU, RAM, secondary storage, printers, communication devices… • Application Software • performs a specific task on the computer • examples include word processing, spreadsheets, program languages, games ...
  • 11. PROGRAMMING LANGUAGES: ASSEMBLY LANGUAGE; FORTRAN; COBOL; PL / 1; QBASIC; PASCAL; C; C++; FOURTH GENERATION LANGUAGES OPERATING SYSTEM: • SCHEDULED COMPUTER EVENTS • ALLOCATES COMPUTER RESOURCES MONITORS EVENTS LANGUAGE TRANSLATORS: • INTERPRETERS • COMPILERS UTILITY PROGRAMS: • ROUTINE OPERATIONSMANAGE DATA SOFTWARE HARDWARE SYSTEM SOFTWARE APPLICATION SOFTWARE
  • 12. Application Software • Primarily concerned with accomplishing specific tasks for the end-user • Three types of application software: • Development tools: to create new software (programming languages) • Utilities - Management tools: to manage programs and data on the computer (backup, screen savers,.) • Special / general purpose applications: what the computer is used for (word processing, games,…)
  • 14. Example • User interface • Application programming interface • File management system • Kernel • I/O drivers and network module • Generalized programs that manage the resources of the computer, such as the central processor, communications links, and peripheral devices. • System software – or operating system helps in managing the files, to load and execute programs and to accept and interpret commands form mouse and keyboard; DOS, Windows, Unix are some of many existing operating systems
  • 15. Human Vs Machine Programs • The computer can only understand the bits (the encoded program) • Humans don't like to deal with bits, so they developed English-like abbreviations for programs. Programming Language Machine Language
  • 17. Generations of PROGRAMMING LANGUAGES 1st. Since 1940s. MACHINE LANGUAGE: binary code 2nd. Since early ’50s. ASSEMBLY LANGUAGE: mnemonics for numeric code 3rd. Since mid ‘50s. HIGH-LEVEL LANGUAGES 4th. Since late ‘70s. MODERN APPLICATION PACKAGES 5th. Since late ’90s. Associated with ARTIFICAL INTELLIGENCE
  • 18. The Program Translation Process • Terms, terms, and more terms! Source Object Executable Translator Linker Loader
  • 19. Programming Language Categories • Machine Language • Binary coded instructions • Assembly Language • Symbolic coded instructions • Procedural Languages • procedural statements or arithmetic notation • Four-generation Languages (4GL’s) • Natural language and nonprocedural statements • Object-oriented Languages • Combination of objects and procedures
  • 20. A Machine’s own language • For understanding how computers work, we need familiarity with the computer’s own language (called “machine language”) • It’s LOW-LEVEL language (very detailed) • It is specific to a machine’s “architecture” • It is a language “spoken” using voltages • Humans represent it with zeros and ones
  • 21. Example of machine-language Here’s what a program-fragment looks like: 10100001 10111100 10010011 00000100 00001000 00000011 00000101 11000000 10010011 00000100 00001000 10100011 11000000 10010100 00000100 00001000 It means: z = x + y;
  • 22. Beyond your understanding? • Though possible, it is extremely difficult, tedious (and error-prone) for humans to read and write “raw” machine-language • When unavoidable, a special notation can help (called hexadecimal representation): A1 BC 93 04 08 03 05 C0 93 04 08 A3 C0 94 04 08 • But still this looks rather meaningless!
  • 23. 2GL Assembly language • There are two key ideas: -- mnemonic opcodes: we employ abbreviations of English language words to denote operations -- symbolic addresses: we invent “meaningful” names for memory storage locations we need • These make machine-language understandable to humans – if they know their machine’s design
  • 24. Assembly Language • When to use • When speed or size of program is critical • Hybrid approach • Hardware Drivers • Can use specialized instructions • Disadvantages • Inherently machine specific • Architectures may become obsolete • Lack of programming structure
  • 25. Assembly & Machine Language ST 1,[801] ST 0,[802] TOP: BEQ [802],10,BOT INCR [802] MUL [801],2,[803] ST [803],[801] JMP TOP BOT: LD A,[801] CALL PRINT Assembly Language 00100101 11010011 00100100 11010100 10001010 01001001 11110000 01000100 01010100 01001000 10100111 10100011 11100101 10101011 00000010 00101001 11010101 11010100 10101000 10010001 01000100 Machine Language
  • 26. An Assembler Assembly Language Program ST 1,[801] . . . Machine Language Program 01001001 10010100 Assembler
  • 27. Assemblers • Binary code = machine code • Hex code • Assembly Language • Mnemonic names  op codes • Labels  memory addresses • Comments • Symbol table • Operations table • Memory Relocation • Cross Assembler
  • 28. Third Generation Language (HLL) • Many high-level languages have been developed. • Different ways of representing computations. • Different languages for different needs: • symbolic vs. numeric computation • human efficiency vs. program efficiency • portability • extensibility
  • 29. High-Level Languages • FORTRAN (FORmula TRANslator): Scientific, Engineering applications • COBOL (COmmon Business Oriented Language): Predominant for transaction processing • BASIC (Beginners All-purpose Symbolic Instruction Code): General purpose PC language
  • 30. HIGH-LEVEL LANGUAGES • PASCAL: Used to teach structured programming practices. Weak in file handling, input / output • C and C++: Powerful PC Language for developing applications. Efficient execution; cross platform. C++ is object oriented
  • 31. LANGUAGE TRANSLATION • SOURCE CODE: High level Language Instructions • COMPILER: Translates HLL into Machine Language • OBJECT CODE: Translated Language ready for Computer
  • 32. TRANSLATIONPROCESS SOURCE CODE PROGRAM COMPILER OBJECT CODE LINKAGE EDITOR LOAD MODULE OTHER OBJECT CODE MODULES UTILITY PROGRAMS PERFORM ROUTINE TASKS
  • 33. Compiler C++ Program int main() { int i=1; . . . Machine Language Program 01001001 10010100 C++ Compiler Created with text editor or development environment
  • 34. Compilers • Translates high-level language into low- level instructions • High-level language: Source code • Machine-level: Object code • Changes, including bug fixes, require recompiling
  • 35. Many Different Compilers • There are many different C++ Compilers: • Microsoft Visual C++ • Borland C++ • GNU g++ • IBM xlc • Sun CC
  • 36.  The 4GL programmer would only have to be concerned with what quantity of coffee should be prepared and if milk and sugar should be added.  Non-procedural languages state the goal to be achieved, but not the steps required in order to achieve the goal.  Using a 4GL to create an application that it was not intended for will create problems for a programmer. In theory, Fourth Generation Languages are 'non-procedural' languages, meaning that the programmer says what they want done rather than how to do it. Fourth Generation Languages (4GLs)
  • 37. Example: Instructions for making a cup of Coffee: 1. Boil the water 2. Add a teaspoon of coffee to a cup. 3. Fill the cup 3/4 full with boiling water. 4. Add milk 5. Stir the contents of the cup with a teaspoon. A ‘Procedural' language requires each step in the process of making a cup of coffee to be defined.
  • 38. FOURTH GENERATION LANGUAGES (4GL) • Can be employed by End Users • Non Procedural • Can develop applications quickly • Natural Languages • SIX Categories
  • 39. 1. QUERY LANGUAGES: • Rapidly retrieve data • Interactive/ on-line • May use NATURAL LANGUAGE • Support special requests for data from relational databases
  • 40. 2. REPORT GENERATORS: • Create customized reports • Wide range of formats 3. GRAPHICS LANGUAGES: • Can manipulate drawings, graphs, photos, videos • Presentation managers
  • 41. 4. APPLICATION GENERATORS: • User specifies computer needs • Generator creates logic and code for application • Greatly reduces development time
  • 42. 5. VERY HIGH-LEVEL PROGRAMMING LANGUAGES: • Professional programmer productivity tool • Uses fewer instructions • Reduces development time *
  • 43. 6. SOFTWARE PACKAGE: Commercially available set of programs... • WORD PROCESSING • SPREADSHEETS • DATA MANAGEMENT • PRESENTATION MANAGEMENT INTEGRATED SOFTWARE PACKAGES NOW COMBINE THESE TO SIMPLIFY LEARNING AND USE *
  • 44. 4GLs contain the following advantages and disadvantages: Advantages Disadvantages 1. They possess friendly interfaces 2. They are easier to use than previously used high level languages 3. The programming language contained within a 4GL is closely linked to the English language structure 1. The downside of a 4GL is that the programs run slower than those of earlier language generations because their machine code equivalent is considerably longer and more complicated to execute 2. The recent popularity of 4GLs is closely linked to the development of fast microprocessors
  • 45. OBJECT-ORIENTED PROGRAMMING • COMBINES DATA & PROCEDURES INTO A SINGLE OBJECT • PROGRAM SENDS MESSAGE TO OBJECT TO PERFORM EMBEDDED PROCEDURE • OBJECT’S DATA ENCAPSULATED FROM REST OF SYSTEM • CREATES REUSABLE CODE • REDUCES TIME AND COST OF WRITING SOFTWARE *
  • 46. OBJECT-ORIENTED PROGRAMMING VISUAL PROGRAMMING: SELECT AND ARRANGE OBJECTS RATHER THAN WRITE CODE CLASS: ALL OBJECTS OF A CLASS HAVE ALL FEATURES OF THAT CLASS INHERITANCE: SPECIFIC CLASS RECEIVES FEATURES OF A MORE GENERAL CLASS OVERRIDE: SUBCLASS MAY OVERRIDE INHERITED METHOD (e.g.: Printout of an HOURLY worker pay check may differ from that of a WEEKLY worker *
  • 47. OBJECT-ORIENTED PROGRAMMING JAVA: Sun Microsystems OBJECT-ORIENTED PROGRAMMING LANGUAGE • APPLET: TINY PROGRAM TO EXECUTE SMALL FUNCTION • APPLETS DOWNLOADED FROM NETWORK • RUN ON ANY COMPUTER & OPERATING SYSTEM • RESULT SAVED ON NETWORK, NOT ON PC • ONLY NETWORK VERSION OF SOFTWARE NEEDS UPGRADE *
  • 48. OBJECT-ORIENTED PROGRAMMING HTML: Hypertext markup language, current favorite for Web pages XML: eXtensible Markup Language, further development of HTML describes data more fully XHTML: Hybrid may replace HTML as standard for Web *
  • 49. OBJECT-ORIENTED PROGRAMMING ActiveX: Controls for Windows software environment to enable OBJECTS: e.g., • CHARTS • TABLES • ANIMATIONS to be EMBEDDED IN A WEB PAGE *
  • 50. Object-Oriented Languages • SmallTalk • C++ • Java • Based on C++ • Platform independent
  • 51.  Fifth generation languages are normally associated with the field of artificial intelligence.  Artificial intelligence, built up through logic programming, models a real world environment or situation.  Artificial intelligence aims to support flexible and informed patterns of behavior within a computer.  The main contenders within the fifth generation language category are: •Prolog 2 •Expert Systems •Knowledge Based Systems Fifth Generation Languages
  • 52. Programming Tools Overview • Editors • Assemblers • Debuggers Integrated Development Environments (IDEs) combine several of the above programming tools
  • 54. Program Text Editors • Word processors format the appearance of the text • Text editors • Format the spacing between words for legibility • Ideal for structured languages • Text is the same font size • Examples • DOS – Edit • Windows – Notepad, Wordpad • Unix / Linux – ed, vi, emacs • IDEs • MS Visual C++, Symantec Visual Cafe
  • 55. Debuggers  A debugger is a computer program that is used to debug (and sometimes test or optimize) other programs.  When the program crashes, the debugger shows the position in the original code if it is a source- level debugger or symbolic debugger, commonly seen in integrated development environments.  If it is a low-level debugger or a machine-language debugger it shows the line in the disassembly.
  • 56. SOFTWARE TOOLS • WORD PROCESSING • SPREADSHEETS • DATA MANAGEMENT • PRESENTATION GRAPHICS • INTEGRATED SOFTWARE SUITES • E-MAIL • WEB BROWSERS
  • 57. GROUPWARE CAPABILITIES • GROUP WRITING & COMMENTING • ELECTRONIC MAIL DISTRIBUTION • SCHEDULING MEETINGS & APPOINTMENTS • SHARED FILES & DATABASES • SHARED TIME LINES & PLANS • ELECTRONIC MEETINGS & CONFERENCES
  • 58. What is an Operating System? • OS must always be resident in memory (RAM) • The Operating System (OS) is the one program that manages and controls the activities of the computer: • Communicates with peripherals • Allocates and assigns resources to the CPU (memory management,...) • Schedules jobs executed by the CPU (priorities,…) • Monitors activities of the computer (security, hacking,...)
  • 59. OS Design Objectives • Must take advantage of the characteristics of the Microprocessor (Word size, Instruction set,…) • Optimize resources to maximize CPU utilization (Spooling, Virtual Memory,…) • Facilitate communication with programmers, operators and users (JCL, GUI,...)
  • 60. Input -> Process -> Output model • Computer system is suppose to perform a useful operation, such as word processing, retrieval and manipulation of data, bookkeeping, etc. • i.e. a credit card transaction operation • Regardless of the type of operation to be performed, the work of a computer can be characterized as an input->process- >output model: • the program retrieves input from a disk file, mouse, keyboard or other type of input, • processes the input • produces the output to a disk, terminal, printer or some other type of output device • All of the above operations are repetitive in nature
  • 62. MULTIPROGRAMMING OPERATINGSYSTEM UNUSED MEMORY PROGRAM 1 TRADITIONAL SINGLE- PROGRAM SYSTEM OPERATINGSYSTEM UNUSED MEMORY PROGRAM 1 PROGRAM 2 PROGRAM 3 MULTIPROGRAMMING ENVIRONMENT
  • 63. MULTITASKING MULTIPROGRAMMING ON A SINGLE-USER SYSTEM SUCH AS A MICROCOMPUTER *
  • 64. Multitasking • Extension of Multiprogramming • Need for user interactivity • Instead of switching jobs when waiting for IO, a timer causes jobs to switch • User interacts with computer via CRT and keyboard • Systems have to balance CPU utilization against response time • Better device management • Need for file system to allow user to access data and code • Need to provide user with an “interaction environment” Multiprogramming on a single-user system such as a Microcomputer
  • 65. MULTITHREADING ABILITY TO EXECUTE DIFFERENT PARTS (THREADS) OF A PROGRAM SIMULTANEOUSLY *
  • 66. VIRTUAL STORAGE METHOD OF HANDLING SEVERAL PROGRAMS IN PRIMARY STORAGE: • PROGRAM DIVIDED INTO • FIXED LENGTH PORTIONS (PAGES) OR • VARIABLE LENGTH (SEGMENTS) • CURRENT PORTIONS RESIDE IN PRIMARY STORAGE • PORTIONS SWAPPED OUT WHEN DONE *
  • 67. TIME SHARING MANY USERS SHARE LARGE CPU: • TIME IN CPU DIVIDED INTO SLICES (e.g.: 2 MICROSECONDS) • EACH USER HAS ACCESS TO CPU DURING SLICE • SINCE CPU IS FAST, CAN DO MUCH DURING TIME SLICE • USER’S JOB SWAPPED OUT AT END OF SLICE *
  • 68. MULTIPROCESSING • TWO OR MORE PARALLEL PROCESSORS IN SYSTEM • PROGRAM CAN BE DIVIDED TO BE PROCESSED BY MULTIPLE CPUs • CAN PROCESS LARGE PROGRAMS MORE RAPIDLY *
  • 69. GRAPHICAL USER INTERFACE (GUI) OPERATING SYSTEM USES: • GRAPHIC ICONS: Icons, buttons, bars, boxes • POINTER: Mouse, pen, touch screen TO ISSUE COMMANDS MAKE SELECTIONS *
  • 70. MICROCOMPUTER OPERATING SYSTEMS 32-bit operating system, GUI, multitasking, networking 32-bit operating system not limited to Intel chips. Multitasking, multiprocessing, networking 32-bit. Developed for IBM PS/2. Multitasking, networking Paired-down for handheld computers, wireless communication devices Windows 98 & 95 Windows NT Me & 2000 Windows CE OS/2 OPERATING SYSTEM FEATURES
  • 71. OPERATING SYSTEM Mac OS For Macintosh computers. Multitasking. Powerful graphics, multimedia Unix For powerful microcomputers, workstations, minicomputers. Multitasking, multi-user processing, networking. Portable to various computer platforms DOS For IBM (PC-DOS) and PC (MS-DOS). Program memory: 640K Linux Free, reliable alternative to Unix, Windows. Runs on many Platforms. Open-source FEATURES MICROCOMPUTER OPERATING SYSTEMS