Software - hvordan vi gør en computer nyttig

Preview:

DESCRIPTION

Software - hvordan vi gør en computer nyttig. Hardware og software. For at kunne lave noget fornuftigt med en computer, skal man bruge både hardware og software Hardware : Engelsk, betyder ”isenkram” – de fysiske dele , en computer består af (skærm, tastatur, mus, og alt det inden i kassen) - PowerPoint PPT Presentation

Citation preview

Software- hvordan vi gør en computer nyttig

RHS - Informationsteknologi 2

Hardware og software

• For at kunne lave noget fornuftigt med en computer, skal man bruge både hardware og software

• Hardware: Engelsk, betyder ”isenkram” – de fysiske dele, en computer består af (skærm, tastatur, mus, og alt det inden i kassen)

• Software: De programmer (Word, Messenger, Counterstrike, Internet Explorer,…) vi bruger for at lave noget med computeren

RHS - Informationsteknologi 3

Hvad er software egentlig?

• Software er jo det, der ”forvandler” vores computer fra en død bunke metal til et nyttigt redskab

• Computerens funktion defineres helt af den software der anvendes

• For en DVD-afspiller er den enkelte film en slags software – vi er ikke specielt interesserede i selve DVD-afspilleren

RHS - Informationsteknologi 4

Hvad er software egentlig?

• Lidt mere teknisk: Meget præcise instruktioner til computeren, om hvordan den skal reagere på forskellige typer input

• Hvad kan input være?– Et klik med en mus– Tastetryk– Noget data i en fil– Noget data fra Internettet– Og så videre, og så videre…

RHS - Informationsteknologi 5

Hvordan laves software?

• Første trin er – naturligvis – at have en idé om, hvad softwaren (programmet) skal kunne

• En vigtig – og svært – trin i den forbindelse er præcist at specificere, hvordan programmet skal virke

• En specifikation vil være en samling af regler for programmets opførsel

• Det er ikke lige let at formulere regler for alle problemer…

RHS - Informationsteknologi 6

Hvordan laves software?

• Eksempel: Multiplikation• At gange to (store) tal kan være

svært for et menneske, men reglerne er helt præcise

• Meget let at lave et program, der kan gange to tal korrekt

• En computer er langt hurtigere til multiplikation end et menneske

RHS - Informationsteknologi 7

Hvordan laves software?

• Eksempel: Skak• Skak er svært, selv om reglerne er præcise!• Hvad er svært i skak? At vurdere, om din stilling

bilver bedre af at foretage et bestemt træk• Hvis man kan sætte et tal på ”kvaliteten” af din

stilling, er det ”bare” at prøve en masse mulig-heder af

• De bedste skakprogrammer er på højde med de bedste menneskelige spillere

RHS - Informationsteknologi 8

Hvordan laves software?

• Eksempel: Opfattelse af andres følelser• Mennesker kan let (sådan da…) aflæse en

anden persons følelser ud fra ansigtsudtryk, kropssprog, med videre

• Dette er svært at formulere præcise regler for!• De bedste programmer er meget dårligere end

mennesker til at opfatte andres følelser

RHS - Informationsteknologi 9

Hvordan laves software?

• Hvis vi kan beskrive et program ved et sæt af regler, hvordan beskriver vi så disse regler for en computer?

• Hvilket sprog skal reglerne beskrives med?• Husk at computeren ikke kan meget andet end

at plusse 0’er og 1’er• Hvordan kan vi overhovedet beskrive reglerne

på en form, computeren kan forstå???

RHS - Informationsteknologi 10

Den lange vej…

Menneske-sprog

Program-merings-

sprog

CPU-sprog

Mikro-sprog

0’er og1’er

Idé

Pro-gram

Mennesker Program Computer

RHS - Informationsteknologi 11

Menneskesprog• Første trin er at formulere reglerne for

programmmet i ”almindeligt sprog”• Skal være så præcist beskrevet som muligt• Eksempel:

– Hvis din konge står i skak, skal du 1. Flytte kongen til et felt, hvor den ikke står i skak, eller2. Flytte en anden brik til et felt, så kongen ikke er skak

