Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Operativsystemer.  I datamaskinenes historie har hele tiden datamaskinenes hastighet økt og økt.  Tidligere var den vanligste måten å øke datamaskiners.

Liknende presentasjoner


Presentasjon om: "Operativsystemer.  I datamaskinenes historie har hele tiden datamaskinenes hastighet økt og økt.  Tidligere var den vanligste måten å øke datamaskiners."— Utskrift av presentasjonen:

1 Operativsystemer

2  I datamaskinenes historie har hele tiden datamaskinenes hastighet økt og økt.  Tidligere var den vanligste måten å øke datamaskiners hastighet på, å øke farten til signalene. Operativsystemer

3  Imidlertid er det en grense for hvor fort signaler kan overføres i et datamaskinsystem.  I følge Einsteins teori kan ikke signaler gå fortere enn lysets hastighet. Operativsystemer

4  Jo raskere signalene overføres, jo mer varme blir utviklet, og dette fører til overopphetning.  For små datamaskinkomponenter er det vanskelig å bli kvitt varmen. Operativsystemer

5  En annen måte å øke hastigheten for datamaskiner er parallell programmering.  Flere prosessorer som arbeider parallelt kan få datamaskiner til å arbeide raskere. Operativsystemer

6  Flere prosessorer stiller imidlertid nye krav til operativsystemer.  Å lage et operativsystem for flere prosessorer er mye mer utfordrende enn å lage et for bare en prosessor. Operativsystemer

7  Operativsystemer for flere prosessorer er for det meste som operativsystemer for en prosessor.  Men de må ha utvidede funksjoner når det gjelder synkronisering, prosessplanlegging og behandling av ressurser. Operativsystemer

8  Operativsystemer for flere prosessorer kan organiseres på ulike måter.  Vi skal i det følgende se på noen måter som er forsøkt. Operativsystemer

9  En måte å organisere på er å la hver prosessor ha sitt eget operativsystem.  Hver prosessor har sitt eget minne og arbeider helt uavhengig av de andre prosessorene. Operativsystemer

10  Dette betyr i prinsippet at hver prosessor fungerer som en egen datamaskin.  Men det er allikevel bedre enn ulike datamaskiner, fordi prosessorene deler input/output og harddisk. Operativsystemer

11  Det er også mulig for prosessorene å dele et minne slik at de kan kommunisere med hverandre. Operativsystemer

12  At hver prosessor har et eget operativsystem er dårlig utnyttelse av ressursene og benyttes sjelden i dag.  Denne måten ble imidlertid benyttet tidligere, på den tiden da datamaskiner begynte å få flere prosessorer. Operativsystemer

13  Vi skal se på Master-Slave modellen.  I denne modellen kjører operativsystemet i en prosessor (Master).  De andre prosessorene kjører brukerprogrammer. Operativsystemer

14  Master-Slave modellen gir en enkel måte å organisere bruk av flere prosessorer i en datamaskin.  Alle prosessorene kommuniserer med operativsystemet i Masterprosessoren. Operativsystemer

15  Ulempen med Master-Slave modellen er at Masterprosessoren blir en flaskehals hvis det er mange prosessorer.  Alle prosessorene er avhengig av Master- prosessoren, noe som gjør at det kan oppstå ventetid. Operativsystemer

16  Symmetrisk multiprosessering (SMP) er den datamaskin arkitektur som moderne operativsystemer med flere prosessorer bruker.  Ved SMP er det et operativsystem som deler alle prosessorene. Operativsystemer

17  Alle prosessorer deler et felles minne.  SMP tillater hver prosessor å kjøre en hvilken som helst tråd. Operativsystemer

18  SMP kan lett flytte oppgaver mellom prosessorer slik at oppgavene blir jevnt balansert mellom prosessorene. Operativsystemer

19  Et problem er at det kan oppstå kollisjoner ved at to prosessorer forsøker å få tak i samme ressurser på samme tid.  En måte å komme utenom disse problemene er å benytte en Mutex. Operativsystemer

20  Å benytte Mutexer fungerer, men det kan være et lite effektivt system fordi prosessorene må vente på hverandre.  Da faller selvfølgelig noe av hensikten med flere prosessorer bort. Operativsystemer

21  Men systemet med Mutexer kan forbedres da mange deler av operativsystemet er uavhengige av hverandre.  For eksempel kan en prosessor behandle prosessplanlegging mens en annen behandler filsystemet. Operativsystemer

22  Hver kritisk region i operativsystemet reguleres av en Mutex slik at bare en prosessor kan benytte det om gangen. Operativsystemer

