Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Om prosesser.

Liknende presentasjoner


Presentasjon om: "Om prosesser."— Utskrift av presentasjonen:

1 Om prosesser

2 Om prosesser Et dataprogram er programkode og programressurser som ligger på en eller flere filer på harddisken. Når vi starter et program og det lastes inn i datamaskinens minne får vi en prosess. Operativsystemer

3 Om prosesser Et program kan startes flere ganger. Dette vil da starte flere prosesser. Et program kan derfor gi opphav til flere prosesser. Operativsystemer

4 Om prosesser En prosess kan sees på som et arbeid som utføres av datamaskinen. En prosessor kjører en prosess ved å utføre instruksjonene til prosessen. Operativsystemer

5 Om prosesser Det kan være gunstig å betrakte prosesser som bestående av to deler Statisk del Dynamisk del Operativsystemer

6 Om prosesser Den statiske delen av en prosess kan sees på som ressurser prosessen bruker på en datamaskin. En prosess kan bestå av for eksempel Et stykke allokert minne En katalog En åpen fil Og lignende Operativsystemer

7 Om prosesser Den dynamiske delen av en prosess kan sees på som et program som kjører. Det vil si som et sett instruksjoner som utføres etter hverandre i prosessor. Den dynamiske delen av en prosess kalles for en tråd. Operativsystemer

8 Om prosesser Operativsystemet bruker strukturer til å holde rede på prosesser. For hver prosess som kjører har operativsystemet en struktur som kalles en prosess deskriptor. Operativsystemer

9 Om prosesser En prosess deskriptor har blant annet følgende informasjon Prosessens navn. Status for prosessen. Start tid for prosessen. En liste over tråder tilhørende prosessen. En beskrivelse over adresser i minnet. En liste med ressurser for prosessen. Operativsystemer

10 Om prosesser En tråd er et prosessobjekt som operativsystemet tildeler tid i prosessor. Selve prosessen danner en primærtråd som igjen kan starte nye tråder. Alle trådene i en prosess har felles og samme tilgang til prosessens ressurser. Operativsystemer

11 Om prosesser En prosessor kjører en prosess ved å utføre instruksjonene til prosessen. På en datamaskin kan det være bare en prosessor, men flere prosesser. Dette medfører at prosessene må bytte på å bruke prosessoren. Operativsystemer

12 Om prosesser En prosess kan ha flere tråder.
Trådene til en prosess er linket til prosessen som en liste. Operativsystemer

13 Om prosesser Siden trådene konkurrerer om prosessor har hver tråd en status. Status er enten aktiv eller ikke aktiv. Det vil si at en tråd enten er aktiv eller i ventestatus. Operativsystemer

14 Om prosesser En tråd som er startet kan sies å ha tre mulige tilstander Blokkert Satt i ventetilstand Klar Klar til å lastes inn i prosessor Aktiv Tråden disponerer prosessor Operativsystemer

15 Om prosesser Prosessoren kjører tråd etter tråd og skifter derfor hele tiden mellom å kjøre tråder. Prosedyren å fjerne en tråd for å allokere en ny tråd i prosessoren kalles for trådutskifting (Context Switching). Operativsystemer

16 Om prosesser En tråd deskriptor er en datastruktur som operativsystemet bruker til å få informasjon som den trenger for å kunne behandle en tråd. Operativsystemer

17 Om prosesser En tråd deskriptor har følgende informasjon om tråden
En beskrivelse av tråden. Trådens status. Start tid. En referanse til prosessens deskriptor. En liste til tråder tilhørende tråden. En referanse til trådens ressurser. Operativsystemer

18 Om prosesser Et operativsystem har en prosessbehandler (Process Manager) som har som oppgave å implementere prosesser, tråder og ressurser som det er behov for. Operativsystemer

19 Om prosesser Prosessbehandleren har følgende oppgaver
Starte og avslutte prosesser. Starte og avslutte tråder. Prosessbehandleren kaller objekt behandleren for å opprette et prosess objekt. Objekt behandleren returnerer en hendel til prosess objektet. Operativsystemer

20 Om prosesser Prosessbehandleren tar seg ikke av prosessplanlegging (Scheduling) og synkronisering av tråder. Dette er det kjernelaget som tar seg av. Operativsystemer