– Findes sådan et felt ikke, har du tabt• Problem: almindeligt sprog er ikke altid

præcist

RHS - Informationsteknologi 12

Software – Opgave 1• Engang i fremtiden har du købt den

menneske-lignende husholdnings-robot Robert. Robert kan udføre simple ting som f.eks at skrue en skrue i, men lidt mere komplicerede opgaver skal den ”oplæres” i.

• Robert skal have tingene ret præcist og detaljeret at vide, men heldigvis kan man oplære den bare ved at fortælle den reglerne for at løse en opgave, ved brug af alminde-ligt menneskesprog

• Opgave: Prøv at lave en beskrivelse af, hvordan man lapper en cykel. Brug almin-deligt sprog, men husk at beskrivelsen skal være detaljeret og præcis!

RHS - Informationsteknologi 13

Programmerings-sprog

• Nu skal reglerne skrives i et sprog, som et andet program kan oversætte til et sprog, som computeren kan forstå

• Dette sprog er bindeleddet mellem menneske og computer

• Et kompromis mellem at være helt logisk præcist, og være forståeligt for mennesker

RHS - Informationsteknologi 14

Programmerings-sprogif (myPieces.King.Status == Check) then{

if (board.noCheck(myPieces.King).exists == true)then (myPieces.King.move())

elseif (myPieces.avoidCheck().exists == true)

then (myPieces.avoidCheck().move())else

myGame.status = lost;}

RHS - Informationsteknologi 15

CPU-sprog

• Det program, der kan oversætte programmeringssprog til CPU-sprog, kaldes en oversætter (logisk nok…)

• Med nogen øvelse kan vi mennesker godt læse programmeringssprog

• At læse CPU-sprog kræver megen øvelse…

RHS - Informationsteknologi 16

CPU-sprog

MOV AH, 08INT 21CMP, AL 42JZ 0116MOV BH, 12INT 32NJZ 0100

RHS - Informationsteknologi 17

Mikro-sprog

• CPU-sprog er nærmest umuligt for mennesker at forstå – men CPU’en kan forstå det!

• Dog laver CPU’en selv yderligere en oversættelse, til mikro-sprog

• Dette sprog er det som selve regne-delen af CPU’en kan forstå

• Så godt som umuligt at læse…

RHS - Informationsteknologi 18

Mikro-sprog

0A B1 23 41 886C 12 92 CB 9A88 2E 11 07 AE…eller bare001001010100100101001010011011110110101001001010101111110

RHS - Informationsteknologi 19

0’er og 1’er

• Instruktioner skrevet i mikro-sprog kan CPU’en regne på ”direkte” – og meget hurtigt

• Nu tager transistorerne over!• Sprogligt har vi rejst en meget lang vej, hvor

mennesker, andre programmer, samt computeren selv har været i gang

• Stadig ret besværligt at lave software, men meget nemmere end da de første computere blev lavet

RHS - Informationsteknologi 20

Software – opgave 2• En anden måde at beskrive en metode på kan være

et diagram, som beskriver de handlinger og beslutninger, man må udføre for at løse en opgave. Et simpelt diagram kan have disse elementer:

– Handling: Noget vi skal gøre– Beslutning: Et spørgsmål vi må besvare, før vi udfører

den næste handling– Pil: Viser hen til den næste Handling eller Beslutning,

som vi skal udføre

• På det følgende diagram har vi lavet et diagram for opgaven ”Find det største tal i en række af tal”. For at løse denne opgave har vi også brug for ”kasser”. I denne sammenhæng er en ”kasse” et sted vi kan lægge et enkelt tal, for at bruge det igen senere.

Handling

Beslutning

Pil

Kasse

RHS - Informationsteknologi 21

Software – opgave 2Start: Læg det første tal i rækken i kassen ”Størst”

Slut: Nu rummer kassen”Størst” det størstetal i rækken

Har jeg undersøgt

alle tal i rækken?

Læg det næstetal i rækken nedi kassen ”Næste”

