Introduction to Computer Software - PowerPoint PPT Presentation

1 / 36
About This Presentation
Title:

Introduction to Computer Software

Description:

Introduction to Computer Software Software in General each information system is based upon software under the form of programs and procedures software is needed for ... – PowerPoint PPT presentation

Number of Views:199
Avg rating:3.0/5.0
Slides: 37
Provided by: Eddy52
Category:

less

Transcript and Presenter's Notes

Title: Introduction to Computer Software


1
Introduction toComputer Software
Chapter 3
2
(No Transcript)
3
Software in General
  • each information system is based upon software
    under the form of programs and procedures
  • software is needed for input , processing ,
    output, storage and management activities
  • Trends in software development
  • usage of packages
  • usage of non-procedural languages ( 4GL )

4
Software Categories
OBrien 88
5
Software Trends
OBrien 89
First Generation
Second Generation
Third Generation
Fourth Generation
Fifth Generation?
Trend Toward Conversational Natural Programming
Languages.
User-Written programs Machine language
Packaged programs Symbolic languages
Operating systems High-level languages
Database Management Systems 4GL Microcomputer
Packages
Natural Languages Multipurpose GUI
Expert
Software Trends
Trend Toward Easy-to-Use Multipurpose
Application Packages.
6
Application Software for End Users
  • General Applicable Software
  • suites
  • MS-office word , excel, powerpoint, access,
    outlook, explorer
  • Web-browsers
  • netscape
  • explorer
  • Electronic mail
  • CASE
  • Encyclopedia
  • Databases
  • Groupware
  • Lotus notes

Text OBrien p 92 - 101
7
Interfaces HW - user
OBrien 98
End user
  • System software
  • operating system OS, DBMS, comm
  • support system utilities
  • development compilers, CASE, 4GL
  • Application software
  • packages
  • own development

Application SW
System SW
Computer- hardware
8
Operating Systems
  • User interface
  • file management
  • Task management
  • UNIX, VM or MVS, VSM, MS-DOS
  • Database Management systems
  • ORACLE, Informix, INGRES, SYBASE, DB2, Paradox
  • Telecommunication monitors
  • network servers, front-end processors, middleware
  • Programming languages and Compilers
  • procedural vs. non-procedural, 4GL, natural
    languages
  • Programming Tools
  • workbenches, prototyping tools, editors, debuggers

9
Basic Functions of an Operating System
User interface
Communication between system and user
Supporting programs and other functions
File management
Task management
Utility management
Management of peripheral devices Virtual memory
Task follow-up Multitasking
Management of data and programs
Supporting functions
Text OBrien p 105
10
Operating System
  • Examples UNIX, DOS, OS/2, MVS

Text- processors
Programming languages
UNIX
Program interpreter
Kernel provides elementary computer functions
System interface
File - and Directory systems
Shell
Programs
Communication and networks
Programming- utilities
11
Operating systems
  • Operating system management system
  • hides hardware details for the users
  • different machines look identical
  • depends on the type of applications

12
Other System Software
  • Network management ( middleware, firewalls, )
  • File management
  • Database management systems
  • performance monitors
  • security monitor

Text OBrien p 108 - 109
13
Program Interaction with the Environment
Batch
. no interaction with environment . required data
are prepared in advance . results are delivered
to the user afterwards . moment in time and speed
are unimportant for the user
Interactive
  • . permanent dialogue between program and user
  • . input of data in function of the results
  • . moment in time and speed are extremely
    important for the user (real time)
  • . user friendly ( error messages )

14
The absolute binary loader
  • A program must first be loaded in central memory
    and the P-register must be initialized with the
    address of the first instruction of the program.
  • The absolute binary loader is a small program
    that
  • . loads the binary form of the program (absolute
    object code) from the peripheral memory into the
    central memory
  • . is mostly stored in a reserved part of the
    memory

central memory
ABL
15
The "command interpreter"
  • Command interpreter
  • Program that gives access to tables containing
    the name of the program and its address in the
    mass memory
  • These tables are managed by the file manager
  • With an instructive command processor the user
    inputs via the terminal , the name of the program
    to be executed

central memory
Load chess
chess
FMGR
comm.int
ABL
16
The interrupt handler
Normal program termination
Program X
cmnd interpreter
return to cmnd.int
In case of a program interruption
cmnd interpreter
Program X
return to cmnd.int
17
Task scheduling
  • Task scheduler , job scheduler , queue manager
  • manages the waiting queue of all commands which
    have not yet been executed
  • If there is space available in memory , the task
    scheduler selects a task from the input queue and
    orders the loader to load the corresponding
    program into the memory
  • Selection criteria
  • . round robin algorithm FIFO limited time
    slice

preempted tasks after t sec
finished tasks
CM
new tasks
18
Task scheduler 2
Handle batch queue only if the interactive queue
is empty
interactive tasks
interactive queue
finished tasks
preempted tasks after t sec
CM
new batch tasks
Batch queue
19
Process scheduling
  • The process scheduler is the part of the
    operating system that decides which program in
    memory , the CPU will work on .

Process status's
task terminated
active
transition active-waiting
start i/o
load
wait for CPU
i/o terminated
blocked
(interrupt)
swap-out
Transition Active-Waiting after action of the
process scheduler
20
Process priorities
Algorithm for according priorities must be -
simple ( overhead ) - give I/O jobs higher
priority for optimal usage of I/O
active
select
process with P max
PP-1
wait for CPU
blocked
PP1
P can get an initial value , eg. depending on
the user category
21
Spooling
In case of shared usage of peripheral equipment
in a multi-programming environment
Spooling monitor
  • Part of the operating system that writes all of
    the available input and output per program on a
    disk , and makes it available as soon as the
    required peripheral equipment is free .