23  Synkronisering er viktig i et system med flere prosessorer.  Prosessorene benytter et felles minne og dette kan lett føre til kollisjoner når tråder jobber parallelt. Operativsystemer

24  Det benyttes gjerne Mutexer til å synkronisere kritiske regioner.  Ulempen med å bruke Mutexer er at det oppstår ventetid. Operativsystemer

25  Når en tråd må vente kan dette behandles på to måter 1. Tråden spinner til den kommer inn. 2. Systemet utfører en Switch. Operativsystemer

26  Spinning vil si at en tråd venter på en Mutex inntil den blir ledig.  Med spin menes at tråden prøver igjen og igjen om Mutexen er ledig. Operativsystemer

27  Med Switch menes at en tråd som venter (spinner) på en Mutex tas ut av prosessor slik at en annen tråd slipper til. Operativsystemer

28  Spinning er bortkastet tid.  Men også en Switch tar tid å utføre.  Hva som lønner seg vil derfor avhenge av hvor lenge tråden må vente med spinning. Operativsystemer

29  Spinning vil lønne seg hvis tråden ikke må vente så lenge.  En Switch vil først lønne seg om tråden må vente en stund. Operativsystemer

30  Best resultater vil oppnås om systemet holder rede på de siste spin-tidene.  Dette benyttes til å avgjøre om systemet skal benytte spinning eller switching. Operativsystemer

31  Når det er bare en prosessor er det kun nødvendig å prosessplanlegge prosesser.  Er det flere prosessorer må man også benytte prosessplanlegging på prosessorene. Operativsystemer

32  Noe som gjør prosessplanlegging vanskeligere når det er flere prosessorer er at noen ganger er tråder avhengige av hverandre.  Trådene kommer i grupper som tilhører samme prosess og de samarbeider. Operativsystemer

33  Noen tråder er uavhengige av andre.  Andre tråder samarbeider. I så fall vil det være gunstig å samkjøre disse. Operativsystemer

34  Vi skal se på to måter å organisere prosessplanlegging på når det er flere prosessorer  Tidsdeling (Timesharing)  Rom deling (Space sharing) Operativsystemer

35  Ved tidsdeling organiseres prosess- planlegging liksom for uavhengige tråder.  Trådene henges på en eller flere lister (avhengig av prioritet) og trådene kommer inn i en prosessor etter som det blir ledig. Operativsystemer

36  Ved rom deling organiseres prosessplanlegging liksom for tråder som samarbeider.  Systemet venter til hver tråd kan få en prosessor.  Når hver tråd kan få sin prosessor, startes trådene samtidig og de kan samarbeide. Operativsystemer

37  En ulempe med rom deling er at iblant kan en prosessor bli blokkert og ingenting skjer.  Et system som kombinerer tidsdeling og rom deling kan i så fall være ønskelig. Operativsystemer

38  En måte å kombinere tidsdeling og rom deling kalles gjeng prosessplanlegging.  Gjeng prosessplanlegging = Gang Scheduling  Gjeng prosessplanlegging skjer på følgende måte. Operativsystemer

39 1. Grupper av tråder som hører sammen blir behandlet som en enhet, dvs som en gjeng. 2. Alle medlemmer av gjengen kjører samtidig, på forskjellige prosessorer ved tidsdeling. 3. Alle medlemmer av gjengen er like lenge og samtidig i prosessor. Når det skjer en trådutskifting går enten alle inn eller alle ut av en prosessor. Operativsystemer

40  Fordelen ved at trådene kjører samtidig er at samarbeid skjer med en gang.  En tråd vil lett kommunisere med en annen om begge kjører samtidig. Operativsystemer

41

42  Lys har høyere hastighet enn elektroner.  Ved å bruke lys som signaler i datamaskiner vil hastigheten kunne økes. Operativsystemer

43  Det har lenge vært mulig å bruke lys i datamaskiner.  Når det ikke har vært brukt i PC-er er årsaken at det har blitt for kostbart.  Nå er det imidlertid utviklet komponenter som bruker lys, som ikke er for kostbare. Operativsystemer

44  Det vil derfor de nærmeste årene kunne komme datamaskiner som bruker lys til å overføre signaler.  Dette vil medføre at datamaskiner vil bli langt raskere enn i dag. Operativsystemer

45

46  En multiprosessor er en datamaskin med flere prosessorer.  Multicomputers er noen datamaskiner koblet sammen i et nettverk.  Multicomputers er et system som likner en multiprosessor. Operativsystemer

