Systemanropp kontrollen övergår från userspace till kernelspace ca 100 i UNIX, många fler i NT

Storlek: px
Starta visningen från sidan:

Download "Systemanropp kontrollen övergår från userspace till kernelspace ca 100 i UNIX, många fler i NT"

Transkript

1 Leason 1 ============================================ Vad är ett operativsystem *Det program som implmenterar allasystemanropp. *Det / de program som köri kernel-mode Datahistoria: * Mekaniska reläer, vakumtuber. Kopplingspaneler och senare hålkort, inget OS, ENIAC, BARK, BESK. * Transistorer, maiframes, batch, utskrift av resultat * Integrerade kretsar, mainframes,minidatorer, Operativsystemviktiga, OS/360, MULTICS, UNIC, multiprogrammering, timesharing. * Superdatorer,mikrodatorer (persondatorer), inbyggda system, nätverk, användarvänlighet Vad sköter ett os? *Filsystem (persistent lagring) *I/O (abstraktion) *Processer *Kommunikation *Säkerhet access Två sätt att se OS. *Abstratiktion av mjukvara från hårdvara *Resurshanterare / fördelare Architecture *Monolitish *Lagrad *Mikrokärna *Virtuell maskiner Systemanropp kontrollen övergår från userspace till kernelspace ca 100 i UNIX, många fler i NT Ett program är en följd av instruktioner, en process är ett program som kör just nu Ett entry i Processtabellen kallas Process Control Block (PCB) Schemaläggningsmål *Allmänt, fair, balans *Batch, maximera througput,minimera turnaroundm maximera cpuanvändning *Interaktiva system, minimera responstid *Realtidssystem, klara deadlines, vara förutsägbart Om man vet alla processers exectid i förväg kanman använda Shortest Job First. OM man är ute efter kortaste medelsluttiden är sjortest job first optimal Time-slicing Alla processer som är redo ligger på readylistan. När en process har använt sin cpu tid läggs den sist i listan. För att få bra prestanda krävs en bra relation mellan time-slice och tiden det tar att byta running process Alla processer har en prioritet i unix system V Processens prioritet kan ändras under exekvering.

2 Om man använder prioritering och timeslice. *En process som använder hela sin time slice otan att bli BLOCKED får lägre prioritet. *En process som ligger i readykön får suksesivt högre prio för att undvika svältning. Round Robin Shortest Process next Probabilistisk schemaläggning (lotteri) Leason 2 ============================================ Ju snabbare minne desto dyrare *Register i cpu, *cache *prim minne *elektronisk disk *magnestisdisk, *optiskt disk *magnetband Fysisk adressrymd - Adresser för minnet i datornsfysiska minne Logisk/Virtuell adressrymd - Abstract adressrymd som programmet använder. När ett program laddas måste logiska och fysiska minnet mappas Kontinuerlig allokering användes länge och i vissa inbyggda system. *Os och program kan nå hela minnesrymden Man kan dela upp minnet i flera fasta partiotioner som var och en kan innehålla en process (os/360 använde detta) Hur undvika att program skriver sönder andra program eller OS:et? använd en enkel MMU (memory managing unit) *Gränser (du får bara skriva mellan dessa intervall) *Basregister värden adderas till relativa adresser. *Kontrollera att ingen abs adress adresseras in i oset (endast tillåter om processen körs i kernel mode). Variabel storlek på partionerna gör att de kan växa närde behöver,men det blir lite knepigare att reallocera och det kan bildas hål när en process försvinner som inte säkert passar en ny process fragmentering löses genom att antingen kompaktera (tar mycket tid) eller att ha en enda blockstorlek (vilket ger intern fragmentering). Hur hålla reda på ledig minne? *Länkad lista med alla fria block, sorteras beroende på vilken alloceringsmetodman vill använda. *Bitmap, dela upp minnet i lika stora alloceringsblock, 0:ai bitmappen indikerar att den är ledig. För små alloceringsblock gör att bitmappen tar för mycket minne, för stora leder till intern fragmentering. Paging dela in logiska minnesrymden i sidor (Pages) dela in fysiksa minnesrymden i ramar (frames) Pages och Frames är lika stora. Använd sedan sidtabeller för att mappa pages mot frames

3 En Process alla sidor behöver inte ligga linjärti fysiska minnet (se s9 F2). Fördelar: Programmerinare tror att minnet för en process är kontinuerligt, men de kan lika gärna ligga utspritt över minnet. Nackdel: ger fortfarande intern fragmentering då inte sidorna/rames fylls helt. Vid adressering går den första biten av adressen åt att tala om vilken sida (denna byts ut mot att visa vilken ram) och resten av adressen används sedan för att ge en offset inom den sidan/ramen varje process har en sidtabell liten sidstorlek ger liten internfragmentering men stor sidtabell I/O från disk är effektivare för större datablock Trenden går mot stora sidstorlekar. vanligt är dock 4-8KB Visa system tillåter olika storlek beroende på vad som ska lagras. man kan oxå ha flernivåers sidtabeller, den yttre sidtabellen pekar på en indre sida som i sin tur innehåller flera referenser till minnet yttresidnummer inre sidnummer offset Hashade tabeller För stora adressrymde tex 2^64 krävs 5-7nivåers sidindelning, men det är för många nivåer för att vara effektivt. Vi kör dåmed hashad sidtabell, som vanligt sidnr offset sidnummret körs mot en hashfunktion och man får därifrån ramnumret Inverterad sidtabell. Om varje process har en egen sidtabell går det åt mycket minne. En inverterad sidtabell innehåller istället ett entry för varje fysisk ram och för varje allokerad sådan ett sidnr + pid för processen som har allocerat den. nackdelen med detta är att vi måste söka en hel del i tabellen, 2 lösningar, *associativt minne (DYRT!) *hasha den inverterade sidtabellen kan vara svårare att implementera delat minne. TLB Translation lookahead buffer, associativt minne, håller kvar de senaste minnesreferenserna så vi SNABBT kan finna dem igen. Leason 4 =================================== Demand paging Vi lägger till informationen i sidtabellen om sidan finns i primärminnet eller på disk. När en sida som inte finns i sidtabellen refereras till ges et sidfel, (pagefault). Dåhämtas hela sidan ut och sidatabellen uppdateras. Vi håller en lista med lediga frames. (så vi slipper leta igenomsidtabellen). UNgefär somswaping, men här hämtar vi aldrig hela processer utan sidor, page-in, page-out Med demand paging laddas sidorna endas in när de behövs. genom Pre-paging kan man försöka räkna utvilka sidor som kommer behövas.

4 Minnesaccesstid vid demand paging P = sannolikhet för sidfel m = minnesaccesstid om sidan finns i primärminnet d = tid för page-in Effektiv minnesaccesstid = (1-p)m+pd Om ingen tom rad finns, töm en ram för att skapa utrymme. Men vilken ska man tömma? två strategier *Minimera antalet sidfel *minimera I/O Om en sida man vill byta ut har uppdateras (den är dirty) tar den längre tid att byta ut än om den är oförändrad (den finns ju då redan på disken). Därför kan det vara vettigt att ha en dirtybit i sidtabellen som sätts om något skrivs till sidan. En sträng av de sidnummer vi har refererat i den ordning de har refererats kallas för referenssträng. används för utvärdering av utbytes algortimer och genereras genom trace eller analys/stokastisk analys Working set den uppsättning sidor en process refererar under en viss tidsrymd (Liten sådan) (Lokalitet) working set förändras under tiden, det som ärmest intressant är dess storlek. Sidutbytningsalgoritmen bör sträv mot att kunna hålla alla processers working set i minnet. Optimala utbytesalgoritmen på avseende av sidfel men ej implementerbar, "Byt ut den sida som det kommer ta längst tid tills den behövs igen". FIFO "First In First Out" Byt ut den som har legat längst i minnet. LRU "Least Recently Used" Byt ut den som det var längst tid sedan vi använde Den algoritm som kommer närmast optimala Dyr att implementera, kräver sökning och räkning, man måste se till att en sida som just har lästs in inte blir utstoppad igen, vanligare att man approximerar. Clock Approximation av LRU genom utvigning av FIFO "Second-chance med en cirkulär lista" En referensbit i sidtabellen, 0 när sidan laddas in, sätt till 1 när sidan refereras. När vi ska slängas sök igenom listan, om vi hittar en post som har en 1:a, sätter vi den till 0 och går vidare. Den första vi hittar som har 0:a slänger vi. Genom att kompinera Clock med NRU kan vi förbättre clock. Vi inför en modiefiedflagga som vi ettsätter när vi skriver något till den sidan. Fungerar som block men med avseendet på paret referensbit, modifierad-bit. Aging En hyfsad good aproximation av LRU räkna vid varje klockavbrott upp en räknare på alla poster i sidtabellen, addera referensbiten till vänsta biten av räknaren. VId sidfel väljs sedan sidan med lägst värde ut. Kräver dock sökning.