Program A
Program B
spooler
Program C
disk
22
End-User Applications
  • general purpose packages
  • word processing , productivity packages
  • Application-specific programs
  • Business application programs
  • Scientific application programs
  • Education, entertainment, art, law, medicine, ...
  • Graphics packages
  • Integrated Packages

23
Programmingandprogramming languages
24
Programming
  • The same hardware can be used for various
  • applications thanks to the programmability

Specific aspects of tasks are not build-in in the
hardware but in the software . They are loaded
in the program memory ( except for some I/O
functions ). Programming is an important aspect
in every automation project. The programmer has
to know the problem very well this has to be
achieved during analysis or specification
gathering . Specifications are focused on the
user. Specifications are reflected in programs
and translated into an executable program.
25
Programming Languages
  • A Programming language is a set of conventions
    that allows to express a program in a format that
    is also more or less readable for humans.
  • Machine languages
  • Use binary coded instructions
  • Assembly languages
  • use symbolic coded instructions
  • Higher Programming languages
  • use statements that are close to English together
    with arithmetic notations
  • Fourth generation languages
  • use natural and non-procedural statements
  • Object oriented languages
  • Data and procedures are combined in objects

26
Elementary Languages
  • There is a direct relationship between the
    vocabulary of the language ( syntax ) and the
    instructions for the computer
  • The most elementary language is the machine
    language
  • - operation codes and operands have the format of
    binary numbers
  • - completely machine-dependent
  • - almost unreadable for programmers
  • - source of errors
  • - time consuming
  • - 11011011 represents ADD in a certain
    language

27
Assembly Languages
e.g. opening door
0 0 KFL D2 D2 D1 D1 D2 1
- - 0 10 KDA 1 3 207 -
D1 P2 D2 P3 P3 P4 D2 P5 D2
P6 D1 P7 P3 P8 P1 P9 DDA P1
1 2 3 4 5 6 7 8 9
STO STO EQ? MUL ADD ADD NE? NE? STO
  • Operation codes and operands get symbolic names
  • Addresses of words in memory that contain data
  • get a meaningful name
  • Require important knowledge about computers
  • susceptible to errors
  • Still hardware related

28
Higher Level languages
  • In higher level programming languages they try in
    the first place to make abstraction of the used
    machine
  • Procedures and data are described in terms that
    are closer to the application domain in which
    they are used
  • An instruction can represent a set of machine
    instructions
  • Variables can take abstract values
  • eg. month
  • Much higher productivity
  • lower risk for errors
  • Imperative languages BASIC, FORTRAN, COBOL, ADA,
    PASCAL, C, Modula,
  • Non-imperative languages LISP, PROLOG, Scheme

29
Language Example
  • Calculate the average of two numbers
  • Memory addresses written 30
  • oral 31
  • final 40
  • Pascal final ( written oral ) / 2
  • Assembler load a,written
  • (CALM) add a,oral
  • divide a,2
  • store a,final
  • machine language 66 30
  • 54 31
  • 43 02
  • 67 40
  • required computer knowledge always higher

30
Assessment
  • productivity of programmers is better with higher
    programming languages
  • Translation into machine language is not always
    optimal leading to theoretically slower programs
  • Higher cost for computer capacity largely
    compensated by reduced programming costs
  • elementary languages only used in case of
  • - hardware cost much higher than programming cost
  • - small programs sold in large quantities
  • - critical parts of programs for supercomputers

31
Imperative languages
  • With imperative languages the programmer writes
    all tasks to be performed in the appropriate
    sequence
  • e.g. linear equation AXB0
  • - read coefficients A and B
  • - calculate quotient of B divided by A
  • - change sign of the result
  • - assign the value of the quotient to X
  • - write the value of X .
  • COBOL, BASIC, ADA , Pascal , Modula , .....

32
Non-imperative languages
  • In non-imperative languages only the
    relationships between the data are given.
  • The actions to be performed by thee computer are
    derived from this relationships.
  • The solution of the linear equation can be
    formulated as follows
  • - The coefficients A and B can be read
  • - the variable X is defined by X - B/A
  • to execute the program it is enough to write
  • write X
  • e.g. LISP , PROLOG

33
Object oriented languages
  • In Object oriented languages programs pass an
    instruction to the object to perform the
    operation.

register
C Eifel Smalltalk JAVA Visual Basic
Calculate interest
Monthly overview
Actual status
calculate status
Design owner
transmit
Text OBrien p 113
34
Compilers and Interpreters
  • Programs written in a higher language must be
    converted into machine language

Source code
Compiler
Interpreter
Object code
Hardware
35
Compilers and interpreters 2
  • Compiler
  • During compilation the entire program is
    converted into executable OBJECT code. It can be
    saved and reloaded several times.
  • This is especially useful for larger programs
    that have to be executed several times without
    having to be modified.
  • Interpreter
  • The source code is translated by the interpreter
    instruction by instruction into machine language
    and immediately executed.
  • At every execution the translation is redone.
  • This is interesting to debug programs or for
    small programs using little mass memory.
  • Source code takes much less space than object
    code.

36
Compilation vs Interpretation
Compilation Interpretation
fast slow cryptic large unavoidable
Slow fast clear small optional
  • execution
  • modifications
  • error messages
  • memory space
  • mass memory
Write a Comment
User Comments (0)
About PowerShow.com