Læg tallet i kassen”Næste” ned ikassen ”Størst”

Er tallet i ”Næste”

større endtallet i

”Størst”?

Ja Nej Ja

Nej

Størst Næste

RHS - Informationsteknologi 22

Software – opgave 2

• Prøv at finde det største tal i rækken ”5 7 3 8 6” ved at bruge den metode som diagrammet viser

• Prøv at lave en metode til at finde ud af, om der er flest lige eller ulige tal i en række af tal – beskriv metoden i form af et diagram

• Prøv din metode for disse rækker af tal:– 3 7 2 1 8– 2 5 4 8– 2 1 9 6

RHS - Informationsteknologi 23

Typer af software

• Der findes tusinder og atter tusinder af programmer, men de kan inddeles i relativt få kategorier

• Helt overordnet bruger vi to kategorier:– System-programmer– Anvendelses-programmer

RHS - Informationsteknologi 24

System-programmer

• System-programmer kan beskrives som programmer, der gør det muligt for andre programmer at udføre deres opgave

• Andre programmer = anvendelses-programmer• Med andre ord sidder vi sjældent og arbejder

med et system-program som sådan• Det vigtigste system-program er operativ-

systemet

RHS - Informationsteknologi 25

System-programmer

• Andre vigtige typer system-software er:• Database-programmer – kan forsyne andre

programmer med data• Udviklings-programmer – bruges til at udvikle

andre programmer med (oversætter)• Kommunikations-programmer – gør det muligt

at kommunikere med andre computere, f.eks via et netværk (kan godt være en del af operativ-systemet)

RHS - Informationsteknologi 26

Database-programmer

• En database er en organiseret samling af data, hvor data hurtigt kan gemmes og findes frem igen

• Mange programmer – specielt i virksomheder – har brug for at benytte en database

• Ofte benytter mange programmer den samme database – brug for program til at ”styre” databasen

RHS - Informationsteknologi 27

Database-programmer

• Database-programmer bruges til at administrere databaser, således at– Mange andre programmer kan bruge databasen på

samme tid, uden at den ”går i kludder”– Databasen kan ændres eller udvides, hvis der er

behov for det– Brugere af databasen får kun lov at gøre de ting, de

har ret til at gøre• I Microsoft Office pakken er Access et database-

program

RHS - Informationsteknologi 28

Udviklings-programmer

• Programmer kommer jo ikke ud af den blå luft – hvordan laves de?

• Programmer laves ved hjælp af andre programmer, kaldet udviklingsprogrammer

• Et udviklingsprogram gør det muligt at beskrive en metode for at løse et problem, i et sprog der er nogen-lunde forståeligt for mennesker

RHS - Informationsteknologi 29

Udviklings-programmer

• Findes mange udviklings-programmer• Selv om det sprog vi benytter er ”næsten”

menneskesprog, er det stadig svært at skrive andre programmer

• Computere tåler meget dårligt fejl eller upræcise beskrivelser…

• Hvordan laver man så udviklings-programmer? Med andre udviklings-programmer

RHS - Informationsteknologi 30

Kommunikations-programmer

• Disse programmer håndterer kommunikation mellem flere computere (netværk)

• Var før i tiden separate programmer - nu er de oftest en integreret del af operativ-systemet

• Varetager opgaver som:– Adgang til andre computere– Adgang til f.eks en netværks-printer– Håndtering af rettigheder

RHS - Informationsteknologi 31

Anvendelses-programmer

• Dette er de programmer, vi rent faktisk bruger for at få computeren til at lave noget nyttigt

• Dette er en meget stor mængde af programmer, og man kan dele op på mange måder

• En måde at dele op på:– Administrative programmer– Generelle anvendelses-programmer– Andre programmer (rodekasse…)

RHS - Informationsteknologi 32

Administrative programmer

• Primært formål: løse administrative opgaver i virksomheder (hvad er så det…?)– Regnskab og bogføring– Lagerstyring– Produktionsstyring– Kunderelationer– …med videre

• Naturligvis et meget stort marked for sådanne systemer – alle virksomheder bruger IT i dag