21 Om prosesser Ved trådutskifting (Context Switching) fjernes en tråd fra prosessor. All informasjon om tråden blir lagret slik at tråden kan fortsette å kjøre på akkurat samme måte neste gang den kommer i prosessoren. Operativsystemer

22 Om prosesser Vanligvis er det flere tråder som konkurrerer om å komme inn i prosessoren. Ved prosessplanlegging (Scheduling) bestemmes rekkefølgen som trådene skal komme inn i prosessor. Operativsystemer

23 Om prosesser Den viktigste oppgaven til en prosess-planlegger (Scheduler) er å fordele prosessoren på trådene på best mulig måte. Operativsystemer

24 Om prosesser En måte å organisere prosessplanlegging på er å gi trådene forskjellig prioritet. Tråder med høy prioritet gis lettere tilgang til prosessoren enn de med lav prioritet. Operativsystemer

25 Om prosesser Prosessplanlegging kan ha stor effekt på datamaskinens ytelse, siden det avgjør når en prosess eller tråd skal lastes inn i prosessoren. Om en tråd ignoreres og aldri lastes i prosessor kalles dette sulting (Starvation). Operativsystemer

26 Om prosesser Hvordan prosessplanlegging skal organiseres er et klassisk forskningsproblem for operativsystemer. Moderne algoritmer for prosessplanlegging bruker gjerne prioritet. Det vil si at ulike tråder får forskjellig prioritet. Operativsystemer

27 Om jobber Windows kan gruppere prosesser slik at de kan samarbeide.
En slik gruppe av prosesser kalles en jobb. En prosess kan kun være i en jobb om gangen. Operativsystemer

28 Om jobber Å gruppere prosesser i jobber er kun aktuelt når prosessene behøver å samarbeide. En jobb er i operativsystemet et objekt som kalles et jobbobjekt. Et jobbobjekt er et kjerneobjekt som kan gis et navn og har høy sikkerhet. Operativsystemer

29 Om Microsofts operativsystemer

30 MS-DOS Microsofts første operativsystem for PC var MS-DOS.
DOS = Disk Operating System MS-DOS var det vanligste operativsystemet på PC-er inntil Windows overtok. Operativsystemer

31 MS-DOS MS-DOS lå også som operativsystem i bunnen på de første versjonene av Windows. De første versjonene av Windows var kun et grafisk program som brukte MS-DOS som operativsystem. Operativsystemer

32 MS-DOS Microsoft lagde mange versjoner av MS-DOS.
MS-DOS 8.0 som var den siste versjonen ble lansert i år 2000. Operativsystemer

33 De første Windows versjonene
Første versjon av Windows kom i 1983. De første versjonene av Windows (1.0 og 2.0) ble ingen suksess. Årsaken var lite programvare for Windows og det som var, var ustabilt og enkelt. Operativsystemer

34 De første Windows versjonene
Først på begynnelsen av 1990 tallet ble Windows tatt i bruk. 1990: Windows millioner kopier solgt 1991: Windows Windows blir utbredt Operativsystemer

35 Windows 95 Windows 95 var en kraftig utvidelse av Windows 3.0
- Mer brukervennlig. - Mulighet for multitasking. - Plug and play (automatisk gjenkjenning og konfigurering av utstyr). - Bedre nettverksegenskaper. Operativsystemer

36 Windows 9x familien 1995: Windows 95 1998: Windows 98 2000: Windows Millennium Disse versjonene av Windows var ganske like og ble kalt Windows 9x. Operativsystemer

37 Windows NT Datamaskinene fikk stadig mer minne, høyere prosessorhastighet og mer diskplass. MS-DOS var ikke laget for å håndtere mye minne. MS-DOS var heller ikke laget for multiprosessering. Det ble behov for et nytt operativsystem. Operativsystemer

38 Windows NT Dette førte til et nytt operativsystem som ble kalt Windows NT. NT er en forkortelse for New Technology. Operativsystemer

39 Windows NT 3.0 Første versjon av Windows NT kaltes Windows NT 3.0
Dette fordi Windows NT 3.0 kom på samme tid som Windows 3.0 Operativsystemer