47  Datamaskiner som er koblet sammen (Multicomputers) består av flere prosessorer som kan samarbeide om oppgaver.  Det kan derfor være en tanke å la flere datamaskiner samarbeide slik at de fordeler oppgaver mellom seg. Operativsystemer

48  Et system med flere datamaskiner er derfor et system som likner en datamaskin med flere prosessorer.  En forskjell er imidlertid at en multiprosessor har et felles minne, mens flere datamaskiner har ulike minner. Operativsystemer

49  En definisjon av Multicomputers er følgende  Noen prosessorer som er koblet tett sammen, men som ikke deler et felles minne.  Hver prosessor har imidlertid et eget minne. Operativsystemer

50  Å lage et system med Multicomputers er ganske lett.  Det er bare å koble sammen noen datamaskiner i et nettverk. Operativsystemer

51  Skal vi ha glede av et Multicomputers system må vi ha programvare som koordinerer systemet.  En måte å gjøre dette på skal vi komme tilbake til under distribuerte systemer. Operativsystemer

52

53  Istedenfor å kjøre programmer på en fysisk maskin, kan man istedenfor kjøre dem på en virtuell maskin.  En virtuell maskin er programvare som utfører instruksjoner liksom en fysisk maskin. Operativsystemer

54  En fordel ved virtualisering er at man kan ha flere virtuelle maskiner på en fysisk maskin.  Vi skal ta et eksempel på dette. Operativsystemer

55  Gitt en bedrift som har flere servere. For eksempel en e-post server, en web server, og en FTP server.  Disse serverne er ulike fysiske maskiner. Operativsystemer

56  Disse serverne kan kjøres på en fysisk maskin ved at hver av dem kjøres på en virtuell maskin på den fysiske maskinen.  Bedriften vil spare plass og penger ved å ha alle serverne på en maskin. Operativsystemer

57  Ved virtualisering kan også en fysisk maskin kjøre flere ulike operativsystemer, da hver virtuell maskin kan ha ulikt operativsystem. Operativsystemer

58  Virtuelle maskiner deles i to typer  System virtuelle maskiner  Prosess virtuelle maskiner Operativsystemer

59  System virtuelle maskiner er at flere virtuelle maskiner deler en fysisk maskin.  Hver virtuelle maskin har sitt eget operativsystem. Operativsystemer

60  Programvaren som tillater flere virtuelle maskiner på en fysisk maskin kalles for virtuell maskin monitor eller hypervisor.  En hypervisor kan kjøre på bare hardware eller på toppen av et operativsystem. Operativsystemer

61  Fordeler med system virtuelle maskiner 1. Kan kjøre flere operativsystemer på en datamaskin. 2. En virtuell maskin kan gi en annen arkitektur enn den underliggende fysiske maskinen. 3. Lettere implementering og vedlikehold av programvare. Operativsystemer

62  Ulemper med system virtuelle maskiner 1. Virtuelle maskiner er ikke så effektive som programvare som jobber direkte på hardware. 2. Når flere operativsystemer jobber på en maskin kan det gi varierende og ustabil prestasjonsevne. Operativsystemer

63  Prosess virtuell maskin er en annen type virtuell maskin.  En prosess virtuell maskin støtter kun en prosess som kjører.  Den virtuelle maskinen avsluttes når prosessen avsluttes. Operativsystemer

64  Hensikten med en prosess virtuell maskin er å gi et kjøremiljø for en prosess som er plattform uavhengig.  Det vil si et kjøremiljø som er uavhengig av type hardware. Operativsystemer

65  Et eksempel på en prosess virtuell maskin er.NET Framework som benytter CLR. Operativsystemer

66

67  De første datamaskinene var laget for beregninger og var uten tilknytning til andre maskiner.  Etter hvert begynte man å knytte maskiner sammen i nettverk. Operativsystemer

68  Når datamaskinene ble knyttet sammen i nettverk, så var hensikten med dette  Kommunikasjon mellom maskiner.  Deling av felles utstyr og data. Operativsystemer

69  Datamaskinene knyttet sammen i nettverk fungerte altså ikke som en enhet.  Distribuerte systemer derimot fungerer som en enhet. Operativsystemer

70  Distribuerte systemer er et neste skritt innen nettverk.  Distribuerte systemer innbærer at en gruppe datamaskiner arbeider sammen som en enhet. Operativsystemer

71  Distribuerte systemer er en samling datamaskiner som ikke bare kommuniserer og deler data, men som også  Samarbeider om oppgaver.  Fordeler oppgaver mellom seg. Operativsystemer

