Oppsumering operativsystemer av: Lars- Martin Hejll

Størrelse: px
Begynne med side:

Download "Oppsumering operativsystemer av: Lars- Martin Hejll"

Transkript

1 Oppsumering operativsystemer av: Lars- Martin Hejll Høgskolen i Telemark

2 Lars- Martin Hejll, Høgskolen I Telemark Innhold Operativsystemer kapittel Introduction... 3 Operativsystemets Oppgaver:... 3 Alle moderne CPU`r opererer i minst to ulike modus:... 4 Batch system & Interactive... 4 Operativsystemer kapittel Process manager... 5 Representasjon av processer, TASK og TRÅDER... 5 Tilstandsoverganger:... 7 Operativsystemer kapittel 3 (Leksjon 3+4)... 9 Concurrency... 9 Semaphores/semaforer... 9 Produsent & konsument problemer: Vranglås: Operativsystemer kapittel 4 (leksjon 5) Memory manager/minnestyring Hvorfor minnestyring /hensiktet med minnestyring: Virtuel hukomelse Teknikker: Base og lengderegister: Segmentering: Paging Segmentering VS Sidesystem (Paging) Kombinasjon Sidesystem og segmentering Operativsystemer kapittel 5 (leksjon 6) Input Output Operativsystemer kapittel 6 (leksjon 7) Lavnivå I/ Grensesnitt mot minne / RAM Dual port minne Sync/Synkronisering DMA = Direct Memory Access I/O request / forespørsel Diksorganisering Boot blokk Lavnivå diskorganisering: Operativsystemer kapittel 7 (leksjon 8) Distribuerte systemer Kilder... 20

3 Lars- Martin Hejll, Høgskolen I Telemark Operativsystemer kapittel 1 Introduction Et operativsystem hjelper brukeren å utvikle og kjøre programmer, operativsystemet setter omstendlighetene/omgivelsen slik at programmer kan kjøre. Operativ system er et program som sitter mellom rå hardware og programmer. Det tilbyr et user- friendly interface til programmer, og gjemmer kompleksiteten til hardwaret. Operativsystemets Oppgaver: Starte og stoppe programmer og fordele CPU`n mellom disse Styre,fordele minne og holde rede på hvor mye minne som er brukt og hvor mye som er fortsatt ledig. Det holder også styr på hvilke program som bruker det aktuelle minnet. Operativsystemet har også en mekanisme som åpner for at programmer kan be om mer minne etter behov, eller gi tilbake ubrukt minne. I/O mannagement. Overlapping av input og output prosessor, flere ting kan skje samtidig, innput fra tastatur mens en annen prosess skriver til en fil osv. Fil system. Sikkerhet, operativsystemet sikerer at et program er beskytta fra alle de andre. Nettverk, operativsystemet dekker opp forskjellen mellom ulike maskiner slik at enhver pc modell kan kommunisere med en annen. Feilmeldinger og recovery, operativsystemer må kunne oppdage feil og utbedre disse eller gi brukeren en tilbakemelding.+feilhåndtering! Et operativ system er software som gjør hardware mer brukbart og brukervenlig. System service = den virkelige interfacen mellom operativsystemet som GUI, programmer og Command interpreter bruker for å kommunisere med OS. IEEE har nylig startet opp å etablert en standard på tvers av ulike OS for system services kalt POSIX; Portable Operating System. POSIX er ikke et operativ system, POSIX er en standard for OS designere. POSIX er et programkodelag mellom operativsystemet og brukerprogramma som lar brukerprogrammer kalle opp POSIX- funksjoner i stede for operativsystemspesifikke funksjonar. POSIX er mer generelt, det aktuelle OS- et er spesielt. Denne standaren har sørget for at brukerprogrammer kan brukes på flere ulike OS ved å rekompilere det. POSIX ble orginalt utviklet for UNIX men finnes også for andre operativsystem.

4 Lars- Martin Hejll, Høgskolen I Telemark Alle moderne CPU`r opererer i minst to ulike modus: 1. CPU user mode: I dette moduset kan cpu`n kun utføre en del av sine instruksjoner, de mest vanlige som legge multiplikasjon, addisjon, substraksjon laste, lagre osv. 2. CPU Kernel mode : (brukes av system service) I dette moduset kan cpu`n utføre alle sine instruksjoner, inkludert de som trenger extra pri. Dette kan for eksempel være tilgang til spesielle register som kontrolerer sikkerhet på maskinen. I kernel mode kan operasjoner som bare opsy har lov til utføres. Normalt sett kjører maskinen i user mode, når den trenger noe spesielt må den bytte til kernel mode. Batch system & Interactive Batch systemer: Historisk de som først ble utviklet, i et slikt system blir programmet, data og commandoene for å manipulere programmet og data samlet til pc`n for å utføre en job. Det er lite eller ingen kommunikasjon mellom bruker og det programmet som utføres. Dette er lite brukt men et godt alternativ i en situasjon hvor all data er tilgjengelig og det er ingen behov for interaktivitet med programmet mens det kjører, typisk: lønnskjørings system. Interactive systemer: Det mest vanlige i dag, ved bruk av mus tastatur og skjerm. Som en vanlig PC Distributed system : Nylig utviklet innenfor operativsystemer, dette møter behovet for et multi user system på en ny måte. Et slikt system består av en gruppe av maskiner som samhandler som en maskin. Når brukeren starter et program kan det kjøre kun på den maskinen som brukeren sitter på. Men vis den aktuelle maskinen blir overlastet og OS`t vet at en annen maskin er tilgjengelig kan jobben bli overført til en annen maskin. All denne sammenfattningen av data og eller program fra en maskin til en annen er totalt under kontroll av operativ systemet og brukeren er uviten om hvem maskin som faktisk utfører den aktuelle jobben.

5 Lars- Martin Hejll, Høgskolen I Telemark Operativsystemer kapittel 2 Process manager En process er et stykke arbeid i et pc system. Det er to aspekter til et slikt arbeid/ process; en statisk og en dynamsik del. En prosess= En arbeidsoppgave som er i gang, et program som kjører. Den statisk delen blir referert til som en task involverer ressursene, parametre og egenskaper ved prosessen / allokert til den aktuelle process. Dette inkluderer en bestemt størrelse av plass i minnet, et aktuelt arbeids directory, kilder av input og ouput som for eksempel tatstatur, skjerm og åpne filer og kanskje en kobling med en annen process over et netwerk. Programteller: hvor langt har programmet kommet. (Bokmerke i koden) Den dynamsike delen av en process kan bli beskrivet som et program i action. Når intruksjonene som utgjør et program faktisk blir utført jober CPU`n seg gjennom programmet i et bestemt mønster. Den dynamiske delen av en process er også kjent som a thread of execution eller thread of control eller bare en tråd. Dynamiske egenskaper: Aktiviteten som foregår, sekvensen av tilstander/tilstandsoverganger. En tråd thread gjennom mengden av mulige tilstander. Multitråder: Det skjer ofte at en process starter å kjøre på en CPU før den nesten med en gang stopper igjen for å vente for en vis tid for input. Status for den processen må lagres og en annen må bli restored. Dette tar lengre tid en det tar før processen stopper igjen, og ny process må restores. Saving og restoring status er ikke produktivt arbeid, dette blir her en stor del av det overordna arbeidete til en maskin. Dette har ført til en idè om å ha flere/mange veier for utførelse av processer (tråder) gjennom et program på samme tid. Med et slikt oppsett vil en tråd kunne fortsette selv om en annen må vente. På denne måten slipper vi kontekstbytte og en annen tråd (samme prosses) kan fortsette mens den andre venter på for eksempel I/O. Kontektsbytte mellom tråder er mye raskere en kontekst bytte mellom prosesser, fordi tråder deler minne, filer m.m. Representasjon av processer, TASK og TRÅDER OS`t trenger å holde styr på de ulike processene. Som i alle andre software systemer bruker OS`t data strukturer til å representere de ulike objektene det håndterer. For hver aktuell process som er kjent for OS`t, holdert det en data structur kjent som en process descriptor / prosess beskrivelse eller en process control block. Slike data strukturer kan bli implimentert statisk i ordna størrelse tabeller. Fordelen med dette er at informasjonen til en spesiel process kan bli funnet med en gang/direkte med indeksering. Ulempen med dette er at det kan bli opptatt ganske mye plass/wasted space. For eksempel vis det kun er et par prosesser som kjører og plass har blitt allokert for flere hundre På den andre siden så er det max antall mulige prosesser som kan kjøres samtidig. Et annet

6 Lars- Martin Hejll, Høgskolen I Telemark alternativ er å allokere plass dynamisk etter behov, og kun så lenge som nødvendig, vanligvis som et linka liste. Ulempen med dette er at du ikke kan indeksere en slik liste og du må søke den sekvensielt for å finne den aktuelle processen. De to ulike teknikkene med fordeler og ulemper: Tabell: +Rask tilgang (indeksering) +allokert en gang for alle statisk størrelse, kaster bort plass. Maksimalt antall prosesser. Liste: +Dynamisk struktur, riktig størrelse + Ikke noe maksimalt antall prosesser. Langsomt søk (lineært) Må stadig allokere plass for nye PCB Prosess VS Prosessor Normalt har en datamaskin en prosessor og mange prosesser. Tidsdeling av CPU ressurs: Prosessene bytter på å få bruke prosessor. En prosess blir kastet ut av en prosessor når en av følgende skjer: 1. Prosessen har brukt op tidsbiten (time slice) Dette fører til et tidsavbrudd(interrupt) 2. Prosessen må vente på noe annet, for eksempel. I/0 3. Det skjer noe med høyere prioritet en den prosessen som kjører. Det å bytte prosess på prosessoren kalles kontekstbytte (context switch) prosessor kan ha flere sett registre da går kontekstbytte raskt. Ellers må innhold av registre skrives til minne (cache). Kontekstbytte stjeler mye ressurser i en datamaskin Kernel (kjernen) er den innerste og viktigste delen av et operativsystem. Kjernens oppgave er å starte systemet, håndtere ressurstildelingne, samt å kommunisere med maskinvaren. Vanligvis fungerer kjernen som et beskyttende bindeledd mellom maskinvaren og de programmene som kjøres på systemet. POSIX systemkallet Fork(); lager en eksakt kopi av den prosessen som kjører. Umidelbart etter at fork() funksjonen er blitt kalt er det nå to prosesser. Begge kjører det samme programmet. Begge prosessene er på akuratt det samme punktet i programmet. En prosess terminerer når den er ferdig med koden, eller når den kaller exit(); En prosess starter med bare en tråd, så blir nye tråder opprettet. En ny tråd skapes i POSIX med kallet: pthread_create(). Trådtilstander: En tråd kan være i en av tre tilstander: WAIT, RUN, CPU WAIT: venter på ressurs (som ikke er CPUèn) typisk I/O RUN: Klar til å kjøre, venter på å få bruke CPU`n CPU: Kjører på CPU`n (den ene tråden)

7 Lars- Martin Hejll, Høgskolen I Telemark Tilstandsoverganger: Create: Ny tråd vil alltid bli lagt i tilstand RUN, klar til å kjøre, venter bare på CPU. Første tilstand etter at en ny tråd er opprettet. Schedule: Operativsystemet bestemmer at denne tråden skal få bruke CPU nå. Går fra RUN TIL CPU Wait: Tråden gjør selv en handling som medfører at den må vente, for eksempel. I/O. Venter på disklesing/skriving nettverk etc. Går da fra CPU TIL WAIT Event: Den begivenheten tråden venter på (for eksempel I/O) har inntruffet. Går da fra WAIT til RUN (klar til å kjøre venter på schedule/tildelt CPU tid) Preempt: Operativsystemet bestemmer at tråden ikke får kjøre videre. (Avbrudd/interupt) Kan ha brukt opp tidsbiten eller noe viktigere kan ha skjedd, Går da FRA CPU TILBAKE til RUN Terminate: tråden termineres, går fra CPU til TERMINERT (Ut av LOOP`N) Thread life cycle: CPU wait queue run queue Et tråd kan være i ulike states den kan være i kjøre/cpu state, dette betyr at den kjører. Eller så kan den være i vente kø på andre enheter etc., eller i kjøre kø= klar for cpu men har ikke fått sin timeslott hos cpu enda. Alle tråder starter i run queue etter at de er konstruert.