5 WSCLOCK fungerar som Clock men försöker hålla de sidor som ingår i Workingset kvar i tabellen om möjligt. Paging deamon när det finns ledig I/O skrev ut modifierade sidor till disk Vad gör man om man kör en instruktion och man får sidfel, och instruktionen har utförts delvis? Antingen hårdvarustöd som fixar det, annars måste operativsystemet fixa det åt oss. För att undvika att sidor som skrivs i byts ut måste man kunna stödja "Pinning" eller I/O-interlocking" Globala sidutbytesalgoritmer (som kollar alla processers sidor, istället för lokala) är oftast effektivast om en process inte får allokera tillräckligt många sidor för att hålla hela sitt working set kommer den ge många sidfel om en process spenderar mer tid på sidutbyte än påsin exekvering så "trashar" den. om vi har global sidutbytning och mnga aktiva processor kan vi få problem med att alla processer "trashar". fork / exec Normalt byter en forkad process running program kort efter att den har forkat. Men ändå kopieras hela föräldraprocessens minnesrymd till processen. Genom att inte kopiera alla processens sidor utan barar dess sidtabell? Markera dem som copy-on-write, om en sida skrivs av någon process kopiera den till barnet. i unix finns sysanroppet vfork som används för barn som direkt kommer utföra exec Hur gör windows NT? Demand paging med clustering Flera omgivande sidor läses in vid sidfel När processen skapas får den allokera ramar enligt. working-set-minimum working-set-maximum Virtuell minneshanterare håller en lista med lediga ramar Om systemet har för få lediga ramar tar minneshanteraren ramar från processer som allokerat fler än working-set-minimum ramar. Utbytesalgoritmer: 1st cpu x86, variant av Clock nst cpu, alpa, variant av FIFO Hantering av Sekundärminne vid swap Kontinuerlig allokering på disk, enkel adressöversättning svårt att klara ökad storlek man kan tänka sig att ha olika utrymmen för text, heap, stack men det hjälper bara till viss del. Dela upp disken i delar (samma storlek som sidor håll en tabell motsvarande

6 sidtabell för var sidorna på disen lagras Segmentering var tidigare alternativet till sidindelat minneshantering men används nu ofta tillsammans med sidindelning + Naturlig uppdelning av minnesrymden - Kontinuerlig allokering är svår - Kan kräva att programmeraren är mer medveten om minneshanteringsmodellen för att kunna utnytja den. Ha ett segment för text, ett för heap och ett för stack, dessa kan sedan växa utan problem oberoende av varandra Leason6 ========================================== Filsystemets främsta uppgift är att erbjuda långtidslagring Filssystemet är ett abstraktionslager över fysiska diskarna Bör tillåta användarna att organisera sina filer lättöverskådligt. Accessmetoder - Hur läser / skriver man filer? Sekvensiell access man läser/skriver en följd av bytes möjlighet till positionering saknas. Tex I/O mot ett tangentbord. Random Access Man kan positionera sig i filen för skrivning/läsning Andra accessmetoder, tex indexerad access i databas. Implementeras med random access tillsammans med extra struktur inom applikationen En nivåers, två nivåers eller flernivåers directory structurer Varför tillåter man inte cykler i directory strukturen? Svårare att göra rekursiva anropp som listar hela trädet. För att slippa läsa/skriva till/från disk kan en process ofta mappa in filen i sitt adressutrymme. I/O går mot minnet istället för mot disk (snabbare). Men när ska vi skriva tillbaka till disk? Om inte tidigare så måste vi göra det när vi stänger filen. eller närvi explicit säger att vi vill göra det. Varje disk innehåller en MBR som innehåller partitionstablellen. på varje partition finns sedan en boot block som talar om vad som ska bootas,och ett superblock som innehåller alla filsystemets parametrar, hantering av ledigt utrymme ev I-noder, root directory och sedan minnesarea Allokering av minne på filsystemet Kontinuerlig allokering, samma problem som i minnet, funkar dock mycket bra för media som bara skrivs en gng (cdrom). Blockindelad allokering Dela in minnet i block, allocera med länkad lista (länken finns i blocket), blir dock långsamt vid random access (måste gå igenom alla block för att hitta dit vi vill). FAT File allocation Table,separat tabell i minnet med pekare till block. Indexerad allokering, påminner om sidtabell i minnet.

7 Blockstorlek Medianstorleken på unixsystem = 1kB I/O mot diskm små block = mycket overhead -> helst större block 512b-8kB har används (i msdos beroede blockstorleken på diskens storlek) I-node (index-node) innehåller en pekare till varje block som tillhör en viss fil, föredelen mot länkade listor eller FAT är att I-noden endastbehöver vara öppen när just den filen är öppen. Varför måste man öppna/stänga filen innan man skriver den/slutar använda den? OS håller reda på accessrättigheter vilka som har filen öppen Var man är positionerad i filen. vid stängning håller os reda på Hur många som har filen öppen, om filen buffrats och behöver skrivas till disk. Hur hålla reda på ledigt minne? *Bitvektor (växer med ökad diskstorlek och minskad blockstorlek) *Länkade listor som byggs i det fria utrymmet (kräver inget extra utrymme). Länkar i unix länk, fil som innehåller filnamnet till en fil eller dir. Hårdlänk Får bara peka ut filer Uppdaterar räknaren i den utpekade filens i-node för hur många som refererar filen. en fil kan ej tas bort så länge denna räknare är > 0 Mjuk länk Kan peka ut både dir och file. ränar inte upp räknaren. Leason7 ================================ I/O huvudklasser: Blockdevices Läser och skriver block av data (read, write,seek) Diskar, cdrom, band Character-devices Skriver/läser strömmar av tecken put, get tangentbord,skrivare, nätverk Det är dyrt med interuppt (Måste byta process till avbrottshanteraren i kärnan) DMA - Direct Memory Access En hårdvaruenhet som kan instrueras att överföra en mängd data (blovk) till/från en minne och någon I/O enhet Den "buffer" som håller det som ska skrivas ut/läsas från I/O får inte pagas ut, därför pinnas det i minnet En i/o enhet kan ofta ha fler än en i/o operation igång samtidigt. Drivrutinskoden måste därför vara re-entrant. Hårddisken indelad i spår med ett antal sektorer per spår.

