ikt for lærere

29
IKT for lærere Introduksjon til operativsystemer Jan Høiberg November 2009

Upload: booker

Post on 25-Jan-2016

49 views

Category:

Documents


0 download

DESCRIPTION

Introduksjon til operativsystemer Jan Høiberg November 2009. IKT for lærere. Innhold. Generelt om operativsystemer Grensesnitt mot brukere og programmer Klassifisering av systemene Historikk (og religionskriger) Prosesshåndtering Minnehåndtering Filer og filsystem - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: IKT for lærere

IKT for lærere

Introduksjon til operativsystemer

Jan HøibergNovember 2009

Page 2: IKT for lærere

Innhold• Generelt om operativsystemer

• Grensesnitt mot brukere og programmer

• Klassifisering av systemene

• Historikk (og religionskriger)

• Prosesshåndtering

• Minnehåndtering

• Filer og filsystem

• Styring av maskinvareenheter (device handling)

Page 3: IKT for lærere

Hva er et operativsystem (OS)?

En samling med programvare som “ligger mellom” brukeren/ brukerprogrammene og maskinens hardware .

Vanlige OS: Microsoft Windows, Linux, Mac Os X, BSD Unix.

OS'et er et (av mange) lag av abstraksjon som gjør datamaskinen “operativ” for oss – vi kan bruke den uten å vite hvordan hardware og nettverk og mye annet egentlig fungerer.

Page 4: IKT for lærere

OS’ets viktigste oppgaver

• Prosessorstyring• Minnestyring• Maskinvarestyring• Diskplasstyring (I/O)• Applikasjonsgrensesnitt• Brukergrensesnitt

Page 5: IKT for lærere

Brukeren og OS'et

Brukergrensesnittet mot OS:

- Vindussystem (GUI)

- Vanlige brukerprogrammer.

- Tekstbaserte “skall” (Linux)

Brukergrensesnittene gjør anvendelsen av OS’et og datamaskinen enklere for brukeren.

Page 6: IKT for lærere

Brukerprogrammer og OS'et

“Kjernen” i OS'et styrer prosessoren(e), RAM og periferienheter (disker, printere, nettverksporter, mus, etc.)

Brukerprogrammer (eks. Word, nettlesere) kommuniserer med hardware gjennom såkalte system-tjenester som tilbys fra kjernen gjennom et API.

OS'et forenkler dermed jobben for de som skal programmere datamaskinene.

Page 7: IKT for lærere

Klassifisering av OS• Spesialiserte real-time operativsystemer

Styringssystemer, sikkerhetskritisk programvare (ABS-bremser), trafikkkontroll – må garantere rask respons på endringer.

• Single-user – single-task

Én bruker kjører et program om gangen (MS-DOS, Palm)

• Single-user – multi-tasking (trad. PC)

Én bruker kan kjøre flere programmer ”samtidig” (Windows, Mac)

• Multi-user (krever multi-tasking)

Flere brukere deler maskinen (Linux/Unix, OS for servere, Windows 2000 og proprietære OS for tradisjonelle ”mainframes)

Page 8: IKT for lærere

OS-historikk (1)

Tidlige datamaskiner (ZUSE-X, ENIAC, Colossus, NUSSE) ble brukt til komplekse beregninger, programmert i hardware, pluggebord

og maskinkode. De hadde ikke noe operativsystem, men ble betjent av (oftest kvinnelige) operatører

Page 9: IKT for lærere

OS-historikk (2)

• Første OS fra IBM ca 1955, ”tvunget” fram av transistoren og FORTRAN – batchsystemer: Én jobb kjøres om gangen.

• Multitasking systemer kom på 1960-tallet for å unngå dyre mainframes på ”tomgang”.

• MULTICS – første multi-user system UNIX ca. 1969 (Ken Thompson)

• NB: GUI, mus, hypertekst, internett og videokonferanser ble demonstrert allerede i 1968 på ”The Mother of all demos” (Douglas Engelbart).

Page 10: IKT for lærere

OS-historikk (3)• Første GUI-OS fra Xerox Parc, 1973.

• Tekstbaserte OS for PC: MS-DOS og CP/M, ca. 1980.

• Første PC med GUI: Apple Macintosh, 1984 (stjålet fra Xerox).

• Windows 1.0, 1985 (saksøkt 1988).

• Unix med GUI i 1982

