Operativsystemet Internt

Størrelse: px
Begynne med side:

Download "Operativsystemet Internt"

Transkript

1 Operativsystemet Internt Kjell Åge Bringsrud INF 103 Opsys. internt 1 Singletasking OS Små og enkle Trenger Filhåndtering og device-drivere Trenge brukergrensesnitt Trenger ikke skedulering av I/O Trenger ikke skedulering av prosesser Begrenset behov for sikkerhet mot interference Enkel minneadministrasjon (fast lokasjon for det kjørende programmet) Trenger ikke interprosesskommunikasjon Opsys. internt 2 1

2 Multitasking OS Betydelig større Trenger ressurshåndtering av CPU-tid Minne I/O Enkelte moderne multitasking operativsystemer for PC er krever flere titalls megabyte memory. Opsys. internt 3 MINOS et lite multitasking operativsystem Opprinnelig laget for små maskiner som foretok målinger Forskjellige operasjoner har forskjellig prioritet Tre prioritetsnivåer høy, middels og lav Målinger har høy prioritet, intern systemsjekk har lav prioritet Opp til fem aktive prosesser av gangen. En høyprioritets, tre middelsprioritets, og en lavprioritetsjobb. Opsys. internt 4 2

3 Minnehåndtering i MINOS Hele operativsystemet er resident Et område per aktivt prosess P-1 reservert for høyprioritetsprosesser P-2 til P-4 til prosesser av middels prioritet P-5 til lavprioritets prosesser Opsys. internt 5 CPU-skedulering i MINOS En sanntidsklokke gir avbrudd hvert hundredels sekund Alle aktive prosesser blir gjennomgått i prioritetsrekkefølge Den prosessen som har høyest prioritet, og som ikke er blokkert fordi den venter på I/O, får tildelt neste CPU-tidsslot De tre prosessene som har middels prioritet blir valgt etter en round-robin rekkefølge ( prosess1 prosess2- prosess3-prosess1- ) Opsys. internt 6 3

4 Egenskaper til MINOS Kan bare håndtere et begrenset antall aktive prosesser (5) Den høyest prioriterte prosessen vil maksimalt måtte vente 10 millisekunder på å få tildelt CPU-tid Dersom en prosess med høy prioritet er grådig, vil ingen av de lavere prioriterte prosessene få tildelt tid i det hele tatt I det følgende skal vi studere andre, mer generelle, og i de fleste sammenhenger bedre måter å gjøre dette på. Opsys. internt 7 Prosesser og Program Vi skiller mellom prosess og program. Et program er en fil eller en utskrift En prosess er en eksekvering av et program En prosess er den minste arbeidsenheten et operativsystem forholder seg til I en maskin kan det være flere prosesser som eksekverer samme program Det behøver bare være ett Emacs program i maskinhukommelsen selv om det er flere brukere som er logget inn på samme maskin og kjører Emacs på forskjellige filer Opsys. internt 8 4

5 Opprettelse og fjerning av prosesser En prosess opprettes Av en bruker når han/hun taster en kommando Av en annen prosess som vil skille ut en del av prosesseringen i en separat prosess Prosesser deles grovt i to kategorier Systemprosesser som er en del av aktiviteten til operativsystemet Brukerprosesser alle andre prosesser. Opsys. internt 9 Prosesshierarki Opprettelse av en ny prosess kalles gjerne forking eller spawning. En prosess assosieres som regel med den prosessen som skapte den (foreldreprosess), og med de prosessene den selv har skapt (barneprosesser). Dette gir et hierarki av prosesser Fjerning av en foreldreprosess resulterer som regel i at barneprosessene også blir borte. Opsys. internt 10 5

6 Prosesstilstander Tre basale tilstander Ready, running og blocked. Kun en prosess kan være running Blocked betyr at den venter på I/O Ready betyr at den kan tildeles Cpu-tid Opsys. internt 11 Prosesstilstander Andre mulige tilstander er terminated, killed, destroyed, suspended Langt på vei er disse tilstandene forfininger av tilstander fra figuren på forrige slide. Ikke-preemptive systemer vil la en prosess som er running fortsette til den blokkert av venting på I/O eller til den er terminert. Preemptive systemer begrenser den sammenhengende tiden en prosess kan være running for å sikre at andre prosesser slipper til Opsys. internt 12 6