40 Windows NT 4.0 Ved Windows NT 4.0 ble Windows NT tatt alminnelig i bruk som operativsystem. Windows NT 4.0 var et avansert 32-bits operativsystem laget for å være sikkert, stabilt og fleksibelt. Operativsystemer

41 Windows NT 4.0 Windows NT 4.0 gjorde det mulig å benytte flere prosessorer i den samme datamaskinen. Windows NT 4.0 kunne utnytte et stort minne og store harddisker. Dette gjorde at operativsystemet var godt skalerbart. Operativsystemer

42 Windows NT 4.0 NT finnes både for arbeidsstasjoner og servere
- Windows NT Workstation - Windows NT Server Operativsystemer

43 Windows NT Windows NT har i dag stor betydning som operativsystem.
Man finner varianter av Windows NT på PC-er, bærbare maskiner og servere i nettverk over hele verden. Windows NT brukes også i spillkonsoller som Xbox. Operativsystemer

44 Windows NT Enbruker versjoner som bygger på Windows NT er Windows 2000
Windows Xp Windows Vista Windows 7 Operativsystemer

45 Windows Vista

46 Windows Vista Windows Vista kom november 2006 og inneholdt flere hundre nye og omarbeidede egenskaper. Operativsystemer

47 Windows Vista En av nyhetene i Windows Vista var et oppdatert grafisk brukergrensesnitt som kalles Windows Aero. Aero står for Authentic, Energetic, Reflective, and Open. Dette brukergrensesnittet var bedre enn tidligere versjoner av Windows. Operativsystemer

48 Windows Vista Windows Xp og tidligere versjoner av Windows ble ofte blitt kritisert for manglende sikkerhet. I Windows Vista ble derfor sikkerheten forbedret. Operativsystemer

49 Om fibrer Fibrer er nytt i Windows operativsystem og kom med Windows Vista. Fibrer er en type tråder, men har litt andre egenskaper enn vanlige tråder. Fibrer blir ofte kalt lettvektstråder. Operativsystemer

50 Om fibrer Fibrer tillater programmer å prosess-planlegge sine egne tråder istedenfor å bruke prioritetsbasert prosessplanlegging. Prosessplanlegging av en fiber er derfor ikke operativsystemstyrt liksom for tråder. Operativsystemer

51 Windows Server

52 Windows Server Microsoft har laget flere utgaver av Windows operativsystem tilpasset oppgaven å være server i lokalnett. Microsofts første forsøk på å lage et operativsystem med nettverksfunksjoner var Windows 3.11 som kom 1992. Operativsystemer

53 Windows Server Windows 3.11 ble kalt Windows for Workgroups og hadde tilleggsfunksjoner som ga nettverksstøtte. Nettverkskort og kabler. Deling av kataloger, disker og skrivere. E-post og chat-funksjonalitet. Operativsystemer

54 Windows Server Men det var ved Windows NT at Microsoft begynte å utvikle operativsystemer som var beregnet til å fungere som en server i et nettverk. Operativsystemer

55 Windows Server Følgende viser serverversjonene av Windows
Windows NT 4.0 Server Windows Server 2000 Windows Server 2003 Windows Server 2008 Operativsystemer

56 Windows 2008 Server Windows 2008 Server kom i februar 2008 og etterfulgte Windows 2003 Server. Windows 2008 Server er bygd på samme kode som Windows Vista. Windows 2008 Server har derfor mye av den samme arkitektur og funksjonalitet som Windows Vista. Operativsystemer

57 Windows 2008 Server Windows 2008 er en oppgradering av Windows 2003 Server. Windows 2008 Server har forbedringer i Sikkerhet Active Directory Group policy Disk behandling Operativsystemer

58 Windows 2008 Server Windows 2008 Server fins i mange varianter. De vanligste variantene er Windows 2008 Server Standard Edition Windows 2008 Server Enterprise Edition Windows 2008 Server Datacenter Edition Windows 2008 Server Web Edition Operativsystemer

59 Windows 7

60 Windows 7 Windows 7 er navnet på nåværende versjon av Windows.
I motsetning til tidligere versjoner av Windows har ikke Windows 7 en masse nye egenskaper. Operativsystemer

