Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008."— Presentation transcript:

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

2 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?

3 3 of 42 HARDWARE HARDWARE SYSTEM SOFTWARE APPLICATION SOFTWARE

4 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,...)

5 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

6 6 of 42 System software and the OS

7 7 of 42 MULTIPROGRAMMING OPERATING SYSTEM UNUSED MEMORY PROGRAM 1 TRADITIONAL SINGLE- PROGRAM SYSTEM OPERATING SYSTEM UNUSED MEMORY PROGRAM 1 PROGRAM 2 PROGRAM 3 MULTIPROGRAMMING ENVIRONMENT

8 8 of 42 MULTITASKING MULTIPROGRAMMING ON A SINGLE- USER SYSTEM SUCH AS A MICROCOMPUTER *

9 9 of 42 MULTITHREADING ABILITY TO EXECUTE DIFFERENT PARTS (THREADS) OF A PROGRAM SIMULTANEOUSLY *

10 10 of 42 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 *

11 11 of 42 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 *

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

13 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

14 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

15 15 of 42 more system software: translating between 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

16 16 of 42 a compiler is a program whose input and output data are programs!

17 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

18 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

19 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

20 20 of 42 example

21 21 of 42

22 22 of 42

23 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

24 24 of 42 TRANSLATION PROCESS SOURCE CODE PROGRAM COMPILER OBJECT CODE LINKAGE EDITOR LOAD MODULE OTHER OBJECT CODE MODULES UTILITY PROGRAMS PERFORM ROUTINE TASKS

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

26 26 of 42 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

27 27 of 42 OPERATING SYSTEM Mac OS For Macintosh computers. Multitasking. Powerful graphics, multimedia UnixFor powerful microcomputers, workstations, minicomputers. Multitasking, multi-user processing, networking. Portable to various computer platforms DOSFor IBM (PC-DOS) and PC (MS-DOS). Program memory: 640K LinuxFree, reliable alternative to Unix, Windows. Runs on many Platforms. Open-source FEATURES MICROCOMPUTER OPERATING SYSTEMS

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

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

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

31 31 of 42 FOURTH GENERATION LANGUAGES (4GL) CAN BE EMPLOYED BY END USERS NONPROCEDURAL CAN DEVELOP APPLICATIONS QUICKLY NATURAL LANGUAGES SIX CATEGORIES *

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

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

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

35 35 of 42 FOURTH GENERATION LANGUAGES (4GL) 5. VERY HIGH-LEVEL PROGRAMMING LANGUAGES: Professional programmer productivity tool Uses fewer instructions Reduces development time *

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

37 37 of 42 MIDDLEWARE SOFTWARE ALLOWS DIFFERENT APPLICATIONS TO EXCHANGE DATA * APPLICATION A APPLICATION B MIDDLE WARE DATA

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

39 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

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

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

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


Download ppt "1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008."

Similar presentations


Ads by Google