7 CPU-skedulering Husk fra forrige forelesning at CPUskedulering skjer i to nivåer Høy-nivå skedulering Velger programmer som skal få lov til å legges i prosesseringskøen. Mest aktuelt for Batch-jobber. Interaktive jobber blir skedulert med en gang. Dispatching Valg av prosess i prosesseringskøen som slipper til CPU en nå Opsys. internt 13 Mulige designmål for dispatching Rettferdighet Maksimalisere antall jobber ferdigstilt Minimalisere den tiden en prosess bruker fra skedulering til ferdigstillelse Maksimalisere utnyttelse av CPU Maksimalisere utnyttelse av de totale ressursene Naturlig ytelsesdegradering Minimalisere responstid Konsistent responstid Hindre sulting. Opsys. internt 14 7

8 Designmålene er konflikterende Det vil til ethvert bruksområde være enkelte av designmålene som fremtrer som viktigere enn andre. En batch-maskin krever? En maskin som kjører en WEB-server krever? En maskin som er en server for IPtelefoni En PC-på en kontorpult krever Opsys. internt 15 Fifo-dispatching (first in first out) Ikke-preemptiv Grunnleggende rettferdig Ingen sulting Negativt for jobber med mye IO Må ofte legge seg bakerst i køen igjen Kan gi urimelig lange ventetider for korte jobber. Opsys. internt 16 8

9 Korteste-jobb-først dispatching Ikke-preemptiv Gir korte ventetider på korte jobber Maksimaliserer antall ferdigstilte jobber (i det minste på kort sikt) Unngår ikke sulting Inkonsistent responstid tiden hver jobb tar er avhengig av hvilken miks av jobber den konkurrerer med (og ikke bare antallet). Opsys. internt 17 Ikke preemptiv prioritetsdispatcing Ikke-preemptiv (selvfølgelig) Hver jobb har en prioritet knyttet til seg Prioriteten er satt av bruker eller av systemet Når CPU-tid koster penger kan høy prioritet være dyrere Når systemet er begrenset av CPU-kapasitet, kan systemet gi I/O tunge jobber en høyere prioritet. Jobben med høyest prioritet får tilgang til CPU Opsys. internt 18 9

10 Round-robin Den enkleste preemptive algoritmen. Prosessene får tildelt tidsintervaller på CPU i en gitt rekkefølge. Kan gi dårlig ressursutnyttelse. Negativt for prosesser med mye I/O (får kortere tidsintervaller) Opsys. internt 19 Flernivåkøer Preemptiv Systemet har flere ready-køer Hver prosess starter i den første køen. Etter hver dispatching blir den lagt neste kø. Round robin i siste kø. Streng prioritet mellom køene. Prosesser fra en kø blir dispatched bare dersom alle køene over er tomme Sulting er mulig, men ikke sannsynlig. Korte prosesser fort ferdig, I/O-prosesser kommer fort til I/O-køen Opsys. internt 20 10

11 Flernivåkøer illustrasjon Opsys. internt 21 Dynamisk prioritet En preemptiv variant av prioritetsdispatcing. Systemet avbryter den kjørende jobben med jevne mellomrom, og gir den en lavere prioritet Gjør at jobber går fort til å begynne med Sørger for at korte jobber får prioritet, uten at noen behøver å legge inn informasjon om jobblengde. En variant av dynamisk prioritet benyttes i Windows 2000 og Linux. Opsys. internt 22 11