61 Windows 7 Windows 7 har vært en oppgradering av Windows Vista.
Målet med Windows 7 er et operativsystem som har økt funksjonalitet og ytelse i forhold til tidligere versjoner. Det er derfor en del nyheter med tanke på dette. Operativsystemer

62 Windows 7 Noen nyheter i Windows 7
Bedre støtte for virtuelle harddisker. Bedre utnytting av flere prosessorer. Forbedrede media egenskaper. Raskere oppstart av maskin. Operativsystemer

63 Om den indre oppbyggingen av Windows operativsystem

64 Windows operativsystem
Operativsystemer er gjerne svært store programmer. Antall linjer C/C++ kode i noen Windows versjoner Windows NT millioner linjer Windows NT millioner linjer Windows millioner linjer Windows Xp 50 millioner linjer Windows Vista 70 millioner linjer Operativsystemer

65 Windows operativsystem
Vi skal se på noen sentrale begreper i Windows operativsystem Objekter og hendler Windows API Unicode Operativsystemer

66 Objekter og hendler Objekter i Windows operativsystem er strukturer som det oppbevares data i. Objekter benyttes mye i Windows operativsystem, for eksempel er prosesser og tråder objekter. Operativsystemer

67 Objekter og hendler Ikke alle data i Windows operativsystem er objekter. Bare data som behøver å deles, bli beskyttet eller være synlige for brukerprogrammer, er plassert i objekter. Operativsystemer

68 Objekter og hendler Objekter har følgende viktige oppgave i operativsystemet. Å gi navn på systemressurser som er leselige for mennesker. Å dele ressurser og data mellom prosesser. Beskytte ressurser mot uautorisert adgang. Å holde rede på når data ikke lenger er i bruk og kan slettes. Operativsystemer

69 Objekter og hendler Objekter opprettes ved funksjonskall.
Når det lages et objekt returneres en hendel til objektet. En hendel blir benyttet til å få tak i data og funksjoner i objektet. Operativsystemer

70 Objekter og hendler En hendel (Handle) er en type peker som benyttes i Windows. Et program har ikke direkte tilgang til data i objekter. Derfor må programmer bruke en hendel for å kunne nå og endre på data i objekter. Operativsystemer

71 Windows API Windows API er et bibliotek med funksjoner som danner et grensesnitt mellom Windows operativsystem og brukerprogrammer. Hovedoppgaven til Windows API er å ta seg av kommunikasjon mellom operativsystemet og brukerprogrammer. Operativsystemer

72 Windows API Windows API er et gammelt bibliotek og benyttes av alle Windows versjoner fra Windows 95 og oppover. API = Application Program Interface Operativsystemer

73 Windows API Når en programmerer som utvikler et program for Windows skal kommunisere med operativsystemet, skjer dette ved kall til funksjoner i Windows API. Operativsystemer

74 Windows API Noen eksempler på funksjonskall programmerere kan bruke i Windows API er WriteFile Skrive til fil. CreateProcess Starte en prosess. SetFocus Gi fokus til et objekt. GetLocalTime Hente klokkeslettet. CloseWindow Lukke et vindu. Operativsystemer

75 Windows API All programvare laget for Windows samarbeider med og benytter Windows API. For eksempel vil programmer få tak i hendelser i Windows som tastetrykk, bevegelse av mus, innsetting av en CD eller en USB penn, via funksjoner i Windows API. Operativsystemer

76 Windows API Windows API kan deles i følgende
Administrasjon og management Diagnostisering Grafikk og multimedia Nettverk Sikkerhet System tjenester Windows brukergrensesnitt Operativsystemer

77 Unicode Windows er forskjellig fra de fleste andre operativsystemer ved at de fleste tekststrenger består av Unicode tegn som har en vidde på 16-bit. Unicode er et internasjonalt tegnsett som kan representere alle bokstaver og tegn i verden. Operativsystemer

78 Unicode Den mest brukte tegn standarden har tidligere vært ASCII.
ASCII = American Standard Code for Information Interchange. Men ASCII har bare 256 tegn og dette strekker ikke til i en internasjonal verden. Operativsystemer

79 Unicode Fordelen med Unicode er at det tillater flerspråklig kommunikasjon. Unicode gjør det mulig å representere flere språk i et og samme dokument. For mange språk er det vanskelig eller umulig å gjøre dette uten å bruke Unicode. Operativsystemer