72  Å distribuere betyr å dele noe blant mange. Operativsystemer

73  Distribuerte systemer virker som en enhet.  En bruker er ikke klar over at andre maskiner enn den han sitter ved, er involvert i oppgaver på maskinen. Operativsystemer

74  En måte å strukturere et distribuert system på er å la en maskin gjøre tjenester for andre maskiner i nettverket.  En maskin som gjør tjenester for andre maskiner i et nettverk kalles en server. Operativsystemer

75  Fordeler med distribuerte systemer  Økonomi  Pålitelighet  Deling av ressurser  Ytelse  Utvidelse Operativsystemer

76  En tanke bak distribuerte systemer er at mange maskiner sammen skal kunne utføre tyngre oppgaver.  En PC er ikke så kraftig som en stormaskin, men mange PC-er knyttet sammen vil kunne utføre større oppgaver. Operativsystemer

77  Et distribuert system bestående av mange små maskiner vil kunne utføre større oppgaver.  Siden mange små maskiner er rimeligere enn en stormaskin kan man spare penger. Operativsystemer

78  Distribuerte systemer vil være mer pålitelige enn enkeltmaskiner.  Hvis en maskin er ute av drift vil dette bety lite om de andre maskinene er i normal drift. Operativsystemer

79  En grunn til å koble datamaskiner i et nettverk er å kunne dele ressurser.  For eksempel vil alle datamaskiner i et nettverk kunne dele en dyr skriver. Operativsystemer

80  Ytelsen til et datamaskinsystem kan økes ved å tilføre flere maskiner.  Jo flere maskiner som samarbeider, jo høyere ytelse. Operativsystemer

81  Mulighet for utvidelse er en fordel med distribuerte systemer.  Man kan starte med et lite nettverk og la det vokse etter hvert med nye maskiner og nytt utstyr. Operativsystemer

82  I et distribuert system er det nødvendig å kunne identifisere alle maskiner og alt utstyr som er tilknyttet nettverket.  Skal man sende en melding fra en maskin til en annen, må maskinene ha en adresse. Operativsystemer

83  Når maskiner identifiserer hverandre brukes nummer.  For mennesker er det imidlertid lettere å huske et navn enn et nummer.  For eksempel er det lettere å huske Student server enn Operativsystemer

84  Operativsystemer laget for distribuerte systemer vil være forskjellig fra vanlige nettverksoperativsystemer (NOS).  Operativsystemer for distribuerte systemer vil ha flere oppgaver. Operativsystemer

85  Et operativsystem for distribuerte systemer vil ha som oppgave å bygge ned grensene mellom maskiner. Operativsystemer

86  Operativsystemet vil ha som oppgave å behandle ressursene på den lokale maskinen.  Operativsystemet vil også ha som oppgave å gi informasjon til andre maskiner om hvilke ressurser som er ledige og kan benyttes av andre maskiner. Operativsystemer

87  Ved distribuerte systemer vil mange datamaskiner samarbeide.  Dette kan føre til kollisjoner liksom når flere tråder fungerer samtidig.  Distribuerte systemer har derfor behov for synkronisering. Operativsystemer

88  Mekanismer for synkronisering som semaforer er vanskelig å benytte for distribuerte systemer.  En semafor er en variabel som eksisterer på et sted og vil derfor ikke så lett være tilgjengelig overalt i et nettverk. Operativsystemer

89  Andre metoder enn semaforer er derfor utviklet for synkronisering av distribuerte systemer.  Disse metodene er av to typer  Sentraliserte algoritmer  Distribuerte algoritmer Operativsystemer

90 Sentraliserte algoritmer er et system for synkronisering der en prosess har som oppgave å koordinere kritiske regioner i et distribuert system. Operativsystemer

91  Koordinatorens oppgave er å sørge for at bare en tråd om gangen benytter en kritisk region.  Når en tråd ønsker å benytte en kritisk region må den først spørre koordinator om tillatelse. Operativsystemer

92  Ulempen med å ha en koordinator er at om maskinen den er på krasjer, så krasjer hele synkroniserings systemet.  Et slikt krasj kan derfor føre til vranglås for hele nettverket. Operativsystemer

93  Det er derfor utviklet distribuerte algoritmer for synkronisering.  Distribuerte algoritmer virker slik at hver prosess deltar i synkroniseringen. Operativsystemer

94  Når en prosess skal inn i en kritisk region sender den en melding om dette til alle andre prosesser.  Andre prosesser vil svare på denne meldingen om de ikke er inne i den kritiske regionen. Operativsystemer

