introduksjon til operativsystemerheim.ifi.uio.no/~inf103/forelesninger/uke-44o.pdf · introduksjon...

43
Introduksjon Operativsystemer 1 Introduksjon til operativsystemer Kjell Åge Bringsrud INF103

Upload: others

Post on 24-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 1

Introduksjon til operativsystemer

Kjell Åge BringsrudINF103

Page 2: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 2

Hvorfor operativsystemer?

❒ Hardwaren i en enkelt maskin er i prinsippet i stand til å utføre ett program

❍ Når maskinen slås på begynner den å utføre en og en instruksjon som er lagret på en eller annen måte

❍ Når siste instruksjon (”stopp”) er ferdig stopper hele maskinen.

❒ Men...❍ Hvordan kom programmet inn i maskinen i

utgangspunktet? Innholdet i RAM blir jo borte når man slår av maskinen.

❍ Det må altså være et program inne i maskinen allerede før den starter å kjøre et program...?

Page 3: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 3

Praktiske hensyn

❒ Det må være mulig å laste inn, starte og avslutte programmer uten at maskinen ”slår seg av”.

❒ Det er upraktisk at programbiter som alle programmer trenger må være inneholdt i hvert enkelt program

❍ I/O – kontroll av skjerm, tastatur, disker, nettverk...❒ Brukergrensesnittet til maskinen bør være enklere

enn at man må skrive et program for hver enkelt ting man ønsker å gjøre.

❍ Filsystemer, kopiering, flytting og sletting av filer❍ Utskrift av filer til skjerm eller skriver❍ ...

Page 4: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 4

Samtidighet

❒ Bedre utnyttelse av maskinen ved at ❍ Man kjører flere programmer samtidig

• Skriver i en teksteditor samtidig som • mailsystemet sjekker om det er mail til deg, og• Klokken på skjermen oppdateres hvert sekund• ...

❍ Flere brukere på samme maskin• Flere kan være logget inn på ”mjollnir” samtidig• Hver av disse kan kjøre flere programmer

❍ Flere prosesser på samme maskin• En som trenger mye diskIO (Web-server), og• en som trenger mye CPU-kapasitet (f.eks.

vitenskapelige beregninger)

Page 5: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 5

Samtidighet

❒ De forskjellige former for samtidighet gir tilleggsproblemer

❍ Hvordan kjøre flere programmer ”samtidig” på en CPU?❍ Hvordan sørge for at de forskjellige programmene ikke

går i bena på hverandre (overskriver hverandres data f.eks.)

❍ Hvordan kontrollere de forskjellige programmenes tilgang til skjerm, disk, skriver, nettverk?

❒ Denne forelesningen gir innsikt i hva et operativsystem er, og hvordan det kan løse slike problemer

Page 6: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 6

Basis Operativsystem

❒ Et eller flere programmer❍ Hvorav ett er det som startes når maskinen slås

på❍ Aksepterer og utfører kommandoer og

forespørsler fra brukeren og fra brukerens programmer

❍ Det laster, kontrollerer og eksekverer programmer

❍ Styrer bruken av hardwareressurser på maskinen

Page 7: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 7

Komponenter

❒ Brukeren får tilgang til maskinen gjennom et ”shell” eller et grafisk grensesnitt som er en del av operativsystemet

❒ Applikasjons-programmene får tilgang til hardwareressurser gjennom ”skedulering” og operativsystemkall

Page 8: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 8

Operativsystemtjenester

❒ Operativsystemet må inneholde❍ Grensesnitt både for bruker og for

applikasjonsprogrammer❍ Støtte for filer. (filsystem, filadministrasjon)❍ Støtte for I/O som kan benyttes av alle

programmer (til tastatur, skjerm, nettverkskort...)

❍ Oppstartsrutiner (bootstrap/boot)❍ Støtte for nettverksfunksjonalitet (IP, TCP...)❍ Støtte for ”samtidighet”