80 Tjenester, funksjoner og rutiner
I forbindelse med operativsystemer snakker man om tjenester, funksjoner og rutiner. En tjeneste defineres gjerne som en eller flere rutiner som utføres når man kaller på dem. Operativsystemer

81 Tjenester, funksjoner og rutiner
Hva som er forskjellen på en tjeneste, en funksjon og en rutine er en definisjonssak. Vi skal i det følgende se litt på hvordan disse uttrykkene benyttes i forbindelse med ulike deler av operativsystemet Windows. Operativsystemer

82 Tjenester, funksjoner og rutiner
I Windows bruker man følgende terminologi Windows API funksjoner Systemtjenester i Windows Kjernefunksjoner Windows tjenester DLL-er Operativsystemer

83 Tjenester, funksjoner og rutiner
Windows API funksjoner er dokumenterte underrutiner som kan kalles fra brukerprogrammer. Når man arbeider med Windows API bruker man altså ordet funksjoner. Operativsystemer

84 Tjenester, funksjoner og rutiner
Systemtjenester (Native system services) i Windows er udokumenterte tjenester som kjører i kjernemodus. Drivere kan kalle disse tjenestene direkte. Programmer i brukermodus kan kalle dem via systemkall. Operativsystemer

85 Tjenester, funksjoner og rutiner
Kjernefunksjoner eller kjernerutiner (Kernel support functions or routines) er underrutiner i operativsystemet som bare kan kalles fra kjernemodus. Operativsystemer

86 Tjenester, funksjoner og rutiner
Windows tjenester (Windows Services) er prosesser som kjører i bakgrunnen og utfører en eller annen funksjon. Windows tjenester kan konfigureres slik at de starter automatisk når maskinen startes, men de kan også startes for hånd. Operativsystemer

87 Tjenester, funksjoner og rutiner
DLL-er (Dynamic Link Libraries) er underrutiner som kan kalles av programmer i brukermodus. Programmer i Windows benytter ofte DLL-er. Fordelen med DLL-er er at programmer kan dele dem og Windows sørger for at det bare er en kopi av en DLL i minnet om gangen. Operativsystemer

88 Arkitekturen til Windows

89 Arkitekturen til Windows
Noen sentrale komponenter i arkitekturen til Windows operativsystem er Brukermodus og kjernemodus Kjernen Hardware laget Windows utøvende tjenester Operativsystemer

90 Brukermodus og kjernemodus
Windows kjører i to modi Brukermodus Kjerne modus Operativsystemer

91 Brukermodus og kjernemodus
Brukerprogrammer kjører i brukermodus og prosesser tilhørende operativsystemet kjører i kjernemodus. Hensikten med at Windows kjører i to modi er å øke sikkerheten til operativsystemet. Operativsystemer

92 Brukermodus Programmer som kjører i brukermodus har kun begrenset tilgang til systemets ressurser. Programmer i brukermodus kan kun nå funksjoner og data i kjernemodus via Windows API. Operativsystemer

93 Kjernemodus Prosesser som kjører i kjernemodus har tilgang til all hardware og kan utføre alle oppgaver som er mulig på maskinen. Operativsystemer

94 Kjernemodus Sentrale komponenter i kjernemodus er Kjernen
Hardware laget Utøvende tjenester Operativsystemer

95 Kjernen i Windows Kjernen i et operativsystem refererer til den mest sentrale delen av operativsystemet. Kjernen (Kernel) danner en bro mellom brukerprogrammer og dataprosessering på hardware nivå. Operativsystemer

96 Kjernen i Windows Den viktigste oppgaven til kjernen er å tillate programmer å kjøre og å gi dem tilgang til hardware. For å kjøre et program setter kjernen opp et adresserom for programmet, laster programmets kode inn i minnet og gir programmet et stakklager. Operativsystemer

97 Kjernen i Windows Andre viktige oppgaver for kjernen
Det er kjernen som gir programmer adgang til prosessoren. Kjernen bestemmer hvilken del av datamaskinens minnet som en prosess kan bruke. Kjernen mottar forespørsler fra prosesser for å utføre input/output og gir tilgang til aktuelt utstyr. Operativsystemer