95  Ulempen med distribuerte algoritmer for synkronisering av denne type, er at det fører til at det sendes en masse meldinger over nettverket.  Et annet problem er at det kan være vanskelig å holde oversikt over alle prosesser som er involvert. Operativsystemer

96  Vi skal se litt på vranglås i distribuerte systemer.  Vranglås er et større problem i distribuerte systemer enn for et system på en enkelt PC. Operativsystemer

97  Systemer som forsøker å forhindre vranglås benyttes ikke, fordi vranglås er vanskelig å forhindre og forutsi.  I stedet forsøker man å oppdage om vranglås har oppstått og rette opp dette så godt som mulig. Operativsystemer

98  Måten man forsøker å finne vranglås på i distribuerte systemer er at hver maskin har en graf over sin allokering av ressurser.  Hvis det blir en syklus er dette tegn på vranglås.  Syklus vil si at noe gjentar seg. Operativsystemer

99  Hvis det oppstår en syklus er det et spørsmål hvordan bryte syklusen.  Det er to måter å bryte syklusen  Å avslutte en eller flere prosesser.  Ta ressurser fra en eller flere prosesser. Operativsystemer

100  En tanke med distribuerte systemer er å utnytte minnet til maskinene ved å dele minnet mellom dem.  Dette innbærer at prosesser på en maskin kan benytte minnet til andre maskiner. Operativsystemer

101  Ved distribuert delt minne vil en prosess som kjører kunne bruke minnet på andre maskiner.  Dette kan organiseres ved at en server har som oppgave å fordele det samlede minnet til prosessene på klientene. Operativsystemer

102  Filsystemer for distribuerte systemer må kunne gjøre filer tilgjengelig for andre maskiner i nettet.  Den enkleste måten å gjøre dette på er å legge felles filer på en server slik at klienter kan hente filer fra serveren. Operativsystemer

103  Skal man ha et distribuert filsystem må man ha en måte å holde rede på navnene til filene.  Et navnsystem er nødvendig på hver maskin slik at brukere kan åpne filer ved å klikke på dem. Operativsystemer

104  En måte å organisere et navnsystem på er å integrere alle filer og kataloger på alle maskiner til et felles globalt system.  Ulempen med et felles globalt system er at det er komplisert og tungvint å administrere. Operativsystemer

105  En vanlig måte å organisere filer på i et distribuert system er føye til kataloger og filer fra server (eller andre maskiner) til i det lokale katalogsystemet.  Da kan brukere hente filer fra andre maskiner på samme måte som fra den lokale maskinen. Operativsystemer

106  I et nettverk er det ofte flere servere.  Hensikten med dette er at om en server er ute av drift kan brukerne bruke en annen server.  En server vil derfor alltid være tilgjengelig. Operativsystemer

107  For at brukere alltid skal ha sine filer på serveren tilgjengelig, må filene til brukerne ligge på flere servere.  Når en fil oppdateres på en server må den kopieres over til andre servere.  Denne prosessen kalles replikasjon. Operativsystemer

108

109  Det finnes mange forskjellige utgaver av operativsystemer for lokalnett.  Operativsystemer for lokalnett kalles nettverksoperativsystemer (NOS). Operativsystemer

110  Tre operativsystemer som har vært mye brukt i lokalnettverk er  Novell Netware  Windows Server  Linux Operativsystemer

111  I et nettverk er det vanligvis en server. Imidlertid er det mulig å ha nettverk uten server.  Et nettverk uten server kalles et peer-to-peer nettverk. Operativsystemer

112  Et nettverksoperativsystem (NOS) inneholder mange av de samme oppgavene som et vanlig operativsystem.  I tillegg har et NOS mange oppgaver som et vanlig operativsystem ikke har. Operativsystemer

113  I et lokalnettverk er kommunikasjon mellom maskiner en viktig oppgave for systemet.  I et nettverk er det mulig for en maskin å hente filer fra en annen maskin som står fysisk plassert et annet sted. Operativsystemer

114  Oppgaver som er sentrale i et nettverksoperativsystem er  Filoverføring  Utskriftsbehandling  Sikkerhet Operativsystemer

115  All kommunikasjon i et lokalnettverk foregår gjennom nettverkskort og nettverkskabel.  Generelt kan en si at oppgaven til et NOS er å utgjøre et grensesnitt mot nettverkskabelen. Operativsystemer

116  Viktigst av alle oppgaver et NOS utfører er input/output oppgavene (I/O).  Det meste av det som foregår i et NOS har med kommunikasjon å gjøre. Operativsystemer