12 Minneadministrasjon Minneadministrasjon går ut på å organisere forbruket av internminne mellom prosesser. Tildeling av plass til prosesser Utnyttelse av minneområdet Håndtere fragmentering Er banalt for single-tasking systemer. Er beslektet med CPU-skedulering og dispatcing En prosess som ikke har fått tildelt plass i minnet kan ikke kjøres Opsys. internt 23 Enkel minnehåndtering Overlay-teknikk Programmene er delt opp i logiske deler som lastes oppå (overskriver) hverandre etter behov. Kan garantere at applikasjonen ikke benytter mer enn en fast mengde av hukommelse Gjøres ofte av applikasjonen og ikke av opsys Vanlig i tidlige tekstbehandling- og regnearkprogrammer Problem: Hindrer applikasjonen i å benytte mer memory når mer memory blir tilgjengelig. Partisjonering Fast partisjonering hukommelsen deles opp statisk (en gang for alle) Dynamisk partisjonering Best fit (prosesser lastes inn i den minste ledige partisjon som er stor nok) Largest fit ( største ledige partisjon) First fit ( første og beste partisjon som er stor nok) Problem: FRAGMENTERING Opsys. internt 24 12

13 Enkel minnehåndtering forts. Minne-relokering (adresse justering) Et kompilert program har adressereferanser inne i seg Disse adressereferansene ble generert uten kunnskap om hvor i hukommelsen programmet ble lastet vanligvis ut ifra en antakelse om at programmet ble lastet fra adresse 0 og oppover. Minne-relokering består i justering av disse adressene når programmet blir lastet inn i memory på en gitt fysisk plass som regel fra en adresse forskjellig fra 0. Opsys. internt 25 Virtuelt minne Virtuelt (logisk) minne er et sett av adresser som adresserer det fysiske minnet på en annen måte enn de fysiske adressene Opsys. internt 26 13

14 Virtuelt minne forts. Krever en tabell som oversetter mellom virtuelle adresser og fysiske adresser Side tabell (Vi kommer tilbake til hva en side er) Oversettelses prosessen (oppslaget i side tabellen) kalles dynamic address translation DAT Dette gjøres på en slik måte at problemer med overlay-teknikk, fragmentering og prosessisolering løses av seg selv Opsys. internt 27 sider og rammer Det fysiske minnet deles opp i rammer - alle av lik størrelse Et lastbart program (prosess) deles opp i sider alle av lik størrelse Ramme-størrelsen er lik side størrelsen, slik at en side passer akkurat inn i en ramme OBS: Boken bruker av og til ordene frame og page om hverandre. Dette virker noen ganger forvirrende!! Opsys. internt 28 14

15 sider og rammer Hver prosess har sin egen side-tabell Side-tabellen gir oversikt over hvilke sider som er lastet inn i hvilke rammer: Opsys. internt 29 Virtuelle adresser En virtuell adresse er todelt Side nummer Offset som angir en gitt posisjon i siden Da rammestørrelsen som regel er en potens av 2, blir offset bitene lik de siste bitene i den oversatte fysiske adressen Opsys. internt 30 15

16 Virtuelt minne løser Problemer med Overlay-teknikk Enkelt å laste en ny side fra prosessen over en gammel side fra samme prosess Fragmenteringsproblemer En prosess kan lastes i rammer som ikke er kontinuerlige, men likevel få et kontinuerlig sett av adresser Relokeringsproblemet Alle prosesser har sin egen sidetabell, og får da et virtuelt adresserom som starter på 0. Problemet med isolering av prosesser Siden hver prosess har sin egen side-tabell vil ingen prosess kunne skrive inn i en del av hukommelsen som er avsatt til en annen tabell. Opsys. internt 31 Side swapping og side- feil Virtuelt minne kan være større enn fysisk minne ved at noen sider er lagret på disken (swap space). Sidetabellen angir da det stedet på disken hvor siden ligger. Ved minneoppslag kan det da vise seg at den siden som etterspørres ikke er lastet inn. Dette kalles side-feil (page fault) Minneadministratoren må da finne en (helst ledig) ramme som siden kan lastes inn i. Dersom ingen er ledig må den sende en annen side ut til disk for å få lastet inn den nye. Dette kalles swapping. Swapping gir økt virtuelt minne, men SIDE-FEIL ER SVÆRT KOSTBARE - JFR THRASHING!! Opsys. internt 32 16