Page 9: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 9

Sammenheng mellom enkelte komponenter.

Page 10: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 10

Resident / non Resident

❒ RAM er en begrenset ressurs, så det er bare deler av operativsystemet som er lastet inn til enhver tid.

❍ Inneholder typisk kommandotolkeren, avbruddshåndtering pluss enkelte andere komponenter

❍ Dette kaller vi den ”residente” delen.❒ Den non-residente delen av operativsystemet blir

bare lastet inn når den trengs❍ Disk-formatering f.eks.

❒ Bootstrap-koden er i de fleste maskiner lagret i ROM

❍ Inneholder kode for å laste den residente delen av operativsystemet inn i RAM, og starte den.

❍ Kjøres automatisk når maskinen slås på.

Page 11: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 11

Single-user single-task

❒ Er knapt i bruk lenger❒ MS-DOS er et eksempel❒ Vi studerer allikevel denne modellen

innledningsvis, da den er et naturlig føsrte skritt i retning av mer moderne operativsystemer.

Page 12: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 12

MS-DOS

❒ Resident del består av tre komponenter:❒ Kommandogrensesnittet/shell

❍ Inneholder en del av de viktigste kommandoene❍ De mindre viktige kommandoene er non-resident❍ Ligger på filen ”COMMAND.COM”

❒ I/O-rutiner❍ Deler av dette ligger i ”BIOS” som er lagret i

ROM❍ Tilleggsfunksjonalitet lastes fra filen ”IO.SYS”

❒ Filsystemet❍ Ligger på ”MSDOS.SYS”

Page 13: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 13

Utlegg av minne i MS-dos

❒ Legg merke til at operativsystemet okkuperer en veldefinert del av hukommelsen

❒ Applikasjonsprogrammene får det som ”blir igjen”

❒ Detaljene i dette utlegget er ikke så viktige, men prinsippene om deling mellom OS og applikasjoner er almengyldige.

Page 14: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 14

En arbeidsiterasjon i et slikt system

Page 15: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 15

En arbeidsiterasjon i et slikt system forts

Page 16: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 16

Men hvordan får OS tilbake kontrollen ?❒ Ved at programmet ”terminerer”.

❍ Dvs. At den overfører kontrollen tilbake til kommandoløkken.

❒ Når programmet utfører en fil- eller en annen I\O-operasjon

❍ Programmet anmoder operativsystemet om å utføre operasjonen for seg.

❍ Dette tillater OS å utføre noen sikkerhetssjekker.❒ Når brukeren ønsker å avbryte kjøringen

❍ Dette er av og til nødvendig, f.eks. ved evige løkker...❍ I mange OS er dette knyttet til kombinasjonen

”Control-C”

Page 17: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 17

Multitasking

❒ Dette er et begrep som er knyttet til at en maskin (og dermed et OS) kan ha flere programmer som kjører samtidig.

❒ De aller fleste operativsystemer idag er multitasking❍ Med mulig unntak for enkelte mobiltelefoner og

håndholdte maskiner.❒ Multitasking presenterer en rekke

tilleggsutfordringer til operativsystemer❍ Fordeling av CPU-tid, tilgang til disk, RAM etc.

Page 18: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 18

CPU-skedulering

❒ Utnytting av venting på I/O, og time/slicing.

Page 19: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 19

Byggestener i et OS

1. Grensesnitt mot applikasjonsprogrammer og bruker

2. Filsystem3. I/O kontrollsystem4. Prosesskontrollsystem og

interprosesskommunikasjon5. Minneadministrasjon6. Skedulering7. Diskadministrasjon8. Systembeskyttelse9. Nettverksfunksjonalitet10. Støtte for systemadministrasjon

Page 20: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 20

Merk

❒ Listen av byggestener er ikke absolutt❒ Enkelte OS mangler enkelte av delene❒ Andre OS har tillegsmoduler

