Upload
elfreda-brown
View
217
Download
0
Embed Size (px)
DESCRIPTION
3 of 42 HARDWARE HARDWARE SYSTEM SOFTWARE APPLICATION SOFTWARE
Citation preview
1 of 42
System Software
Pertemuan IVMagister 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?
3 of 42
HARDWAREHARDWARE
SYSTEM SOFTWARESYSTEM SOFTWARE
APPLICATION SOFTWAREAPPLICATION SOFTWARE
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 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 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
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
8 of 42
MULTITASKING
MULTIPROGRAMMING ON A SINGLE-USER SYSTEM SUCH AS A MICROCOMPUTER
*
9 of 42
MULTITHREADING
ABILITY TO EXECUTE DIFFERENT PARTS (THREADS) OF A PROGRAM SIMULTANEOUSLY
*
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
*
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*
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 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 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 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
16 of 42
a compiler is a program whose input andoutput data are programs!
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 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 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 of 42
• example
21 of 42
22 of 42
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 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
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 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
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
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 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 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 of 42
FOURTH GENERATION LANGUAGES (4GL)
• CAN BE EMPLOYED BY END USERS• NONPROCEDURAL• CAN DEVELOP APPLICATIONS
QUICKLY• NATURAL LANGUAGES• SIX CATEGORIES• *
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 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 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 of 42
FOURTH GENERATION LANGUAGES (4GL)
• 5. VERY HIGH-LEVEL PROGRAMMING LANGUAGES:
• Professional programmer productivity tool
• Uses fewer instructions• Reduces development time• *
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 of 42
MIDDLEWARE
• SOFTWARE ALLOWS DIFFERENT APPLICATIONS TO EXCHANGE DATA
• *APPLICATION APPLICATION
AAAPPLICATION APPLICATION
BB
MIDDLE MIDDLE WAREWARE
DATADATA
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 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 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 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 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• *