42
1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

Embed Size (px)

DESCRIPTION

3 of 42 HARDWARE HARDWARE SYSTEM SOFTWARE APPLICATION SOFTWARE

Citation preview

Page 1: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

1 of 42

System Software

Pertemuan IVMagister Teknik Elektro

September 2008

Page 2: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

2 of 42

• The bridge between application software and computer hardware

• Imagine programming without an operating system

• what is systems software?– systems software provides a high-level environment

in which we can run applications on the computer• application software refers to word, netscape,

ultimate paint, email handlers, programs you write yourself, etc.

• note: boundary between application and systems software is not always clear

• what systems services can you think of?

Page 3: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

3 of 42

HARDWAREHARDWARE

SYSTEM SOFTWARESYSTEM SOFTWARE

APPLICATION SOFTWAREAPPLICATION SOFTWARE

Page 4: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

4 of 42

• some services of modern systems software– organizing files (folders etc)– downloading software– scheduling programs on the processor– interfacing with the internet– managing communication with peripherals– providing security– …– and lots more (GUI, windows, ...)

Page 5: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

5 of 42

early operating systems• allowed programs to be stored in computer memory

(recall architecture lecture), paving the way for batch operating systems

• users submitted programs (one instruction per punched card) and retrieve the results later

• a stack of jobs could be scheduled on the computer, hence the name "batch"

• the computer processed one job at a time• often all cards needed to be read before a program could

be started – slow!• as technology advanced, several ideas improved on the

batch operating systems:– multiprogramming allowed one program to run while another

paused, e.g. while waiting for a printer to finish– time-sharing allowed several users to run programs on a

machine, providing the opportunity for interactivity

Page 6: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

6 of 42

System software and the OSApplication Software

Application Programming Interface

Other System Software

Operating System Interface

Operating System

Software - Hardware Interface

Hardware

Res

ourc

e A

bstra

ctio

n

Res

ourc

eS

harin

g

Page 7: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

7 of 42

MULTIPROGRAMMINGO

PER

ATI

NG

SYS

TEM

OPE

RA

TIN

G S

YSTE

M

UNUSED MEMORYUNUSED MEMORY

PROGRAM 1PROGRAM 1

TRADITIONAL SINGLE-TRADITIONAL SINGLE-PROGRAM SYSTEMPROGRAM SYSTEM

OPE

RA

TIN

G S

YSTE

MO

PER

ATI

NG

SYS

TEM

UNUSED MEMORYUNUSED MEMORY

PROGRAM 1PROGRAM 1

PROGRAM 2PROGRAM 2

PROGRAM 3PROGRAM 3

MULTIPROGRAMMING MULTIPROGRAMMING ENVIRONMENTENVIRONMENT

Page 8: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

8 of 42

MULTITASKING

MULTIPROGRAMMING ON A SINGLE-USER SYSTEM SUCH AS A MICROCOMPUTER

*

Page 9: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

9 of 42

MULTITHREADING

ABILITY TO EXECUTE DIFFERENT PARTS (THREADS) OF A PROGRAM SIMULTANEOUSLY

*

Page 10: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

10 of 42

VIRTUAL STORAGEMETHOD 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

*

Page 11: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

11 of 42

TIME SHARINGMANY 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*

Page 12: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

12 of 42

MULTIPROCESSING• TWO OR MORE PARALLEL

PROCESSORS IN SYSTEM• PROGRAM CAN BE DIVIDED TO BE

PROCESSED BY MULTIPLE CPUs• CAN PROCESS LARGE

PROGRAMS MORE RAPIDLY *

Page 13: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

13 of 42

the unix operating system• developed in early ‘70’s at Bell Labs• innovations include

– hierarchical file system– ability to run several programs simultaneously

(timesharing)– ability to simultaneously support several users on one

computer– ability for user base to add and share tools that run as

part of the system• command line interface meant high learning

curve initially, but provides lots of flexibility to a knowledgeable user

Page 14: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

14 of 42

windows operating system

• inspired by early GUI’s developed at Xerox PARC (Palo Alto Research Center) in early 80’s

• Apple computers had earliest operating systems with windows

• Microsoft's earliest windows system was released in 1985, built on top of a command line operating system (MS DOS); the Windows became popular in 1990 with introduction of Windows 3.0

Page 15: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

15 of 42

more system software: translatingbetween programming languages

• compilers help to translate programs written in a high level programming language, such as java, into the low level machine language understood by a computer processor

Page 16: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

16 of 42

a compiler is a program whose input andoutput data are programs!

Page 17: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

17 of 42

implications of compilation

• high level programming language must be automatically translatable to low-level code

• this puts constraints on the expressiveness of computer programming languages (since computers are not very good at language processing)

• in particular, programming languages have to be very precise

Page 18: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

18 of 42

• operating system: software that coordinates and manages resources on the computer

• compiler: software that translates programs written in a high level language into a low-level language

Page 19: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

19 of 42