117  Input/output oppgaver (I/O) er de viktigste oppgavene til en server.  Viktige I/O oppgaver er filbehandling og utskrifter.  I/O oppgaver representerer stor trafikk over nettverkskortet til serveren. Operativsystemer

118  Noen vanlige I/O oppgaver på en server  En bruker henter en fil fra sitt hjemmeområde, oppdaterer den og lagrer den igjen.  En bruker starter opp en applikasjon over nettverket.  Systemansvarlig sikkerhetskopierer alle brukerdata. Operativsystemer

119  En server er hele tiden utsatt for inn/ut trafikk over nettverket.  Dette medfører at en effektivisering av inn/ut oppgaver er av avgjørende betydning for hele nettverkets ytelse.  En måte å optimalisere I/O oppgaver på er ved hurtigbufring (Caching). Operativsystemer

120  Grunnlaget for Caching er at internminnet er mye raskere å lese enn å lese fra disk.  Dersom en kan hente en fil fra minnet istedenfor fra harddisken vil det spares mye tid.  Ved Caching legges de mest brukte filene i minnet slik at de kan leses der. Operativsystemer

121  Når en fil leses fra harddisken legges den etterpå i Cache som er en del av internminnet.  Neste gang filen skal benyttes kan den derfor leses fra Cache istedenfor fra harddisken. Operativsystemer

122  Når en bruker skal hente en fil undersøkes først Cache.  Dersom filen finnes i Cache leses den derfra.  Dersom filen ikke finnes i Cache leses den fra disken, og legges deretter i Cache slik at den kan finnes der ved neste anledning. Operativsystemer

123  Cache er noe som benyttes mye ved bruk av Internett.  Noen websider er mer lest enn andre. Cache brukes derfor på flere nivåer.  De mest leste websidene kan ligge i et Cache hos Internett leverandøren. Operativsystemer

124  I nettverk kan vi snakke om tre typer cahce.  Internet/web Cache hos Internettleverandør.  RAM Cache i server.  Prosessor Cache i server. Operativsystemer

125  For at Cache skal være effektivt kreves det at filer som skal hentes finnes i Cache.  Noen ganger er filen som skal hentes i Cache, og noen ganger ikke.  Treffprosenten må derfor være ganske stor for at bruk av Cache skal lønne seg. Operativsystemer

126  For at Cache skal være effektivt må også Cache være ganske stort.  Med lite Cache-minne er det liten sannsynlighet for treff.  Det er derfor viktig å ha Cache så stort at det blir flest mulige treff. Operativsystemer

127  Bruk av Cache på servere er ofte effektivt.  Undersøkelser viser over 90% av alt som leses fra disk hentes fra Cache. Operativsystemer

128  Cache brukes også ved skriving av filer til disk.  Prinsippet ved skrive-Cache er at operativsystemet venter med å skrive til harddisken en periode i tilfelle det kommer en ny skrivning til samme området. Operativsystemer

129  Input/Output-optimalisering er av avgjørende betydning for serverens ytelse fordi en så stor andel av operativsystemets oppgaver er I/O relaterte.  Det er derfor viktig å velge maskinvare- komponenter som støtter opp om I/O- oppgaver. Operativsystemer

130  Det er spesielt to maskinvarekomponenter som støtter opp om I/O-oppgaver  SAS (Serial Attached SCSI)  RAM(Ramdom Memory Access) Operativsystemer

131  SAS (Serial Attached SCSI) gir forbedret ytelse på I/O-oppgaver.  SCSI (Small Computer System Interface) er et sett med standarder for fysisk overføring mellom datamaskiner og perifere enheter, spesielt harddisker. Operativsystemer

132  RAM er avgjørende for I/O-oppgaver.  Det er mengden RAM som avgjør hvor stor rolle caching skal spille i nettverket.  Jo mer RAM som er i en server, jo mer cache. Operativsystemer

133

134  De første operativsystemene til Microsoft hadde liten støtte for nettverk.  I dagens Windows er det bred støtte for nettverksoppgaver i input/output systemet og i Windows API. Operativsystemer

135  Den vanlige oppgaven for et nettverks- program er å ta en forespørsel fra et program på en maskin og sende den til en annen maskin.  Forespørselen blir så utført på den andre maskinen og resultatet blir returnert tilbake til den opprinnelige maskinen. Operativsystemer

136  For at en forespørsel fra en maskin skal kunne sendes til en annen maskin må ofte forespørselen transformeres flere ganger.  For eksempel må forespørselen transformeres når den sendes over nettet, ved at den deles opp i flere pakker. Operativsystemer