8 Lars- Martin Hejll, Høgskolen I Telemark Context switch/ kontekstbytte Er å bytte prosess/tråd fra en til en annen på prosessoren. Dette stjeler ressurser i en datamaskin. Dette kan skje ved 3 tilfeller: 1. Wait: Tråden må vente på I/O- går til WAIT 2. Preempt: Tråden har brukt opp tidsbiten / eller en viktigere tråd blir prioritert, går til RUN 3. Terminate: tråden er ferdig ell. Og bestemmer seg for å terminere. Hele tråden (evt. Prosessens) tilstand må lagres slik at den kan fortsette fra samme punkt senere. Nødvendige data må kopieres over i volatile- strukturen. Så blir den nye trådens tilstand hentet fram fra dens volatile- struktur, og tilhørende data blir kopiert inn i registre, startes ved at programtelleren settes. For ytelse er det viktig at datamaskinen kan utføre kontekstbytte raskt! Schedulering Schedulering er å bestemme hvilken (en enkel) tråd av trådene som ligger i RUN- tilstand (dvs er klare for å kjøre) som skal få slippe til på CPU`n. Dersom alle tråder er like viktige <<round robin>> er det enkelt è vanlig køordning. Tråder/prosesser kan ha ulik pri: Ingen tråde kan vente evig (selv tråder med lav pri) En tråds pri kan endres Tråd med lav pri kan evt få lang timeslott når den først slipper til Hensyn som må taes: Interaktivt: Kort tisbit (quantum) for rask respons. Men ikke for krot = ineffektivt. Batch: Lang tidsbit mest effektivt (til fullført?) Sanntid: Analysere tråd- mønster, må ha garanti for responstid.

9 Lars- Martin Hejll, Høgskolen I Telemark Operativsystemer kapittel 3 (Leksjon 3+4) Concurrency Det er mulig og sansynlig at flere/mange tråder eksisterer samtidig tilhørende ulike prosesser. Hver tråd vil være i en status et sted mellom initiering og terminering (finale stat). Slike tråder blir kaldt at de er: concurrent.(samtidige) Disse kjører samtidig. I og med at det som regel kun er en prosessor så er det kun tilsynelatende ingen concurrency/samtidige prosesser, operativsystemet swicher mellom ulike tråder. Med kun en prosessor og en prosessorkjerne, blir jo alt egentlig utført sekvensielt (etterhverandre) Flere ulike tråder jobber vanligvis med samme løsning, flere av trådene må ofte snakke sammen for å komme fram til rett løsning. Operativsystemet må ha kontrol over interaktiviteten mellom trådene og styre prioritering av hvilke tråd som skal få CPU kraft først. Vi har et antall concurrent tråder. Alle har et segment av code, kaldt its critical section som utfører instruksjoner som kan ha effekt på andre tråder, eks. Oppdatering av felles variabler. Vi må være sikker på at når en tråd utfører sin kritiske fase ingen andre tråder kan bli utført i sin kritiske fase. Tidligere ble dette løst med avanserte algorytmer som gjorde at ingen anne tråd utfører sin kritiske fase samtidig med en annen. Disse er lite effektive og ikke lenger i bruk, nye løsninger: Semaphores/semaforer Inneholder et ikke negativt integer som annet en ved initialisering kun kan bli representert som on/på ved to standard atomic uavbrude operasjoner. WAIT (som reduserer verdien til semaforen med 1 og SIGNAL som øker verdien med 1. Semaforens verdi er alltid lik antall ledige ressurser. For eksempel N=3 3 like printere, når en tråd trenger en printer kaller den wait (printer) og N = N- 1 dvs 2 printere er nå tilgjengelig til tråden er ferdig med printeren og den kaller signal N = N+1 dvs 3 printere er nå tilgjengelig. Vis WAIT ikke kan senke taller med 1, dvs semaforens verdi er allerede 0 blir tråden som kaller WAIT lagt i ventekø. Når Signal igjen øker taller med 1 (dvs en annen tråd er ferdig) blir en av de trådene som ligger i ventekø vekket og kan nå fullføre WAIT- kallet. Semaforer kan brukes til å kontrolere allokeringen og dealokeringen av resurser. Dette kan være fysiske ressurser som printere men det kan også være virtuelle resurser som en slott i en buffer.

10 Lars- Martin Hejll, Høgskolen I Telemark Produsent & konsument problemer: En eller flere produsenter legger data i et buffer/lager av begrenset størrelse En eller flere konsumenter leser fra bufferet/lager Når bufferet er fult må produsent vente Når bufferet er tomt må konsument vente Ved 1 Produsent og 1 konsumet trengs: To pekere (indekser) nextin og nextout og to semaforer: SlotFree = teller antall ledige, starter på N ItemAvailable = teller antall fulle, starter på 0 SituasjoN ved 1 produsent og 1 konsument: Produsent: Produce an item WAIT(SlotFree) Put item in Buffer at NextIN Increment NextIN (++) SIGNAL(ItemAvailable) = + Konsument: WAIT(ItemAvailable) = - Get Item from Buffer at NextOut Increment NextOut SIGNAL ( SlotFree) Consume the ITEM SituasjoN ved mange produsenter og mange konsumenter: Produsent: Produce an item WAIT(slotFree) = - WAIT(Guard) = - Put item in buffer at nextin = add Increment NextIn (++) SIGNAL(Guard) = + SIGNAL(ItemAvailable) = + Konsument: WAIT (ItemAvailable) = - WAIT (Guard) = - Get Item from Buffer at NextOut = remove Increment NextOut (++) SIGNAL (Guard) = +

11 Lars- Martin Hejll, Høgskolen I Telemark SIGNAL (SlotFree) = + Consume the item = use Semaforer har flere begrensninger og er lagt fra perfekt: 1. Man kan ikke tvinge en tråd til å bruke semaforer 2. Man kan ikke garantere at tråden bruker semaforen riktig, feil bruk kan medføre vranglås (deadlock) 3. Det er ingen prioriteringssytem, lavprioritet prosess kan holde en semafor evig. 4. Semaforen kan ikke overføre data det må gjøres på annet vis for eksempel med en delt buffer. 5. Venting i wait på en semafor kan vare uendelig ingen mekanisme for å angi max ventetid (nesten samme som 3) 6. Det er ikke mulig å vente på en kombinasjon av semaforer, f eks. Sem1 AND/OR sem2 Det er ønskelig med mer høynivå mekanismer som er enklere å bruke, f.eks til dataoverføring. En mulighet er å lage et system for meldingssending en eller flere tråder sender meldinger, en eller flere tråder er mottakere. Denne meldingsmekanismen må omfatte gjensidige utelukkelse i kritiske regioner, synkronisering (sending før mottak) og mellomlagring av meldingskø. Det kan tenkes både med synkron og asynkron meldingstjeneste. Ved asynkron melding vil sender aldri blokkere, den bare leverer melding til(legges i buffer ) og tråden kan fortsette. Mottaker blokkerer dersom den ber om å få melding før avsender har sendt. Kan evt. Spesifisere en timeout Meldingsmekanismen har også sine vakheter, bla. Fare for vranglås ved synkrone meldinger. Alternativ = Monitor. Monitor ble oppfunnet av C.A.R. Hoare og Per Brinch hansen er en god men ikke perfekt løsning på problemet. Denne løsninger fugerer objektorientert et objekt som holder på beskytta (private) data, med en eller flere tilgangsmetoder som sikrer kritiske regioner. I hver enkelt tråd kalles disse tilgangsmetodene, tråden har ingen mulighet for å aksessere data på andre måter. Tråden tvinges til å følge mønsteret. Ulemper med monitor: Bare en tråd kan være i monitoren av gangen. I noen tilfeller er dette for restriktivt gir dårlig ressursutnyttelse = mye venting. Som med semafor blir tråd som kaller monitoren tvunget til å vente dersom den er opptatt. Kunne ønsket en mekanisme for å sjekke om den er ledig slik at man kan velge å fortsette uten tilgang til ressursen dersom den er opptatt. Vranglås: Vranglås vil si at to eller flere prosesser (evt. To eller flere tråder) venter på hverandre gjensidig = evig venting. Sykler i ressursallokeringsgrafer kan føre til vranglås!

12 Lars- Martin Hejll, Høgskolen I Telemark

13 Lars- Martin Hejll, Høgskolen I Telemark Operativsystemer kapittel 4 (leksjon 5) Memory manager/minnestyring Hvorfor minnestyring /hensiktet med minnestyring: 1. Minnetildelig: Tildele de ulike prosesser minne etter behov, styrer hvor i minne dette skal bli lagret og hvor mye minne som skal settes av 2. Styre/mobilisere (i form av kopiering) minne i minnepyramiden. (Register, cache, primærhukommelse (RAM), disk. 3. Adressemapping, Kompilator vet ikke hvor i RAM programmet vil bli plassert, og legger derfor inn relative adresse. Ved kjøring må disse omregnes til absolutte fysiske konkrete adresser. Dette kan gjøres både med Statisk relokering og dynamisk relokering. Med Statisk relokering blir programmet lagret sammenhengende fra N byte, ved omregning er det bare å legge til N på alle adresser. I praksis er det vanskelig å holde programmet samlet og på samme sted gjennom kjøringen. Må derfor regne om hver gang adresser brukes, ikke bare ved oppstart, dette er Dynamisk relokering. 4. Minnebeskyttelse og deling. Minne som tildeles en prosess skal som oftest bare brukes av den prosessen, og må beskyttes mot andre prosesser. Men noen ganger skal minne kunne brukes av flere prosesser samtidig, så dette må tillates og kontroleres/overvåkes. 5. Memory extension/minneutvidelse ved hjelp av Virtuell hukommelse. Ofte er en maskin utstyrt med en vis mengde fysisk minne, begrenset etter plass og kostnad, fysisk minne < adresserommet. Virtuel hukomelse Opsy må overvåke hvert eneste minneoppslag lesing eller skriving for å sjekke om prosessen har lov (punkt 4. Minnebeskyttelse og deling), for å flytte mellom lagene i pyramiden osv, jmf. De fem punktene ovenfor. Ved virtuelt minne settes en seksjon av platelageret til side, og gis funksjonalitet som minne på tross av den store hastighetsforskjellen mellom ekte minne og platelagere. Det virtuelle minnet får tildelt minneadresser akkurat som det ordinære minnet. En egen tabell holder rede på disse adressene og den samsvarende delen på platelageret. Vis en prosess ber om innholdet i en minneadrese som ligger i det virtuelle minnet (på plata) kastes lite brukt innhold i det egentlige minne(ram) ut til fordel for de etterspurte dataene som ligger i det virtuelle minnet. (RAM)

14 Lars- Martin Hejll, Høgskolen I Telemark Teknikker: Base og lengderegister: Enkleste teknikk for å oppnå noe av det vi ønsker oss. Kompilator gir alle programmer relative (logisk ) adresser som starter på 0. Når programmet skal startes blir det lastet inn (loading) Det er neppe ledig i adresse 0, anta at det legges fra B. Denne adressen legges i et spesielt register i CPU, <<Base register>>. Hver minneadresse må altså ved kjøring adderes til innholdet av baseregisteret. Segmentering: Ved segmentering kan vær prosess flere separate områder i minne, hvert område kan ha sin tilgangsbeskyttelse evt. Være delt med andre. Ved bruk av segmentering til å håndtere minneblokker innføres det en ekstra tabell over minnet i operativsystemet. Denne tabellen holder styr på minneblokkene som kan være av ulik størrelse. Størrelsen på blokkene bestemmes av programmereren. Med segmentering blir problemet med fragmentering av minnet mye mindre en ved bruk av partisjonering. Ulempen med segmentering er at det blir en ekstra omregning for at man skal finne fysiske minneadressen. Tre ekstra bit i segmentabellen (3 deskriptorer) R W E bestemmer om prosessen har leserettighet skriverettighet eller EXECUTE rettighet. Flere prosesser kan ha referanse til samme segment i hver sine segmenttabeller. Dermed kan også forskjellige prosesser ha ulik tilgang til samme segment, en prosess kan ha lesetilgang mens en annen har skrivetilgang. Paging Et problem med segmentering er den variable størrelsen på segmentene, når minnet er nesten fult er det mye jobb å finne plass til nye segmenter. Alternativ til dette er å bruke paging, der både adresserommet og fysisk minne deles opp i like sider av en fast størrelse. Typisk 4KB. Når alle sider er like store er det enkelt å finne plass. Ved bruk av paging deles minnet inn i flere minnerammer. En prosess vil så deles opp i flere pages/sider og disse vil kunne fordeles rundt i minnerammen.

15 Lars- Martin Hejll, Høgskolen I Telemark Segmentering VS Sidesystem (Paging) Sider har fast størrelse, segmenter har variabel størrelse Sidesytem er det lineært adresserom, med segmentering er det mange. Prosedyrer (metoder, klasser..) og data kan skilles og beskyttes separat med segmentering, ikke uten videre med sidesytem. Deling av prosedyrer (kode) støttes av segmentering, ikke av sidesytem. Sider følger etterhverandre når en side er skrevet full går man inn i neste, Ikke tilsvarende for segmenter. Fordel under kopiering i minne hirarkiet. Store ssegmenter er vanskelig å få plassert ikke nok ledig plass noe sted. En side passer hvorsom helst! Kombinasjon Sidesystem og segmentering Paged segmentation, Hvert segment består av en eller flere sider, hvert segment har sin sidetabell. Hver segment deskriptor har peker til segmentets sidetabell. En logisk adresse består nå av tre deler, Segmentnummer(s), Sidenummer innen segmentet(p) og offsett innen sida (o). Operativsystemer kapittel 5 (leksjon 6) Input Output I/O er ofte en flaskehals i mange systemer. Typer katalogstruktur: Ett- nivå katalog = Bare en katalog, evt en for hver bruker Trestruktur katalog = Vilkårlig mange kataloger og nivåer Asyklisk graf katalog = Kat1/Kat2 = Kat2/Kat1 Flere veier til samme fil eller katalog, linker. Ingen sykler! Linux (UNIX) katalogstruktur = En graf med sykler, men bare. og.. går oppover Linux: Inode En inode er en blokk av fast størrelse i et unix- filsystem som inneholder metadata om en fil. Dette kan være modifikasjonstid rettigheter osv. Dette er rotnoden i datastrukturen som lagrer filinholdet.

16 Lars- Martin Hejll, Høgskolen I Telemark Synkron og Asynkron I/O All I/O tar tid- til dels mye tid Synkron (blocking) I/O Standard oppførsel er at prosessen venter på I/O, når kallet returnerer er jobben utført. Venting skjer inne i systemkallet, prosessen er da i wait- tilstand. Som for eksempel. System.out.println(); Asynkron (non- blocking) I/O Ved åpning av fil kan man angi et O_Nonblock flagg. Dette gjør at I/O prosessen kan startes kommunikasjonen er startet og deretter blir blir andre prosesser som ikke krevert at I/O er fullført utført. Operativsystemer kapittel 6 (leksjon 7) Lavnivå I/0 Grensesnitt mot minne / RAM Ram er linært utformert og adresserbart fra 0. Vi kan skrive og lese en og en byte. Ram kan vi også se på som en blindvei, den eneste måten å komme dit er via CPU. Denne Forståelsen fungerer greit i mange situasjoner, men stemmer ikke helt, i noen tilfeller blir dette bilde helt galt. Dual port minne Minne kan også lages dual- ported dvs. Med to veier. På den ene siden er minnet koblet til databussen og CPU, på den andre siden er den koblet direkte til en enhet (disk, nettverkskort etc) På denne måten kan enheten både lese og skrive direkte til minnet. Bestemte adresseområder implementeres med slikt minne og kalles gjerne device registre. Sync/Synkronisering Synkronisering mellom enhet og cpu kan her bli et problem. Situasjon 1: CPU har lagt nye data i minne som enheten kan hente. 2: tastatur har lagt inn et nytt tegn fra bruker som skal registres av CPU. Et alternativ er å lage et statusregistre for hver enhet, dvs at CPU stadig må undersøke disse registerene. Har det skjedd en endring nå, hva med nå, hva med nå? = aktiv venting også kaldt pollig. Dette fører til mye bortkastet tid. Bedre løsning er interrupt = avbrudd. På forhånd er det programert en avbruddsrutine som blir fyrt av en ekstra signallinje som går fra hver enhet til CPU og varsler et avbrud/endring. Denne avbruddsrutina

17 Lars- Martin Hejll, Høgskolen I Telemark går gjennom statusregisterne for å se hvilke enhet det gjelder, og behandler så dette. Dermed trenger vi ikke kaste bort til på pollig = aktiv venting. I nyere tid er det laget tabeller med avbruddsrutiner, gjerne en for hver enhet. Ett bestem avbrudd starter en bestemt avbruddsrutine. Dermed vet CPU`n hvem enhet som genererte avbrude og trenger ikke lete gjennom uttallige registre. Dvs: Fyrer tastaturet et avbrudd/signal (bit som blir satt) til CPU, går CPU i tabellen med avbrudsrutiner og velger den rutinen som tilhører til tastatur, for så å undersøke hva som har blitt foradret. DMA = Direct Memory Access Løsning med avbruds/sync fungerer bra når kun få data skal overføres som ved mus/tastatur bevegelse. Ved overføring av store mengder data fungere ikke denne løsningen. En DMA- prosessor kan selv overføre data direkte mellom ram og enhet (for eksempel. En disk). CPU`N tar initiv til overføringen ved å legge info i device registre, så går trafikken styrt av DMA_prosessor mens cpu`n kan gjøre andre ting. Når overføringen er ferdig legges info i device- registre og avbrudd fyres. I/O request / forespørsel Når en prosess / opsy ønsker å gjøre I/O på en enhet, fyller den ut en input/output request block IORB den brukes til å overføre parameterinformasjon mellom det generiske laget og det deviceavhengige laget. Driver kan bli organisert som funksjon eller som prosess: Som funksjon: I unix er drivere organisert som funksjon, applikasjonen som ønsker å utføre I/O gjør et systemkall, dvs. Kaller en av funksjonene som POSIX standarden spesifiserer. Denne funksjonen kaller så en driverfunksjon, og sender med en IORB som spesifiserer hva som skal skje. Prosessen blir som oftest blokker underveis for å vente på I/O, før den vekkes igjen nmed interrupt fra enheten når den er ferdig. Som prosess: Andre Os velger en annen tilnærming. La hver device/enhet bli styrt av en egen driver- prosess. Denne ligger det meste av tiden passive, (idle) og vekkes når den trengs. For eksempel når den motar en melding fra IORB`n Eksempler på noen Operasjoner på enhet/device: V_open() = kalles ved åpning, sjekk at enheten er i normal drift, sett enheten klar for lesing/skriving. Eksempelvis hent inn nytt ark i printer. V_close() = kalles ved lukking. Avslutt aktivitet, tøm buffere, generelt rydd opp V_reed()

18 Lars- Martin Hejll, Høgskolen I Telemark V_write() Diksorganisering En disk er delt opp i fysiske blokker, bestemt av diskprodusent. Typisk størrelse er 512B 2KB. Filsystemet bestemmer en logisk blokkstørrelse bør være multiplum av fysisk blokkstrørrelse. Typisk 2KB 16KB dette bestemmes ved formatering. Store blokker betyr at mye plass går tapt, siste blokka i en fil er typisk halvfull. Mye bortkastet overføringskapasitet: data hentes i logiske blokker selv om vi bare trenger 1B Små blokker betyr mye jobb å holde oversikt, i blokktabeller, tar stor plass. Tar mye tid å overføre dersom mange blokker forskjellige steder på disk. Fysiske blokker nummereres fortløpende fra 0, driveren bruker dette som adresse. Boot blokk Første blokk, blokk 0, er boot blokk, og inneholder boostrap program, som er oppstartskode. Startes automatisk når maskina startes laster inn operativsystemet. Videre kan disken være delt i partisjoner eller filsystemer. Partisjonene/filsystemene kan være av samme type, eller ulike typer. Boot blokk inneholder også info om diske: Type, kapasitet, partisjonering etc. Blokkallokering Blokkallokering er den indre strukturen i en partisjon- hvordan tildele blokker til fil. Rotkatalogen ligger gjerne et fast sted i starten av partisjonen. Denne inneholder informasjon om alt som ligger der, og referanser videre til underkataloger og filer. Disse underkatalogene har referanser til sine underkataloger/filer osv. Det finnes flere ulike allokeringsstrategier: (dvs tildeling av blokker til filer) Kontinuerlig allokering Blokk linking Variasjon av blokklinking clusters File map Indeksert allokering Disse ulike teknikkene lar seg kombinere på ulike vis Kontinuerlig allokering Fila ligger på kontinuerlig sekvens av blokker. Katalogen må huske startaresse(blokk) og ant. Blokker (str). Ved denne allokeringsmetoden risikerer brukeren at det ikke er mye ledig plass selv om det er mye ledig plass. Dette fordi at det ikke lenger er noen store nok plasser ledig. Samme problem som ved segmentering i minne. Det kan også by på problemer å utvidde en fil, vis det ikke er mer plass i samme område må hele filen flyttes til et større område. Blokk linking Motsatte av kontinuerlig allokering, en fil blir allokert som en kjede av individuelle blokke, kan ligge hvor som helst på disk. Denne teknikker utnytter

19 Lars- Martin Hejll, Høgskolen I Telemark plassen svært godt, og greit ved sekvensiell aksess, men tungt ved direkteaksess. Da må pekerkjeden følges til blokk N. Også sikkerhetsrisiko ved skade på en kobling finnes ikke resten av fila, kjeden blir brytt opp Clusters En god mellomløsning er å lagre en fil som en samling clusters en kontinuerlig sekvens av blokker. Raskere ved direkteaksess, tillater alltid filutviddelse ( fil utviddelse fører ofte til et nytt cluster) alle ledige blokker på disken kan utnyttes. En kombinasjon av de to metodene ovenfor. File map (filkart) Er en variant av Blokk- linking der link informasjonen sentraliseres ett sted ist. For å ligge distribuert utover alle blokkene. Dette er sikrere og raskere om vi har tabellen i RAM Indekser allokering Indeksert allokering ligner filmap men bruker en tabell pr fil til å holde blokknummer. Effektiv ved direkteaksess. Lavnivå diskorganisering: En disk består av en eller oftest flere plater med en eller to lagringsider På hver plate(side) er det et antall spor, kalles også sylindre Hvert spor er delt inn i sektorer. Diskarm svinges inn og leser eller skriver. Diskarmplanleggin Diskarmbevegelse tar tid, og planlegging av armen bevegelse bassert på forespørsler er ikke alltid FIFO den beste. Dette fører til for mye diskarmbevegelse som tar tid. Elevatoralgoritmen er den vanligste løsningen. Start med å føre armen utover, Betjen den forespørselen som ligger nærmes utover inntil det ikke er noen slike forespørsler igjen. Start da med å bevege armen innover, betjen den nærmeste innover til det ikke er noen slike igjen. Så utover igjen osv. Helt inn, helt ut. Samme algoritme brukes i HEIS, derav navnet. Operativsystemer kapittel 7 (leksjon 8) Distribuerte systemer Distribuerte systemer er systemer der bruker (som kan være programmerer) ikke behøver å ta hensyn til eller trenger å kjenne til, hvilken maskin eller hva som ytes av hvilken masking. The network is the computer Grid / Cloud computing. Fordeler med distribuerte systemer: Økonomisk

20 Lars- Martin Hejll, Høgskolen I Telemark En Maskinpark bestående av mange små standardmaskiner er i dag den rimeligste vei til høy ytelse vis ressursene kan utstyttes. Pålitelighet Lettere å bygge pålitelige og feiltolerante systemer når man har flere sammarbeidende maskiner legger inn redundans. ObS! Også lett å lage systemer der en feil kan ødelegge for alle. Ressursdelig Har mye med økonomi å gjøre sambruk av kostbare ressurser. Ytelse i et distribuert system: Den teoretisk ytelsen øker linært med antall maskiner, men i praksis får du ikke ut dette, kommunikasjon og samhandlig stjeler av ytelsen. Kritiske samhandligselementer bør kanskje ligge på samme masking. Ved tung belastning bør ytelsen kun synke, ikke kollapse. Inkrementell vekst Skalerbarehet er viktig i et distribuert system. Operativsystemtyper: Nettverksoperativsystem (NOS) tillater at disker, printere og lignende ressurser på en maskin monteres transparent på en annen, slik at bruker ikke ser forskjell på hvor ressursen befiner seg. Kilder O'Gorman, John (2000) Operating systems., Basingstoke, Macmillan ISBN Shotts, William E (2012) The Linux command line : a complete introduction. /TLCL/09.12/TLCL pdf ISBN Forelesnings foiler i 5607 operativsystemer av Tor Lønnestad

Tildeling av minne til prosesser

Tildeling av minne til prosesser Tildeling av minne til prosesser Tildeling av minne til prosesser OS må hele tiden holde rede på hvilke deler av RAM som er ledig/opptatt Når (asynkrone) prosesser/run-time system krever tildeling av en

Detaljer

Scheduling og prosesshåndtering

Scheduling og prosesshåndtering Scheduling og prosesshåndtering Håndtering av prosesser i et OS OS må kontrollere og holde oversikt over alle prosessene som kjører på systemet samtidig Prosesshåndteringen må være: Korrekt Robust Feiltolerant

Detaljer

Tildeling av minne til prosesser

Tildeling av minne til prosesser Tildeling av minne til prosesser Tildeling av minne til en prosess Når en ny prosess opprettes har den et krav til hvor mye minne som skal reserveres for prosessen Memory Management System (MMS) i OS må

Detaljer

! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:

! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er: Dagens temaer! Ulike kategorier input/output! Programmert! Avbruddstyrt! med polling.! Direct Memory Access (DMA)! Asynkrone vs synkrone busser! Med! Fordi! -enheter menes de enheter og mekanismer som

Detaljer

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt. Side 1 av 5 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER Versjon: 17.jan 2013 Faglig

Detaljer

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt. Side 1 av 8 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER Versjon: 13.des 2011 Faglig

Detaljer

Definisjon av prosess

Definisjon av prosess Prosesser og tråder Definisjon av prosess Enkel definisjon: En prosess er et program som kjører på datamaskinen Mer presis definisjon: En prosess er en samling av ressurser som er nødvendige for å utføre

Detaljer

TDT4258 Eksamen vår 2013

TDT4258 Eksamen vår 2013 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 8 TDT4258 Eksamen vår 2013 Løsningsforslag Oppgave 1 Flervalgsoppgave (16 poeng) Du får 2 poeng

Detaljer

oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO

oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO oppgave 1 Hvorfor har vi operativsystemer? Portable programmer Enklere å programmere

Detaljer

Dagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache

Dagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache Dagens temaer Dagens emner er hentet fra Englander kapittel side 338-35 (gammel utgave). Mer om design av cache. Kort repetisjon er en spesiell type rask hukommelse som inneholder et subsett av det som

Detaljer

INF2270. Input / Output (I/O)

INF2270. Input / Output (I/O) INF2270 Input / Output (I/O) Hovedpunkter Innledning til Input / Output Ulike typer I/O I/O internt i datamaskinen I/O eksternt Omid Mirmotahari 3 Input / Output En datamaskin kommuniserer med omverdenen

Detaljer

Generelt om operativsystemer

Generelt om operativsystemer Generelt om operativsystemer Operativsystemet: Hva og hvorfor Styring av prosessorer (CPU), elektronikk, nettverk og andre ressurser i en datamaskin er komplisert, detaljert og vanskelig. Maskinvare og

Detaljer

INF2270. Input / Output (I/O)

INF2270. Input / Output (I/O) INF2270 Input / Output (I/O) Hovedpunkter Innledning til Input / Output Ulike typer I/O I/O internt i datamaskinen I/O eksternt Omid Mirmotahari 3 Input / Output En datamaskin kommuniserer med omverdenen

Detaljer

Eksamen DAT 103. Oppgave 2. Kandidatnr.: 145 1) B 2) B 3) A 4) A 5) D 6) C 7) B 8) A 9) A 10) D

Eksamen DAT 103. Oppgave 2. Kandidatnr.: 145 1) B 2) B 3) A 4) A 5) D 6) C 7) B 8) A 9) A 10) D Eksamen DAT 103 Kandidatnr.: 145 Oppgave 1 1) B 2) B 3) A 4) A 5) D 6) C 7) B 8) A 9) A 10) D Oppgave 2 a) Et OS er den administrerende softwaren i en datamaskin. Den bygger på prinsippene om filhåndtering,

Detaljer

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 samtidig.

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 samtidig. Synkronisering 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 samtidig. Behov for synkronisering Mange prosesser/tråder

Detaljer

Samtidige prosesser. Prosessor modus. Hvordan kan OS effektivt kontrollere brukerprosesser? Hvordan kan OS. kontrollere brukerprosesser?

Samtidige prosesser. Prosessor modus. Hvordan kan OS effektivt kontrollere brukerprosesser? Hvordan kan OS. kontrollere brukerprosesser? Samtidige To (tasks) må ikke ødelegge for hverandre: skrive til samme minne kapre for mye CPU-tid få systemet til å henge Beste løsning: All makt til OS = Preemptive multitasking Preemptive = rettighetsfordelende.

Detaljer

Funksjonalitet og oppbygning av et OS (og litt mer om Linux)

Funksjonalitet og oppbygning av et OS (og litt mer om Linux) Funksjonalitet og oppbygning av et OS (og litt mer om Linux) Hovedfunksjoner i et OS OS skal sørge for: Styring av maskinvaren Deling av maskinens ressurser Abstraksjon vekk fra detaljer om maskinvaren

Detaljer

IT1101 Informatikk basisfag, dobbeltime 18/9. Kommunikasjon med perifere enheter. Kontrollere. Kontrollere (2) I/O-instruksjoner

IT1101 Informatikk basisfag, dobbeltime 18/9. Kommunikasjon med perifere enheter. Kontrollere. Kontrollere (2) I/O-instruksjoner IT1101 Informatikk basisfag, dobbeltime 18/9 I dag: Kommunikasjon med perifere enheter (på maskinspråknivå) Kommunikasjonsrater Kommunikasjonsfeil Feildetektering Feilkorrigering (Hammingdistanse) Operativsystemer

Detaljer

Lars Vidar Magnusson. October 11, Lars Vidar Magnusson () Forelesning i Operativsystemer October 11, / 28

Lars Vidar Magnusson. October 11, Lars Vidar Magnusson () Forelesning i Operativsystemer October 11, / 28 Tråder Lars Vidar Magnusson October 11, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 09.09.2011 October 11, 2011 1 / 28 Oversikt Tråder 1 Tråder Introduksjon Multithreading Prosesser og

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Eksamensdato: 26. mai 25 Varighet: 3 timer ( 9: 12: ) Avdeling for informatikk og e-læring Fagnummer: Fagnavn: LO249D Operativsystemer med Linux Klasser: BADR 1. ING FU Studiepoeng:

Detaljer

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen Dagens temaer Fra kapittel 4 i Computer Organisation and Architecture Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen Register Transfer Language (RTL) Instruksjonseksekvering Pipelining

Detaljer

Faglig kontakt under eksamen: Orestis Gkorgkas

Faglig kontakt under eksamen: Orestis Gkorgkas Side 1 av 5 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER Faglig kontakt under eksamen:

Detaljer

Generelt om permanent lagring og filsystemer

Generelt om permanent lagring og filsystemer Generelt om permanent lagring og filsystemer Filsystem Den delen av OS som kontrollerer hvordan data lagres på og hentes frem fra permanente media Data deles opp i individuelle deler, filer, som får hvert

Detaljer

Forelesning Instruksjonstyper Kap 5.5

Forelesning Instruksjonstyper Kap 5.5 TDT4160 Datamaskiner Grunnkurs Forelesning 22.11 Instruksjonstyper Kap 5.5 Dagens tema Instruksjonstyper (5.5) Datatransport Datamanipulering Betingede hoppinstruksjoner Prosedyrekall Løkker I/O Eksempler

Detaljer

Introduksjon til kurset og dets innhold

Introduksjon til kurset og dets innhold til kurset og dets innhold Lars Vidar Magnusson September 4, 2011 Oversikt Forelesninger Kursets fagsider Øvingstimer Kunnskap Ferdigheter 1 Forelesninger Kursets fagsider Øvingstimer Kunnskap Ferdigheter

Detaljer

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer Faglig kontakt under eksamen: Asbjørn Djupdal Tlf.: 909 39452 Eksamensdato: 29. mai 2013

Detaljer

Hvorfor lære om maskinvare*?

Hvorfor lære om maskinvare*? Litt om maskinvare Hvorfor lære om maskinvare*? Hovedoppgaven til et OS er å styre maskinvare Må ha grunnleggende kjennskap til maskinvare for å forstå hvordan OS fungerer Skal bare se på grunnleggende

Detaljer

Innhold. Virtuelt minne. Paging i mer detalj. Felles rammeverk for hukommelseshierarki. 02.04.2001 Hukommelseshierarki-2 1

Innhold. Virtuelt minne. Paging i mer detalj. Felles rammeverk for hukommelseshierarki. 02.04.2001 Hukommelseshierarki-2 1 Innhold Virtuelt minne Paging i mer detalj Felles rammeverk for hukommelseshierarki 02.04.200 Hukommelseshierarki-2 Virtuelt minne Lagringskapasiteten i RAM må deles mellom flere ulike prosesser: ûoperativsystemet

Detaljer

Oppgave 2: Gå til roten (/) av systemet. Finn minst tre forskjellige måter å gå tilbake til hjemmekatalogen din på.

Oppgave 2: Gå til roten (/) av systemet. Finn minst tre forskjellige måter å gå tilbake til hjemmekatalogen din på. Løsningsforslag for oppgavene i operativsystemer, uke 43 (18.10-22.10) På terminalstue: Oppgave 1: List alle filer og kataloger under XVUELQ som har filnavn som begynner på b. OVXVUELQE Oppgave 2: Gå til

Detaljer

Minnehåndtering i operativsystemer

Minnehåndtering i operativsystemer Minnehåndtering i operativsystemer Minnehåndtering? Minne er en begrenset ressurs i datamaskinen Tilgjengelig minne må fordeles til prosessene som OS-et håndterer, på en korrekt og rettferdig måte Minnet

Detaljer

Operativsystemer og grensesnitt

Operativsystemer og grensesnitt Operativsystemer og grensesnitt Ulike måter å bruke OS'et på Application Program Interface (API) Applikasjoner (ofte C-programmer) som f.eks. emacs, som bruker tjenestene i OS ved å kalle på funksjoner

Detaljer

Kort notat om parallellstyring IN147

Kort notat om parallellstyring IN147 Kort notat om parallellstyring IN147 Kristin Skar 18. mai 2001 1 Kommunikasjon mellom prosesser Mange problemer man kommer borti kan kreve en paralell løsning: Man kan ha behov for økt hastighet, og dermed

Detaljer

Oppgave 8.1 fra COD2e

Oppgave 8.1 fra COD2e Oppgave 8.1 fra COD2e To systemer brukes for transaksjonsprosessering: A kan utføre 1000 I/O operasjoner pr. sekund B kan utføre 750 I/O operasjoner pr. sekund Begge har samme prosessor som kan utføre

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Eksamensdato: 26. mai 25 Varighet: 3 timer ( 9: 2: ) Avdeling for informatikk og e-læring Fagnummer: Fagnavn: LO249D Operativsystemer med Linux Klasser: BADR. ING FU Studiepoeng:

Detaljer

DAT 103 - kandidatnummer: 142

DAT 103 - kandidatnummer: 142 DAT 103 - kandidatnummer: 142 Oppgave 1: 1) B 2) B 3) A 4) A 5) D 6) C 7) B 8) C 9) A 10) D Oppgave 2: a) Et operativsystem er en samling av systemprogrammer og brukes som et bindeledd mellom brukerprogrammer

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1060 Introduksjon til operativsystemer og datakommunikasjon Eksamensdag: 6. desember 2012 Tid for eksamen: 14.30 18.30 Oppgavesettet

Detaljer

Tråder og concurrency i Linux

Tråder og concurrency i Linux Tråder og concurrency i Linux Lars Vidar Magnusson September 27, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 27.09.2011 September 27, 2011 1 / 14 Oversikt Tråder i Linux 1 Tråder i Linux

Detaljer

Generelt om operativsystemer

Generelt om operativsystemer Generelt om operativsystemer Hva er problemet? Styring av maskinvare og ressurser tilknyttet en datamaskin er komplisert, detaljert og vanskelig Maskinvare, komponenter og programvare endres og forbedres

Detaljer

Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer

Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer Institutt for datateknikk og informasjonsvitenskap Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer Faglig kontakt under eksamen: Svein Erik Bratsberg: 9953 9963 Eksamensdato: 9. desember

Detaljer

Litt om Javas class-filer og byte-kode

Litt om Javas class-filer og byte-kode Litt om Javas class-filer og byte-kode INF 5110, 11/5-2010, Stein Krogdahl (Dessverre litt få figurer) Disse formatene ble planlagt fra start som en del av hele Java-ideen Bt Byte-koden gir portabilitet

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Eksamensdato: 21. desember 2005 Varighet: 3 timer ( 9:00 12:00 ) Avdeling for informatikk og e-læring Fagnummer: Fagnavn: LO249D Operativsystemer med Linux Klasser: FU (1. ING)

Detaljer

Det matematisk-naturvitenskapelige fakultet

Det matematisk-naturvitenskapelige fakultet UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1060 Introduksjon til operativsystemer og datakommunikasjon Eksamensdag: 7. desember 2007 Tid for eksamen: 14.30 17.30 Oppgavesettet

Detaljer

Oversikt. Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 1 UNIX. 2 Linux. 3 Process. 4 Process models

Oversikt. Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 1 UNIX. 2 Linux. 3 Process. 4 Process models Oversikt UNIX 1 UNIX Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 2 Linux 3 Process 4 Process models 5 Hvordan kjøre operativsystemet 6 Prosesshåndtering i UNIX SVR4 Lars Vidar

Detaljer

Dagens tema. Flere teknikker for å øke hastigheten

Dagens tema. Flere teknikker for å øke hastigheten Dagens tema Flere teknikker for å øke hastigheten Cache-hukommelse del 1 (fra kapittel 6.5 i Computer Organisation and Architecture ) Hvorfor cache Grunnleggende virkemåte Direkte-avbildet cache Cache-arkitekturer

Detaljer

Dagens temaer. Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM ROM. Hukommelsesbusser

Dagens temaer. Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM ROM. Hukommelsesbusser Dagens temaer Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM Typer, bruksområder og oppbygging ROM Typer, bruksområder og oppbygging Hukommelsesbusser 1 Cache (repetisjon)

Detaljer

EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER. Faglig kontakt under eksamen: Svein Erik Bratsberg og Arvid Staupe

EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER. Faglig kontakt under eksamen: Svein Erik Bratsberg og Arvid Staupe Side 1 av 8 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER Versjon: 20. nov 2012 Faglig

Detaljer

Dagens temaer. Cache (repetisjon) Cache (repetisjon) Cache (repetisjon)

Dagens temaer. Cache (repetisjon) Cache (repetisjon) Cache (repetisjon) Dagens temaer Cache (repetisjon) Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) Typer, bruksområder og oppbygging ROM Typer, bruksområder og oppbygging Hukommelsesbusser

Detaljer

Filsystemet fra innsiden

Filsystemet fra innsiden Filsystemet i Linux Filsystemet fra innsiden Har tidligere sett kommandoer for håndtering av filer i Linux filsystemet sett fra utsiden Skal nå se på filsystemet fra innsiden : Hvordan er filsystemet i

Detaljer

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer Institutt for Datateknikk og Informasjonsvitenskap Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer Faglig kontakt under eksamen: Magnus Jahre Tlf.: 952 22 309 Eksamensdato: 19. Mai 2014 Eksamenstid

Detaljer

P1 P2 P3 P1 P2 P3 P1 P2. OS gjør Contex Switch fra P1 til P2

P1 P2 P3 P1 P2 P3 P1 P2. OS gjør Contex Switch fra P1 til P2 i, intensive i og Når OS switcher fra prosess P1 til prosess P2 utføres en såkalt Contex (kontekst svitsj). 10 30 50 70 P1 P2 P3 P1 P2 P3 P1 P2 OS gjør Contex fra P1 til P2 tid/ms bruk Figure: Prosessene

Detaljer

Dagems temaer. kapittel 4 i Computer Organisation and Architecture. av CPU: von Neuman-modellen. Transfer Language (RTL) om hurtigminne (RAM)

Dagems temaer. kapittel 4 i Computer Organisation and Architecture. av CPU: von Neuman-modellen. Transfer Language (RTL) om hurtigminne (RAM) Dagems temaer Fra Kort Organisering Register kapittel 4 i Computer Organisation and Architecture om hurtigminne (RAM) av CPU: von Neuman-modellen Transfer Language (RTL) Instruksjonseksekvering Pipelining

Detaljer

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer Institutt for Datateknikk og Informasjonsvitenskap Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer Faglig kontakt under eksamen: Magnus Jahre Tlf.: 952 22 309 Eksamensdato: 19. Mai 2014 Eksamenstid

Detaljer

1. Introduksjon til operativsystemer

1. Introduksjon til operativsystemer 1. Introduksjon til operativsystemer mets plassering: Lagdeling: applikasjon, system, maskinvare Basisfunksjoner: Abstraksjon, deling, isolering Prosesser og ressurser Kjøring: sekvensiell, multitasking

Detaljer

hukommelse (kapittel 9.9 i læreboken) Dagens temaer Input-Output INF 1070

hukommelse (kapittel 9.9 i læreboken) Dagens temaer Input-Output INF 1070 1 Dagens temaer Virtuell hukommelse (kapittel 9.9 i læreboken) Input-Output Virtuell hukommelse 2 Ofte trenger et program/prosess mer RAM enn det som er tilgjengelig fysisk i maskinen Et program deler

Detaljer

GetMutex(lock) { while(testandset(lock)) {} } En context switch kan ikke ødelegge siden testen og endringen av lock skjer i samme instruksjon.

GetMutex(lock) { while(testandset(lock)) {} } En context switch kan ikke ødelegge siden testen og endringen av lock skjer i samme instruksjon. Hardware-støttet Semafor og Implementasjon av semafor i OS til å synkronisere Hardware-støttet alle softwareløsninger innebærer mange instruksjoner i tillegg til busy-waiting, som koster CPU-tid. I praksis

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Eksamensdato: 26. mai 2004 Varighet: 0900-200 Fagnummer: LO249D Fagnavn: Operativsystemer med Linux Klasse(r): ing, hk, fu Studiepoeng: 6

Detaljer

! Sentrale begreper er adresserbarhet og adresserom. ! Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon

! Sentrale begreper er adresserbarhet og adresserom. ! Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon agems temaer Oppbygging av RAM! ra kapittel i Computer Organisation and Architecture! Kort om hurtigminne (RAM)! Organisering av CPU: von Neuman-modellen! Register Transfer Language (RTL)! Instruksjonseksekvering!

Detaljer

Løsningsforslag for TDT4186 Operativsystemer

Løsningsforslag for TDT4186 Operativsystemer Institutt for Datateknikk of Informasjonsvitenskap Løsningsforslag for TDT4186 Operativsystemer Eksamensdato: 13. august 2015 Eksamenstid (fra-til): 15:00-19:00 Hjelpemiddelkode/Tillatte hjelpemidler:

Detaljer

Maskinvaredelen av INF 103: oversikt og innhold (1)

Maskinvaredelen av INF 103: oversikt og innhold (1) Maskinvaredelen av INF 3: oversikt og innhold () Boolsk algebra: Regning med og, og AND, OR og NOT Analyse og design av logiske kretser: AND, OR og NOT som byggeblokker Hukommelse og sekvensiell logikk:

Detaljer

Dagems temaer INF ! Fra kapittel 4 i Computer Organisation and Architecture. ! Kort om hurtigminne (RAM)

Dagems temaer INF ! Fra kapittel 4 i Computer Organisation and Architecture. ! Kort om hurtigminne (RAM) Dagems temaer! ra kapittel 4 i Computer Organisation and Architecture! Kort om hurtigminne (RAM)! Organisering av CPU: von Neuman-modellen! Register Transfer Language (RTL)! Instruksjonseksekvering! Pipelining

Detaljer

Hva er en fil logisk sett?

Hva er en fil logisk sett? Filhåndtering Kjell Åge Bringsrud (Foiler fra Olav Lysne) INF 103 Filhåndtering 1 Hva er en fil logisk sett? En samling data til ett eller annet formål En kjørbar programfil En fil med kildekode til et

Detaljer

Filhåndtering. Fysisk organisering av filer. Hva er en fil logisk sett? Eksempel: Post (record) orientert fil. Kjell Åge Bringsrud INF 103

Filhåndtering. Fysisk organisering av filer. Hva er en fil logisk sett? Eksempel: Post (record) orientert fil. Kjell Åge Bringsrud INF 103 Eksempel: Post (record) orientert fil Filhåndtering En post-orientert fil består av en samling av poster (records), som hver består av en sekvens av felt (fields). Vanlig form for organisering innen databaser.

Detaljer

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse Dessverre litt få figurer INF 5110, 8/5-2012, Stein Krogdahl Byte-koden for Java og.nett (C#) http://en.wikipedia.org/wiki/java_bytecode_instruction_listings

Detaljer

Håndtering av minne i et OS

Håndtering av minne i et OS Håndtering av minne i et OS Hva er det som skal håndteres? Minnehåndtering (memory management) utføres av de delene av systemet som har ansvar for å håndtere maskinens primærminne Primærminnet (aka hovedminne,

Detaljer

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4186 Operativsystemer August 2005,

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4186 Operativsystemer August 2005, Side 1 av 5 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på kontinuasjon

Detaljer

Kapittel 7, Minne RAM DIMM, SIMM ROM, PROM, EPROM, EEPROM FLASH DIM SUM. Cache Virtuelt minne

Kapittel 7, Minne RAM DIMM, SIMM ROM, PROM, EPROM, EEPROM FLASH DIM SUM. Cache Virtuelt minne Kapittel 7, Minne RAM DIMM, SIMM ROM, PROM, EPROM, EEPROM FLASH DIM SUM Cache Virtuelt minne 26.04.2013 Data Cache Les adresse 99 Adresse 99 Prosessor med registre Cache Cache L2 Data Data Les side Adresse

Detaljer

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk ITPE/DATS 2400: Datamaskinarkitektur og Nettverk Forelesning Knut Nygaard / T. M. Jonassen Institute of Computer Science Faculty of Technology, Art and Design Oslo and Akershus University College of Applied

Detaljer

1. Systemsikkerhet. 1.1. Innledning. Innhold

1. Systemsikkerhet. 1.1. Innledning. Innhold Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Systemsikkerhet Stein Meisingseth 29.08.2005 Lærestoffet er utviklet for faget LO474D Systemsikkerhet 1. Systemsikkerhet Resymé: Denne leksjonen

Detaljer

En harddisk består av et lite antall plater av et magnetisk materiale.

En harddisk består av et lite antall plater av et magnetisk materiale. , Master En består av et lite antall plater av et magnetisk materiale. Overflaten av en plate på innsiden av en. Lesehodet flyttet posisjon mens bildet ble tatt og kan derfor sees i to posisjoner. , Master

Detaljer

Filer i Linux og Bourne-again shell

Filer i Linux og Bourne-again shell Filer i Linux og Bourne-again shell Filbegrepet En fil * er en grunnleggende lagringsenhet i et OS Brukes for alle data som: Lagres utenfor RAM (primærminnet) På permanente media (sekundærminne) Definisjoner

Detaljer

Plan. Oppgaver og repetisjon Eksempler med fikspunkt og induksjon: 1. sortering 2. divisjon 3. Heis? IN 315: Foilsett 9: Unity: Arkitekturer

Plan. Oppgaver og repetisjon Eksempler med fikspunkt og induksjon: 1. sortering 2. divisjon 3. Heis? IN 315: Foilsett 9: Unity: Arkitekturer Plan Tema: Ulike arkitekturer og avbildninger 1. asynkron arkitektur med felles variable 2. synkron arkitektur med felles variable 3. distribuert arkitektur med kanal-kommunikasjon 4. program-skjemaer

Detaljer

Læringsmål og pensum. Oversikt. Systemprogramvare Operativsystemer Drivere og hjelpeprogrammer. To hovedtyper programvare

Læringsmål og pensum. Oversikt. Systemprogramvare Operativsystemer Drivere og hjelpeprogrammer. To hovedtyper programvare 1 2 Læringsmål og pensum TDT4105 Informasjonsteknologi grunnkurs: Uke 36 programvare Førsteamanuensis Alf Inge Wang Læringsmål Forstå hva systemprogramvare og applikasjonsprogramvare er Forstå hvordan

Detaljer

Fakultet for informasjonsteknologi,

Fakultet for informasjonsteknologi, Side 1 av 7 NTNU Norges teknisk naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på TDT4186 Operativsystemer

Detaljer

1. Introduksjon til operativsystemer

1. Introduksjon til operativsystemer Avdeling for informatikk og elæring, Høgskolen i Sør-Trøndelag Introduksjon til operativsystemer Geir Maribu 30.1.2007 Lærestoffet er utviklet for faget LO249D Operativsystemer med Linux 1. Introduksjon

Detaljer

Resymé: I denne leksjonen vil du få en oversikt over hva et operativsystem er for noe, hvordan det er bygget opp og hvordan det virker.

Resymé: I denne leksjonen vil du få en oversikt over hva et operativsystem er for noe, hvordan det er bygget opp og hvordan det virker. Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Introduksjon til operativsystemer Geir Maribu 2.9.2014 Lærestoffet er utviklet for faget «IINI2008 Operativsystemer med Linux» Resymé: I

Detaljer

Operativsystemer og nettverk

Operativsystemer og nettverk Løsningsforslag til eksamen i Operativsystemer og nettverk 04.06.2015 Oppgave 1: Generelt om Linux a) Det grunnleggende brukergrensesnittet i Linux er et tastaturbasert CUI (Commandline User Interface),

Detaljer

Deadlocks og mer om concurrencymekanismer

Deadlocks og mer om concurrencymekanismer Deadlocks og mer om concurrencymekanismer Lars Vidar Magnusson September 30, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 27.09.2011 September 30, 2011 1 / 17 Oversikt Deadlocks 1 Deadlocks

Detaljer

Begrepet kritisk region er sentralt i forbindelse med datamaskinsystemer.

Begrepet kritisk region er sentralt i forbindelse med datamaskinsystemer. Kritisk region Begrepet kritisk region er sentralt i forbindelse med datamaskinsystemer. Generelt kan en kritisk region defineres som et sted der det kan oppstå kollisjoner. Et veikryss er en kritisk region

Detaljer

Sikkerhet: Virus Sikkerhet i operativsystemet Maskinstøtte for sikkerhet Trojanske hester Ormer. IN 147 Program og maskinvare.

Sikkerhet: Virus Sikkerhet i operativsystemet Maskinstøtte for sikkerhet Trojanske hester Ormer. IN 147 Program og maskinvare. Sikkerhet: Virus Sikkerhet i operativsystemet Maskinstøtte for sikkerhet Trojanske hester Ormer Ark 1 av 14 Sikkerhet og virus Virus Virus er programmer som «infiserer» andre programmer slik at de endrer

Detaljer

Vi anbefaler at du setter deg litt inn i maskinen på forhånd. Det er en DELL Optiplex 620.

Vi anbefaler at du setter deg litt inn i maskinen på forhånd. Det er en DELL Optiplex 620. Oppgave lab Vi anbefaler at du setter deg litt inn i maskinen på forhånd. Det er en DELL Optiplex 620. Søk etter denne maskinen på nettet. Alle oppgavene skal dokumenteres på din studieweb med tekst og

Detaljer

Datamaskinens oppbygning

Datamaskinens oppbygning Datamaskinens oppbygning Håkon Tolsby 18.09.2014 Håkon Tolsby 1 Innhold Hovedenheten Hovedkort Prosessor CISC og RISC 18.09.2014 Håkon Tolsby 2 Datamaskinens bestanddeler Hovedenhet Skjerm Tastatur Mus

Detaljer

Dagens tema. Mer om cache-hukommelse Kapittel 6.5 i Computer Organisation and Architecture ) RAM. Typer, bruksområder og oppbygging 2008 ROM

Dagens tema. Mer om cache-hukommelse Kapittel 6.5 i Computer Organisation and Architecture ) RAM. Typer, bruksområder og oppbygging 2008 ROM Dagens tema Mer om cache-hukommelse Kapittel 6.5 i Computer Organisation and Architecture ) RAM ROM Typer, bruksområder og oppbygging Typer, bruksområder og oppbygging Virtuell hukommelse (kapittel 9.9

Detaljer

Input/Output. når tema pensum. 13/4 busser, sammenkobling av maskiner /4 PIO, DMA, avbrudd/polling

Input/Output. når tema pensum. 13/4 busser, sammenkobling av maskiner /4 PIO, DMA, avbrudd/polling Input/Output når tema pensum 13/4 busser, sammenkobling av maskiner 8.2 8.4 20/4 PIO, DMA, avbrudd/polling 8.5 8.6 in 147, våren 1999 Input/Output 1 Tema for denne forelesningen: sammenkobling inne i datamaskiner

Detaljer

Dagens temaer. Dagens emner er hentet fra Englander kapittel 11 (side ) Repetisjon av viktige emner i CPU-design.

Dagens temaer. Dagens emner er hentet fra Englander kapittel 11 (side ) Repetisjon av viktige emner i CPU-design. Dagens temaer Dagens emner er hentet fra Englander kapittel 11 (side 327-344 ) Repetisjon av viktige emner i CPU-design. Flere teknikker for å øke hastigheten Cache 03.10.03 INF 103 1 Hvordan øke hastigheten

Detaljer

Eksempler på ikke-blokkerende systemkall:

Eksempler på ikke-blokkerende systemkall: Blokkerende systemkall Thread-modeller Thread-modeller Blokkerende systemkall Viktigste grunn for tråder: blokkerende I/O forespørsler Applikasjonen som ber om I/O blir satt på vent av operativsystemet

Detaljer

Kjenn din PC (Windows 7)

Kjenn din PC (Windows 7) Kjenn din PC (Windows 7) Datamskinen jeg bruker er en HP pavilion dv3-2080eo. Espen Rosenberg Hansen 1. Prosessor: Intel P7450. Dette er en prosessor med to kjerner og har en klokkehastighet på 2,13 GHz

Detaljer

Javas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode)

Javas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode) Javas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode) Disse foilene er pensum INF 5110, 30/4-2013, Stein Krogdahl Byte-koden for Java og.nett (C#) kan leses her: http://en.wikipedia.org/wiki/java_bytecode_instruction_listings

Detaljer

Kjenn din PC (Windows7)

Kjenn din PC (Windows7) Kjenn din PC (Windows7) Denne delen handler om hva man kan finne ut om datamaskinens hardware fra operativsystemet og tilleggsprogrammer. Alle oppgavene skal dokumenteres på din studieweb med tekst og

Detaljer

Innhold. Om denne boka 1. Kapittel 1 Operativsystemer og mellomvare 5

Innhold. Om denne boka 1. Kapittel 1 Operativsystemer og mellomvare 5 Innhold Om denne boka 1 Hvem er boka skrevet for? 1 Er dette en teoribok? 1 Hvor stort omfang har dette pensumet? 2 Laboratorieøvinger 2 Web-ressurser til denne boka 2 Om forfatteren 3 Kapittel 1 Operativsystemer

Detaljer

Tråder Repetisjon. 9. og 13. mai Tråder

Tråder Repetisjon. 9. og 13. mai Tråder Tråder Repetisjon 9. og 13. mai Tråder Hva er tråder? 2 Hva er tråder? I utgangspunktet uavhengige aktiviteter som konkurrerer om å få bruke prosessoren. 2 Hvorfor tråder? 3 Hvorfor tråder? Flere oppgaver

Detaljer

Innhold. Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer. Prinsipper for synkronisering av felles hukommelse

Innhold. Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer. Prinsipper for synkronisering av felles hukommelse Innhold Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer Prinsipper for synkronisering av felles hukommelse Multiprosessorer koblet sammen av én buss 02.05 2001 Parallelle

Detaljer

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs. Torsdag 29. November 2007 Kl. 09.00 13.00

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs. Torsdag 29. November 2007 Kl. 09.00 13.00 Side 1 av 11 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap AVSLUTTENDE EKSAMEN

Detaljer

Ikke pensum! Plan for dagen. Resource Management Kontekst: Bloom (1979) Kap. 11: Resource control (utvalg)

Ikke pensum! Plan for dagen. Resource Management Kontekst: Bloom (1979) Kap. 11: Resource control (utvalg) Plan for dagen Kap. 11: Resource control (utvalg) Hva trenger vi av egenskaper? Hvordan unngår vi vranglåser? Ikke pensum! Kap. 11.4 (The requeue facility) Kap 14 (Distributed Systems) Kap 14 Distributed

Detaljer

Overordnet maskinarkitektur. Maskinarkitektur zoomet inn. I CPU: Kontrollenheten (CU) IT1101 Informatikk basisfag, dobbeltime 11/9

Overordnet maskinarkitektur. Maskinarkitektur zoomet inn. I CPU: Kontrollenheten (CU) IT1101 Informatikk basisfag, dobbeltime 11/9 IT1101 Informatikk basisfag, dobbeltime 11/9 Hittil: sett på representasjon av informasjon og manipulering av bits i kretser Idag: hever oss til nivået over og ser på hvordan program kjører i maskinen

Detaljer

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Køer Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Et nytt element legges alltid til sist i køen Skal vi ta ut et element, tar vi alltid

Detaljer

Patrick Fallang (Dataingeniør) Lab Oppgave: Kjenn Din Egen PC (XP)

Patrick Fallang (Dataingeniør) Lab Oppgave: Kjenn Din Egen PC (XP) Patrick Fallang (Dataingeniør) Lab Oppgave: Kjenn Din Egen PC (XP) 1: Hva slags prosessor har maskinen? Maskinen min har en «Pentium 4 CPU 3.00Ghz»prosessor. 2: Hvor mye minne har den. Maskinen min har

Detaljer

Innhold. 2 Kompilatorer. 3 Datamaskiner og tallsystemer. 4 Oppsummering. 1 Skjerm (monitor) 2 Hovedkort (motherboard) 3 Prosessor (CPU)

Innhold. 2 Kompilatorer. 3 Datamaskiner og tallsystemer. 4 Oppsummering. 1 Skjerm (monitor) 2 Hovedkort (motherboard) 3 Prosessor (CPU) 2 Innhold 1 Datamaskiner Prosessoren Primærminnet (RAM) Sekundærminne, cache og lagerhierarki Datamaskiner Matlab Parallell Jørn Amundsen Institutt for Datateknikk og Informasjonsvitenskap 2010-08-31 2

Detaljer

STE6221 Sanntidssystemer Løsningsforslag

STE6221 Sanntidssystemer Løsningsforslag HØGSKOLEN I NARVIK Avdeling for teknologi MSc.-studiet EL/RT Side 1 av 3 STE6221 Sanntidssystemer Løsningsforslag Tid: Fredag 02.03.2007, kl: 09:00-12:00 Tillatte hjelpemidler: Godkjent programmerbar kalkulator,

Detaljer

INF2270. Datamaskin Arkitektur

INF2270. Datamaskin Arkitektur INF2270 Datamaskin Arkitektur Hovedpunkter Von Neumann Arkitektur ALU Minne SRAM DRAM RAM Terminologi RAM Signaler Register Register overføringsspråk Von Neumann Arkitektur John von Neumann publiserte

Detaljer