8 Diskarmsschemaläggning FCFS - First come First served SSF - Shortest Seektime first SCAN, C-SCAN Hissalgoritmer LOOK, C-Look Leason 8 Trådar En tråd är en "process" inom processen. Trådar inom en process delar kod, heap och filer billigare att skapa och processswitcha trådar jämfört med processer Kan enkelt fås att använda flera cpuer Trådar kan antingen köras i kernel-space eler i user-space pthreads, solaris har både userspace ochkernelspace trådar i win heter det fibers Java implementerar trådar i den virtuella maskinen, men dessa är svåra att klacificera som user-space eller kernel-space Snabbare datorer: Öka klockfrekvensen -går inte så mycket mer -varmt Öka antalet processorer Multicpu datorer datorer i network flera cpu per chip att ha cpu:ern på en gemensam bus begränsar antalet cpuer till ~20st nät, antal cpuer upp till 1000st schemaläggning på multicpu, för lastballansering och rättvihet är det bäst med en readykö för alla cpuerna. men för att effektivt utnyttja cache etc är det bättre om en tråd får köra på samma cpu somden körde senast Trådar från samma job/process bör få köra tillsammans annars är risken för deadlock vid blockning Gang Scheduling alla trådar i en process kör samtidigt på olika cpuer Alla cpuer byter process samtidigt Om en tråd blir BLOCKED blir det cpu idle (väntar in övriga cpuer) Pipes, har en viss storlek om en process vill skriva och den är full så måste dne vänta. om en process vill läsa och den är tom så måste den vänta Leason9 ===================================================== RPC Stateless state? server cache

9 Leason10 ===================================================== Racecondition två processer tävlar om en gemensam resurs Ömsedidig uteslutning Via lås eller semaforer Deadlock, en process blockas pga att den väntar på att en annan process ska göra något. den har tex låst en resurs som processen behöver Coffmans vilkor: Ömsesidig uteslutning endast en process åt gången kan använda en resurs Behåll o vänta en process kan behålla (reservera) resurser medans den väntar på att få andra. Ingen pre-emption (konfiskering) Resurser kan inte tas från en process Cirkulär väntan det måste finnas en cykel av processer där varje process väntar på att få en resurs av nästa Hantering av deadlock * Gör ingenting, (det är dyrt o svårt att undvika detekta deadlocks) * Kontrollera utgivandet av resurser och leta cykler. * var försiktig (begränsa processerna) Återhämtning efter deadlock * Pre-emption - Ta tillbaka resurser * Roll-back - Gå tillbaka till en tidigare punkt * Döda processer, tillslut måste det lösas upp Att alldrig hamna i baklås * Bankiralgoritmen Bygger på att systemet kan kontrollera schemaläggningen av processerna (vissa scheman leder till baklås andra inte). Varje process anger sitt resursbehov i förväg. SYstemet befinner sig alltid i ett "säkert" läge, om en request kommer som skulle placera systemet i ett osäkert läge körs en anna process istället så länge - Inte ofta varje process vet exakt hur mycket processer och när den behöver den innan exekueringen börjar. Kan dock fungera i batchsystem * Bryta något av Coffmans vilkor Kan lösa hela probelmete Bryt omsesidig uteslutning, ingen process får låsa en resurs. Hur gör vi då då? skapa en demon, (printer tex) som håller en kö, låt sedan den göra alltjobbet med de jobb som läggs på kön Bryta Hold-and-wait Kräv att en process släpper alla sina resuser när den begär en ny, eller begär alla samtidigt Bryta no-preemption Visa resurer kan konfiskeras

10 Bryta cirkulär väntan Ge alla resurser ett nummer, det är bara tillåtet att allokera resurser i stigande ordning Livelock En grupp processer som exekverar men inte kommer vidare eftersom de hela tiden synroniserar med varandra. Svårt att upptäcka då processerna inte blockar utan fortsätter exekvera när de försöker synca med varandra Svältning En process får aldrig köras då andra processer hela tiden körs före den. Om man har alla jobb när man börjar köra och vet deras körtider är Shortest Jof First optimal. Men man kan råka ut för svältning, säg tex att ett jobb med körtid 10 och ett med körtid 5 kommer int, dessutom kommer det hela tiden in nya korta job, då kommer 10 jobbet aldrig att köra Lösning på aging *Man kan ge processer som har väntat längre suskesivt högre prio, (aging). *Undvik prioriteter helt, alla processer har samma prioritet och ingen schemaläggning görs Kolla Dining philosofers Sleeping barber Bounded buffer Readers and writers Leason11 ===================================================== Mål med kryptering om en förbrytare kommer över det cryptade ska det ta så lång tid för honom att bryta så det inte spelar någon roll Symmetriska system Samma nyckel för crypt som för decrypt Public key Ćrypt och decrypt är olika, (RSA) Envägs funktioner y=f(x) givet y och f är det mycet svårt att beräkna x Mycket sunt förnuft Leason12 ===================================================== Realtidsoperativsystem Har jobb som måste lösas inom givna tidsramar.(får aldrig missa deadline) Ett job är oftast en liten beräkning eller sensoläsning Ett jobb har starttid S, Maximal Beräkningstid C (critical path) och deadline D S+C<=D (annars går det inte) P Periodiska job Ett job som utförs regelbundet tiden mellan 2 starttider är dess period Ett system med bara periodiska jobb kallas periodiskt

11 Aperiodiska jobb jobb som förorsakas av någon händelse Vanligt är att realtids operativsystem innehåller både periodiska och aperiodiska jobb. Hårda system I ett hårt system får man inte missa deadlines iom att det medför fatala fel. Mjuka system Man bör eftersträva att hålla deadlines men skulleman missa någon enstaka är det inte katastrof. Mer eller mindre viktiga (hårda) jobb, anges som en vikt. Vid en inbromsning är det viktigare att bromsningen funkar än att motorn går optimalt Hårda realos kräver att man inte råkar ut för fördröjningar, därför saknar de oftast Virtuellminne (pagin/pageout), filsystem och många andra I/O enheter. Data lagras oftast i ROM mjuka realtid kan köras på de flesta os. måste kunna pre-empty processer så vi inte slösar tid på att vänta i onödan schemaläggning i realtidsos Mål klara alla deadlnes gälla För att ett periodiskt system ska vara schemaläggningsbart måste följande sum(ci/pi) <= 1 C/P är andelen av perioden som en processs måste få exekvera. Jacksons regel Varje schemaläggning som ordnar processerna efter strikt ökade deadlinetider är optimala Schemaläggningsmetoder Rate Monotonic scheduling En process med högre prio kan avbryta den körande och gå före den i kön Earliest deadline first Den process som har kortast tid kvar till sin deadline är den som får köra först. Optimal enligt Jackssons regel, men kan ge dominoeffekt av jobb som missar sina deadline vid överlast Smiths regel antag att varje process har en vik w som anger hur viktig den är. En schemaläggning är optimal som schemalägger processerna i icke-avtaganade ordning efter C/w Delade resurser är gör det svårt att schemalägga Earliest deadline first är icke-optimalt om man har flera processorer Device Drivers Vilken kod ska devicedrivrs innehålla?

12 Kod för systemanrop Kod flr avbrottshantering Kod för initialisering Kod för att städa upp om drivern tas bort Är en svart kåda som ska sköta styrningen av hårdvaran Bör implementera mekanismer för att hantera enheten inte policy, förutom när det gäller säkerhet då man kanske vill kontrollera lite). Man måste få tillsäkerheten rätt koden måste vara reentrant, är oftast i c/asm och måste hantera parallelism Device (driver) typer i linux Character device Block device Network interface CHar och block hanteras som filer open, read, werite, close Network interfaces Syns i filsystemet hanterar paket istället för för strömmar. MOduler används för att dynamiskt länka in device drivers Ska ha kod för registrera funktioner hos kärnarn initiera data kod för upprensning Leason13 linux fil orienterat Processer / trådar Processhirearki Windows objectorienterat (ej arv,polymorfism) HAL hardware abstraction layer Registret, stor databas som innehåller systemets alla inställningar Tråd Enhet för schemaläggning i cpu Fiber lättviktsprocess i userspace Ingen processhirearki createprocess() tar 10 arg Schemaläggning Unix 2nivåer lågnivå Välj nästa process som ska exekveras Prioriteter -20 <-> 20 processer i userspace har positiva prio en process använder sin tidsquantum (100ms) eller tills den blockar Optimarea för mycket interaktiva processer Högnivår Flytta processer till från minne (swap) Linux schemalägger trådar tre klasser