98 Kjernen i Windows Kjernen holder rede på hardware utstyr som er tilkoblet datamaskinen ved å ha en liste over dette utstyret. Det er kjernens oppgave å gi prosesser tilgang til hardware utstyr når det er behov for det. Operativsystemer

99 Hardwarelaget Hardwarelaget er et lag mellom fysisk hardware og programvare som kjører på operativsystemet. En oppgave for hardwarelaget er å få Windows operativsystem til å kunne fungere på ulike hardware plattformer. Operativsystemer

100 Hardwarelaget Hardwarelaget (Hardware Abstraction Layer) forkortes gjerne til HAL. Hardware Abstractions er et sett med rutiner som gir programmer tilgang til hardware utstyr uavhengig av hvilket fabrikat utstyret tilhører. Operativsystemer

101 Hardwarelaget Hardwarelaget utgjør et brukergrensesnitt mot hardwareutstyret på datamaskinen som operativsystemet skal virke på. Programmer i Windows vil derfor ikke kommunisere direkte med hardware, men kommuniserer med hardware via hardwarelaget . Operativsystemer

102 Windows utøvende tjenester
Utøvende tjenester (Executive Services) er tjenester i Windows operativsystem som hjelper programmer i brukermodus å kjøre på datamaskinsystemet. Operativsystemer

103 Windows utøvende tjenester
Utøvende tjenester inneholder mange grunnleggende tjenester i Windows operativsystem. For eksempel er det utøvende tjenester som behandler tråder og prosesser, datamaskinens minne og input/output. Operativsystemer

104 Windows utøvende tjenester
Noen hovedkomponenter i Windows utøvende tjenester Objekt behandleren Konfigurasjonsbehandleren Prosess og tråd behandleren Input/output behandleren Installasjon og konfigurasjonsbehandleren Strømforsyningsbehandleren Hurtigbuffer (cache) behandleren Minnebehandleren Operativsystemer

105 Systemprosesser

106 Systemprosesser Det er mange systemprosesser som alltid kjører i et hvert Windows system. Noen av disse er. Idle process Session Manager Winlogon Windows Subsystem Operativsystemer

107 Systemprosesser Idle process (den uvirksomme prosessen) består av en eller flere tråder i kjernen som kjører i prosessor når det ikke er andre tråder som kjører på maskinen. I et system med flere prosessorer er det en idle process for hver prosessor. Operativsystemer

108 Systemprosesser I datavitenskapen er en sesjon (Session) en aktiv utveksling av informasjon, også kalt en dialog, mellom to enheter. Sesjonsbehandleren er den første prosessen som blir laget i brukermodus. Sesjonsbehandleren har ansvaret for mange viktige trinn i oppstarten av Windows. Operativsystemer

109 Systemprosesser Windows Logon Process behandler innlogging og utlogging på systemet. Winlogon blir aktivisert når noen trykker Ctrl+Alt+Delete på tastaturet. Operativsystemer

110 Systemprosesser Windows Subsystem består av flere komponenter som har sentrale oppgaver i operativsystemet. Windows Subsystem tar seg blant annet av tastatur, mus og skjermbilde. Windows Subsystem er derfor nødvendig for at Windows skal kunne kjøre. Operativsystemer

111 Systemmekanismer

112 Systemmekanismer Windows operativsystem har mange mekanismer som blir benyttet av komponenter i kjernemodus. Disse mekanismene benyttes av komponenter som utøvende tjenester, kjernen og utstyrsdrivere. Operativsystemer

113 Systemmekanismer Noen systemmekanismer er Avbruddsignaler
Unntakssignaler Objekt behandleren Synkronisering Globale flagg Wow64 Operativsystemer

114 Avbruddsignaler Windows er et interaktivt operativsystem som venter på at hendelser skal skje. Eksempler på slike hendelser er trykk på tastaturet, museklikk eller innsetting av en CD. Operativsystemer

115 Avbruddsignaler Når slike hendelser inntreffer må de få tid til å utføres i prosessor. Og dette må skje med en gang slik at prosessor må avbryte det den holder på med for å utføre hendelsen. Operativsystemer