• Gratis open-source Unix for PC (Linux) i 1991.

• Arpanett fra 1968 ble til Internett (for Unix-brukere i Akademia) på 80-tallet.

• 1995 : ”Alle” får PC og nett-tilknytning, Microsoft Windows dominerer markedet.

Page 11: IKT for lærere

Hva slags OS får vi i fremtiden?

• 3D grensesnitt?:

– Microsoft Surface

– Beryl (for Linux)

• Konvergens av OS’ene på 2000-tallet:

– Windows mere stabilt.

– Linux mere brukervennlig.

– Mac OS X basert på BSD Unix.

• Får vi ett ”universelt” OS-GUI om noen år?

Page 12: IKT for lærere

OS og religionskrigen

religious war An argument, which usually takes place in a NEWSGROUP, in which the participants take violent, uncompromising positions. A typical religious war is that between the proponents of Microsoft's Windows operating system and non-Windows systems such as LINUX.

-- fra ”A Dictionary of the Internet”

Page 13: IKT for lærere
Page 14: IKT for lærere

"How I hate this damned machine,I wish that I could sell it,It never does what I want it to,But only what I tell it".

Page 15: IKT for lærere

Prosesser• En prosess er et program som kjører og alle ressursene

som trengs til dette (programkode, hukommelse, filer etc.).

• Operativsystemet starter, stopper og håndterer alle prosessene på maskinen.

• En prosess startes ved at OS’et laster programmet inn i RAM, reserverer ressursene som trengs og overlater deretter kontrollen/prosessoren til programmet.

• Alle data som tilhører en prosess lagres i en Process Control Block (PCB) som til enhver tid inneholder prosessens tilstand.

Page 16: IKT for lærere

Hvordan kommer det hele i gang?

• OS’et består selv av flere prosesser som kjører hele tiden for å kontrollere maskinen.

• Men: Hvordan kan maskinen starte når det ikke er noe OS til stede som kan sette i gang det hele? Hvem skal starte den første prosessen?

• Oppstart av maskinen kalles derfor ”bootstrapping”, i.e. ”løfte seg selv etter skolissene”.

• Når maskinen slås på kjøres først et program som kalles BIOS (Basic Input-Output System) som ligger ”brent” i hardware (ROM) og ikke må lastes i RAM.

• BIOS starter en ”boot-loader” som sørger for at OS’et lastes inn i RAM og starter den første OS-prosessen (”init” i Linux).

Page 17: IKT for lærere

Multi-tasking

• PC’en har (ofte) bare én prosessor (CPU), men kan tilsynelatende gjøre flere ting samtidig?

• Multi-tasking er mulig gjennom time-sharing:

– En prosess lastes inn, startes og får bruke CPU’en i et kort tidsintervall, ”time-slice”.

– OS’et gjør deretter et ”interrupt” som avbryter prosessen og lagrer unna prosessens PCB.

– Deretter lastes neste prosess (og dens PCB) inn og får kjøre inntil neste interrupt, osv.

• Byttet mellom to prosesser calles ”context switch”.

Page 18: IKT for lærere

Multi-tasking og trashing

• Typisk time-slice: 10 ms.• Context-switch: 0.001 ms • Trashing: OS’et bruker for

mye tid på å håndtere prosessene (eldre Windows).

• Trashing kan unngås ved å dele prosessene opp i mindre ”threads” som kjøres parallelt.

• Skifte mellom threads er vesentlig raskere enn å gjøre en full context switch.

Page 19: IKT for lærere

Multi-tasking med flere CPU’er

Page 20: IKT for lærere

Scheduling

• Problem: Når en prosess har kjørt ferdig i en time-slice, hvilken av de ventende prosessene skal velges som den neste som får kjøre?

• Finnes mange ulike algoritmer for scheduling.

• Vanligst er ”Round Robin”:

– Prosessene ”står i kø”. Førstemann i køen velges.

– En prosess som er ferdig må gå bakerst i køen.

– Prioritering gjøres ved å variere lengden på time-slice.

• Ulempe: RR kan ikke garantere responstider.

Page 21: IKT for lærere

Operativsystemet og minne

To hovedproblemer OS’et må løse:

• Hver prosess må ha nok minne til å kunne kjøre.

• Ingen prosesser må kollidere, i.e. bruke samme minneadresser. Vil forårsake program-crash eller at maskinen stopper (Windows 3.1X...).

