it introduction - 4. ghost in the machine

37
Software: Ghost in the Machine Arry Akhmad Arman School of Electrical Engineering and Informatics Institut Teknologi Bandung, Indonesia Email: arman@kupalima com Email: arman@kupalima.com Website: http://www.kupalima.com Blog: http://kupalima.wordpress.com Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008 Last update: September 2008

Upload: arry-arman

Post on 16-May-2015

667 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: IT Introduction - 4. Ghost in The Machine

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

Page 2: IT Introduction - 4. Ghost in The Machine

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

Page 3: IT Introduction - 4. Ghost in The Machine

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

Page 4: IT Introduction - 4. Ghost in The Machine

Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008

Page 5: IT Introduction - 4. Ghost in The Machine

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

Page 6: IT Introduction - 4. Ghost in The Machine

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

Page 7: IT Introduction - 4. Ghost in The Machine

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

Page 8: IT Introduction - 4. Ghost in The Machine

Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008

Page 9: IT Introduction - 4. Ghost in The Machine

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

Page 10: IT Introduction - 4. Ghost in The Machine

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

Page 11: IT Introduction - 4. Ghost in The Machine

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

Page 12: IT Introduction - 4. Ghost in The Machine

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

Page 13: IT Introduction - 4. Ghost in The Machine

Operating Systemsp g y

Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008

Linux

Page 14: IT Introduction - 4. Ghost in The Machine

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

Page 15: IT Introduction - 4. Ghost in The Machine

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

Page 16: IT Introduction - 4. Ghost in The Machine

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

Page 17: IT Introduction - 4. Ghost in The Machine

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

Page 18: IT Introduction - 4. Ghost in The Machine

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

Page 19: IT Introduction - 4. Ghost in The Machine

Human Machine Connection:

Command LineCommand Line

Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008

Page 20: IT Introduction - 4. Ghost in The Machine

Human Machine Connection:

Menu DrivenMenu Driven

Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008

Page 21: IT Introduction - 4. Ghost in The Machine

Human Machine Connection:

Graphical User Interface (GUI)Graphical User Interface (GUI)

Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008

Page 22: IT Introduction - 4. Ghost in The Machine

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

Page 23: IT Introduction - 4. Ghost in The Machine

Human Machine Connection:

Virtual RealityVirtual Reality

Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008

Page 24: IT Introduction - 4. Ghost in The Machine

What Next?

Di i bi l i l

Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008

Direct connection to biological system

Page 25: IT Introduction - 4. Ghost in The Machine

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

Page 26: IT Introduction - 4. Ghost in The Machine

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!

Page 27: IT Introduction - 4. Ghost in The Machine

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!

Page 28: IT Introduction - 4. Ghost in The Machine

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

Page 29: IT Introduction - 4. Ghost in The Machine

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

Page 30: IT Introduction - 4. Ghost in The Machine

Source

Step by Step Application Development Source

CodeApplication Development

Compiler

‘… 011010001010 …’

Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008

Page 31: IT Introduction - 4. Ghost in The Machine

Intermezzo!

Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008

Page 32: IT Introduction - 4. Ghost in The Machine

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

Page 33: IT Introduction - 4. Ghost in The Machine

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

Page 34: IT Introduction - 4. Ghost in The Machine

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

Page 35: IT Introduction - 4. Ghost in The Machine

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.

Page 36: IT Introduction - 4. Ghost in The Machine

Pirated Software!

Arry Akhmad Arman | School of Electrical Engineering and Informatics ITB | 2008

Page 37: IT Introduction - 4. Ghost in The Machine

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