HGSKOLEN I AGDER Agder University College Operativsystemer Hva

  • Slides: 20
Download presentation
HØGSKOLEN I AGDER Agder University College Operativsystemer Hva gjør et operativsystem? © Bodil Ask,

HØGSKOLEN I AGDER Agder University College Operativsystemer Hva gjør et operativsystem? © Bodil Ask, 2004 1

HØGSKOLEN I AGDER Agder University College OPERATIVSYSTEM (OS) To hovedmåter å betrakte et OS

HØGSKOLEN I AGDER Agder University College OPERATIVSYSTEM (OS) To hovedmåter å betrakte et OS på: • Utvidet/virtuell maskin • som sørger for at brukeren får et greit grensesnitt • som skjuler den kompliserte hardware, alle fysiske komponenter • Ressurs-fordeler • som forsyner brukeren med en kontollert tilgang til de forskjellige ressursene © Bodil Ask, 2004 2

HØGSKOLEN I AGDER Agder University College Styring av ressurser • Et operativsystem utgjør ”styresystemet”

HØGSKOLEN I AGDER Agder University College Styring av ressurser • Et operativsystem utgjør ”styresystemet” i en PC og sørger for at alle ting skjer til rett tid: • • OS holder PC´ens ulike programmer i gang OS kontrollerer all aktivitet i PC´en OS administrerer all flyt av data (til og fra de ulike deler) OS sørger for å lese tastetrykk OS styrer visningen av informasjon på skjermen OS ”trekker i trådene” og styrer alle brukerprogram OS holder styr på brukere og rettigheter © Bodil Ask, 2004 3

HØGSKOLEN I AGDER Agder University College Brukerprogram ~ Operativsystem ~ Hardware • Operativsystemet er

HØGSKOLEN I AGDER Agder University College Brukerprogram ~ Operativsystem ~ Hardware • Operativsystemet er den viktige ”administrator” som gjør at alle brukerprogram kan kjøres på PC´en og benytte seg av den hardware som finnes (minne, disker, tastatur, skjerm mv) OPERATIVSYSTEMET BIOS HARDWARE © Bodil Ask, 2004 4

HØGSKOLEN I AGDER Agder University College Lagdeling • Vi kan betrakte de ulike programdeler

HØGSKOLEN I AGDER Agder University College Lagdeling • Vi kan betrakte de ulike programdeler i en PC som forskjellige lag stablet oppå hverandre, og som er gjensidig avhengige av hverandre Banksystem Spill Kompilator Editor Tekstbehandling Kommandotolker Applikasjonsprogram Systemprogram Operativsystem Maskinspråk Mikroprogrammering Hardware Maskinvare © Bodil Ask, 2004 5

HØGSKOLEN I AGDER Agder University College OS som ”administrator” Operativsystemet administrerer de ulike aktiviteter

HØGSKOLEN I AGDER Agder University College OS som ”administrator” Operativsystemet administrerer de ulike aktiviteter • File-manager holder styr på alle filer som åpnes • I/O-manager styrer all input og output • Memory manager styrer minnet spill Tekstbehandling Regneark kompilator fil-administrasjon input/output-manager utstyrsdriver tastatur utstyrsdriver skjerm utstyrsdriver mus memory -manager utstyrsdriver harddisk utstyrsdriver skriver primærlager (illustrasjon hentet fra G. Maribu) © Bodil Ask, 2004 6

HØGSKOLEN I AGDER Agder University College Hovedoppgaver for OS Et operativsystem har 3 hovedoppgaver:

HØGSKOLEN I AGDER Agder University College Hovedoppgaver for OS Et operativsystem har 3 hovedoppgaver: • Kontrollere og styre bruken av alt utstyr (maskinutstyr og programvare) • Starte utføringen av programmer • Holde oversikt over lager, styre framhenting og lagring av data © Bodil Ask, 2004 7

HØGSKOLEN I AGDER Agder University College Brukergrensesnittet • Operativsystemet gir brukeren et oversiktlig og