17 Antall rammer per prosess Minimum 3 Instruksjonen, side-tabellen og dataene. Det har vist seg at moderne modulær programmering fører til at programmer holder seg innenfor et lite antall sider i avgrensede tidsintervall (concept of locality). Det settet med sider som er i jevnlig bruk hos en prosess vil vi kalles working set. Det antall frames som settes av til en prosess er ideelt sett akkurat stor nok til enhver tid å huse prosessens working set. Dette tallet endrer seg noe fra program til program. Et operativsystem kan balansere dette: Mye swapping -> øk antallet frames per prosess Lite swapping, men trangt om plassen -> reduser antallet frames per prosess Opsys. internt 33 Swapping algoritmer Vi skiller mellom lokal og global swapping Lokal swapping tillater bare utswapping av sider som tilhører den samme prosessen. Global swapping er mer fleksibel, men gjør at andre prosesser blir påvirket av at en prosess trenger mer minne Noen sider må aldri swappes ut Deler av operativsystemet, spesielt disk driveren (ellers ville ingen ting kunne swappes inn igjen). Et eget bit i sidetabellen angir at disse sidene ikke kan swappes ut. Opsys. internt 34 17

18 Swapping algoritmer forts. First-In First-Out Regnes som dårlig Sider som har vært lenge i hukommelsen tenderer til å være hyppig i bruk. Lengst-siden-brukt Forholdsvis god til å hindre swapping, men kostbar i bruk (tidspunkt må oppdateres for hver aksess) Ikke brukt nylig Forenkling av Lengst-siden-brukt To bit som settes nå den brukes (referanse bit) hhv. Endres ( dirty bit) Referansebitene resettes periodisk Forsøk å swappe ut bare sider som ikke har noen bit satt. (ikke endret siden sist swappet, og ikke referert på en stund). Opsys. internt 35 Swapping algoritmer Second chance Kombinasjon av FiFo og Ikke-brukt-nylig Dersom den eldste siden har satt sitt referansebit, får den sin alder redusert til 0, og får en ny runde før den igjen blir eldst. Den eldste siden uten referansebit satt blir swappet. Kostnad: Enkelte sider blir beholdt for lenge. En variant holder et antall rammer ledige for å ta vare på sider som nylig har blitt swappet ut. Dette hindrer at sider som ikke burde bli swappet ut må lastes helt inn fra disk igjen. Kostnad: færre rammer tilgjengelig for aktive sider. Opsys. internt 36 18

19 Implementasjon av side-tabell Oppslag i sidetabellen skjer gjerne flere ganger i løpet av en fetch and execute sykel raske oppslag er derfor viktige. Mange systemer har spesial-hardware til dette formålet associative memory som er velegnet til ekstremt raske tabelloppslag. Associative memory er kostbart, og det er derfor bare en liten andel av sidetabellen som får plass. Translation lookaside buffer (TLB). Dersom de hyppigst refererte sidene er representert i TLB, får man maksimert antall TLB-hit. TLB-miss fører til at systemet må slå opp i resten av tabellen, som ligger i konvensjonelt minne. Opsys. internt 37 Segmentering Enkelte systemer deler programmene opp i segmenter i stedet for sider. Segmenter er av varierende størrelse, og inneholder derfor en logisk sammenhengene enhet av programmet - bestemt av kompilator eller programmerer. En segment-tabell må derfor inneholde informasjon om start og sluttadressen til segmentet, slik at man kan sjekke om offset i en adresse er innenfor segmentets ramme. Dette hindrer intern fragmentering (et segment kan være akkurat stort nok til å inneholde programmet) Segmenteringer langt mer komplisert å håndtere for operativsystemet, og er derfor sjelden i bruk. Opsys. internt 38 19