13 Realtime FIFO Realtime round robin (kan preempty av clock interupt) Timesharing Grundprioritet + nice = 0-40 Individuell tidsquantum för varje process Basseras på goodnes som är uträknat av prioritet, utnyttjad tids quantum En cpu stoppas om Den förbrukat sin quantum Ben blockeras En tråd med högre goodnes blir körbar När det inte finns några körbara trådar kvar (alla blockerade eller quantum=0) beräknas quantum om enligt quantum/2 + prioritet. Detta ger företräde åt I/O bundna processer Cpu-bundna processer får cputid i förhållande till sin prio. Windows Schemalägger trådar och bryr sig inte alls om processer Högt numeriskt värde = Högprioritet 7 grundklasser för trådar + 6 nivåer inom varje klass => Basprioritet 1-42 Schemaläggning körs av: en tråd om tråden blockera för I/O tråden signalerar ett object (tex på semafor) trådens tidsquantum är slut an andra derla om en I/O operation blir klar en tidsbegränsad wait blir klar. Minneshantering 32bitars Windows maximal adressrymd 4GB Av detta mappas os in på drygt 2GB Gör det snnabar att gå från user-mode till kernelmode 2GB är oftast för lite, servervarianten tillåter 3GB/process Bank switchning sidindelat virtuellminne, redn demand pagin

Minneshantering segmentering och virtuellminne. Föreläsning 3

Minneshantering segmentering och virtuellminne. Föreläsning 3 Minneshantering segmentering och virtuellminne Föreläsning 3 Minneshantering forts. Hur kan man köra processer som är större än primärminnet? Hur kan man undvika att stack och heap växer ihop? Virtuellminne

Läs mer

Dagens OS. Unix, Linux och Windows. Unix. Unix. En översikt av dagens OS Titt på hur de gör. Många varianter Mycket gemensamt. En del som skiljer

Dagens OS. Unix, Linux och Windows. Unix. Unix. En översikt av dagens OS Titt på hur de gör. Många varianter Mycket gemensamt. En del som skiljer Dagens OS En översikt av dagens OS Titt på hur de gör Unix, Linux och Windows Unix Många varianter Mycket gemensamt Unix En del som skiljer Vanliga program, shell, etc System calls Interupts and traps

Läs mer

Fö 8: Operativsystem II. Minneshantering. Minneshantering (1) Minneshantering (2) Minneshantering och Virtuelltminne.

Fö 8: Operativsystem II. Minneshantering. Minneshantering (1) Minneshantering (2) Minneshantering och Virtuelltminne. Fö 8: Operativsystem II Minneshantering och Virtuelltminne. Virtuella I/O enheter och Filsystemet. Flerprocessorsystem. Minneshantering Uniprogrammering: Minnet delas mellan operativsystem och användarprogrammet.

Läs mer

Tentamen i ID2206, ID2200 samt IS1350 Operativsystem

Tentamen i ID2206, ID2200 samt IS1350 Operativsystem Tentamen i ID2206, ID2200 samt IS1350 Operativsystem Tisdagen 2014-03-18 kl 09:00-13:00 Examinator: ID2206, ID2200 Robert Rönngren, IS1350 Jim Dowling Hjälpmedel: Inga Tentamensfrågorna behöver inte återlämnas

Läs mer

Schemaläggning Unix. Minneshantering etc. Linux. Schemaläggning av trådar (kernel threads) Detaljer. Operativsystem - Lektion 7

Schemaläggning Unix. Minneshantering etc. Linux. Schemaläggning av trådar (kernel threads) Detaljer. Operativsystem - Lektion 7 Schemaläggning Unix 20 priority = CPU_usage + nice + base Minneshantering etc Operativsystem - Lektion 7-20 Linux Schemaläggning av trådar (kernel threads) Real-time FIFO Real-time round robin Timesharing

Läs mer

Synkronisering. Föreläsning 8

Synkronisering. Föreläsning 8 Synkronisering Föreläsning 8 Synkronisering Så stort, intrikat och viktigt att det finns hela kurser om det i parallellprogrammering. Vi fuskar lite med några av de viktigaste bitarna! Synkronisering Vad

Läs mer

Olika OS. Unix, Linux och Windows. Unix. Unix. En översikt av ett par OS. Titt på hur de gör. Många varianter. Mycket gemensamt. En del som skiljer

Olika OS. Unix, Linux och Windows. Unix. Unix. En översikt av ett par OS. Titt på hur de gör. Många varianter. Mycket gemensamt. En del som skiljer Olika OS En översikt av ett par OS Titt på hur de gör Unix, Linux och Windows Unix Många varianter Mycket gemensamt Unix En del som skiljer Begrepp Hur skapas en process Deamon rocess Föräldrar & barn

Läs mer

4 grundregler. Minneshantering. Problemet. Windows minkrav

4 grundregler. Minneshantering. Problemet. Windows minkrav 4 grundregler 1. Man kan aldrig få för mycket minne 2. Minnet kan aldrig bli för snabbt Minneshantering 3. Minne kan aldrig bli för billigt 4. Programmens storlek ökar fortare än minnet i datorerna (känns

Läs mer

Lösningsförslag till tentamen i IS1350 Operativsystem

Lösningsförslag till tentamen i IS1350 Operativsystem sförslag till tentamen i IS1350 Operativsystem Måndagen 2015-03-16 kl 09:00-13:00 Examinator: IS1350 Jim Dowling Hjälpmedel: Inga Tentamensfrågorna behöver inte återlämnas efter avslutad tentamen. Ange

Läs mer

Flera processer. Minneshantering. Trashing kan uppstå ändå. Ersätta globalt

Flera processer. Minneshantering. Trashing kan uppstå ändå. Ersätta globalt Flera processer Minneshantering Operativsystem lektion 6 Potentiellt problem: Den sida som plockas bort behöver inte vara den sida som används minst!! Det kan finnas andra processer som inte körs eller

Läs mer

Operative system. LRU-algoritm (2 p) Svar: 7 fel. c) Optimal algoritm (2 p) Svar: 6 fel