116 Avbruddsignaler For at en hendelse skal utføres med en gang den skjer benytter Windows avbruddsignaler (Interrupts). Dette medfører at en tråd som er i prosessor kan avbrytes slik at en hendelse kan utføres istedenfor. Operativsystemer

117 Avbruddsignaler Fordelen med å bruke avbruddsignaler er at prosessor får mest mulig tid til å holde på med sitt. Prosessor blir bare avbrutt når det er helt nødvendig å utføre en tjeneste. Operativsystemer

118 Avbruddsignaler Avbruddsignaler fra hardware kommer oftest fra input/output utstyr som må gjøre prosessor oppmerksom på at den må utføre en tjeneste. Men nesten alle typer perifere enheter benytter avbruddsignaler som den primære metode til å få operativsystemet til å utføre handlinger. Operativsystemer

119 Unntakssignaler Unntakssignaler (Exceptions) likner på avbruddsignaler. Men til forskjell fra avbruddsignaler som kan skje når som helst, kan unntakssignaler bare oppstå ved programkjøring. Operativsystemer

120 Unntakssignaler Unntakssignaler er en konstruksjon som benyttes av programmeringsspråk eller hardwaremekanismer til å forandre vanlig programkjøring. Operativsystemer

121 Unntakssignaler Unntakssignaler er noe som kan skje ved at det oppstår en feil. Noen eksempler på forhold som kan gi unntakssignaler er Divisjon med null Overflyt Stakkfeil Sidefeil i minnet Operativsystemer

122 Unntakssignaler Programmerere kan bruke unntakssignaler i programkode til å behandle feil eller tilfeller hvor noe ikke går etter planen. For eksempel hva skal skje om et program skal åpne en fil og filen ikke eksisterer? Operativsystemer

123 Unntakssignaler Windows bruker et system som kalles strukturert unntaksbehandling. Dette gir programmer anledning til å få kontroll over situasjonen når det skjer en feil. Programmet kan da prøve å rette opp feilen selv med kode som er skrevet med tanke på at en unntakstilstand har oppstått. Operativsystemer

124 Objekt behandleren Objekt behandleren tar seg av objekter som er i kjernemodus. Objekter er blant annet prosesser, tråder, filer, semaforer, drivere, hendelser, og også mange andre typer objekter. Operativsystemer

125 Objekt behandleren Objekt behandleren tar seg av oppgaver som
Opprette og returnere hendler til objekter. Lage flere hendler til et objekt om nødvendig. Lukke hendler til objekter. Å undersøke om en prosess har rett til å bruke et objekt. Holde orden på hvilke kvoter som tilhører ressurser. Operativsystemer

126 Objekt behandleren I alt tar objekt behandleren seg av livssyklusen for objekter fra de opprettes til de fjernes. Objekt behandleren har en svært viktig oppgave da den tar seg av behandlingen av systemressurser og datastrukturer. Operativsystemer

127 Wow64 Wow64 står for Windows 32-bit On Windows 64-bit Wow64 består av DLL-er som tillater 32-bits programmer å kjøre i 64-bits versjoner av Windows. Operativsystemer

128 Wow64 Wow64 undersystem er et lag i Windows operativsystem som tillater 32-bits programmer å fungere på et 64-bits system uten å måtte gjøre endringer i programvaren. Wow64 er inkludert i alle 64-bits versjoner av Windows. Operativsystemer

129 Registeret Registret er en systemdatabase som inneholder informasjon til å starte Windows og til konfigurere systemet. Operativsystemer

130 Registeret Windows har mye viktig informasjon i registeret. Dette er informasjon som Hvilke drivere som skal benyttes til ulikt utstyr. Hvilken programvare som skal startes ved oppstart. Innstillinger som bestemmer oppsettet til Windows. Operativsystemer

131 Registeret Registret inneholder programinnstillinger som kontrollerer hvordan Windows fungerer, en sikkerhetsdatabase, og brukerinnstillinger. Brukerinnstillinger er for eksempel farger og bakgrunn på desktop. Operativsystemer

132 Registeret Windows henter data i registeret i følgende situasjoner.
Ved oppstart av datamaskinen (boot process). Ved innlasting av kjernen (kernel boot process). Når en bruker logger seg inn på systemet. Ved oppstart av programmer. Operativsystemer

