Week - 04, 05 Software Chapter 2 info sys.ppt

TALHARIAZPERSOTA 13 views 23 slides May 19, 2024
Slide 1
Slide 1 of 23
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23

About This Presentation

Information system lectures


Slide Content

Computer Software

Evolution of Programming
Languages
•Machine Languages
•Assembly Languages
•High-Level Languages
•Fourth-Generation Languages

Machine Languages
•The native language of the hardware
•Patterns of binary bits
•Machine specific, is non-portable
–is essentially the microcode of the processor

Assembly Languages
•Replace the pattern of binary bits with
–mnemonics for the commands
–variable names for memory locations
•Essentially a one-to-one mapping of the
machine language
•Still machine specific, is non-portable

High-Level Languages
•Represents multiple machine-level
statements with single statements
•Easier to learn and use
•Not machine specific, is portable

An Example
Machine Code Assembly Code High -Level Code
in Hex
27BB0001 ldah gp, main main()
23BD8050 lda gp, main {
23DEFFF0 lda sp, -16(sp) int a, b, c;
A61D8018 ldq r16, 8(gp) a = 3;
A77D8010 ldq r27, printf b = 4;
47E0F411 mov 7, r17 c = a + b;
B75E0000 stq r26, (sp) printf(“ \n%d\n”, c);
6B5B4000 jsr r26, printf }
27BA0001 ldah gp, main
A75E0000 ldq r26, (sp)
23BD8050 lda gp, main
47FF0400 clr r0
23DE0010 lda sp, 16(sp)
6BFA8001 ret r26

Move from Language to
Language
•Computers only understand machine
language.
•Use an ASSEMBLER to convert a program
written in assembly language to machine
language.
•Use a COMPILER to convert a program
written in a high-level language to machine
language.

Executable Code
•Program code which is in machine language
and can be run (executed) by the computer
•Is hardware dependent you can’t run it on
just any machine
•On PCs PC usually have an EXE or a COM
extension

Object Code
•Program code which is in machine language
but which is not ready to be run (i.e. it is a
partial program).
•Is hardware dependent.
•On PCs usually has an OBJ extension.
•Not commonly used by end-users.

Source Code
•Program code which is written in a high-
level language.
•Cannot be run by the computer.
•Is usually a text file.
•File name extension usually reflects the
high-level language
–BASIC -BAS extension
–Pascal -PAS extension

Compiler & Files
Object Code
Executable
Code
Source
Code
Compiler
Linker
Object Code
Library
Error Messages
Program Listing

Dynamic Link Libraries
•Some Window programs use “run-time”
linking and and require the presence of
dynamic link library files which have a
DLL extension.
•DLL files ideally contain code which would
be used by a number of programs.

Object Libraries & DLLs
•Both contain “commonly” used code.
•With object libraries all the code is included
in the executable file at compile time so:
–programming effort is saved
–no space saving is realized, executables which
use common code have their own copy of the
library code

Object Libraries & DLLs
•With DLLs the code is “fetched” from the
DLL file at “run time” so:
–programming effort is saved
–space savings “may” be realized
–the more executables that use the library code
the greater the savings
–typically only a small part of the library code is
used

Common HLLs
•FORTRAN
•COBOL
•BASIC
•Pascal
•C
•C++
•PL/1
•Ada
•JAVA
•LISP
•Prolog

Fourth Generation Languages
•First three generations focused on
describing “HOW TO DO” a task.
•4GLs focus on describing “WHAT TO
ACCOMPLISH”
•The fourth generation language compiler
must be able to translate the “what to
accomplish” description into a machine
level “how to” set of instructions.

Categories of 4GLs
•Query languages
•Report generators
•Graphics languages
•Application generators
•Very high-level programming languages
•Application software packages
•Microcomputer tools

Categories of Software
•System Software
–Operating Systems (OS)
–Language Translators
–Utility Programs
•Application Software

Operating Systems
•It is the job of the operating system to
manage the computers resources and control
the execution of programs.
•Computer resources include
–memory
–device drivers for peripheral devices
•The OS is the interface between the
hardware and the user/application program.

Layers of interaction
Hardware
System Software
Application Software
Users

Operating Systems
•OSs run the full spectrum from
–single program-single user, to
–multitasking, multi-user, with virtual memory
•The OS decides which program runs and for
how long.
•The OS improves throughput by skipping
over processes that are waiting for I/O.

Common Operating Systems
•CP/M
•DOS
•Windows 3.1
•Windows 95
•Windows NT
•OS/2
•System 7
•Mac OSX
•Linux
•UNIX
•VMS
•VM/CMS

More RAM needed!
•Newer OSs extend the capabilities of
desktop computers but require more RAM
•Windows 3.0 -1MB (std),2MB (real)
•Windows 95 -8MB recommended
•Windows NT 4.2 -16MB (32 rec.)
•Windows 2000 -64MB min.
•Windows XP -128MB rec.(64MB min)
•Windows Vista -1GB rec. (512MB min)