HØGSKOLEN I AGDER Agder University College Brukergrensesnittet • Operativsystemet gir brukeren et oversiktlig og visuelt grensesnitt • OS skjuler den kompliserte underliggende hardware • Inn- og ut- (I/O) funksjoner som READ og WRITE er meget kompliserte funksjoner som OS styrer veldig greit for oss • OS er også en ressursfordeler • OS skal forsyne brukeren med en kontrollert tilgang til de forskjellige ressurser • prosessor, minne, klokke, disker, etc. • OS kan ha flere programmer kjørende samtidig • Hvert program skal kjøres uavhengig i egen ”tidsluke” © Bodil Ask, 2004 8

HØGSKOLEN I AGDER Agder University College Grafiske grensesnitt: • programmer og filer er representert

HØGSKOLEN I AGDER Agder University College Grafiske grensesnitt: • programmer og filer er representert i form av ikoner • pek og klikk teknikk (bruker mus) • velger fra menyer og bruker dialogbokser Tekstlige grensesnitt: • brukes også i dag, men helst av systemadministratorer • tar liten plass • en del gamle kunne bare håndtere tekstkommunikasjon med brukeren. © Bodil Ask, 2004 9

HØGSKOLEN I AGDER Agder University College Klassifisering av operativsystemer • En-bruker operativsystem • En-funksjonssystem

HØGSKOLEN I AGDER Agder University College Klassifisering av operativsystemer • En-bruker operativsystem • En-funksjonssystem (stort sett ute av bruk i dag) • Flerfunksjonssystem (Multitasking) • Flerbruker operativsystemer (også kalt tidsdelingssystemer) Fordeler: felles data, stor hurtig maskin, flere jobbe samtidig • Ulemper: Kø, ventetid © Bodil Ask, 2004 10

HØGSKOLEN I AGDER Agder University College Kommandoer og systemkall • Operativsystemet skjuler kompleksiteten ved

HØGSKOLEN I AGDER Agder University College Kommandoer og systemkall • Operativsystemet skjuler kompleksiteten ved at det tilbyr sine tjenester gjennom det som kalles • • - kommandoer og - systemkall • En kommando kan ses på som et lite program som kaller opp systemkallene til operativsystemet • For eksempel vil en kommando for å kopiere en fil kalle opp systemkallene ’read’, ’write’, ’open’, ’close’ © Bodil Ask, 2004 11

HØGSKOLEN I AGDER Agder University College Operativsystemets modi OS kan befinne seg i to

HØGSKOLEN I AGDER Agder University College Operativsystemets modi OS kan befinne seg i to forskjellige modi: • - brukermodus • - kjernemodus • Brukermodus innebærer operasjoner mot egne data • Hvis programmet/brukerapplikasjonen utfører instruksjoner mot egne dataområder i primærlageret, så er det i brukermodus • Systemkall skjer i kjernemodus • Skal programmet for eksempel lese noe fra tastatur eller disk, må programmet utføre et systemkall og går over i kjernemodus © Bodil Ask, 2004 12

HØGSKOLEN I AGDER Agder University College Brukermodus ~ kjernemodus Applikasjonen kjører i brukermodus, mens

HØGSKOLEN I AGDER Agder University College Brukermodus ~ kjernemodus Applikasjonen kjører i brukermodus, mens OS kjører i kjernemodus 1. 2. 3. 4. Applikasjonen/ brukerprogrammet har behov for en funksjon, og overlater kontrollen til OS, ved å gjøre et kall til OS-kjernen OS bestemmer hvilken service som trengs OS lokaliserer og gjør oppkall til den aktuelle service-prosedyre Kontroll returneres tilbake til applikasjonen/ brukerprogrammet Applikasjon Brukermodus (user mode) 4 1 3 Service-prosedyre 2 Kjernemodus (kernel mode) (illustrasjon hentet fra G. Maribu) © Bodil Ask, 2004 13

HØGSKOLEN I AGDER Agder University College Kjerne modus • Kjernemodus er en modus som

HØGSKOLEN I AGDER Agder University College Kjerne modus • Kjernemodus er en modus som fullstendig blir styrt og kontrollert av operativsystemet • Kjernemodus sikrer programmet ditt fra å gjøre ulovlige operasjoner, for eksempel lese fra andre sine områder på disken, skrive over systemfiler etc © Bodil Ask, 2004 14