20 Diskhåndtering-skedulering Operativsystemet vedlikeholder en kø av diskforespørsler Effektueringen av disse forespørslene kaller vi disk-skedulering First-come first-served Rettferdig, men ineffektiv pga. bevegelsene til diskhodet Shortest distance first Effektiv, men har store problemer med rettferdighet. Scan-scheduling Beveg hodet først innover, så utover Områder ved midten av disken betjenes dobbelt så ofte som andre områder Forbedringer av Scan-scheduling Betjen i en retning, og la så hodet hoppe helt tilbake Betjen bare de forespørslene som var i køen da hodet sist skiftet retning. Opsys. internt 39 Disk skedulering - illustrasjon Opsys. internt 40 20

21 Disk skedulering illustrasjon Opsys. internt 41 Nettverkstjenester Protokollstack (beskrevet tidligere) Filtjenester filsystemet spenner flere maskiner Skrivertjenester tilgang til skriverressurser som er koblet til en annen maskin Meldingstjenester Application program interface (API) gir programmer tilgang til nettjeneste Annet denne delen av feltet er i rivende utvikling Opsys. internt 42 21

22 Vranglåsproblemer Et system kan gå i stå når flere prosesser gjensidig venter på hverandre før de kan fortsette: Prosess A har allokert printer P men venter på tilgang til fil F, samtidig som prosess B har allokert fil F men venter på tilgang til printer P. Vranglås unngåelse Legg til algoritmer som sørger for at vranglåssituasjoner ikke oppstår Dette har som regel en negativ effekt på utnyttelsen av systemet. Vranglås oppdagelse og reparasjon Reparasjon er kostbart det krever ofte at en prosess kastes ut, eller rulles tilbake til en tidligere tilstand. Opsys. internt 43 Annet støtte for samarbeidende prosesser Interprosess kommunikasjon. Samarbeidende prosesser må kunne kommunisere med hverandre Deling av variable, eller sending av meldinger Prosess synkronisering. Samarbeidende prosesser har behov for å styre eksekveringshastigheten i forhold til hverandre Prosess 1 Prosess 2 a = b+d; c = a*a; Opsys. internt 44 22

23 Virtuelle maskiner Et operativsystem gir en illusjon om at ethvert program har maskinen for seg selv. Denne illusjonen kan bygges på et lavere nivå, hvor man i software bygger illusjonen om flere enn en maskin Hver av disse maskinene kan så kjøre sitt eget (forskjellige) operativsystem. Java Virtual Machine (JVM) er et program som illuderer oppførselen til en tenkt maskin. Binærkoden til JVM ligner strukturelt på binærkoden til en vanlig fysisk maskin (og operativsystem) Nesten alle moderne plattformer inneholder en JVM Portabilitet - ny plattform krever ny JVM implementasjon, men ingen ny kompilator Effektivitetskostnad? Opsys. internt 45 Oppsummering Vi har nå gått igjennom Prosesser og prosesstilstander CPU-skedulering og dispatching Minneadministrasjon og virtuelt minne Diskhåndtering og i tillegg så vidt berørt Nettverkstjenester Vranglåsproblemer Støtte for samarbeidende prosesser Opsys. internt 46 23

Singletasking OS. Operativsystemet Internt. MINOS et lite multitasking operativsystem. Multitasking OS. Kjell Åge Bringsrud INF 103

Singletasking OS. Operativsystemet Internt. MINOS et lite multitasking operativsystem. Multitasking OS. Kjell Åge Bringsrud INF 103 Singletasking OS Operativsystemet Internt Kjell Åge Bringsrud INF 103 Små og enkle Trenger Filhåndtering og device-drivere Trenge brukergrensesnitt Trenger ikke skedulering av I/O Trenger ikke skedulering

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

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

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

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

Tildeling av minne til prosesser

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

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

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

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

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

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

CPU-Scheduling. Fag: Operativsystemer