❍ Monitor for hele systemet❍ Feilhåndtering❍ ...

❒ Noen moduler er synlige for sluttbruker❍ Spesielt brukergrensesnittet

❒ Andre er interne, men de fleste modulene har et API som gjør tjenestene deres tilgjengelige for applikasjonsprogrammer.

Page 21: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 21

Brukergrensesnitt

❒ Kommandolinjebasert❍ MS-DOS❍ UNIX

• C-shell, Bourne shell, etc.• Flere shell mulige på samme tid, ikke tett integrert i

OS.❍ Tillater ”scripting”

• Filer med shell-kommandoer og flyt-kontroll uttrykk• Kan kjøres som programmer

❒ Grafisk❍ Basert på musklikk, musbevegelser og rullgardinmenyer❍ Enkelt å lære, lett å bruke❍ Vanskeliggjør integrerte scripting muligheter (jfr.

Mackintosh sin gamle ”opptaks” funksjon).

Page 22: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 22

Filsystem

❒ En fil er en ”logisk” lagringsenhet identifisert ved et navn

❍ Logisk først og fremst for den som har laget filen❒ Et filsystem kobler hver logiske lagringsenhet til

detfysiske stedet der den er lagret.❒ Filsystemets oppgaver er

❍ Vedlikeholde kataloger over filer og ledig diskplass, og over hvor disse er lokalisert.

❍ Tilby muligheter til å manøvrere i filstrukturen, flytte, kopiere, lese og fjerne filer

❍ Sikkerhetsmekanismer som beskytter filer mot uautorisert tilgang og endring.

❍ Skjule egenskapene til underliggende hardware (Disk og diskett skal kunne brukes på samme måte).

Page 23: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 23

I/O kontrollsystem

❒ Består av drivere for hver enkelt ekstern ”fysisk” komponent i systemet.

❍ Skriver, nettverkskort, scanner...❒ Enkelte av driverene ligger i ROM slik at de kan

benyttes under bootstrap❍ Tastatur, skjerm, enkle disk-funksjoner.

❒ Drivere for nyinstallert hardware må legges til og integreres i OS.

❍ Når du har kjøpt ny skriver må du ofte installere driveren, og så starte maskinen på nytt.

❒ Filsystemet bruker disk-driveren til å skrive data til forskjellige sektorer på disken.

Page 24: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 24

Prosesskontroll

❒ En prosess er (noe forenklet) et program som kjører.

❒ Hver prosess har noen attributter som OS må administrere❍ Plass i hukommelsen, programteller,

registerverdier, åpne filer etc.❍ Hvorvidt den kjører, venter på I/O, er klar til å

kjøre, er terminert.❒ Prosesskontrollen står for denne

administrasjonen, samt for interprosesskommunikasjon.

Page 25: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 25

Minneadministrasjon

❒ Har oppgaven med å laste inn programmer i minnet på en slik måte at alle lastede programmer får tilstrekkelig med hukommelse.

❒ Holder rede på hvilke deler av hukommelsen er brukt av hvilke programmer

❒ Holder rede på ledig hukommelse❒ Hindrer programmer i å skrive og lese utenfor sitt

område.❒ Vedlikeholder køer av programmer som venter på å

få tildelt hukommelsesplass❒ Allokerer hukommelse til førstemann i køen når et

blir plass❒ Deallokerer hukommelsen til et program som har

terminert.

Page 26: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 26

Skedulering

❒ OS må allokere CPU tid til hvert enkelt program som kjører.

❒ Høy-nivå skedulering❍ Velger programmer som skal få lov til å legges i

prosesseringskøen.❍ (for mange aktive programmer får hele

systemet til å gå tregere)❒ Dispatching

❍ Valg av prosess i prosesseringskøen som slipper til CPU’en nå

Page 27: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 27

Skedulering forts.

