IKT for lærere
description
Transcript of IKT for lærere
![Page 1: IKT for lærere](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/1.jpg)
IKT for lærere
Introduksjon til operativsystemer
Jan HøibergNovember 2009
![Page 2: IKT for lærere](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/2.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/3.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/4.jpg)
OS’ets viktigste oppgaver
• Prosessorstyring• Minnestyring• Maskinvarestyring• Diskplasstyring (I/O)• Applikasjonsgrensesnitt• Brukergrensesnitt
![Page 5: IKT for lærere](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/5.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/6.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/7.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/8.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/9.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/10.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/11.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/12.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/13.jpg)
![Page 14: IKT for lærere](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/14.jpg)
"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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/15.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/16.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/17.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/18.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/19.jpg)
Multi-tasking med flere CPU’er
![Page 20: IKT for lærere](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/20.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/21.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/22.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/23.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/24.jpg)
”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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/25.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/26.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/27.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/28.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062500/5681532f550346895dc1520c/html5/thumbnails/29.jpg)
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).