Operative system. LRU-algoritm (2 p) Svar: 7 fel. c) Optimal algoritm (2 p) Svar: 6 fel Uppgift 3 Till en process som kräver 8 sidor allokeras 4 sidoramar. Antag följande referenssträng: 1,2,8,3,4,3,8,2,1,4 Hur många sidofel kommer att genereras (demand paging) med en a) FIFO-algoritm (2

Läs mer

Vad är viktigast? Sammanfattning. Processer och trådar. Processer och trådar. Flerprocessorsystem. Schemaläggning. Interprocesskommunikation.

Vad är viktigast? Sammanfattning. Processer och trådar. Processer och trådar. Flerprocessorsystem. Schemaläggning. Interprocesskommunikation. Vad är viktigast? Sammanfattning Processer och trådar Avbrottshantering Vad det är och hur det fungerar (på låg nivå) Vilka problem finns Schemaläggning Flerprocessorsystem Varianter, problem Interprocesskommunikation

Läs mer

Operativsystem ID2206 Tentamen TEN1 4.5 hp :00-18:00

Operativsystem ID2206 Tentamen TEN1 4.5 hp :00-18:00 Operativsystem ID2206 Tentamen TEN1 4.5 hp 2018-04-03 14:00-18:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Svaren skall lämnas på dessa

Läs mer

Operativsystem ID2200 Tentamen TEN1 3.8 hp :00-18:00

Operativsystem ID2200 Tentamen TEN1 3.8 hp :00-18:00 Operativsystem ID2200 Tentamen TEN1 3.8 hp 2018-04-03 14:00-18:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Svaren skall lämnas på dessa

Läs mer

Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON Datorteknik ERIK LARSSON Inledning Ken Thompson och Dennis M. Ritchie utvecklade C Turingpriset( Nobelpris i datavetenskap ), 1983 Alan Turing (1912-1954) För deras utveckling av generell OS teori och

Läs mer

TDDIU81. Processer och trådar. Andreas Dahlberg, Jonathan Doherty, Tony Magnusson, Patrik Ottosson, Rasmus Siljedahl

TDDIU81. Processer och trådar. Andreas Dahlberg, Jonathan Doherty, Tony Magnusson, Patrik Ottosson, Rasmus Siljedahl TDDIU81 Processer och trådar Andreas Dahlberg, Jonathan Doherty, Tony Magnusson, Patrik Ottosson, Rasmus Siljedahl Sammanfattning Den här rapporten innehåller en kort genomgång av allmän process och trådhantering

Läs mer

Minnet från processorns sida Datorteknik

Minnet från processorns sida Datorteknik Minnet från processorns sida Datorteknik ERIK LARSSON Processorn ger kommandon/instruktioner med en adress och förväntar sig data. Exempel: READ(ADR) -> DATA Fysisk adress Logisk adress READ 00001000 READ

Läs mer

Operativsystem (ID2200/06) XX XX:00-XX:00

Operativsystem (ID2200/06) XX XX:00-XX:00 Operativsystem (ID2200/06) 2017-01-XX XX:00-XX:00 Namn: Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4-sida med anteckningar. Mobiler etc skall lämnas till

Läs mer

En processor kan ha en klockfrekvens på flera GHz. Det går alltså a9 exekvera en instruk=on väldigt for, givet a9 instruk=onen finns i processorn.

En processor kan ha en klockfrekvens på flera GHz. Det går alltså a9 exekvera en instruk=on väldigt for, givet a9 instruk=onen finns i processorn. 1 2 En processor kan ha en klockfrekvens på flera GHz. Det går alltså a9 exekvera en instruk=on väldigt for, givet a9 instruk=onen finns i processorn. Instruk=onerna =ll programmet som exekveras finns

Läs mer

Filsystem användarvy och implementering. Föreläsning 4

Filsystem användarvy och implementering. Föreläsning 4 Filsystem användarvy och implementering Föreläsning 4 Filsystem De abstrakta datatyperna fil och directory Hur implementerar man filsystem? Användarvyn av filsystem Implementering av filsystem Exempel

Läs mer

Fö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn?

Fö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn? Fö 7: Operativsystem Introduktion. Klassificering. Vad är ett operativsystem? Program som kontrollerar andra andra program. Gränssnitt mellan användare och hårdvaran. Kärnan. Historisk översikt. Typeset

Läs mer

Minneshantering - grunderna. Föreläsning 2

Minneshantering - grunderna. Föreläsning 2 Minneshantering - grunderna Föreläsning 2 Minneshantering Hur hantera grundfallet med endast en process? Hur kan flera processer vara aktiva, dvs vara i minnet, samtidigt? Adressrymden Kontinuerlig allokering

Läs mer

Hjälpmedel: Inga hjälpmedel förutom penna, suddgummi och glatt humör.

Hjälpmedel: Inga hjälpmedel förutom penna, suddgummi och glatt humör. Tentamen Inst. för Informationsteknologi Avdelningen för Datorteknik Herbert P Sander Tel: 070 376 06 87 Ämne: Operativsystem Lokal: Post Scriptum, sal 2 Datum: Måndagen den 13 maj 2002 Tid: Kl 09.00-14.00

Läs mer

Operativsystem (IS1350) :00-12:00

Operativsystem (IS1350) :00-12:00 Operativsystem (IS1350) 2017-03-15 08:00-12:00 Namn: Instruktioner Betyg Du får endast ha med dig skrivmateriel. Mobiler etc skall lämnas till tentamensvakterna. Svaren skall lämnas på dessa sidor, använd

Läs mer

Några gamla tentamensuppgifter: Minneshantering

Några gamla tentamensuppgifter: Minneshantering 1 Tentamen 1992-08-26 5. I ett virtuellt minne med skiva är primärminnets accesstid 1 mikrosekund, sidstorleken 1 K, skivans rotationstid 10 millisekunder, inställningstiden för skivans arm 5 millisekunder

Läs mer

Introduktion till hårdvara, mjukvara och operativsystem

Introduktion till hårdvara, mjukvara och operativsystem Introduktion till hårdvara, mjukvara och operativsystem Grundläggande operativsystem 1DV415 1 1 Lärare Marcus Wilhelmsson Universitetsadjunkt i datavetenskap Linux, UNIX (Solaris, OpenSolaris, Mac OS X),

Läs mer

Operativsystem. Informationsteknologi sommarkurs 5p, 2004. Agenda. Slideset 7. Exempel på operativsystem. Operativsystem

Operativsystem. Informationsteknologi sommarkurs 5p, 2004. Agenda. Slideset 7. Exempel på operativsystem. Operativsystem Informationsteknologi sommarkurs 5p, 2004 Mattias Wiggberg Dept. of Information Technology Box 337 SE751 05 Uppsala +46 18471 31 76 Collaboration Jakob Carlström Slideset 7 Agenda Exempel på operativsystem

Läs mer

Filsystem. Varför? Hur? För att kunna lagra data mer permanent än i RAM. Vettig organisation Vettiga namn

Filsystem. Varför? Hur? För att kunna lagra data mer permanent än i RAM. Vettig organisation Vettiga namn Varför? För att kunna lagra data mer permanent än i RAM Hur? Vettig organisation Vettiga namn Stora/små bokstäver 8-bitars tecken (teckenkodning) File extensions Längd Struktur på filerna Byte efter byte,

Läs mer

Operativsystem. Innehåll. Operativsystemets funktion. Vad är ett OS? Vart hittar men ett OS? OS hanterar processorns resurser

Operativsystem. Innehåll. Operativsystemets funktion. Vad är ett OS? Vart hittar men ett OS? OS hanterar processorns resurser Innehåll Operativsystem Vad är operativsystem och hur fungerar de Vad är ett OS? Syfte Att tillåta flera program att köra samtidigt Att fungera som ett abstraktionslager mot hårdvaran Att hantera olika

Läs mer

Design och trender. Föreläsning 12

Design och trender. Föreläsning 12 Design och trender Föreläsning 12 Design och trender Varför är det svårt att skriva OS? Vad ska man tänka på när man implementerar OS? Vart är utvecklingen på väg? Fortsättningskurser för den som vill

Läs mer

Operativsystem ID1200/06 Tentamen :00-18:00

Operativsystem ID1200/06 Tentamen :00-18:00 Operativsystem ID1200/06 Tentamen 2018-01-12 14:00-18:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Svaren skall lämnas på dessa sidor,

Läs mer

Operativsystem ID2206 7.5hp, ID2200 6hp

Operativsystem ID2206 7.5hp, ID2200 6hp Operativsystem ID2206 7.5hp, ID2200 6hp Robert Rönngren Innehåll Om kursen www.it.kth.se/courses/id2206 ID2200 Vad är ett operativsystem och varför ser de ut som de gör? kap. 1.1-1.3, 1.6-1.7 Processer

Läs mer

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem?

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem? DVG A06 Operativsystem, mm Definition Den del av systemet som hanterar all hårdvara och all mjukvara. Kontrollerar: -alla filer -alla enheter -varje del av minnet -varje ögonblick av processortiden (-nätverk

Läs mer

Operativsystem - Filsystem

Operativsystem - Filsystem Operativsystem - Filsystem Mats Björkman 2015-03-09 Administrativt n Extraföreläsning istället för den inställda: torsdag 12/3 kl 8-10 i Pi n Seminarier preliminärt schema ute n 15 minuter per grupp lämna

Läs mer

Operativsystem Lektion 1. Lärare. Schema. Kurssajten Finns på adressen. Jan Erik Moström. Set Norman

Operativsystem Lektion 1. Lärare. Schema. Kurssajten Finns på adressen. Jan Erik Moström. Set Norman Operativsystem Lektion 1 1 Lärare jem@cs.umu.se, B449 Lektioner etc Set Norman set@cs.umu.se, NAdv105 Labbar, labhandledning 2 Schema Notera att det finns ändringar i schemat!! Under perioden 1-8 mars

Läs mer

Trådar och Multiprocessorer. Föreläsning 6

Trådar och Multiprocessorer. Föreläsning 6 Trådar och Multiprocessorer Föreläsning 6 Trådar och multiprocessorer Hur skriver man program som hanterar många saker samtidigt, t.ex. en web-server som hanterar många samtidiga begäran från olika klienter?

Läs mer

Operativsystem. Hierarkin för hårdvara läses nerifrån

Operativsystem. Hierarkin för hårdvara läses nerifrån Operativsystem DOS DiskOperatingSystem - ett jobb i taget. Dagens Operativsystem - prioriterar olika jobb. Om ett jobb pausas körs ett annat. Operativsystems viktigaste funktion är att bilda gränssnitt

Läs mer

Operativsystem. IS1350 7.5hp. Jim Dowling Docent, PhD jdowling@kth.se. [Bilder av Robert Rönngren]

Operativsystem. IS1350 7.5hp. Jim Dowling Docent, PhD jdowling@kth.se. [Bilder av Robert Rönngren] Operativsystem IS1350 7.5hp Jim Dowling Docent, PhD jdowling@kth.se [Bilder av Robert Rönngren] Innehåll Om kursen w w w. i t. k t h. s e / c o u r s e s / I S 1 3 5 0 Vad är ett operativsystem och varför

Läs mer

Fallstudier. Föreläsning 11

Fallstudier. Föreläsning 11 Fallstudier Föreläsning 11 Fallstudier Vi synar sömmarna på några vanliga OS med våra nyvunna kunskaper? UNIX, LINUX och Microsofts Windows familj Kap: 10, 11 OS Föreläsning 11, Fallstudier 2 Fallstudier

Läs mer

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018 . Vad är en dator? Introduktion till datorer och nätverk Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018 Översikt 2/23 Datorns historia von Neumann-arkitekturen Operativsystem Datornät

Läs mer

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Lunds Universitet LTH Ingenjörshögskolan, Helsingborg Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt

Läs mer

Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen :00-18:00

Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen :00-18:00 Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen 2019-04-16 14:00-18:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Anteckningarna lämnas

Läs mer

Realtidssystem HT03. Vad är realtidssystem? Inbyggda system. Att programmera, Tasks (Uppgifter) Realtidssystem kräver analys

Realtidssystem HT03. Vad är realtidssystem? Inbyggda system. Att programmera, Tasks (Uppgifter) Realtidssystem kräver analys Realtidssystem HT03 Vad är realtidssystem? Föreläsare: Wang Yi Rum: 1235, yi@it.uu.se, Tel: 471 3110 Assistent: Tobias Amnell Rum: 1216, tobiasa@it.uu.se, Tel: 4717122 Webbsida: www.it.uu.se/edu/course/homepage/realtid/h03

Läs mer

Operativsystem DVG A06. Definition. Varför operativsystem? - Vad är ett operativsystem?

Operativsystem DVG A06. Definition. Varför operativsystem? - Vad är ett operativsystem? Operativsystem DVG A06 Operativsystem, mm - Vad är ett operativsystem? - Hur fungerar det..? - Vad använder vi operativsystemet till? - Vilka olika operativsystem finns? 2 Definition Den del av systemet

Läs mer

DVG A06. Operativsystem, mm. Karlstads universitet Datavetenskap. DVG A06 Johan Eklund. Datavetenskap, Karlstads universitet 1

DVG A06. Operativsystem, mm. Karlstads universitet Datavetenskap. DVG A06 Johan Eklund. Datavetenskap, Karlstads universitet 1 DVG A06 Operativsystem, mm DVG A06 Johan Eklund, 1 2 DVG A06 Johan Eklund, 2 Operativsystem - Vad är ett operativsystem? - Hur fungerar det..? - Vad använder vi operativsystemet till? - Vilka olika operativsystem

Läs mer

Digitala System: Datorteknik ERIK LARSSON

Digitala System: Datorteknik ERIK LARSSON Digitala System: Datorteknik ERIK LARSSON Översikt Minnets komponenter Minneshierarkin Cacheminne Paging Virtuellt minne Minnets komponenter Enhet för indata Primärminne (CPU) Enhet för utdata Sekundärminne

Läs mer

Hur hänger det ihop med användarkommandon, biblioteksfunktioner och systemanrop?

Hur hänger det ihop med användarkommandon, biblioteksfunktioner och systemanrop? I/O Föreläsning 5 Dagens fråga: Hur hänger det ihop med användarkommandon, biblioteksfunktioner och systemanrop? User space Vanliga program Användarkommandon Kommandon som är inbyggda i kommandotolken

Läs mer

Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen :00-18:00

Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen :00-18:00 Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen 2019-04-16 14:00-18:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Anteckningarna lämnas

Läs mer

Operativsystem ID1200/06 och ID2200/06 Tentamen TENA 6 hp :00-18:00

Operativsystem ID1200/06 och ID2200/06 Tentamen TENA 6 hp :00-18:00 Operativsystem ID1200/06 och ID2200/06 Tentamen TENA 6 hp 2018-04-03 14:00-18:00 Omtentander på ID2200 TEN1 3.8 hp och ID2206 TEN1 4.5 hp skall inte skriva denna tentamen! Instruktioner Du får, förutom

Läs mer

Operativsystem ID1200/06 Tentamen :00-18:00

Operativsystem ID1200/06 Tentamen :00-18:00 Operativsystem ID1200/06 Tentamen 2018-01-12 14:00-18:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Svaren skall lämnas på dessa sidor,

Läs mer

Operativsystem - input/output, skydd, virtualisering

Operativsystem - input/output, skydd, virtualisering Operativsystem - input/output, skydd, virtualisering Mats Björkman 2015-03-12 Lärandemål, I/O n Typer av I/O-enheter n Character, Block & Special n Minnesmappad I/O n Typer av I/O-programmering n Programmerad,

Läs mer

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum: Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60 Superscalar vs VLIW Cornelia Kloth IDA2 Inlämningsdatum: 2018-12-05 Abstract Rapporten handlar om två tekniker inom multiple issue processorer

Läs mer

Operativsystem - Processkedulering

Operativsystem - Processkedulering Operativsystem - Processkedulering Mats Björkman 2015-02-02 Innehåll n Processer (föreläsning 2) n n n Processmodell Processtillstånd Trådar n Processkommunikation (föreläsning 3) n n n Semaforer Monitorer

Läs mer

Realtidssystem, device drivers. Föreläsning 10

Realtidssystem, device drivers. Föreläsning 10 Realtidssystem, device drivers Föreläsning 10 Dagens föreläsning Realtidssystem Device drivers (Multimedia video) Realtidssystem Karakteristika Mjuka realtidssystem Hårda realtidssystem Schemaläggning

Läs mer

Översikt. Datorarkitekturer med operativsystem. Inledning. Inledning

Översikt. Datorarkitekturer med operativsystem. Inledning. Inledning Datorarkitekturer med operativsystem ERIK LARSSON Översikt Inledning Inledning Inledning En processor eller central processing unit (CPU) är enheten som exekverar program i en dator En dator är en maskin

Läs mer

Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON Datorteknik ERIK LARSSON Laborationer Gå bara på tillfällen där du är anmäld. Moment svarar mot 1.5hp, dvs 40 timmar arbete Schemalagd tid: 4*2 (lektioner)+4*4(laborationer)=20 timmar Material: Finns på

Läs mer

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär:

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär: Lösningsförslag för 725G45-tentan 3/11-10 1. Vad menas med Von Neumann-arkitektur? (2p) En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär: Data och instruktioner lagras i samma

Läs mer

Operativsystem ID2200/06 omtentamen :00-18:00

Operativsystem ID2200/06 omtentamen :00-18:00 Instruktioner Operativsystem ID2200/06 omtentamen 2017-12-18 14:00-18:00 Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Svaren skall lämnas på dessa sidor,

Läs mer

Fö 2: Minnen. Introduktion. Primärminnet. Interna och externa minnen. Introduktion, Klassificiering

Fö 2: Minnen. Introduktion. Primärminnet. Interna och externa minnen. Introduktion, Klassificiering Fö 2: Minnen Introduktion, Klassificiering Primärminne Sekundärminne Minneshiearki Cache-minne Introduktion Primärminnet används för att lagra program och data som är aktuella att använda. Sekundärminnet

Läs mer

Tentamen den 18 mars svar Datorteknik, EIT070

Tentamen den 18 mars svar Datorteknik, EIT070 Lunds Universitet LTH Tentamen den 18 mars 2015 - svar Datorteknik, EIT070 Skrivtid: 14.00-19.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng För betyg 4 krävs 30

Läs mer

Outline. Datorsystemtekni. Kravspecifikation. Kravspecifikation (forts.)

Outline. Datorsystemtekni. Kravspecifikation. Kravspecifikation (forts.) Outline för D2, ICT2, E3 och Mek3 Nicholas Wickström Högskolan i Halmstad Sverige p.1/18 Förra föreläsningen Specifikation -Kravspecifikation -Funktionsspecifikation -Blockdiagram Operativsystem -Grunder,

Läs mer

Realtidsprogrammering Ordinarie tentamen

Realtidsprogrammering Ordinarie tentamen Tentamen i Realtidsprogrammering Ordinarie tentamen Datum: 2006-10-20 Tid: 08:00 13:00 Ansvarig lärare: Telefon: 1438 (kontor) Hjälpmedel: Miniräknare Poäng: Tentamen omfattar 40 poäng fördelade på 7 uppgifter.

Läs mer

Operativsystem ID2200/06 omtentamen :00-12:00

Operativsystem ID2200/06 omtentamen :00-12:00 Instruktioner Operativsystem ID2200/06 omtentamen 2017-08-21 8:00-12:00 Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Svaren skall lämnas på dessa sidor,

Läs mer

Närliggande allokering Datorteknik

Närliggande allokering Datorteknik Närliggande allokering Datorteknik ERIK LARSSON TID Problem: Minnet blir fragmenterat Paging Demand paging Sida (S) Dela upp primärminnet i ramar (frames) och program i sidor (pages) Program 0 RD.0 1 RD.1

Läs mer

Institutionen för elektro- och informationsteknologi, LTH

Institutionen för elektro- och informationsteknologi, LTH Datorteknik Föreläsning 5 Realtidssystem och realtidsprogrammering Mål Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av flera processer Att du ska förstå begreppet tråd

Läs mer

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH.

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH. Datorteknik Föreläsning 5 Realtidssystem och realtidsprogrammering Mål Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av flera processer Att du ska förstå begreppet tråd

Läs mer

Datorsystem. Laboration 3: Operativsystem Senast uppdaterad: 14 oktober 2012 Version 1.3. Student: Underskrift: Underskrift: Datum:

Datorsystem. Laboration 3: Operativsystem Senast uppdaterad: 14 oktober 2012 Version 1.3. Student: Underskrift: Underskrift: Datum: Datorsystem Laboration 3: Operativsystem Senast uppdaterad: 14 oktober 2012 Version 1.3 Student: Lärare: Underskrift: Underskrift: Datum: Datorsystem Laboration 3 1 Innehåll 1 Inledning 2 1.1 Introduktion...........................................

Läs mer

Systembeskrivning. Systemskiss. Moduler.

Systembeskrivning. Systemskiss. Moduler. Page 1 of 5 Systembeskrivning Projektets namn: Educational Operating System (EOS) Uppdragsgivare: Virtutech Gruppmedlemmar: Jens Lind (Projektledare) Peter Wåhlander (Sekreterare) Åke Wallebom Gilbert

Läs mer

Digitalteknik och Datorarkitektur 5hp

Digitalteknik och Datorarkitektur 5hp Digitalteknik och Datorarkitektur 5hp Minnes-hierarkier och Cache 12 maj 2008 karl.marklund@it.uu.se issa saker använder vi ofta Dessa saker vill vi ha nära till hands Storleken har betydelse Litet är

Läs mer

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade) Datorsystem 2 CPU Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur CPU Visning av Akka (för de som är intresserade) En dators arkitektur På en lägre nivå kan vi ha lite olika

Läs mer

Databaser Design och programmering Minnesteknik Minnesteknik, forts Utvecklingen Hårddisk Hårddisk, forts

Databaser Design och programmering Minnesteknik Minnesteknik, forts Utvecklingen Hårddisk Hårddisk, forts Databaser Design och programmering Fysisk design av databasen att ta hänsyn till implementationsaspekter minnesteknik filstrukturer indexering 1 Minnesteknik Primärminne (kretsteknik) Flyktigt Snabbt Dyrt

Läs mer

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya Random Access Memory Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya Introduktion Historia Vad är RAM? Hur fungerar RAM? Dataöverföring, tidsklocka och termer Vilka är de olika typerna av RAM? Vad

Läs mer

Databaser - Design och programmering. Minnesteknik. Minnesteknik, forts. Hårddisk. Primärminne (kretsteknik) Fysisk design av databasen

Databaser - Design och programmering. Minnesteknik. Minnesteknik, forts. Hårddisk. Primärminne (kretsteknik) Fysisk design av databasen Databaser Design och programmering Fysisk design av databasen att ta hänsyn till implementationsaspekter minnesteknik filstrukturer indexering Minnesteknik Primärminne (kretsteknik) Flyktigt Snabbt Dyrt

Läs mer

Operativsystem ID1200/06 och ID2200/06 Tentamen TENA 6 hp :00-18:00

Operativsystem ID1200/06 och ID2200/06 Tentamen TENA 6 hp :00-18:00 Operativsystem ID1200/06 och ID2200/06 Tentamen TENA 6 hp 2018-04-03 14:00-18:00 Omtentander på ID2200 TEN1 3.8 hp och ID2206 TEN1 4.5 hp skall inte skriva denna tentamen! Instruktioner Du får, förutom

Läs mer

Lärare. Operativsystem. Handledning. Kurssajt. Schema. Lektioner. Jan Erik Moström

Lärare. Operativsystem. Handledning. Kurssajt. Schema. Lektioner. Jan Erik Moström Lärare Operativsystem Introduktion Jan Erik Moström jem+os@cs.umu.se Handledning Set Norman set@cs.umu.se Handledning Kurssajt Finns på www.cs.umu.se/kurser/tdbc28/vt05/ Innehåller: Schema Allmän info

Läs mer

Datorsystem 5. På denna föreläsning skall vi prata om Operativsystem Exempel på tenta (typ fjolårets)

Datorsystem 5. På denna föreläsning skall vi prata om Operativsystem Exempel på tenta (typ fjolårets) Datorsystem 5 På denna föreläsning skall vi prata om Operativsystem Exempel på tenta (typ fjolårets) Vad är ett operativsystem (OS)? Syfte Att tillåta flera program att köra samtidigt Att fungera som ett

Läs mer

Reservföreläsningen inställd

Reservföreläsningen inställd Reservföreläsningen inställd n Reservtiden (fredag 10 mars kl 13-15) är en reservtid, ställs nu in eftersom inte något oförutsett hänt Operativsystem, Mats Björkman, MDH 1 Labredovisningar n Labbar som

Läs mer

Operativsystem ID2200/06 omtentamen :00-18:00

Operativsystem ID2200/06 omtentamen :00-18:00 Instruktioner Operativsystem ID2200/06 omtentamen 2017-12-18 14:00-18:00 Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Svaren skall lämnas på dessa sidor,

Läs mer

Minnets komponenter. Digitala System: Datorteknik. Programexekvering. Programexekvering. Enhet för utdata. Enhet för indata CPU.

Minnets komponenter. Digitala System: Datorteknik. Programexekvering. Programexekvering. Enhet för utdata. Enhet för indata CPU. Digitala System: Datorteknik Minnets komponenter ERIK LARSSON Enhet för indata CPU Enhet för utdata Sekundärminne Programexekvering Program i högnivåspråk.. Z:=(Y+X)*3. Kompilator Exekverbart program i

Läs mer

Omtentamen i Realtidsprogrammering för Au3, D3, E3

Omtentamen i Realtidsprogrammering för Au3, D3, E3 Omtentamen i Realtidsprogrammering för Au3, D3, E3 Datum: 2004-01-14 Tid: 0800-1300 Ansvarig lärare: Telefon: 1438 (kontor) Hjälpmedel: Inga särskilda hjälpmedel är tillåtna. Poäng: Tentamen omfattar 40

Läs mer

Operativsystem ID2200/06 tentamen och omtentamen :00-12:00

Operativsystem ID2200/06 tentamen och omtentamen :00-12:00 Operativsystem ID2200/06 tentamen och omtentamen 2017-01-14 08:00-12:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Mobiler etc skall

Läs mer

Operativsystem Introduktion

Operativsystem Introduktion Lärare Operativsystem Introduktion Jan Erik Moström jem+os@cs.umu.se Handledning Kurssajt Finns på www.cs.umu.se/kurser/tdbc33/vt06/ Mattias Linde linde@cs.umu.se Handledning www.cs.umu.se/kurser/tdbc33/vt06/jem

Läs mer

Försättsblad till skriftlig tentamen vid Linköpings Universitet Cover page for written exam at Linköping University

Försättsblad till skriftlig tentamen vid Linköpings Universitet Cover page for written exam at Linköping University Försättsblad till skriftlig tentamen vid Linköpings Universitet Cover page for written exam at Linköping University Datum för tentamen Date of exam Sal Room Tid Time Kurskod Course code Provkod LADOK code

Läs mer

Öka prestanda i Shared-Cache multi-core processorer

Öka prestanda i Shared-Cache multi-core processorer Öka prestanda i Shared-Cache multi-core processorer 1. Abstract Många processorer har nuförtiden flera kärnor. Det är även vanligt att dessa kärnor delar på högsta nivås cachen för att förbättra prestandan.

Läs mer

Snapdragon 810: Cacheminnet

Snapdragon 810: Cacheminnet Snapdragon 810: Cacheminnet Daniel Eckerström dat14dec@student.lu.se Sammanfattnig Snapdragon 810 innehåller två olika processor arkitekturer, ARM Cortex-A53 samt Cortex-A57. Detta för att kunna på ett

Läs mer

CE_O5. Cacheminne. Hemlaboration 2.

CE_O5. Cacheminne. Hemlaboration 2. IS1500 Exempelsamling till övning CE_O5, 2014 CE_O5. Cacheminne. Hemlaboration 2. 5.1. Medeltidshistoria Diskutera förloppet då CPU:n gör en läsreferens i huvudminnet dvs information kopieras från huvudminne

Läs mer

Grundläggande datavetenskap, 4p

Grundläggande datavetenskap, 4p Grundläggande datavetenskap, 4p Kapitel 2 Datamanipulation, Processorns arbete Utgående från boken Computer Science av: J. Glenn Brookshear 2004-11-09 IT och Medier 1 Innehåll CPU ALU Kontrollenhet Register

Läs mer

Filsystem - Inode. Datorteknik. Minnets komponenter. Programexekvering. Enhet för indata. Enhet för utdata CPU. Primärminne.

Filsystem - Inode. Datorteknik. Minnets komponenter. Programexekvering. Enhet för indata. Enhet för utdata CPU. Primärminne. Datorteknik Filsystem - Inode ERIK LARSSON ABBA: Dancing Queen Minnets komponenter Programexekvering Enhet för indata CPU Enhet för utdata Program i högnivåspråk.. Z:=(Y+X)*3. Kompilator Exekverbart program

Läs mer

HF0010. Introduktionskurs i datateknik 1,5 hp

HF0010. Introduktionskurs i datateknik 1,5 hp HF0010 Introduktionskurs i datateknik 1,5 hp Välkommna - till KTH, Haninge, Datateknik, kursen och till första steget mot att bli programmerare! Er lärare och kursansvarig: Nicklas Brandefelt, bfelt@kth.se

Läs mer

Datakom II (MNP) ht 1998 Bengt Ahlgren 1. Vad är speciellt med implementering av kommunikationsprotokoll?

Datakom II (MNP) ht 1998 Bengt Ahlgren 1. Vad är speciellt med implementering av kommunikationsprotokoll? 1 Vad är speciellt med implementering av kommunikationsprotokoll? 2 Översikt Inledning Hårdvaru-vy och mjukvaru-vy Mjukvaruarkitektur Rules of thumb Minnesbandbredd TCP-implementering ILP Integrated Layer

Läs mer

Operativsystem ID2200/06 omtentamen :00-12:00

Operativsystem ID2200/06 omtentamen :00-12:00 Operativsystem ID2200/06 omtentamen 2017-06-07 8:00-12:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Mobiler etc skall lämnas till tentamensvakterna.

Läs mer

Öppna filer och filsystem i PintOS Hemuppgift TDDI81, 21/

Öppna filer och filsystem i PintOS Hemuppgift TDDI81, 21/ Öppna filer och filsystem i PintOS Hemuppgift TDDI8, /0-03 Almquist Mathias (matal09) Nguyen Johan (johng86) Hamzic Mirza (mirha348) Timliden Erik (eriti930) INLEDNING PintOS är ett operativsystem utvecklat

Läs mer

Vad händer när man kör ett program? Program och processer. Funktionsanrop. Avsluta programmet

Vad händer när man kör ett program? Program och processer. Funktionsanrop. Avsluta programmet Vad händer när man kör ett program? Program och processer När man kompilerar ett program och sedan länkar ihop det så stoppar länkaren in lite extra kod i programmet. Det är denna kod som i sin tur anropar

Läs mer

Säkerhet. Vad är det vi pratar om??

Säkerhet. Vad är det vi pratar om?? Vad är det vi pratar om?? Hindra personer att komma in i ett system? Hindra personer att läsa data? Hindra personer att ändra data? Hindra personer att modifiera systemet? Hindra personer att läsa information

Läs mer

Realtidssystem. - Schemaläggning - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 6

Realtidssystem. - Schemaläggning - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 6 Realtidssystem - Schemaläggning - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp Föreläsning 6 Kursens innehåll motsvarar tidigare omgångar under beteckning EDA698 Stora delar baserad på: Föreläsningsmaterial

Läs mer

Databaser Design och programmering. Fysisk design av databasen att ta hänsyn till implementationsaspekter: minnesteknik filstrukturer indexering

Databaser Design och programmering. Fysisk design av databasen att ta hänsyn till implementationsaspekter: minnesteknik filstrukturer indexering Databaser Design och programmering Fysisk design av databasen att ta hänsyn till implementationsaspekter: minnesteknik filstrukturer indexering 2 Programdesign, databasdesign Databasdesign Kravspecifikation

Läs mer

DIG IN TO Dator och nätverksteknik

DIG IN TO Dator och nätverksteknik DIG IN TO Dator och nätverksteknik CCNA 1 Operativsystem Agenda Datorsystemets struktur Vad är ett operativsystem? Minneshantering Threads och processer Threads eller exekveringstrådar Processhantering

Läs mer

Fö 5+6 TSEA81. Real-time kernel + Real-time OS

Fö 5+6 TSEA81. Real-time kernel + Real-time OS Fö 5+6 TSEA81 Real-time kernel + Real-time OS Stackens användningsområde * JSR / RTS : returadress * Temporärdata (push / pop) void myfunc(void) { int i; // hamnar nog i register int test[10]; // hamnar

Läs mer

Realtidssystem. - Dödläge - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 5

Realtidssystem. - Dödläge - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 5 Realtidssystem - Dödläge - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp Föreläsning 5 Kursens innehåll motsvarar tidigare omgångar under beteckning EDA698 Stora delar baserad på: Föreläsningsmaterial

Läs mer

Tentamen den 17 mars 2016 Datorteknik, EIT070

Tentamen den 17 mars 2016 Datorteknik, EIT070 Lunds Universitet LTH Tentamen den 17 mars 2016 Datorteknik, EIT070 Skrivtid: 14.00-19.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng För betyg 4 krävs 30 poäng

Läs mer