133 Konfigurasjonsbehandleren
Konfigurasjonsbehandleren er en viktig komponent i Windows utøvende tjenester som tar seg av og behandler registeret. Konfigurasjonsbehandleren heter på engelsk Configuration Manager. Operativsystemer

134 Konfigurasjonsbehandleren
Konfigurasjonen til en datamaskin vil forandres over tid. Konfigurasjonsbehandleren oppdaterer registeret etter hvert som programmer og andre komponenter i operativsystemet forandrer verdier til nøkler og verdier i registeret. Operativsystemer

135 Konfigurasjonsbehandleren
Ved oppstart av datamaskinen sørger konfigurasjonsbehandleren for at datamaskinen får denne nye konfigurasjonen. Operativsystemer

136 .NET Framework Class Library

137 .NET Framework Class Library
.NET Framework Class Library er biblioteket som benyttes i CLR. .NET Framework Class Library kan brukes av flere språk i Visual Studio. Det er Visual Basic, C#, C++, J#, … Operativsystemer

138 .NET Framework Class Library
.NET Framework Class Library er delt opp i namespaces. Hver namespace innholder klasser, strukturer, enumerasjoner, delegater og interfaces som vi kan benytte og bygge programmer på. Operativsystemer

139 .NET Framework Class Library
Systems::Collections er en namespace som har klasser for å bevare og behandle objekter. Man kan bruke lister, trær, arrayer og hash tables. Operativsystemer

140 .NET Framework Class Library
System::IO har klasser som tar seg av Input og Output. Dette inkluderer data streams, filer, kataloger og formatering av Input og Output. Operativsystemer

141 .NET Framework Class Library
System::Threading har klasser for parallell programmering. Her kan man lage tråder og bruke mekanismer for synkronisering som semaforer og monitorer. Operativsystemer

142 .NET Framework Class Library
System::Net har klasser for nettverks programmering. Dette inkluderer sockets, network streams, protokoller med mer. Operativsystemer

143 .NET Framework Class Library
System::Windows::Forms brukes til GUI programmering. Denne namespace kommer vi til å bruke når vi skal begynne med Windows programmering. Operativsystemer

144 Objekter i Visual C++ C++ er et språk som er en blanding av gammelt og nytt. Det er tre måter å opprette objekter i C++ Statisk deklarasjon. Dynamisk allokering i det frie minnet. Allokering i managed heap (minne). Operativsystemer

145 Objekter i Visual C++ Eksempel på å opprette et objekt ved statisk deklarasjon class Minklasse{ … }; Minklasse mittobjekt; // Oppretter et objekt mittobjekt.tall = 2; // Bruk av en variabel Operativsystemer

146 Objekter i Visual C++ Eksempel på å opprette et objekt ved dynamisk allokering class Minklasse{ … }; Minklasse *p = new Minklasse(); p->tall = 5; delete p; Operativsystemer

147 Objekter i Visual C++ Ved dynamisk allokering oppretter man objekter i det frie minnet. Disse objektene blir i det frie minnet til de slettes med delete eller til programmet avsluttes. Operativsystemer

148 Objekter i Visual C++ Eksempel på å opprette et objekt i managed heap
ref class Minklasse{ … }; Minklasse^ mk = gcnew Minklasse(); Garbage Collector sletter objektet når det ikke lenger er bruk for det. Operativsystemer

149 delegate I objektorientert programmering er det i blant nødvendig å kunne kalle en metode i en klasse, fra kode som befinner seg i en annen klasse. For å gjøre dette benyttes en type referanse som kalles delegate. Operativsystemer

150 delegate En delegate er omtrent det samme som en peker til en metode.
Har man en peker til en metoden kan man gjøre metodekall via pekeren. Å bruke en delegate har imidlertid større sikkerhet enn å bruke en peker. Operativsystemer

151 delegate ref class Minklasse { };
public: String^ skrivString(); }; Minklasse^ mittOb = gcnew Minklasse(); delegate String^ minDelegate(); minDelegate^ del = gcnew minDelegate(mittOb, &MinKlasse::skrivString); Operativsystemer


Laste ned ppt "Om prosesser."

Liknende presentasjoner


Annonser fra Google