RHS - Informationsteknologi 33

Administrative programmer

• Yderligere opdeling:– Standardprogrammer

• Til den ”almindelige” virksomhed• Kan ikke tilpasses virksomheden, men ret billigt

– Brancheprogrammer• Til den almindelige virksomhed i en specifik branche• Nogen tilpasning, dyrere end standard-programmer

– Specialudviklede programmer• Til den specielle/unikke virksomhed• Skræddersyet, og derfor ganske dyrt…

RHS - Informationsteknologi 34

Hvor specielle er vi?almindeligvirksomhed

specielvirksomhed

standardsoftware

specialudvikletsoftware

Standard

Unikt

RHS - Informationsteknologi 35

Generelle anvendelses-programmer

• Primært formål: løse opgaver, som er så almin-delige at ”alle” har behov for at få dem løst

• Rettet både mod virksomheder og private• Typisk eksempel er en Office-pakke:

– Tekstbehandling– Regneark– Præsentation– E-mail– Billedbehandling

RHS - Informationsteknologi 36

Generelle anvendelses-programmer

• Kan måske være svært at skille tingene ad...

• Hvad er Notepad (simpelt program til tekstbehandling)? Er det…– Et generelt anvendelses-program?– En del af Windows?

• På en måde begge dele – Windows er ikke ”bare” et operativsystem, men også en samling af forskellige generelle anvendelses-programmer

RHS - Informationsteknologi 37

Andre programmer…• En rodekasse for det som er tilbage…og det er

en hel del!• Hvad med f.eks spil? Er et gigantisk marked,

Guitar Hero 3 har solgt for over 1 mia $• Andre eksempler:

– Undervisnings-programmer– Musik-programmer (synth, trommer, …)– Programmer til video-redigering– Programmer til slægtsforskning– …og så videre

RHS - Informationsteknologi 38

Software – opgave 3• Undersøg, hvilke programmer skolen stiller til rådighed

gennem Citrix-systemet. Inddel dem i de grupper af software, vi har gennemgået

• Microsoft Office pakken er relativt dyr at købe – omkring 1.000 kroner. Man kan også hente gratis Office-pakker på Nettet, f.eks Open Office (søg på Google for flere informationer). Hvilke fordele og ulemper kan der være ved at benytte en sådan gratis software-pakke?

RHS - Informationsteknologi 39

Operativsystemet

• Et operativ-system (ofte bare kaldet OS) er ”bare” et program, som holder styr på din computer

• Men ”bare” dækker over et væld af opgaver, som operativ-systemet tager sig af!

• I det daglige tænker vi ikke så meget over operativ-systemet, det ”er der bare”

RHS - Informationsteknologi 40

Operativsystemet

• Dette er blot nogle af opgaverne:– Administration af andre programmer– Administration af filer– Modtage input (fra mus, tastatur, m.v) fra brugeren,

og give dette input videre til andre programmer– Modtage output fra andre programmer, og sende

dette output videre til skærm, højttalere, m.v.– Sikre, at andre programmer deles pænt om brugen af

for eksempel en printer, skærmen, m.v.– Holde styr på forskellige brugere af computeren

RHS - Informationsteknologi 41

OS og computeren

Bruger-grænseflade (tastatur, mus, skærm, …)

Intern computer hardware (CPU, indre lager, ydre lager, …)

Operativ-system Fil-system

Program

Program

Program

RHS - Informationsteknologi 42

Administration af programmer

• I et moderne operativ-system (som Windows) kan du have flere programmer i gang på samme tid

• Når et program startes, bliver det kopieret fra det ydre lager (harddisk) til det indre lager (RAM), hvorefter computeren begynder at udføre instruktionerne i programmet

RHS - Informationsteknologi 43

Administration af programmer

• Når mere end ét program er i gang, skal operativ-systemet sørge for, at program-merne ikke ”træder hinander over tæerne”

• Hvordan ”træder man hinanden over tæerne”?

RHS - Informationsteknologi 44

Administration af programmer

• Selv om vi har mange pro-grammer i gang, er der jo stadig kun én CPU, én skærm, og så videre

