Operativsystemer for multiple prosessorer

Slides:



Advertisements
Liknende presentasjoner
Generisk nettstruktur inklusive CT-iq Offentlig Nett (ON) Bedriftsinternt Nett (BiN) CTI(opsjon)CT-iq Bedrifts LAN IN lev. LAN InnringerINleverandør(IN)Mobiloperatør(MO)
Advertisements

Support, nye funksjoner og tjenester fra Uni Pluss
SuperOffice - Visma Global ERP link - Tilbud/Ordre SuperOffice - Visma Global integrasjonen består av 3 produkter. ERP link SuperOffice - Visma Global.
Er datasikkerhet viktig for deres firma ? Hva ville dere gjøre hvis alle data plutselig ble borte ved: •Tyveri ? •Brann ? •Datahavari ? •Menneskelig svikt.
Hvordan etablere nettbutikk med GoOnline Commerce
Kontoinnstillinger Slik kommer du til «Kontoinnstillinger»:
Server  Server tjenester  Server hardware. Server tjenester  Fil/print  Database  Web  Applikasjon  Mail  Gruppevare  Terminalserver  På de.
Slik kommer du til «Personverninnstillinger»: Logg inn på Facebook.
eDialog24 Operator Nyheter og endringer i versjon Sentinel eDialog24 AS Ingvald Ystgaards vei 3A 7047 Trondheim Telefon: Faks:
Slik kommer du til «Personverninnstillinger»: Logg inn på Facebook.
Lag film. Lag video •Videoteknologien har utviklet seg raskt de siste årene. Digital video er i ferd med å avløse analoge systemer. Med digital video.
Programmering i ActionScript - hva er det, og hvordan undervise?
Unix Amir Maqbool Ahmed
En innføring i spillet: Dobbeltkrig – Grønn
Lagringsystemer Harddisker SCSI NAS SAN.
Hva gjør et operativsystem?
Lynkursdagene 2011 Webdrive Tilgang til UiO-disker utenfor UiO-nettet Mads Lomholt usit/sas/lipk.
Operativsystemer.  En prosess kan sees på som et stykke arbeid som skal utføres på datamaskinen.  Ofte vil det være flere prosesser/tråder på datamaskinen.
Begrenset redigering “Klubbjournalister” For web ansvarlig klubb.
MS kap 61 Nye trender  Vi skal se på  Virtualisering  ”Cloud computing”
PowerPoint laget av Bendik S. Søvegjarto Konsept, tekst og regler av Skage Hansen.
Input / output Operativsystemer.
Operativsystemer.  Begrepet kritisk region er sentralt i forbindelse med datamaskinsystemer.  Generelt kan en kritisk region defineres som et sted der.
D ATASIKKERHET For foreldre med barn og unge som bruker datamaskin og internett - Hvilke trusler står vi ovenfor, og hvordan kan vi avverge disse?
Java Server Faces (JSF) en introduksjon Frode Eika Sandnes.
V IRTUALISERING. Vi utnytter maskinvaren bedre. Mange datamaskiner går mye på tomgang, så ved å samle flere maskiner på en fysisk boks utnytter vi CPU-kraften.
Operativsystemer.  Tilstandsmaskiner kalles på engelsk Finite State Machines.  Tilstandsmaskiner er en metode til å beskrive systemer med logisk og.
Operativsystemer.  Begrepet kritisk region er sentralt i forbindelse med datamaskinsystemer.  Generelt kan en kritisk region defineres som et sted der.
Prototyping In 140 Sommerville kap. 8. Mål Forstå hensikten med prototyping i forskjellige utviklingsprosjekt Forstå forskjellen mellom evolusjonær og.
Hva er Fronter.
Utført av: Jeppe Flensted HiST Vår 2009
1 Innføring i IDS (Intrusion Detection System) Som en enkel start på forskjellige måter å oppdage inntrengere på, skal vi se på en variant av dette som.
Oppkobling VPN.
Gruppe 32E presenterer. Windows 2003 Server Novell Netware 6.5.
Løsning hos RSH Norge En gjennomgang av løsning hos Reitan Servicehandel Norge Edvard Gundersen – ProfitBase AS Løsningsarkitekt.
Input / output Operativsystemer.
Gruppe 3 – Presentasjon 2 Henning Kristiansen, Mats Lindh, André Hauge og Vegard Simensen.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Flash og ActionScript - Nye muligheter Jostein Nordengen.
Fjernstyring av PCer med NTRconnect Svein/ALEPH brukermøte 2007.
Publisering på verdensveven Kursdag 2 VÅFF, våren 2002.
Publisering på verdensveven Kursdag 1 VÅFF, våren 2002.
Hvordan kan foreldre bruke de vangligste funksjonene i Itslearning.com
ESøknad - Et webbasert system for elektronisk innlevering av søknader om forskningsmidler Kort presentasjon av systemet beregnet på prosjektledere/forskere.
The Peer-to-Peer Architecture Av Ingunn Lund og Anja Lønningen.
SharePoint Server 2007 Office Communications Server 2007 Exchange Server 2007 Windows Server 2003 Office 2007 Hovedprosjekt 17E Installasjon, konfigurasjon.
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI UNIVERSITETET I OSLO USIT Side 1 Installering av Windows XP med PXE (netboot) Del 1 – forhåndskonfigurering.
Bachelorprosjekt - Oppgave 17E
Parallellisering av Coin3D for Systems in Motion av Sveinung Thunes.
De 222 mest brukte ordene i det norske språket..
1 GeoPortal – Rammeverk Introduksjon. 2 Teknisk rammeverk - Interoperabilitet Interoperabilitet evne til å kommunisere, kjøre programmer, eller overføre.
Vibeke IT-seksjonen LU - LUVIT brukere våren PUS Luvit undervisning våren 2002 Hvordan lære opp studentene i LUVIT?
Vibeke IT-seksjonen LU - LUVIT brukere våren PUS Luvit undervisning våren 2001 Hvordan lære opp studentene i LUVIT?
Nordic Research Group Omlegging av nettverksstruktur.
Presentasjon av hovedprosjekt 31E Microsoft Deployment Tools 2010.
Gamle systemer In 140 Forelesning Nr 19 Sommerville kap 26.
Prosjekt 52E Installasjon, konfigurasjon og bruk av System Management Server 2003.
Notes ved UiO Steinar Skogheim. Steinar Skogheim, USIT Målet med dette kurset Målet er å gi en oversikt over hvordan Notes generelt fungerer og brukes.
Protokoller Pensum: Olsen, kap. 5 og 6. Kommunikasjonsprotokoll Rutiner for å administrere og kontrollere oversending av data Telefonsamtale (”Hallo”,
1 Kap. 57 – Cloud Computing How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen, Universitetet.
UiO Programkiosk: Ny portal og tilgang fra Mac og Linux
JADE-LEAP AmbieSense er et EU støttet forskningsprosjekt. I dette prosjektet prøver man å integrere nye typer teknologi for bruk på mobile enheter I den.
Implementering og drift av virtuelt datasystem med VMware View
Android-Programmering Våren Oversikt Long-running operasjoner Introduksjon til Android services On-demand service Bruk av servicer på tvers av prosesser.
Trafikantens mobile sanntidssystem Presentasjon INF5261.
Informasjonssikkerhet i hverdagen
Nye trender Vi skal se på Virtualisering ”Cloud computing”
Internett som elektronisk kommunikasjonsmiddel
IN3030 – Effektiv parallellprogrammering Uke 1 2. del, våren 2019
Utskrift av presentasjonen:

Operativsystemer for multiple prosessorer

Hvorfor multiple prosessorer? 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

Hvorfor multiple prosessorer? 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

Hvorfor multiple prosessorer? 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

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

Operativsystemer for flere prosessorer 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

Operativsystemer for flere prosessorer 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

Operativsystemer for flere prosessorer 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

Et operativsystem for hver prosessor 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

Et operativsystem for hver prosessor 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

Et operativsystem for hver prosessor Det er også mulig for prosessorene å dele et minne slik at de kan kommunisere med hverandre. Operativsystemer

Et operativsystem for hver prosessorer 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

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

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

Master-Slave multiprosessor 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

Symmetrisk multiprosessering 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

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

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

Symmetrisk multiprosessering 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

Symmetrisk multiprosessering Å 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

Symmetrisk multiprosessering 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

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

Multiprosessor synkronisering 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

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

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

Multiprosessor synkronisering 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

Multiprosessor synkronisering 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

Multiprosessor synkronisering 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

Multiprosessor synkronisering 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

Multiprosessor synkronisering 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

Multiprosessor prosessplanlegging 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

Multiprosessor prosessplanlegging 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

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

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

Multiprosessor prosessplanlegging 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

Multiprosessor prosessplanlegging 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

Multiprosessor prosessplanlegging 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

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

Multiprosessor prosessplanlegging Grupper av tråder som hører sammen blir behandlet som en enhet, dvs som en gjeng. Alle medlemmer av gjengen kjører samtidig, på forskjellige prosessorer ved tidsdeling. 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

Multiprosessor prosessplanlegging 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

Bruk av lys i datamaskiner Operativsystemer

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

Bruk av lys i datamaskiner 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

Bruk av lys i datamaskiner 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

Multicomputers Operativsystemer

Multicomputers 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

Multicomputers 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

Multicomputers 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

Multicomputers 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

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

Multicomputers 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

Virtuelle maskiner Operativsystemer

Virtuelle maskiner 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

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

Virtuelle maskiner 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

Virtuelle maskiner 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

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

Virtuelle maskiner Virtuelle maskiner deles i to typer System virtuelle maskiner Prosess virtuelle maskiner Operativsystemer

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

Virtuelle maskiner 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

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

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

Virtuelle maskiner 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

Virtuelle maskiner 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

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

Distribuerte systemer Operativsystemer

Distribuerte systemer 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

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

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

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

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

Distribuerte systemer Å distribuere betyr å dele noe blant mange. Operativsystemer

Distribuerte systemer 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

Distribuerte systemer 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

Distribuerte systemer Fordeler med distribuerte systemer Økonomi Pålitelighet Deling av ressurser Ytelse Utvidelse Operativsystemer

Distribuerte systemer 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

Distribuerte systemer 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

Distribuerte systemer 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

Distribuerte systemer 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

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

Distribuerte systemer 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

Distribuerte systemer 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

Distribuerte systemer 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 453.345.456.7 Operativsystemer

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

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

Distribuerte systemer 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

Distribuerte systemer 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

Distribuerte systemer 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

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

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

Distribuerte systemer 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

Distribuerte systemer 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

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

Distribuerte systemer 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

Distribuerte systemer 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

Distribuerte systemer 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

Distribuerte systemer 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

Distribuerte systemer 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

Distribuerte systemer 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

Distribuerte systemer 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

Distribuerte systemer 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

Distribuerte systemer 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

Distribuerte systemer 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

Distribuerte systemer 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

Distribuerte systemer 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

Distribuerte systemer 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

Distribuerte systemer 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

Nettverksoperativsystemer

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

Lokalnettverk operativsystem Tre operativsystemer som har vært mye brukt i lokalnettverk er Novell Netware Windows Server Linux Operativsystemer

Peer-to-peer nettverk 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

Lokalnettverk operativsystem 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

Lokalnettverk operativsystem 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

Lokalnettverk operativsystem Oppgaver som er sentrale i et nettverksoperativsystem er Filoverføring Utskriftsbehandling Sikkerhet Operativsystemer

Lokalnettverk operativsystem 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

Lokalnettverk operativsystem 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

I/O-optimalisering 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

I/O-optimalisering 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

I/O-optimalisering 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

I/O-optimalisering 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

I/O-optimalisering 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

I/O-optimalisering 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

I/O-optimalisering 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

I/O-optimalisering I nettverk kan vi snakke om tre typer cahce. Internet/web Cache hos Internettleverandør. RAM Cache i server. Prosessor Cache i server. Operativsystemer

I/O-optimalisering 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

I/O-optimalisering 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

I/O-optimalisering Bruk av Cache på servere er ofte effektivt. Undersøkelser viser over 90% av alt som leses fra disk hentes fra Cache. Operativsystemer

I/O-optimalisering 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

I/O-optimalisering 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

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

I/O-optimalisering 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

I/O-optimalisering 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

Nettverksegenskaper i Windows Operativsystemer

Nettverksegenskaper i Windows 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

Nettverksegenskaper i Windows 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

Nettverksegenskaper i Windows 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

Nettverksegenskaper i Windows 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

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

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

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

Nettverkstjenester 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

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

Nettverkstjenester 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

Nettverkstjenester 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

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

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

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

Noen nettverks API-er 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

Noen nettverks API-er 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

Noen nettverks API-er 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

Noen nettverks API-er Data overføres via et bufferlager. Data skrives til et bufferlager av en prosess slik at en annen prosess kan lese dataene der. Operativsystemer

Nettverksdrivere i Windows 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

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

Nettverksdrivere i Windows 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

Kommunikasjon mellom maskiner Operativsystemer

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

Windows Sockets 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

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

Windows Sockets Oppgaver for en server Lage socket Gi en IP adresse Lytte etter klienter Motta en forbindelse Motta melding Sende melding Operativsystemer

Windows Sockets Oppgaver for en klient Lage socket Gi en IP adresse Opprette en forbindelse Sende melding Motta melding Operativsystemer

Windows Sockets 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

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

Windows Sockets 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

Remote Procedure call 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

Remote Procedure call 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

Remote Procedure call 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

Remote Procedure call 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

Remote Procedure call 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

Remote Procedure call 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

Application Deployment Operativsystemer

Application Deployment 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

Application Deployment Det er flere måter å lage et selvstendig program på Kopiere filer til en katalog. Bruke Microsoft Installer. Benytte ClickOnce teknologi. Operativsystemer

Application Deployment 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

Application Deployment 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

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

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

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

Application Deployment 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

Application Deployment 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

Application Deployment Å 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

Application Deployment 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

Application Deployment 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