CPU-Scheduling. Fag: Operativsystemer CPU-Scheduling Fag: Operativsystemer 1 Innhold: Scheduling (tidsplanlegger) Prosesstilstander, bakgrunn, begreper Kriterier for scheduling rettferdighet, - utnyttelse Responstid Throughput (antal prosesser

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

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

Oppsummering av digitalteknikkdelen

Oppsummering av digitalteknikkdelen Oppsummering av digitalteknikkdelen! Følgende hovedtemaer er gjennomgått! Boolsk Algebra! von Neuman-arkitektur! Oppbygging av CPU! Pipelining! Cache! Virtuelt minne! Interne busser 09.05. INF 1070 1 Boolsk

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

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

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

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

Singletasking OS. Device minne Skjerm minne. Brukerprogram. Brukerdata/heap. Stack. Basis for flerprosess-systemer.

Singletasking OS. Device minne Skjerm minne. Brukerprogram. Brukerdata/heap. Stack. Basis for flerprosess-systemer. -OS i i L1 og L2 og og Basis for flerprosess-systemer. Adresser.. 2 1 0 OS Device minne Skjerm minne Brukerprogram Brukerdata/heap Stack Stack: brukes bl. a. til å lagre adressen som skal returneres til

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

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

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

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

UNIVERSITETET I OSLO

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

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

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

Hvorfor operativsystemer? Introduksjon til operativsystemer. Samtidighet. Praktiske hensyn. Kjell Åge Bringsrud INF103

Hvorfor operativsystemer? Introduksjon til operativsystemer. Samtidighet. Praktiske hensyn. Kjell Åge Bringsrud INF103 Hvorfor operativsystemer? Introduksjon til operativsystemer Kjell Åge Bringsrud INF103 Hardwaren i en enkelt maskin er i prinsippet i stand til å utføre ett program Når maskinen slås på begynner den å

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

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

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

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

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

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

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

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

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

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

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

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

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

Operativsystemer To eksepmler

Operativsystemer To eksepmler Operativsystemer To eksepmler Kjell Åge Bringsrud (med foiler fra Olav Lysne) INF 103 OS tre eksempler 1 Oversikt over forelesningen Dere har nå en oversikt over de forskjellige problemstillingene i et

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

Introduksjon til operativsystemer

Introduksjon til operativsystemer Introduksjon til operativsystemer Kjell Åge Bringsrud INF103 Introduksjon Operativsystemer 1 Hvorfor operativsystemer? Hardwaren i en enkelt maskin er i prinsippet i stand til å utføre ett program Når

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

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

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse. INF 5110, 10/5-2011, Stein Krogdahl

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse. INF 5110, 10/5-2011, Stein Krogdahl NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse Dessverre litt få figurer INF 5110, 10/5-2011, Stein Krogdahl Oversikt over Javas class-filer og byte-kode Disse formatene ble planlagt fra start

Detaljer

INF2270. Minnehierarki

INF2270. Minnehierarki INF2270 Minnehierarki Hovedpunkter Bakgrunn Kort repetisjon Motivasjon Teknikker for hastighetsøkning Multiprosessor Økt klokkehastighet Raskere disker Økt hurtigminne Bruksområder Lagringskapasitet Aksesstider

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

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

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

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

kan adressere et større område som RAM enn det som faktisk er tilgjengelig. Siden data kan plasseres i RAM og/eller på harddisken brukes begrepet

kan adressere et større område som RAM enn det som faktisk er tilgjengelig. Siden data kan plasseres i RAM og/eller på harddisken brukes begrepet Dagens temaer Virtuell hukommelse (kapittel 9.9 i læreboken) Input-Output Virtuell hukommelse Ofte trenger et program/prosess mer RAM enn det som er tilgjengelig fysisk Et program deler RAM med andre programmer

Detaljer

Løsningsforslag for TDT4186 Operativsystemer

Løsningsforslag for TDT4186 Operativsystemer Institutt for Datateknikk og Informasjonsvitenskap Løsningsforslag for TDT4186 Operativsystemer Eksamensdato: 9. august 2016 Eksamenstid (fra-til): 09:00-13:00 Hjelpemiddelkode/Tillatte hjelpemidler: D:

Detaljer

Minnehåndtering. Lars Vidar Magnusson. October 4, 2011. Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 1 / 20

Minnehåndtering. Lars Vidar Magnusson. October 4, 2011. Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 1 / 20 Minnehåndtering Lars Vidar Magnusson October 4, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 1 / 20 Oversikt Introduksjon 1 Introduksjon Beskrivelse Terminologi

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

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

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

Løsningsforslag til eksamen i INF103

Løsningsforslag til eksamen i INF103 Løsningsforslag til eksamen i INF03 Kjell Åge Bringsrud (oppgave 4 og 5) Dag Langmyhr (oppgave 2 og 3). desember 2003 Sigbjørn Næss (oppgave og 6) Boolsk algebra Sannhetsverditabellen er vist i tabell

Detaljer

ytelsen til hukommelseshierarkier

ytelsen til hukommelseshierarkier Tema for denne forelesningen: virtuell hukommelse ytelsen til hukommelseshierarkier andre ting å cache e in 47, våren 999 hukommelseshierarki 2 Alle prosesser får et helt adresserom! stakk stakk stakk

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF103 Fra brukergrensesnitt til maskinvare Eksamensdag: 11. desember 2003 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 8 sider.

Detaljer

Programmeringsspråket C Del 3

Programmeringsspråket C Del 3 Programmeringsspråket C Del 3 Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no 9/1/2005 inf1060 V05 1 Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen

Detaljer

Innhold. Oversikt over hukommelseshierakiet. Ulike typer minne. Innledning til cache. Konstruksjon av cache. 26.03.2001 Hukommelseshierarki-1 1

Innhold. Oversikt over hukommelseshierakiet. Ulike typer minne. Innledning til cache. Konstruksjon av cache. 26.03.2001 Hukommelseshierarki-1 1 Innhold Oversikt over hukommelseshierakiet Ulike typer minne Innledning til cache Konstruksjon av cache 26.03.2001 Hukommelseshierarki-1 1 Hukommelseshierarki Ønsker ubegrenset mye minne som er like raskt

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

Threads Threads (tråder) threads vs prosesser threads vs prosesser Definisjoner av

Threads Threads (tråder) threads vs prosesser threads vs prosesser Definisjoner av prosess = At en kokk lager en porsjon middag i et kjøkken CPU = kokk ressurser = kjøkken, matvarer, oppskrift thread/tråd = den sammenhengende serien(tråden) av hendelser som skjer når kokken lager en

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

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

Programmeringsspråket C Del 3

Programmeringsspråket C Del 3 Programmeringsspråket C Del 3 Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen malloc

Detaljer

hvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord.

hvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord. Oppbygging av RAM Sentrale begreper er adresserbarhet og adresserom Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon (lese- eller skrive-operasjon). 9.. INF Antall bit som kan

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

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

dynamiske data dynamiske data statiske data program dynamiske data statiske data reservert program dynamiske data statiske data reservert program

dynamiske data dynamiske data statiske data program dynamiske data statiske data reservert program dynamiske data statiske data reservert program Alle prosesser får et helt adresserom! antall prosesser varierer hele tiden! in 47, våren 997 hukommelseshierarki 2 Mange prosessers og ett fysiske adresserom? Jo, bruk den fysiske hukommelsen som en cache

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

UNIVERSITETET I OSLO

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

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

Hukommelseshierarki. 16/3 cache 7.1 7.2. 23/3 virtuell hukommelse 7.3 7.5. in 147, våren 1999 hukommelseshierarki 1

Hukommelseshierarki. 16/3 cache 7.1 7.2. 23/3 virtuell hukommelse 7.3 7.5. in 147, våren 1999 hukommelseshierarki 1 Hukommelseshierarki når tema pensum 16/3 cache 7.1 7.2 23/3 virtuell hukommelse 7.3 7.5 in 147, våren 1999 hukommelseshierarki 1 Tema for denne forelesningen: en enkel hukommelsesmodell hukommelseshierarki

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

Eksamensoppgave i TDT4186 Operativsystemer

Eksamensoppgave i TDT4186 Operativsystemer Institutt for Datateknologi og Informatikk Eksamensoppgave i TDT4186 Operativsystemer Faglig kontakt under eksamen: Mads Nygård Tlf.: 905 96 534 Eksamensdato: 23. mai 2017 Eksamenstid (fra-til): 09:00-13:00

Detaljer

Kodegenerering del 3: Tilleggsnotat fra AHU Samt litt om class-filer og byte-kode INF5110 V2007. Stein Krogdahl, Ifi UiO

Kodegenerering del 3: Tilleggsnotat fra AHU Samt litt om class-filer og byte-kode INF5110 V2007. Stein Krogdahl, Ifi UiO Kodegenerering del 3: Tilleggsnotat fra AHU Samt litt om class-filer og byte-kode INF5110 V2007 Stein Krogdahl, Ifi UiO ASU, kap 9.5: Vi generer kode for én og én basal blokk Da er det lett å holde orden

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

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

Internminne og Cache. RAM = Random Access Memory

Internminne og Cache. RAM = Random Access Memory Minne og og frames eksempel ytelse og Cache algoritmer RAM = Random Access Memory og Cache CPU-registere og cache er laget av SRAM (Static RAM) SRAM består av 6 transistorer, er meget hurtig og statisk

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

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

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

TDT ITGK - Hardware. Kapittel 9: Følge Instruksjoner - Prinsipper for Datamaskinens Virkemåte. Terje Rydland - IDI/NTNU

TDT ITGK - Hardware. Kapittel 9: Følge Instruksjoner - Prinsipper for Datamaskinens Virkemåte. Terje Rydland - IDI/NTNU 1 TDT4110 - ITGK - Hardware Kapittel 9: Følge Instruksjoner - Prinsipper for Datamaskinens Virkemåte Terje Rydland - IDI/NTNU 2 Læringsmål Vite om å forstå hvordan prosessoren er oppbygd (5 deler, PC)

Detaljer

Intel Core i7. Omid Mirmotahari 4

Intel Core i7. Omid Mirmotahari 4 INF2270 Pipeline Hovedpunkter Oppsummering av én-sykel implementasjon Forbedring av én-sykel designet Introduksjon til pipelining Oppbygning av datapath med pipelining Intel Core i7 Omid Mirmotahari 4

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

Fakultet for informasjonsteknologi,

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

Detaljer

Programmeringsspråket C Del 3

Programmeringsspråket C Del 3 Programmeringsspråket C Del 3 Michael Welzl E-mail: michawe@ifi.uio.no 29.08.13 inf1060 1 Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen

Detaljer

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en

Detaljer

IN1020. Datamaskinarkitektur

IN1020. Datamaskinarkitektur IN1020 Datamaskinarkitektur Hovedpunkter Von Neumann Arkitektur BUS Pipeline Hazarder Intel Core i7 Omid Mirmotahari 4 Von Neumann Arkitektur John von Neumann publiserte i 1945 en model for datamaskin

Detaljer

Operativsystemer og nettverk Løsningsforslag til eksamen 01.12.2014. Oppgave 1. a) Linux-kommando: java Beregn & b) Shellprogram:

Operativsystemer og nettverk Løsningsforslag til eksamen 01.12.2014. Oppgave 1. a) Linux-kommando: java Beregn & b) Shellprogram: Operativsystemer og nettverk Løsningsforslag til eksamen 01.12.2014 Oppgave 1 a) Linux-kommando: java Beregn & b) Shellprogram: java Beregn & java Beregn Eventuelt, hvis man vil gjøre det med bare en linje

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

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

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

Programmeringsspråket C Del 3

Programmeringsspråket C Del 3 Programmeringsspråket C Del 3 Michael Welzl E-mail: michawe@ifi.uio.no 8/25/10 inf1060 1 Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen

Detaljer

Læringsmål og pensum. https://www.youtube.com/watch? v=nkiu9yen5nc

Læringsmål og pensum. https://www.youtube.com/watch? v=nkiu9yen5nc 1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python Professor Alf Inge Wang 2 https://www.youtube.com/watch? v=nkiu9yen5nc 3 Læringsmål og pensum Mål Lære om

Detaljer

Fakultet for informasjonsteknologi,

Fakultet for informasjonsteknologi, Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Kontinuasjonsløsning

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