❒ Dispatching skjer i henhold til system-policy❍ Alle får like mye, eller❍ Totalytelsen til systemet skal bli best mulig,

eller❍ Noen programmer har høyere prioritet enn

andre❒ Dispatcher foretar også ”kontekstbytte”

❍ Bytte av den prosessen som er aktiv på CPU’en❒ Kan være preemptive, eller non-preemptive.

Page 28: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 28

Diskadministrasjon

❒ Skedulerer diskforespørsler fra forskjellige brukere og programmer for å bedre ytelsen

❒ Det enkleste er en FIFO kø.❍ Lønner seg ikke med tanke på at disk-lesing krever fysisk

vandring av disk-hodet.❍ Tar ikke hensyn til at prosesser kan ha forskjellig

prioritet.❒ Diskadministratoren kan velge å lese alle

etterspurte datablokker i en ende av disken, før den lese data fra den andre enden.

Page 29: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 29

Sikkerhet og beskyttelse

❒ I moderne OS kan applikasjonsprogrammer bare aksessere data i sitt eget hukommelsesområde direkte.

❒ Tilgang til andre fasiliteter (Disk, I/O andre deler av hukommelsen) må den be operativsystemet om å utføre for seg, eller om lov til å benytte.

❒ Dette gir OS full kontroll over hvordan hver enkelt ressurs benyttes av hvert enkelt program

❒ Operativsystemet tildeler rettigheter til brukerprosessene i en egen ”beskyttet” modus.

❒ Dette er gjerne støttet i hardware ved design av CPU’en.

Page 30: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 30

Nettverksfunksjonalitet

❒ Bygger på I/O-tjenestene❒ Implementerer kommunikasjonstjenester

på toppen av disse❍ IP❍ TCP❍ Filoverføring❍ Telnet/fjerninnlogging❍ Fjernprosedyrekall❍ ...

Page 31: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 31

Systemadministrasjon

❒ Konfigurering av systemet❍ Montering og avmontering av disker❍ Fordeling av diskplass❍ Max. Størrelse på køer etc.

❒ Brukeradministrasjon❍ Oppretting og fjerning av brukere❍ Tildeling av rettigheter❍ ...

Page 32: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 32

Systemgenerering

❒ Tilpassing av et operativsystem til en gitt installasjon/maskin

❍ Ta med bare de drivere som er nødvendige❍ Ta med bare de modulene som trengs❍ Parametrisere antall samtiditge brukere, interrupt

kanaler etc.❒ Fleksibiliteten varierer fra OS til OS❒ Noen OS gir full tilgang til kildekode (Linux)❒ Andre tar systemgenereringsparametre fra en fil❒ Atter andre avføler systemet ved oppstart, og

installerer de komponenter som trengs.

Page 33: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 33

OS-organisering

❒ Ingen standardisert enighet-slik som det for eksempel er for kompilatorer og kommunikasjonsprotokoller

❒ Tre vanlige modeller❍ Monolittisk❍ Lagdelt, hierarkisk❍ mikrokjerne

Page 34: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 34

Monolittisk

❒ F. eks UNIX❒ Residente deler av

systemet ligger i en monolittisk kjerne

❒ Tilgang til disse er styrt gjennom shell

❒ Tilleggsmoduler ligger utenpå disse igjen

❒ Ulempen med en monolittisk kjerne er stabilitet og integritet – en defekt driver kan ta livet av hele systemet.

Page 35: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 35

Lagdelt

❒ Det ytterste laget er det eneste som er synlig for brukeren

❒ Hvert lag bruker tjenester fra lagene innenfor, aldri omvendt

❒ Inneffektivt med mange kall utenfra og inn

❒ Fordeler er stabilitet og integritet.

Page 36: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 36

Mikrokjerne

❒ Kjerne med minimal funksjonalitet (avbruddshåndtering, hukommelses-administrasjon, skedulering)