HØGSKOLEN I AGDER Agder University College Memory management • Den delen av OS som

HØGSKOLEN I AGDER Agder University College Memory management • Den delen av OS som håndterer minnet (internminnet) blir kalt minnehåndterer eller memory management • Oppgaven er å holde orden på: • • hvilke deler av minnet som er i bruk hvilke deler av minnet som ikke er i bruk tildeling av minne til prosesser swapping av prosesser mellom internt og eksternt minne © Bodil Ask, 2004 15

HØGSKOLEN I AGDER Agder University College Multi-tasking • OS sørger for at ulike prosesser

HØGSKOLEN I AGDER Agder University College Multi-tasking • OS sørger for at ulike prosesser kan kjøres samtidig • Dette oppnås ved å tildele forskjellige tidsluker til prosessene • Et visst antall klokkesykluser brukes da til de ulike prosessene, uten at brukeren merker at operasjonene er ”oppstykket” i tid • En prosess er et kjørbart program eller service som går • Dette kan være feks et program som Word • En ”bakgrunnsjobb” som en printer spooler • OS knytter opp ”tråder” (threads) til alle prosesser • Tråder muliggjør flere samtidige operasjoner innen en prosess • Ved bruk av tråder kan flere prosesser kjøre ulike deler av et program uten at det oppstår konflikter © Bodil Ask, 2004 16

HØGSKOLEN I AGDER Agder University College Deling av ressurser: • Prosessortid (CPU-tid) • Vanligvis

HØGSKOLEN I AGDER Agder University College Deling av ressurser: • Prosessortid (CPU-tid) • Vanligvis er det bare en prosessor i maskinen, mens det kan være mange program. OS må da sørge for at alle programmene får sin del av prosessortiden • Fordelingen skjer ved at prosessoren blir avbrutt med jevne mellomrom og jobben som den holdt på med blir tatt ut, mens en annen jobb (prosess) blir tildelt CPU-tid • Vi makter vanligvis ikke å registrere diss skiftene mellom de forskjellige prosessene som har CPU-tid © Bodil Ask, 2004 17

HØGSKOLEN I AGDER Agder University College • Deling av ressurser: • Minne: En prosess

HØGSKOLEN I AGDER Agder University College • Deling av ressurser: • Minne: En prosess blir tildelt en viss lagerplass i internminne når den skal kjøre (allokere plass) • Minneallokering (tildeling av plass i minnet) skjer via et minnehåndteringsprogram. Dette sørger for at hver prosess får sin egen plass i minnet. Programmet sørger også for at der ikke skjer en sammenblanding. • Minnet er delt opp fysiske adresser. Hver prosess får tildelt sine egne fysiske adresser © Bodil Ask, 2004 18

HØGSKOLEN I AGDER Agder University College Deling av ressurser: • Styring av eksterne enheter

HØGSKOLEN I AGDER Agder University College Deling av ressurser: • Styring av eksterne enheter • op. sys. registrerer hvilke eksterne enheter som er knyttet opp til datamaskinen • styrer tilgangen til disse enhetene, eks. skrivere slik at ikke flere får tilgang til samme skriver samtidig. • Filhåndtering • holder orden på hvor filene er lagret i maskinens sekundærminne (eksternminne) • holder orden på ledige områder på eksternminne • holder orden på hvem som har anledning til å skrive på ei fil osv. © Bodil Ask, 2004 19

HØGSKOLEN I AGDER Agder University College Håndtering av Interrupt • CPU’en kan få avbrudd

HØGSKOLEN I AGDER Agder University College Håndtering av Interrupt • CPU’en kan få avbrudd fra maskinvaren • (disk, klokke, I/O-enheter) • Avbrudd kommer asynkront (når som helst) • OS jobb: • • lagre statusen på det den holdt på med finne årsak til avbrudd utføre rutine på grunnlag av dette hente status for prosessen og fortsette © Bodil Ask, 2004 20