Upload
arry-arman
View
668
Download
2
Embed Size (px)
Citation preview
Software:Ghost in the MachineArry Akhmad ArmanSchool of Electrical Engineering and InformaticsInstitut Teknologi Bandung, IndonesiaEmail: arman@kupalima comEmail: [email protected]: http://www.kupalima.comBlog: http://kupalima.wordpress.com
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Last update: September 2008
Software Horror!
• The Mars ClimateThe Mars Climate Orbiter crashed in September 1999 because of a "silly mistake": wrong units iin a program.
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Software Horror!
• Several 1985‐7 deathsSeveral 1985 7 deaths of cancer patients were due to overdoses of radiation resulting from a race condition b t tbetween concurrent tasks in the Therac‐25 softwaresoftware.Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Software Horror!
• The Ariane 5The Ariane 5 satellite launcher malfunction was caused by a faulty software exception ti ltiroutine resulting from a bad 64‐bit floating point to 16‐floating point to 16‐bit integer conversion.Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Software Horror!
• The Dallas/Fort WorthThe Dallas/Fort Worth air‐traffic system began spitting out gibberish in the Fall of 1989 and controllers h d t t k l had to track planes on paper.
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Software Horror!
• An Iraqi Scud missile hit qDhahran barracks, leaving 28 dead and 98 wounded. The incoming missile wasThe incoming missile was not detected by the Patriot defenses, whose clock had drifted .36 seconds during the 4‐day continuous siege, the error increasing g , gwith elapsed time since the system was turned on.Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Software stack!Fungsi-fungsi
khusus aplikasi
ApplicationSoftware
Operating System(harddisk)
Software
Fungsi-fungsi dasar: file t d i
BIOS (ROM)
(harddisk)SystemBoot!
system, device driver, human
interface!
Hardwareinput output
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Issues!
• CompatibilityCompatibility– It allows software to function properly with the hardware, operating system, and peripherals.– Programs written for one type of computer system may not work on anothernot work on another.• DisclaimersDisclaimers– Software manufacturers limit their liability for software problems by selling software “as is.”
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
p y g
Issues!
• Licensing: Commercial software is copyrighted soLicensing: Commercial software is copyrighted so it can’t be legally duplicated for distribution to others.– Software license – Volume licenses • Distribution: Software is distributed via:– Direct sale, Retail stores, Mail‐order catalogs, Web sites– Not all software is copyrighted.• Public domain software (freeware)• Shareware Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Software Categoryg y
• Operating SystemOperating System– A set of function that provide a basic function for any application, such as file system, printing service, human interaction, etc.• Application Softwaref f l– Specific software applications• CompilerT l hi h l l l hi d– Translate high level language to machine codeArry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Operating Systemsp g y
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Linux
Operating System Functionsp g y
• Supports multitaskingSupports multitasking• Manages virtual memory• Maintains file system• Maintains file system• Responsible for authentication and authorizationand authorization• Peripheral handling• Human Computer• Human Computer Interaction• etcArry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
etc
Utility Program(sometime its become part of Operating System)(sometime its become part of Operating System)• Utility Programs and Device Driversy g• Utility programs – Serve as tools for doing system maintenance and repairs that aren’t t ti ll h dl d b th ti tautomatically handled by the operating system– Make it easier for users to:• Copy files between storage devices• Repair damaged data files• Translate files so that different programs can read them• Guard against viruses and other potentially harmful programs (as d ib d i th h t t it d i k )described in the chapter on computer security and risks)• Compress files so they take up less disk space• Perform other important, if unexciting, tasks
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Utility Programy g
• Symantec Norton Utilities is a popular utility package that y p p y p gincludes software tools for recovering damaged files, repairing damaged disks, and improving disk performance.
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Device Driver(part of Operating System)(part of Operating System)
• Small programs thatSmall programs that enable I/O devices—keyboard, mouse, printer, and others—to
i t ithcommunicate with the computer I l d d ith th• Included with the operating system or bundled with
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
bundled with peripherals
Human Machine Connection
• Command lineCommand line• Menu Driven• GUI (Graphical User Interface)• GUI (Graphical User Interface)• Speech Based• Virtual Reality• Virtual Reality
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Human Machine Connection:
Command LineCommand Line
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Human Machine Connection:
Menu DrivenMenu Driven
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Human Machine Connection:
Graphical User Interface (GUI)Graphical User Interface (GUI)
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Human Machine Connection:
Speech BasedSpeech Based
Computer, please p , pread new email! You have two new
emails! First, ….
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Human Machine Connection:
Virtual RealityVirtual Reality
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
What Next?
Di i bi l i l
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Direct connection to biological system
Machine Language Source
(1) Application written in High Level Languageg g
• Principally, computer CodeLevel Language
(2) Then, compiled p y, phardware (processor) can only execute ‘machine language’
Compiler
(2) Then, compiled to machine
language
machine language (binary code)• Its not easy to develop ‘program in machine
language• Finally compiler
‘… 011010001010 …’
(3) Finally, executed by • Finally, compilerdeveloped yprocessor
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Source
(1) Application written in High Level Language
Non OPEN SOURCE
CodeLevel Language
(2) Then, compiled Soon after
li ti
Compiler
(2) Then, compiled to machine
language
application was compiled without
error, the SOURCE CODE
ot eed
‘
not need anymore!
‘… 011010001010 …’
(3) Finally, executed by
Application is distributed or
sold without the yprocessor
sold without the SOURCE CODE!
User or buyer cannot modify
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
cannot modify the application!
Source
(1) Application written in High Level Language
OPEN SOURCE
CodeLevel Language
(2) Then, compiled Soon after
li ti
Compiler
(2) Then, compiled to machine
language
application was compiled without
error, the SOURCE CODE
ot eed
‘
not need anymore!
‘… 011010001010 …’
(3) Finally, executed by
Application is distributed or
ld ith th y
processor sold with the SOURCE CODE!
User or buyer dif th
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
can modify the application!
Source High Level Language Source Code
g g g
• High Level Language is a computerCompiler
High Level Language is a computer language that close to human language• Several High Level Language– BASIC
‘… 011010001010 …’– Pascal– C++– Java– etcArry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Source High Level Language Source Code
g g g
• Source Code also called ‘program’Compiler
p g• Program = a set of computer instruction to solve specific problem• Programming is an activities to develop computer program• Programming Language is a language‘… 011010001010 …’
• Programming Language is a language for writing computer program• Programming Language can be high level language or low level language
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Source
Step by Step Application Development Source
CodeApplication Development
Compiler
‘… 011010001010 …’
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Intermezzo!
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Case!
• Problem: Find a • Model (flowchart)Problem: Find a largest number from 2 given number!
Model (flowchart)
Read A
• Simple Model:
Read B
A B
Find a
A Largest number
A>=B
L=AL=B
largest numberB Write(L)
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Case!
Source Code (Pascal)
1. Write(‘Masukan bilangan pertama: ’);
2. Readln(A);
3 W it (‘M k bil k d ’)
Read A
3. Write(‘Masukan bilangan kedua: ’);
4. Readln(B);
5. If A>=B then L:=A else L:=B;
Read B
A>=B6. Write(‘Bilangan terbesar adalah: ’);
7. Writeln (L);
A>=B
L=AL=B
Write(L)
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
How long can you go?g y g
• Your application can be really long ….Your application can be really long ….Year Operating System LOC (Million)ea Ope a g Sys e OC ( o )
1993 Windows NT 3.1 4-5[1]
1994 Windows NT 3.5 7-8[1]
1996 Wi d NT 4 0 11 12[1]1996 Windows NT 4.0 11-12[1]
2000 Windows 2000 more than 29[1]
2001 Windows XP 40[1]
2003 Windows Server 2003 50[1]
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Software Piracy and Intellectual Property RightProperty Right• Software Piracy—illegal duplication of copyrighted y g p py gsoftware– The software industry is a $50 billion a year business sector.Billions of dollars are lost each year to software pirates– Billions of dollars are lost each year to software pirates.– One‐third of all software is illegally copied.• Intellectual Property and the Law– Intellectual property includes the results of intellectual activities in the arts, science, and industry.y– Laws ensure that mental labor is justly rewarded and encourage innovation.– The information age requires the outdated and inconsistent
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
The information age requires the outdated and inconsistent intellectual property laws to be changed and adapted.
Pirated Software!
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Thank youy
l b k k dTolong berikan komentar andatentang penyampaian kuliah ini di http://kupalima.wordpress.com
Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008
Belgium, 2000