❒ Andre tjenester i moduler.❒ Kjernen bruker modulene etter en klient-tjener modell❒ Fordel med modulært design – moduler kan byttes ut, portabelt,

utvidbart❒ Mye meldingsoverhead

Page 37: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 37

Operativsystemkategorier

❒ Single-user, single-tasking❍ Historisk viktig, men sjeldne nå (unntatt i

enkelte PDA’er)❒ Single-user, multitasking

❍ De fleste PC’er og arbeidsstasjoner er konfigurert slik, selv om de kan konfigureres som flerbrukermaskiner.

❒ Multiuser, multitasking❍ Gamle ”stormaskiner”. OS for mindre maskiner

har gjerne funksjonaliteten som skal til, men bortsett fra enkelte tjenere er det sjelden i bruk.

Page 38: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 38

Operativsystemkategorier forts.❒ Distribuerte operativsystemer

❍ Under rivende utvikling ❍ Støtte for administrasjon av distribuerte ressurser.❍ Støtte for ”Remote Method Invocationn” (F. Eks CORBA)

❒ Nettverkstjenere.❍ Ligner flerbrukersystemer på mange måter, men er

hovedsaklig belastet med å betjene klienter over et nettverk.

❍ Backup, databasetjener, skrivertjenester etc.❍ Benyttes gjerne som multiuser-maskiner i tillegg.

Page 39: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 39

Operativsystemkategorier forts.❒ Sanntids-systemer

❍ Brukes til anvendelser med harde sanntidskrav❍ Styring av fly, kjernereaktorer etc.❍ Gir svært høy prioritet til avbrudd for

prosessering av sanntids programmer.❒ Innbakte (embedded) systemer

❍ Spesialisert for å kontrollere en enkelt type utstyr – en bil, en mobiltelefon, en mikrobølgeovn, en innbruddsalarm, en ...

Page 40: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 40

Historisk utvikling

❒ De første maskinene❍ Slutten av 40-tallet: Intet operativsystem❍ En ”ingeniør” programmerte maskinen ved hjelp

av ledninger eller brytere❒ Slutten av 50-tallet

❍ Lastet inn programmer vha. kortlesere❒ 1963 Burroughs Master Control Program

❍ Høynivå språk❍ Virtuelt minne

Page 41: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 41

Historisk utvikling forts.

❒ 1964 IBM OS/360❍ Enkel multiprosessering og skedulering

❒ (MULTICS og) UNIX❍ Multitasking, time-sharing, hierarkisk filsystem,

C, interprosesskommunikasjon, enkle nettverksfasiliteter, og enkel støtte for distribusjon.

❒ På 70-tallet XEROX PARC, senere Apple❍ Grafisk brukergrensesnitt

Page 42: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 42

Historisk utvikling forts.

❒ 1982 IBM Personal Computer❍ PC-DOS/MS-DOS❍ Back to basic ”Single user- single task”❍ Vikig på grunn av sin utbredelse❍ Senere forbedret på mange punkter❍ Forbedringene inspirert av UNIX (hierarkisk

filstruktur, kommandoset, memory-håndtering etc.) og av Macintosh OS (brukergrensesnitt, vindussystem).

Page 43: Introduksjon til operativsystemerheim.ifi.uio.no/~inf103/Forelesninger/uke-44o.pdf · Introduksjon Operativsystemer 29 Sikkerhet og beskyttelse I moderne OS kan applikasjonsprogrammer

Introduksjon Operativsystemer 43

Fremdeles rom for utvikling

❒ Maskiner tas i bruk på nye områder i stadig høyere tempo

❒ Høyere ytelse på hardware-komponentene stiller nye krav til OS hva gjelder å gjøre denne ytelsen tilgjengelig for brukerene.

❒ Nye anvendelser med sanntidskrav stiller OS overfor nye utfordringer.

❒ Internettet åpner for distribuert prosessering. OS er en sentral komponent i realiseringen av mulige fremtidige anvendelser.