• Men det skal det enkelte program ikke tænke over – det er operativ-systemets ansvar!

RHS - Informationsteknologi 45

Operativ-system

Administration af programmer

Program

Program

Program

Hvad nu hvis begge programmer

gemmer et tal her…?

indre lager (RAM)

RHS - Informationsteknologi 46

Administration generelt

• Det indre lager er langfra det eneste, som operativ-systemet skal holde styr på

• Det skal også holde styr på– Input fra brugeren– Output til brugeren– Brug af netværk– Brug af CPU’en– Brug af ydre lager– …og så videre; alt, som programmerne skal

deles om

RHS - Informationsteknologi 47

Administration generelt

• Vi kan tænke på operativ-systemet som et slags ”kontrollør-program”, som sikrer at alle programmer får fair adgang til det de skal bruge

• De andre programmer skal ikke tænke over, at de skal dele

• De andre programmer skal heller ikke vide noget om de tekniske detaljer for f.eks en skærm

RHS - Informationsteknologi 48

Eksempler på administration• Sikre, at alle programmer får lov at bruge

CPU’en noget af tiden• Sikre, at programmerne ikke tegner samme

sted på skærmen• Håndtering af data ”trafikken” mellem

CPU’en, lageret, og de andre enheder• Håndtering af detaljer omkring at hente og

gemme filer på det ydre lager• Sikre, at brugere kun kan gøre hvad de har

ret til

RHS - Informationsteknologi 49

Er en PC ”født” med et OS?

• Nej, du kan faktisk godt ændre operativ-system, hvis du vil

• Er dog ikke en helt simpel sag, og de fleste programmer virker kun på ét operativ-system

• Dog er en PC født med et meget lille operativ-system, kaldet BIOS (Basic Input Output System)

RHS - Informationsteknologi 50

Er en PC ”født” med et OS?

• BIOS håndterer meget elementære handlinger som tryk på tastaturet, og tegning af bogstaver på skærmen

• Når en PC starter, vil BIOS som det første begynde at køre

• Det vigtigste opgave for BIOS er at starte det rigtige operativ-system

• BIOS ligger på en chip i PC’en

RHS - Informationsteknologi 51

Administration af programmer - igen

• Når vi starter et program, vil det blive kopieret fra det ydre lager til det indre lager, og sat i gang

Operativ-system

Program

Program

Program

Det indre lager (RAM)

RHS - Informationsteknologi 52

Administration af programmer - igen• Operativ-system skal ”finde plads” til program-

met i det indre lager – hvad nu, hvis der ikke er mere plads?

Indre lager

Program

Program

Program Program

Program Program

Program Program Program

Program

Hvad nu?

RHS - Informationsteknologi 53

Administration af programmer - igen• Operativ-systemet kan bruge noget af det ydre

lager (harddisken), som en ”nød-udvidelse” af det indre lager

Indre lager

Program

Program

Program Program

Program Program

Program Program Program

Ekstra(midlertidigt)indre lager

Program

RHS - Informationsteknologi 54

Administration af programmer - igen

• Ved at bruge denne form for nødløsning, kan computeren køre videre, selv om vi egentlig har startet for mange programmer

• …men det sløver computeren voldsomt!• Hvorfor? Husk, at det ydre lager fungerer meget

langsommere end det indre lager• En meget typisk årsag, hvis din PC pludselig

begynder at køre meget langsomt

RHS - Informationsteknologi 55

Software – Opgave 4• Hvad kan fordelen være ved, at det er operativ-systemet

som kommunikerer med f.eks skærm og printer, frem for at det enkelte program gør det ”direkte”?

• Kan man udskifte sit operativ-system? Hvad sker der med de programmer, man har liggende?

• Windows fra Microsoft har en meget stor markedsandel på PC-markedet, nok over 90 %. Hvad kan fordele og ulemper være ved det?

• Sikkerhed er en vigtig problemstilling, når man har en PC. Er det operativ-systemet eller andre programmer, som håndterer sikkerhed på en PC?

Recommended