137  Et nettverksoperativsystem har derfor bruk for tjenester som muliggjør kommunikasjon mellom maskiner.  Windows nettverksarkitektur gir en fleksibel infrastruktur for nettverks API-er, nettverk protokoll drivere og nettverk adapter drivere. Operativsystemer

138  Nettverksprogramvare som følger med Windows kan deles i fire typer.  Nettverkstjenester.  Nettverks API-er.  Protokoller.  Drivere til nettverksutstyr. Operativsystemer

139  Windows har flere nettverkstjenester som bygger på API- komponenter.  To av disse er  Fjerntilgang  Active Directory Operativsystemer

140  Windows tillater to typer fjerntilgang. Det er  Oppringt samband.  Virtual Private Network (VPN). Operativsystemer

141  Oppringt samband tillater klienter å koble til en server via telefonlinjer eller liknende infrastruktur.  Oppringt samband gir en midlertidig fysisk eller virtuell forbindelse mellom en klient og en server. Operativsystemer

142  Fjerntilgang med VPN oppretter en forbindelse til en server over et IP nettverk som Internett. Operativsystemer

143  Active Directory er et verktøy som brukes til å administrere et Windows lokalnettverk.  Active Directory har en katalog som gir oversikt over alle brukere og alt utstyr som er i nettverket. Operativsystemer

144  Med Active Directory kan en administrator i et nettverk organisere brukere og maskiner i grupper.  Active Directory gjør det mulig å administrere svært store nettverk med millioner av brukere. Operativsystemer

145  Windows har flere nettverks API-er som gir støtte for programvare.  Programmer kan bruke disse til å kommunisere med programmer på andre maskiner. Operativsystemer

146  Noen av nettverks API-ene er  Windows Sockets.  Remote procedure call.  Named pipes.  Mailslots. Operativsystemer

147  Windows Sockets API er en teknisk spesifikasjon som definerer hvordan Windows nettverksprogramvare skal samarbeide med nettverkstjenester som TCP/IP. Operativsystemer

148  Windows Sockets gir et grensesnitt mellom et Windows TCP/IP klient program og den underliggende TCP/IP protokollen.  Windows Sockets gjør det mulig for programutviklere å lage avanserte nettverksprogrammer for Internett og intranett. Operativsystemer

149  Remote procedure call (RPC) er en nettverkprogrammeringsstandard som ble utviklet på 1980 tallet.  RPC gjør at programmer kan sende og få utført funksjonskall på en annen maskin enn den programmet selv kjører på. Operativsystemer

150  Named Pipes er en programmerings API for kommunikasjon mellom prosesser. Kommunikasjonen skjer mellom en Named Pipe server og en Named Pipe klient.  En Named Pipe server er et program som lager en Named Pipe som klienter kan benytte. Operativsystemer

151  Data overføres via et bufferlager.  Data skrives til et bufferlager av en prosess slik at en annen prosess kan lese dataene der. Operativsystemer

152  Nettverks API drivere tar API forespørsler og oversetter dem til nettverks protokoll forespørsler, slik at de kan sendes over nettverket.  API drivere bruker transport protokoll drivere for å gjøre denne oversettingen. Operativsystemer

153  Transport Driver Interface (TDI) er et nettverksgrensesnitt utviklet av Microsoft.  TDI gjør det lettere for drivere å kommunisere med ulike nettverktransportprotokoller. Operativsystemer

154  TDI transporter er drivere i kjernemodus.  De mottar pakker fra TDI og sender dem videre.  Fordelen med å bruke TDI er at tjenester blir uavhengig av ulike protokoller for transport i nettverk. Operativsystemer

155

156  Vi skal se nærmere på en mye brukt måte å kommunisere mellom datamaskiner på som kalles Windows Sockets. Operativsystemer

157  Windows Sockets gir en grei måte for prosesser å sende og motta data over et nettverk.  Når man bruker Sockets behøver man ikke tenke på underliggende protokoller. Operativsystemer

158  Vi skal se på hvordan Sockets fungerer.  Hvordan man bruker en Socket avhenger litt av om man oppretter en server eller en klient. Operativsystemer

159  Oppgaver for en server  Lage socket  Gi en IP adresse  Lytte etter klienter  Motta en forbindelse  Motta melding  Sende melding Operativsystemer

160  Oppgaver for en klient  Lage socket  Gi en IP adresse  Opprette en forbindelse  Sende melding  Motta melding Operativsystemer

161  Sockets kan benyttes over Internett og bruker derfor en IP adresse når den kommuniserer.  En Socket kan vente passivt på å bli kontaktet eller prøve å kontakte en annen Socket. Operativsystemer