• 1. an application is written in a high-level programming language (e.g. java)

• 2. the code is translated to machine language (e.g. by a compiler)

• 3. when you want to run the application, the operating system loads the code into RAM (random access memory)

• 4. the fetch/execute cycle is performed

Page 20: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

20 of 42

• example

Page 21: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

21 of 42

Page 22: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

22 of 42

Page 23: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

23 of 42

• SOURCE CODE: HIGH-LEVEL LANGUAGE INSTRUCTIONS

• COMPILER: TRANSLATES HIGH-LEVEL CODE INTO MACHINE LANGUAGE

• OBJECT CODE: TRANSLATED INSTRUCTIONS READY FOR COMPUTER

• *

LANGUAGE TRANSLATION

Page 24: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

24 of 42

TRA

NS

LATIO

N

PR

OC

ES

S

SOURCE CODE SOURCE CODE PROGRAMPROGRAM

COMPILERCOMPILER

OBJECT CODEOBJECT CODE

LINKAGE LINKAGE EDITOREDITOR

LOAD MODULELOAD MODULE

OTHER OBJECT OTHER OBJECT CODE MODULESCODE MODULES

UTILITY PROGRAMSUTILITY PROGRAMS

PERFORM ROUTINE PERFORM ROUTINE TASKSTASKS

Page 25: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

25 of 42

GRAPHICAL USER INTERFACE (GUI)

• OPERATING SYSTEM USES:• GRAPHIC ICONS: Icons, buttons, bars,

boxes• POINTER: Mouse, pen, touch screen• TO ISSUE COMMANDS• MAKE SELECTIONS• *

Page 26: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

26 of 42

MICROCOMPUTER OPERATING SYSTEMSMICROCOMPUTER 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 Windows 98 & 9598 & 95

Windows Windows NT Me & NT Me & 20002000

Windows CEWindows CE

OS/2OS/2

OPERATING SYSTEMOPERATING SYSTEM FEATURESFEATURES

Page 27: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

27 of 42

OPERATING SYSTEMOPERATING SYSTEM

Mac OSMac OS For Macintosh computers. Multitasking. Powerful graphics, multimedia

UnixUnix For powerful microcomputers, workstations, minicomputers. Multitasking, multi-user processing, networking. Portable to various computer platforms

DOSDOS For IBM (PC-DOS) and PC (MS-DOS). Program memory: 640K

LinuxLinux Free, reliable alternative to Unix, Windows. Runs on many Platforms. Open-source

FEATURESFEATURES

MICROCOMPUTER OPERATING SYSTEMSMICROCOMPUTER OPERATING SYSTEMS

Page 28: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

28 of 42

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• *

Page 29: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

29 of 42

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

• *

Page 30: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

30 of 42

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

• *

Page 31: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

31 of 42

FOURTH GENERATION LANGUAGES (4GL)

• CAN BE EMPLOYED BY END USERS• NONPROCEDURAL• CAN DEVELOP APPLICATIONS

QUICKLY• NATURAL LANGUAGES• SIX CATEGORIES• *

Page 32: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

32 of 42

FOURTH GENERATION LANGUAGES (4GL)

• 1. QUERY LANGUAGES:• Rapidly retrieve data• Interactive/ on-line• May use NATURAL

LANGUAGE• Support special requests for

data from relational databases*

Page 33: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

33 of 42

FOURTH GENERATION LANGUAGES (4GL)

• 2. REPORT GENERATORS:• Create customized reports• Wide range of formats

• 3. GRAPHICS LANGUAGES:• Can manipulate drawings, graphs, photos,

videos• Presentation managers *

Page 34: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

34 of 42

FOURTH GENERATION LANGUAGES (4GL)

• 4. APPLICATION GENERATORS:• User specifies computer needs• Generator creates logic and code for

application• Greatly reduces development time• *

Page 35: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

35 of 42

FOURTH GENERATION LANGUAGES (4GL)

• 5. VERY HIGH-LEVEL PROGRAMMING LANGUAGES:

• Professional programmer productivity tool

• Uses fewer instructions• Reduces development time• *

Page 36: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

36 of 42

FOURTH GENERATION LANGUAGES (4GL)

• 7. 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

• *

Page 37: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

37 of 42

MIDDLEWARE

• SOFTWARE ALLOWS DIFFERENT APPLICATIONS TO EXCHANGE DATA

• *APPLICATION APPLICATION

AAAPPLICATION APPLICATION

BB

MIDDLE MIDDLE WAREWARE

DATADATA

Page 38: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

38 of 42

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• *

Page 39: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

39 of 42

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

Page 40: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

40 of 42

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• *

Page 41: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

41 of 42

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

• *

Page 42: 1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008

42 of 42

OBJECT-ORIENTED PROGRAMMING

• ActiveX: Controls for Windows software environment to enable OBJECTS: e.g.,– CHARTS– TABLES– ANIMATIONS

• to be EMBEDDED IN A WEB PAGE• *