Page 22: IKT for lærere

Tre hovedtyper av datamaskinhukommelse

• Høyhastighetscache:

Meget raskt minne som er ”nære” CPU.

• Hovedminne:

Random Acess Memory (RAM). BIOS “teller opp”/ sjekker RAM ved booting. VideoRAM på skjermkort regnes også med som hovedminne.

• Sekundærminne/virtuell hukommelse:

Dette er disken (harddisk med roterende magnet-plater eller Flash-memory). Brukes bare som minne hvis det er fullt i RAM, er svært mye langsommere.

Page 23: IKT for lærere

Minnehåndtering

• De forskjellige typene minne må brukes effektivt, slik at prosessene kjører så raskt mulig.

• Flytting av PCB’ene i minnesystemet må hele tiden gjøres slik at det er ”kort vei” fra CPU til dataene for den aktive prosessen.

• Algoritmene for minnehåndtering i et OS er svært kompliserte og av helt avgjørende betydning for datamaskinenes ytelse.

• Spesielt bør bruk av virtuell hukommelse unngås hvis mulig.

Page 24: IKT for lærere

”Memory is like an orgasm. It's a lot better if you don't have to fake it.”

-- Seymour Cray om virtuell hukommelse

Page 25: IKT for lærere

Filer og filsystem

• Fil: En samling data som logisk hører sammen: Word-dokument, webside, JPG-bilde, lyd- eller videoklipp i MPEG-format etc. Fysisk er en fil ofte spredt på disk.

• I Linux: En fil er et medium som data kan leses fra eller skrives til – dvs. alt er filer(!).

• OS’et må tilby brukere og programmer en systematisk måte for å lagre, finne igjen og beskytte filer i et filsystem.

• Filhåndtering var eneste reelle oppgave til en del tidlige ”primitive” operativsystemer som f.eks. MS-DOS (”Disk Operating System”).

Page 26: IKT for lærere

Hierarkiske filsystemer

• Filene organiseres i ”mapper” – en samling filer som ”hører sammen” (fra MULTICS, 1963).

• Mappen er også en fil, slik at mapper kan inneholde mapper -- vi får et hierarki (”et tre”) av mapper med en ”rot” på toppen.

• En mappe inneholder egentlig bare en liste med filene som ligger i mappen.

• Linux har bare et toppnivå i hierarkiet (aka ”root”).

• Windows har et mappe-tre (”drive”) for hver disk.

Page 27: IKT for lærere

Hva er ”inne i” filsystemet?

• Et ”tabellverk” med informasjon om alle filene (”I-node table” i Linux”, ”File Allocation Table” – FAT – i MS).

• Mappefiler med filnavn, som gir hierarkisk struktur.

• Metadata for ”bokføring” og organisering.

• Mekanismer for å lage, fjerne, flytte og finne igjen filer og mapper.

• Beskyttelse i form av tilgangsbegrensning til filene (for ”eier”, andre brukere av disken og ”resten av verden”).

Page 28: IKT for lærere

Flash-disk vs. vanlig hard-disk

• Flash-RAM (overskrivbar ROM, aka SSD) erstatter HD i små enheter og for flytting av data.

• Raskere enn HD, billigere enn RAM.

• Krever nye filsystemer:

– HD overskrives direkte, SSD må ”blankes” før skriving. Flash-filsystemer må utnytte ”tomgang” til å slette ledig plass.

– SSD trenger ikke å optimalisere søking.

– SSD ”slites ut” ved gjentatt overskriving, må spre data jevnere ut enn for en HD.

Page 29: IKT for lærere

Device-håndtering• External Device (ED): Hardware som ikke er på

maskinens hovedkort (motherboard): Disk, scanner, printer, CD/DVD-spiller, Flash-ROM, USB-, nettverk- og serie/parallelporter, etc.

• OS’et ”snakker med” ED gjennom små hjelpe-programmer som kalles ”drivere” (abstraksjon).

• En driver er en ”protokoll” som oversetter OS’ets systemkall til ED’ets ”innfødte” styresignaler.

• Et OS bør i størst mulig grad forholde seg til generiske drivere, for ikke å bli utdatert når teknologien endres.

• Drivere som er innebygget i OS’et kalles ”Plug & Play” (aka ”Plug & Pray” i tidlige utgaver).