162  Sockets kan fungere på forskjellige måter. To hovedmåter er  Forbindelse opprettes.  Data sendes uten forbindelse. Operativsystemer

163  Når det opprettes en forbindelse fungerer dette på samme måte som en telefonoppringning.  Når det ikke opprettes en forbindelse fungerer dette som om man sender en pakke med posten. Operativsystemer

164  En annen måte å overføre data på enn Sockets er Remote Procedure Call.  Remote Procedure Call er som navnet sier kall på prosedyrer som befinner seg på en annen maskin. Operativsystemer

165  Programmerere er vant til å bruke funksjoner når de lager programmer.  Det er derfor nærliggende å bruke funksjoner også når data skal overføres fra en maskin til en annen.  Dette har ført til utviklingen av Remote Procedure Call. Operativsystemer

166  Prosedyrer som benyttes ved Remote Procedure Call er forsøkt laget ganske like andre prosedyrer.  Det vil si at de har innparametre og utparametre. Operativsystemer

167  Remote Procedure Call fungerer allikevel ikke som vanlige prosedyrer.  Det som skjer er at prosedyrekallet sendes til en annen maskin ved hjelp av mekanismer som for eksempel Sockets. Operativsystemer

168  Inn og ut parametere og innholdet i prosedyren pakkes i en pakke som sendes til en annen maskin.  Når pakken har kommet fram pakkes innholdet i pakken ut.  Deretter identifiseres prosedyren som pakken er til og denne kalles. Operativsystemer

169  Når prosedyren på den fjerne maskinen er kalt utføres prosedyrekallet.  Resultatet av prosedyrekallet pakkes inn i en pakke som sendes tilbake til den opprinnelige maskinen. Operativsystemer

170

171  Når vi utvikler et program i Visual Studio kjører vi det i omgivelsene til Visual Studio.  Når programmet er ferdig ønsker vi som oftest å kunne kjøre det som et selvstendig program. Det vil si uten å måtte starte det i Visual Studio. Operativsystemer

172  Det er flere måter å lage et selvstendig program på 1. Kopiere filer til en katalog. 2. Bruke Microsoft Installer. 3. Benytte ClickOnce teknologi. Operativsystemer

173  Vi kan gjøre programmet vårt til et selvstendig program ved å legge nødvendige filer i prosjektet på en egen katalog.  De filer som skal legges på katalogen er filer som programmet har bruk for til å kjøre. Operativsystemer

174  Filene vi har bruk for er exe-filen og filer som benyttes av exe-filen. For eksempel  Bildefiler  Ikonfiler  Lydfiler  Kodefiler som.cpp,.h og lignende er ikke nødvendig. Operativsystemer

175  For at programmer laget i CLR skal fungere på en maskin krever det at.NET Framework er installert på maskinen. Operativsystemer

176  For at programmet skal fungere uten at Visual Studio er installert på maskinen må exe-filen være kompilert med  Konfigurasjonen Release Operativsystemer

177  For å kompilere exe-filen som Release velg på menyen i Visual Studio  Build – Configuration manager…  Skift konfigurasjon fra Debug til Release. Operativsystemer

178  Når du kompilerer programmet med konfigurasjonen Release får du en ny katalog i prosjektet som heter Release.  Hent exe-filen til programmet ditt fra Release katalogen. Operativsystemer

179  En måte å installere et program på er å lage en pakke med en Setup fil.  Når noen dobbeltklikker på Setup filen blir programmet installert på maskinen. Operativsystemer

180  Å bruke en Setup fil til å installere et program har flere fordeler  Filene legges i en katalog.  Programmet kan startes fra menyen.  Kan ha en Shortcut på desktop.  Oppdaterer fonter og lignende.  Programmet kan også lett avinstalleres. Operativsystemer

181  ClickOnce er en teknologi for å distribuere programmer over Internett.  Ved å klikke på en link på en webside, lastes programmet ned til din maskin og du kan straks kjøre det. Operativsystemer

182  En fordel med å bruke ClickOnce er oppgradering av programvare.  Gjør du forandringer i programmet kan du bytte ut den gamle versjonen med en ny.  Brukere av programmet vil da automatisk få oppdatert programmet til den nye versjonen via Internett. Operativsystemer


Laste ned ppt "Operativsystemer.  I datamaskinenes historie har hele tiden datamaskinenes hastighet økt og økt.  Tidligere var den vanligste måten å øke datamaskiners."

Liknende presentasjoner


Annonser fra Google