syftar till att förbättra prestanda. Den kan avse något eller flera av följande mått.
|
|
- Per Persson
- för 8 år sedan
- Visningar:
Transkript
1 Allmänt Vid multiprogrammering kan det vara önskvärt att anpassa systemets beteende till olika tillämpningars behov. En anledning till multiprogrammering var att man önskade öka genomströmningen. Antag tre jobb, vardera bestående av tre faser, givna: inmatning, beräkning och utmatning. Tiderna för respektive operation är för de tre jobben 1, 1, och 10, 1, 10 och 1 respektive 10, 1 och 1. Satsvis bearbetning skulle ge en totaltid 36 för de tre jobben. Eftersom de tre faserna i jobben utnyttjar olika resurser kan operationerna överlappas. Jobb är en beteckning på vad som idag kallas process och härstammar från tiden med satsvisbearbetning under multiprogrammering. /Schemaläggning ('Scheduling'): Intervall Inmatning Beräkning Utmatning 0-1 Jobb Jobb 2 Jobb Jobb 3 Jobb 2 Jobb Jobb 3 Jobb Jobb 3 Med denna multiprogrammering kan totaltiden reduceras till 14. Denna högst avsevärda vinst beror på att blandningen av jobb i detta exempel är överdrivet bra, men resonemanget har ändå en poäng Begrepp Schemaläggningen av processer brukar struktureras 'Dispatcher' Denna modul i kärnan i operativsystemet handhar bara själva igångsättandet av processer. Modulen väljer alltid att köra den process som 'short term scheduler' placerat först i redolistan 'Short term scheduler' Denna del av operativsystemet hanterar blandningen av aktiva processer i exekverande, redo och korttidsblockerat tillstånd. Förutsättningen är att processernas aktiva namnrum är allokerat till primärminnet: Blockerandetillstånden avser semaforlistor eller dylika korttids väntetillstånd 'Medium term scheduler' Denna del väljer ut de processer som ska vara aktiva. Väntetillstånd vars orsaker är mer långtidsverkande införs tex för processer som väntar på långsam in/ut-matning eller på att få processdelar (tex sidor) inlästa till primärminnet. Under vissa förutsättningar kan det vara viktigt att begränsa antalet aktiva processer (se Minnesallokering; 'Thrashing') 'Long term scheduler' I multiprogrammerade kövisbearbetande system sekvenseras hela jobb ('spooling') och dessas in/ut-sekvenser på långsamma medier som skrivare på skivminne innan de blir föremål för egentlig schemaläggning. Långtidsschemaläggaren har kontroll över sådana jobb Schemaläggningen syftar till att förbättra prestanda. Den kan avse något eller flera av följande mått.
2 72 i. Processorutnyttjande ('cpu utilization'). Detta brukar mätas i % (av reell tid). Oftast gäller att detta ökas då graden av multiprogrammering ökas. Ett 'overhead' (tid som operativsystemet utnyttjar för resursplanering) brukar vara i storleksordningen 1-10%. ii. Genomströmning ('through put'). Detta mått beskriver hur många processer som per tidsenhet exekveras klart av systemet. iii. Processtid ('process time'). Tiden mellan det att en process anländer till systemet till dess processen är avslutad. Oftast är det mer intressant att mäta medelvärdet av processtiderna. iv. Väntetid ('waiting time'). Den tid processer måste vänta på att få tillgång till resurser. Väntetiden uppstår på grund av att resurser delas. Processtiden blir summan av denna väntetid och processens exekveringstid. v. Svarstid ('response time'). Intressant vid interaktiva och realtids- tillämpningar. Denna tid R i sammansätts av den tid det tar för processen att utföra en begäran C i, den tid processen är blockerad i väntan på icke tillgänliga resurser B i och den tid processen måste vänta i redolistan då andra processer exekverar I i ; R i = C i + B i + I i. Tiden I i beror i sin tur på process- och väntetid för högre prioriterade processer. Observera att måtten (delvis) är ömsesidigt beroende. Ett högt cpu-utnyttjande leder tex (ofta) till längre svarstid Algoritmer De tre viktigaste typerna av algoritmer är - Algoritmer som bygger på prioritet. - Algoritmen 'round robin'. ('Robin' betyder rödhake och 'round robin' är ett spel/en lek, tror jag.) - Tidstyrning Högsta prioritet först (HPF) En prioritet (som kodas i processbeskrivningen) används för att sortera redolistan. Algoritmerna i denna klass kan användas på två sätt. -- 'preemptive' eller -- icke 'preemptive'. I det första undersöks och sorteras redolistan vid varje avbrott eller 'trap' så att färskast möjliga information utnyttjas. I det andra fallet körs en påbörjad process till dess den blir helt klar, gör fel eller blockerar sig själv oberoende av om det under tiden har inträffat att någon tidigare blockerad process med högre prioritet anlänt till redolistan. Prioriteten kan sättas på tre sätt: i. Fix prioritet. Alla processer tilldelas en prioritet när de skapas endera av operativsystemet eller av användaren. ii. Halvdynamisk prioritet. Prioriteten kan förändras av användaren via systemanrop eller kommandon. iii. Dynamisk prioritet. Prioriteten ändras av operativsystemet under processens aktiva liv tex genom att låta den vara a(t) i blockerat tillstånd och b(t) i exekverande tillstånd, där t är tiden och a och b givna (enkla, tex linjära) funktioner.
3 73 Den metod som alltid ger den minsta medelväntetiden är 'shortest job first' (SJF). Prioriteten är det inverterade värdet av processens (resterande) exekveringstid. Denna måste i praktiken uppskattas. Metoden 'first come first served' (FCFS) är icke-preemptive och bygger på att först anländ process åsätts högst prioritet. Operativsystem för realtidstillämpningar brukar bygga på halvdynamisk HPF. Realtidstillämpningar är ofta cykliska; de ska exekvera under vissa intervall. I 'rate monotonic scheduling' (RMS) sätts prioriterna i omvänd proportion till exekveringsintervallet hos processerna. utan hänsynstagande till processernas "viktighet" eller varaktighet 'Round robin' (RR) Detta är en tidstyrd 'preemptive' metod. Redolistan ordnas FCFS. Processer tillåts exekvera högst ett sk tidskvantum eller 'time slice'. Om processen inte är klar eller inte begår fel eller inte blockerar sig själv under ett tidskvantum placeras den sist i redolistan och nästa process väljes. Tidskvanta brukar vara i storleksordningen 0.01 till 1 sekund. Stora tidskvanta gör att metoden urartar till FCFS. Korta tidskvanta gör att mycket tid åtgår till processbyten. Metoden används då alla processer ska ges samma tjänst, tex i tiddelningssystem ('time sharing'). Tidskvantum kan anpassas efter (minskas med) antalet aktiva processer; metoden kallas då cyklisk 'round robin'; fler processer ger kortare tidskvantum, dock måste en undre gräns sättas så att inte det 'overhead' som processbytena medför blir orimligt stort. Exempel: Om ett processbyte tar s tidsenheter och om man vill att varje process ska köras var t:te tidsenhet samtidigt som 'overhead' ska minimeras bör man alltså välja tidskvantum q = t/n - s, om det finns n stycken aktiva processer. Tiden (s+q)*n skall vara t och q så stort som möjligt. Metoderna RR och HPF kan kombineras. Det är möjligt att tänka sig flera redolistor; en per prioritet och inom varje lista avvända RR. Det är också möjligt att använda tidstyrda dynamiska prioriteter för att efterlikna ett RR-beteende Tidstyrning Detta innebär att processerna via systemanrop eller användaren via kommandon anger 'scheduling times'. Vanligt är att kunna ange - tidigast tid. - senast tid. - intervall. I detta fall är det ju egentligen användaren som svarar för schemaläggningen. Operativsystemet ger avsedd schemaläggning via tidslistan. Kombinerat med halvdynamiska prioriteter är detta exakt vad som brukar användas i realtids[operativ]system. De olika algoritmerna påverkar de givna prestandamåtten i olika hänseenden Schemaläggning i VMS I systemet VMS används i grunden prioriteter: Prioriteter tilldelas fixt till realtidsprocesser. Prioriteter 15-0 varieras dynamiskt för interaktiva tidsdelade processer. Sådana processer tilldelas en bas-prioritet (minimumprioritet). Till varje systemhändelse associeras en prioritetsökning (pö). Exempelvis har en avslutatad interaktiv i/o operation högre pö än en avslutad diskoperation. När en process väcks på grund av en händelse adderas pö till prioriteten för att bilda aktuell prioritet. Interaktiva processer exekveras längs ett tidskvantum. När en sådant tilländalupit minskas aktuell prioritet med 1. Vid varje händelse körs alltid den process som har högst prioritet. Realtidsprocesser körs till dess de är klara eller på annat sätt blockerar sig själva.
4 Exempel Figur 4.1 visar hur val av algoritm påverkar medelvärdet av processtiden. Observera att detta mått är bara ett av flera som kan vara värt att studera. Giver är tre processer enligt följande Process nr Ankomsttid Längd Prioritet medium låg hög För olika metoder erhålls följande scheman. Processtid medelvärde SJF p2 p3 p1 tid FCFS RR (q=1) p1 p2 p3 p1 p2 p3 p1 p2 p3 p1 p3 p RR(q 4) Precis som FCFS HPFS p3 p1 p Figur 4.1 Exempel på schemaläggning Systemanrop I samband med processers schemaläggning används följande systemanrop. - create-process och delete process. Innebörden är att pcb-er skapas respektive tas bort. - activate-process ('schedule' eventuellt med tidsangivelser). - passivate-process ('suspend'). - request/release resource. Anrop som svarar mot P/V operationer på (binära) semaforer. - set-priority. - set-time.slice. - anrop för kommunikation synkronisering ömsesidigt uteslutande. I realtidssystem brukar dessutom förekomma en mängd anrop som avser möjligher att styra in- och utmatning i detalj. Följande är en fullständig lista från ETT verkligt (litet) realtidsoperativsystem. - Synkron och asynkron läsning och skrivning (5 systemanrop). - In/utmatningskontroller (4 systemanrop) - Allokera och frisläpp utrymme på disk (5 systemanrop). - Avsluta, blockera, ladda in och schemalägg processer (7 systemanrop). - Ange reell tid (1 systemanrop). - Tidstyrd schemaläggning (2 systemanrop). - Skicka en "sträng" till en annan process (1 systemanrop). - Lås och frisläpp resurser/enheter (3 anrop).
5 Baklås Fenomenet betyder att två eller fler processer har tilldelats och begär resurser så att de aktuella processerna kommer att bli blockerade för alltid. Tre villkor är nödvändiga för att baklås ska uppstå: i. Resurserna är exklusivt kontrollerade, dvs föremål för ömsesidigt uteslutande. ii. Resurserna är 'non-preemptive', dvs kan bara frisläppas av den process som begärde resursen. iii. Resurserna efterfrågas cirkulärt. Ett specialfall är 'hold and wait' som innebär att processer håller resurs(er) och väntar på fler. Figur 4.2 illustrerar baklåsvillkoren. 4 3 Södergående trafik stannar vid 4 pga västergående trafik som är blockerad vid 2, etc -- cirkulärt Korsningarna 1, 2, 3 och 4 är 1 2 A. föremål för öu (endast en bil ryms) B. 'non preemptible' (bara den som står i korsningen kan frisläppa den) och C. en cirkulär väntan föreligger A, B och C är de nödvändiga och tillräckliga baklåsvillkoren Figur 4.2 Baklås i en trafikmiljö För att bemästra baklåsfenomenet är några olika metoder tänkbara. Hanteringen inkorporeras i de systemanrop som handhar resursreserveringar och frisläppningar av tex enheter, minne, filer och "lås" Förhindrande av baklås ('prevention') Detta innebär att användaren eller operativsystemet ser till att minst ett av de nödvändiga baklåsvillkoren inte uppfylls. Villkor i. är svårt att neka eftersom många resurser tex yttre enheter inherent är odelbara. Villkor ii. går principiellt alltid att neka, men det skulle ofta leda till för mycket 'overhead'. Villkor iii. kan uteslutas genom att numrera alla resurser och endast tilldela resurser i nummerordning. Cirkulär väntan kan då inte uppstå, men metoden kan ge mycket 'overhead' (onödig resursreservering) och förutsätter att de resurser en process behöver är kända i förväg Undvikande av baklås ('avoidance') Om alla processers framtida resursbehov är känt kan baklås undvikas genom att se till att ingen sådan allokering sker att den i framtiden kan ge baklås. En algoritm som kallas 'bankers' algorithm' kan användas för återanvändbara resurser som allokeras i enheter. Varje process identifieras av ett index i i intervallet [1, N] och har maximumbehov maxdemand(i), sig redan tilldelat allocated(i) och återstående behov claim(i).
6 76 procedure banker's algorithm; unusedunits := totalunits; for i in [1,N] do unusedunits := unusedunits - allocated(i); claim(i) := maxdemand(i) - allocated(i); maynotfinish(i) := true; end for; flag := true; while flag do flag := false; for i in [1,N] do if maynotfinish(i) and claim(i) unusedunits then flag := true; maynotfinish(i) := false; unusedunits := unusedunits + allocated(i) end if; end for; end while; if unusedunits = totalunits then 'system is safe' else 'system is unsafe' end if; Tilldelning av en resursenhet sker endast om systemet är 'safe'. Figur 4.3 visar ett annat sätt att framställa undvikande av baklås. Resurs 1 frisläpps Virtuell tid för process 2 Godkänd "processväg" Resurs 2 frisläpps Resurs 1 behövs Resurs 2 behövs Osäkert ('unsafe') område Väg som leder till baklås Olämligt ('infeasible') område Om processerna schemaläggs så att vägen kommer in i det osäkra området så resulterar det i baklås, eftersom vägen är en icke-avtagande funktion. Om processerna schemaläggs så att vägen inte kommer in i det olämpliga området så undiker man baklås Resurs 1 behövs Resurs 2 behövs Resurs 1 frisläpps Resurs 2 frisläpps Virtuell tid för process 1 Figur 4.3 Baklåsillustration Upptäckt och återstart ('detect and recover') Tekniken innebär att operativsystemet genom att upprätthålla en beskrivning av allokeringstillståndet kan avgöra när ett baklås har inträffat. Om tillräcklig information om ett tidigare systemtilstånd är sparad kan systemt återstartas från detta. Nytt baklås undviks hoppeligen genom att systemet av processer har ett icke-deterministiskt beteende, dvs tar en alternativ exekveringsväg den andra gången. Om inte tillräcklig information kan sparas för återstart återstår att successivt avsluta processer till dess baklås inte längre finns eller att avallokera resurser eller resursenheter en efter en.
7 77 Upptäckt av låsning kan baseras på en sk precedensmatris. Antag att R i, 1 i m, är resurser som i helhet tilldelas processer P k, 1 k n. Om en process P k tilldelats en resurs R i säger vi att processen är omedelbar (eller första) precedent till resursen. Om en process P behöver en resurs R som redan (exklusivt) tilldelats en annan process Q, så säges P vara precedent till Q. P är då andre precedent till resursen R. Ett baklås föreligger om en process som tilldelats minst en resurs har sig själv som j:te precendent, j 2. Precendensmatrisen M framställs genom att som radindex använda P k och som kolumnindex använda R i och P k. Matrisen M, en n*(n + m)- matris, bildas genom att sätta M ij = 1 precis då i (en process) är en omedelbar precedent till j (resurs eller process) och 0 för övrigt. Matrisen delas upp i två submatriser M = [MR, MP]. Ett baklåstillstånd kan inträffa om det för någon potens MP e gäller att denna matris har minst ett diagonalelement = 1. Många föredrar att uttrycka ovanstående med hjälp av grafer i stället. Eftersom grafer kan uttryckas med (Booleska) matriser och omvänt, så blir uttrycksmedlen ekvivalenta. Figur 4.4 illustrerar. R1 R2 R3 P1 P2 P3 P4 P1 har R1, P2 har R2, R3 delas mellan P2 och P3. P2 och P4 väntar på R1 och P1 väntar på P2/R2. Precedensmatrisens två delar är = MR MP, så MP*MP*MP = Risk för baklås föreligger Figur 4.4 Precedens; graf och matris Strutsalgoritmen ('the ostrich algorithm') Innebär att man utgår från att sannolikheten för baklås är försumbar. Risk för baklås bortses ifrån. Man kör huvudet i sanden. Går det så går det. Metoden används i Unix Metoderna kan kombineras Exempel: I ett system kan 'swap'-utrymme på disk, yttre enheter som skrivare, primärminne och interna resurser som i/o-kanaler hanteras med olika strategier. 'Swap'-utrymme. Förhindrande genom förallokering är lämpligt. Undvikande är möjligt, men upptäckt och återstart går ju inte alls, eftersom 'swap'-utrymmet saknar 'back up'. Yttre enheter. Undvikande via 'precalaiming' är möjligt. Förhindrande via numrering också. Däremot är upptäckt återstart mycket olämpligt. Primärminne. Om vi använder 'swapping' är förhindrande genom att göra 'preempt' troligen det bästa valet. Undvikande ger för mycker 'overhead' för att vara attraktivt. Interna resurser. Eftersom dessa begärs och frisläpps relativt sett ofta, så är undvikande knappast tillrådligt. Ej heller upptäckt och återstart. Förhindrande via numrering är förmodligen bäst (det enda tänkbara?). Anmärkning: 'Spooling' kan mildra baklåsproblemet. När en/ett användare/program tror att den/det skriver på en yttre enhet (och därför "reserverar" den), så temporärskriver operativsystemts 'spooler' i stället data på en area på skivminnet. För varje enhet bildas köer av 'streams' som skriv ut tex enligt FIFO när enheten är ledig.
8 Processkoordination Schemaläggningen, processinteraktionen och baklåshanteringen måste ofta samplaneras. I detta avsnitt förutsätter vi en 'pre-emptive', hösta-prioritet-först-algoritm tex RMS. Inledningsvis anförs ett resultat avseende ett tillräckligt villkor för schemaläggning av cykliska processer med 'rate monotonic scheduling'. Sats. Ett system av periodiska processer {pr i }, i = 1,..., n, planerade under principen med prioritetstak kan schemaläggas (så att de utför hela sina respektive cykler med angiven frekvens) med RMS (pr 1 har högst och pr n har lägst prioritet) om för den sk 'utilization factor' U(n) gäller att U(n) Σ 1 i n c i /T i + max 1 i (n-1) {b i /T i } n(2 1/n - 1) där c i = exekveringstiden (i varje cykel) för pr i, T i = periodiciteten för pr i och där b i = den längsta blockerandetiden för pr i. Anmärkning. Om {pr i } inte samverkar blir b i = 0 för alla i. Ett viktigt specialfall av satsen. Notera också att lim n n(2 1/n - 1) = ln Prioritetsinversion Antag att pr1, pr2 och pr3 är tre processer med hög, medel respektive låg prioritet. Antag vidare att pr1 och pr3 innehåller kritiska avsnitt map samma kritiska resurser som "vaktas" av en semafor s. Om pr3 exekverar i sitt kritiska avsnitt och blir uppehållen ('pre-emption') pga pr1 blir redo så kommer pr1 att bli blockerad när pr1 önskar gå in i sitt kritiska avsnitt. Eftersom pr1 har högst prioritet skulle vi vilja att pr1 bleve blockerad högst så länge det krävs för pr3 att göra klart sitt kritiska avsnitt. Nu kan fördröjningen emellertid bli oförutsägbart lång pga att pr3 kan uppehållas ('pre-empt') av pr2. Den högst prioriterade processen pr1 kommer då att förbli blockerad till dess pr2 (och alla andra processer av mellanliggande prioriteter) är klara. Detta fenomen kallas prioritetsinversion (pi). Förslaget att förhindra pi genom att inte avbryta processer i kritiska avsnitt fungerar bara för korta kritiska avsnitt. Det skulle innebära att högt prioriterade processer stoppas pga att lägre prioriterade processser befinner sig i sina kritiska avsnitt och detta trots att processer med högre prioritet inte innehåller kritiska avsnitt (map samma resurs) Prioritetstak Ett protokoll ('priority ceiling') som finns för detta ändamå har följande egenskaper. - frihet från baklås och - begränsad prioritetsinversion. Två idéer ligger bakom: - Prioritetsarv: När prx blockerar exekvering av en process med högre prioritet så ärver prx prioriteten för den process som har högst prioritet av de blockerade. - Ett kritiskt avsnitt tillåts börja endast om det utförs med högre prioritet än eventuellt uppehållna andra kritiska avsnitts. Dessa principer inducerar en total ordning (för att förhindra baklås) i utförandet av kritiska avsnitt.
9 79 Tekniskt sett associeras till varje semafor s ett prioritetstak som är lika med den högsta prioriteten för de processer som kan låsa s. När en process prx önskar utföra ett kritiskt avsnitt så kommer den att bli avstannad såvida inte dess prioritet är högre än prioritetstaket för alla de semaforer som är låsta av andra processer än prx. Om prx pga detta inte kan gå in i sitt kritiska avsnitt så säger vi att den process som håller låset blockerar prx och låter denna ärva prx:s prioritet. Så länge prx inte försöker gå in i ett kritiskt avsnitt så kan den uppehålla ('pre-empt') en process med lägre prioritet. Detta protokoll garanterar att en högt prioriterad process blockeras av högst en lägre process' kritiska avsnitt. Det förhindrar också baklås. Ett exempel illusterar Exempel Antag givet pr1:... p(s1)... p(s2)... v(s2)... v(s1)... ; med hög (H) prioritet. pr2:... p(s2)... p(s1)... v(s1)... v(s2)... ; med låg (L) prioritet. Båda semaforernas prioritetstak blir H. Antag att pr2 kommer först och låser s2 vid tiden t0. Vid t1 (> t0) kommer pr1 igång och avbryter/uppehåller pr2 och kommer så småningom vid t2 att vilja låsa s1. Eftersom pr1:s prioritet inte är högre än den låsta semaforens s2 prioritetstak kommer pr1 att uppehållas utan att låsa s1. Processen pr2 ärver nu pr1:s prioritet (H) och fortsätter exekvera. Observera att pr1 under tiden är blockerad utanför sitt kritiska avsnitt. Eftersom pr1 inte låser s1 så förhindras baklås mellan pr1 och pr2. Senare, vid t3, när pr2 lämnar sitt kritiska avsnitt och återfår sin ursprungliga prioritet kommer pr2 att omedelbart avbrytas/uppehållas av pr1. Därefter kommer pr1 att exekvera klart innan sedemera pr2 kommer att gå klar. Se figur 4.5. Vill gå in i krit. avsnitt Utför både cs1 och cs2 pr1 pr1 väntar för att förhindra baklås t0 t1 t2 t3 låser s2 låser s1 släpper s1 pr2 släpper s2 tid Figur 4.5 Ärvda prioritetstak
10 80 Repetition 1. Schemaläggning 2. Prestandamått 1. 'Dispatcher' 1. cpu untyttjande 2. 'Short term scheduler' 2. genomströmning 3. 'Medium term scheduler' 3. processtid 4. 'Long term scheduler' 4. väntetid 5. 'Spooler' 5. svarstid 3. Algoritmer 4. Baklås Prioriteter Villkor 1. Fix 1. Odelbarhet 2. Ändringsbar 2. Oavbrytbarhet 3. Dynamisk 3. Cirkularitet Ex: FCFS, SJF, RMS Metoder 'Round robin' 1. Förhindrande Tidskvantum q; tex resursnumrering cyklisk variant 2. Undvikande Tidsstyrd tex 'banker's' algoritm intervall 3. Upptäckt och återstart givna tidpunkter 4. Kombinationer eller intet 5. Samordning - prioritetsinversion - prioritetstak Lösning till problemet med begränsad buffert i Ada95 Anropas från en task (producent) med My_Buffer: BUFFERING;... My_Buffer.PUT (X);... protected type BUFFERING is entry PUT (x: in ITEM); entry GET (x: out ITEM); private N: constant := 4513; A: array (1..N) of ITEM; I, J: integer range 1.. N := 1; COUNT: integer range 0.. N := 0; end BUFFERING; protected body BUFFERING is entry PUT (x: in ITEM) when COUNT < N is begin A(I) := x; I := I mod N + 1; COUNT := COUNT + 1; end PUT; entry GET (x: out ITEM) when COUNT > 0 is begin x := A(J); J := J mod N + 1; COUNT := COUNT - 1; end GET end BUFFERING;
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 merNågra gamla tentamensuppgifter: Processer. 3. Antag givet ett system i vilket rent CPU-bundna processer med följande egenskaper exekveras.
1 Tentamen 1992-08-26 1. Fyra processer ska synkroniseras så att A går före B och B och C går före D. Realisera denna ordning genom att använda (potentiellt blockerande) send- och receive- operationer
Läs merFöreläsning 6: Introduktion av listor
Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.
Läs merOperativsystem. 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 merDatorteknik 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 merHjä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 merGrafer. 1 Grafer. Grunder i matematik och logik (2015) 1.1 Oriktade grafer. Marco Kuhlmann
Marco Kuhlmann 1 En graf är en struktur av prickar förbundna med streck. Ett tidsenligt exempel på en sådan struktur är ett social nätverk, där prickarna motsvarar personer och en streck mellan två prickar
Läs merFö 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 merFöreläsning 4: Giriga algoritmer. Giriga algoritmer
Föreläsning 4: Giriga algoritmer Giriga algoritmer Denna typ av algoritmer arbetar efter följande princip: Gör i varje situation det som är lokalt optimalt, d.v.s. bäst för stunden. Några exempel vi redan
Läs merDagens 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 merMål. Datorteknik. Repetition av avbrott. Innehåll. Mätning och styrning. Datorer för mätning och styrning. timer. Datorsystem A/D. Analog insignal D/A
Mål Datorteknik Föreläsning 5 Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av fle processer Att du ska förstå begreppet tråd Att du ska veta hur odelba resurser kan
Läs merDeadlocks. detektera och undvik
Deadlocks detektera och undvik Enkla exempel Smal bro med en fil En fyrvägskorsning Fyra vägkorsningar Två lås P: Lock A, Lock B.. Rel. A, Rel. B Q: Lock B, Lock A.. Rel. B, Rel. A Vad motsvarar Resurser?
Läs merOperativsystem - 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 merFöreläsning 4: Poster
Föreläsning 4: Poster Följande är genomgånget: type Person_Type is Namn : String(30); Skonr : Float; Kon : Boolean; Diskussion runt detta med olika typer m.m. Har tagit upp vilka operationer man kan göra
Läs merRealtidssystem. - 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 merExam Concurrent and Real-Time Programming
LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Exam Concurrent and Real-Time Programming 2018 08 23, 14.00 19.00 1. Vad är prioritetsinversion? Illustrera med ett enkelt exempel. Redogör
Läs merFö 7 TSEA81. Scheduling
Fö 7 TSEA81 Scheduling Reflektion Lab 3 Operation Linux Simple OS * wait pthread_mutex_lock si_sem_wait * signal pthread_mutex_unlock si_sem_signal * await pthread_cond_wait si_ev_await * cause pthread_cond_broadcast
Läs merFöreläsning 11. Giriga algoritmer
Föreläsning 11 Giriga algoritmer Föreläsning 11 Giriga algoritmer Användning Växelproblemet Kappsäcksproblemet Schemaläggning Färgläggning Handelsresandeproblemet Uppgifter Giriga algoritmer (Greedy algorithms)
Läs merTentamen EDA698 Realtidssystem (Helsingborg)
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen EDA698 Realtidssystem (Helsingborg) 2014 10 28, 14.00 19.00 Det är tillåtet att använda Java snabbreferens och miniräknare, samt ordbok.
Läs merTentamen i Realtidsprogrammering
Tentamen i Realtidsprogrammering Ordinarie Tentamen Datum: 2011-05-14 Tid: 08:15 11:15 Ansvarig lärare: Telefon: 301438 Hjälpmedel: Miniräknare Poäng: Tentamen omfattar 40 poäng fördelade på 5 uppgifter.
Läs merRealtidssystem. - Semaforer, trådsynkronisering - EDA698 - Realtidssystem (Helsingborg) Elin A. Topp 2015-09-02
Realtidssystem - Semaforer, trådsynkronisering - EDA698 - Realtidssystem (Helsingborg) Elin A. Topp 2015-09-02 Stora delar baserad på: Föreläsningsmaterial EDA040 (Klas Nilsson, Mathias Haage) samt EDA698
Läs merTentamen TEN1 HI1029 2014-05-22
Tentamen TEN1 HI1029 2014-05-22 Skrivtid: 8.15-13.00 Hjälpmedel: Referensblad (utdelas), papper (tomma), penna Logga in med tentamenskontot ni får av skrivvakten. Det kommer att ta tid att logga in ha
Läs merOmtentamen 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 mer5 Grundläggande in- och utmatning
5 Grundläggande in- och utmatning För att användaren skall kunna kommunicera med programmet krävs att man inkluderar ett eller flera bibliotek med rutiner. I Ada finns det ett antal paket som gör detta
Läs merFöreläsning 15: Parallella subrutiner. Parallellitet. Varför parallella underprogram?
Föreläsning 15: Parallella subrutiner Parallellitet Processer och trådar Semaforer, monitorer och synkroniseringsmeddelanden Parallellitet Ofta är det nödvändigt eller önskvärt att programdelar exekveras
Läs merFÖRELÄSNING 1 ANALYS MN1 DISTANS HT06
FÖRELÄSNING ANALYS MN DISTANS HT06 JONAS ELIASSON Detta är föreläsningsanteckningar för distanskursen Matematik A - analysdelen vid Uppsala universitet höstterminen 2006. Förberedande material Här har
Läs merKursombud sökes! Kursens syfte är att ge en introduktion till metoder för att förutsäga realtidsegenskaper hos betjäningssystem, i synnerhet för data- och telekommunikationssystem. Såväl enkla betjäningssystem,
Läs merUppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa
Lena Kallin Westin 2005-08-22 Institutionen för datavetenskap Umeå universitet TENTAMEN Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa Inlämnad Poäng Kurs : Programmeringsteknisk
Läs merTräd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition
Grafdefinitioner Träd N = {i}: noder (hörn) = {(i, )}, i N, N: bågar (kanter) Graf: G = (N, ) efinitioner Väg: Sekvens av angränsande bågar. ykel: Väg som startar och slutar i samma nod. En enkel väg innehåller
Läs merFöreläsning 4. Multiplexering (1/2) Multiplexering (2/2) Multiplexering Närnät
Föreläsning 4 Multiplexering Närnät 10/8/01 Gunnar Karlsson, Bengt Sahlin 1 Multiplexering (1/2) En länk bör kunna användas av flera sändare multiplexering = uppdelning av länken varje sändare allokeras
Läs merObjektorienterad programmering i Java
Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet
Läs merhttp://www.leidenhed.se Senaste revideringen av kapitlet gjordes 2014-05-08, efter att ett fel upptäckts.
Dokumentet är från sajtsidan Matematik: som ingår i min sajt: http://www.leidenhed.se/matte.html http://www.leidenhed.se Minst och störst Senaste revideringen av kapitlet gjordes 2014-05-08, efter att
Läs merIckelinjära ekvationer
Löpsedel: Icke-linjära ekvationer Ickelinjära ekvationer Beräkningsvetenskap I Varför är det svårt att lösa icke-linjära ekvationer? Iterativa metoder Bisektion/intervallhalvering Newton-Raphsons metod
Läs merOperativsystem. 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 merSpråket Python - Del 1 Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR
Läs merDugga Datastrukturer (DAT036)
Dugga Datastrukturer (DAT036) Duggans datum: 2012-11-21. Författare: Nils Anders Danielsson. För att en uppgift ska räknas som löst så måste en i princip helt korrekt lösning lämnas in. Enstaka mindre
Läs merFöreläsning 3.1: Datastrukturer, en översikt
Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,
Läs merExempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler
Exempeluppgift i Logikstyrning Inledning Idén med detta papper är att ge en allmän beskrivning av labbutrustningen och tips för hur man kan lösa olika praktiska problem i samband med laborationen. Läs
Läs merFlera 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 merEn ideal op-förstärkare har oändlig inimedans, noll utimpedans och oändlig förstärkning.
F5 LE1460 Analog elektronik 2005-11-23 kl 08.15 12.00 Alfa En ideal op-förstärkare har oändlig inimedans, noll utimpedans och oändlig förstärkning. ( Impedans är inte samma sak som resistans. Impedans
Läs merProgrammering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08
Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...
Läs merRealtidssystem. - Schemaläggning - EDA698 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 6
Realtidssystem - Schemaläggning - EDA698 - Realtidssystem (Helsingborg) Elin A. Topp Föreläsning 6 Stora delar baserad på: Föreläsningsmaterial EDA040 (Klas Nilsson, Mathias Haage) samt EDA698 (Mats Lilja)
Läs merSätt att skriva ut binärträd
Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer
Läs merOutline. 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 merCS - Computer science. Datateknik Informationsbehandling Datalogi Datavetenskap (ÅA 2008)
CS - Computer science Datateknik Informationsbehandling Datalogi Datavetenskap (ÅA 2008) Vad datateknik INTE är: Att studera datorer Att studera hur man skriver datorprogram Att studera hur man använder
Läs merTwincat: PLC Control
Dokument Förklaring Dat. Revision KI-221-003-003 Kom igång med trukturerad Text 080402 1.0 Twincat: PLC Control Kom igång med Strukturerad Text (ST) programmering 1. Kod exempel. a. Exemplen som demonstreras
Läs merTAIU07 Matematiska beräkningar med Matlab
TAIU07 Matematiska beräkningar med Matlab Datorlektion 2. Villkor och Repetition 1 Logiska uttryck Uppgift 1.1 Låt a=3 och b=6 Vad blir resultatet av testerna ab? Uppgift 1.2 Låt a, b,
Läs merInstitutionen 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 merDatorteknik. 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 merTentaupplägg denna gång
Några tips på vägen kanske kan vara bra. Tentaupplägg denna gång TIPS 1: Läs igenom ALLA uppgifterna och välj den du känner att det är den lättaste först. Det kan gärna ta 10-20 minuter. Försök skriva
Läs merSTYRNING AV PORTFÖLJER MED FLERA TILLGÅNGAR
1 STOCKHOLMS UNIVERSITET MATEMATISKA INSTITUTIONEN Avd. för Matematisk statistik Thomas Höglund FINANSMATEMATIK I. KOMPLEMENT DAG 13. STYRNING AV PORTFÖLJER MED FLERA TILLGÅNGAR Hittills har vi betraktat
Läs merFöreläsning 4: Kombinatorisk sökning
DD2458, Problemlösning och programmering under press Föreläsning 4: Kombinatorisk sökning Datum: 2009-09-25 Skribent(er): Kristina Nylander, Dennis Ekblom, Marcus Öman Föreläsare: Fredrik Niemelä 1 Introduktion
Läs merDiskret matematik: Övningstentamen 4
Diskret matematik: Övningstentamen 22. Beskriv alla relationer, som är såväl ekvivalensrelationer som partiella ordningar. Är någon välbekant relation sådan? 23. Ange alla heltalslösningar till ekvationen
Läs merFOURIERANALYS En kort introduktion
FOURIERAALYS En kort introduktion Kurt Hansson 2009 Innehåll 1 Signalanalys 2 2 Periodiska signaler 2 3 En komplex) skalärprodukt 4 4 Fourierkoefficienter 4 5 Sampling 5 5.1 Shannon s teorem.................................
Läs merDatastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6
Datastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6? DAGENS AGENDA Komplexitet Ordobegreppet Komplexitetsklasser Loopar Datastrukturer Några nyttiga regler OBS! Idag jobbar
Läs merOperativsystem - 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 merWienerprocesser. Finansiell statistik, vt-05. Enkel slumpvandring. Enkel slumpvandring. Varför: model för aktiekurs (dock med aber...
Varför: model för aktiekurs dock med aber... exempel: Black-Scholes jfr Binomialoptionsmodellen Johan Koskinen Statistiska institutionen Stockholms universitet Finansiell statistik vt-05 F5 Tidsserieanalys
Läs merMekanismer. (implementation)
Mekanismer (implementation) Repetition Semafor Räknar tillgängliga resurser Initieras med startvärde Vid förbrukning: väntar tills resurs finns Användning: invänta händelse Lås Markerar att en variabel/datastruktur
Läs merR AKNE OVNING VECKA 1 David Heintz, 31 oktober 2002
RÄKNEÖVNING VECKA David Heintz, 3 oktober 22 Innehåll Uppgift 27. 2 Uppgift 27.8 4 3 Uppgift 27.9 6 4 Uppgift 27. 9 5 Uppgift 28. 5 6 Uppgift 28.2 8 7 Uppgift 28.4 2 Uppgift 27. Determine primitive functions
Läs merTENTAMEN I REALTIDSPROCESSER OCH REGLERING TTIT62
TENTAMEN I REALTIDSPROCESSER OCH REGLERING TTIT62 Tid: Tisdagen den 2 juni 27, kl 4.-8. Lokal: TER Ansvariga lärare: Inger Klein, 28 665 eller 73-9699, Calin Curescu, 28 937 eller 73-54355 Hjälpmedel:
Läs merTentamen. Datorteknik och realtidssystem
Tentamen Datorteknik och realtidssystem, TSEA81 Datum 2017-04-18 Lokal KÅRA Tid 14-18 Kurskod TSEA81 Provkod TEN1 Kursnamn Datorteknik och realtidssystem Institution ISY Antal frågor 5 Antal sidor (inklusive
Läs merRealtidssystem 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 merLektionsanteckningar 2: Matematikrepetition, tabeller och diagram
Lektionsanteckningar 2: Matematikrepetition, tabeller och diagram 2.1 Grundläggande matematik 2.1.1 Potensfunktioner xmxn xm n x x x x 3 4 34 7 x x m n x mn x x 4 3 x4 3 x1 x x n 1 x n x 3 1 x 3 x0 1 1
Läs merLennart Carleson. KTH och Uppsala universitet
46 Om +x Lennart Carleson KTH och Uppsala universitet Vi börjar med att försöka uppskatta ovanstående integral, som vi kallar I, numeriskt. Vi delar in intervallet (, ) i n lika delar med delningspunkterna
Läs merOmtentamen i DV & TDV
Umeå Universitet Institutionen för Datavetenskap Gunilla Wikström (e-post wikstrom) Omtentamen i Teknisk-Vetenskapliga Beräkningar för DV & TDV Tentamensdatum: 2005-06-07 Skrivtid: 9-15 Hjälpmedel: inga
Läs merFöreläsning 7. Träd och binära sökträd
Föreläsning 7 Träd och binära sökträd Föreläsning 7 Träd Binära träd Binärt sökträd som ADT Implementering av binärt sökträd Travestera binärt sökträd Sökning Insättning/borttagning Läsanvisningar och
Läs merRealtidsprogrammering 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 merTentamen på kursen DA7351, Programmering 1. 051102, kl 08.15-12.15. Malmö högskola Teknik och samhälle. DA7351, Programmering 1 1 051102
Tentamen på kursen DA7351, Programmering 1 051102, kl 08.15-12.15 Tillåtna hjälpmedel: Valfri bok om Java. Vid bedömning av lösningarna tas hänsyn till om dessa uppfyller de krav på programkvalitet (strukturering,
Läs merOperative 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 merSMD 134 Objektorienterad programmering
SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning
Läs merTAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER
Matematiska institutionen Optimeringslära TENTAMEN TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER Datum: 10 januari 201 Tid: 1.00-19.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering Anteckningar
Läs mernågon skulle föreslå, att ur våra räkningar utesluta tecknet "j/, så att man t. ex. skulle skriva lösningen av
Om någon skulle föreslå, att ur våra räkningar utesluta tecknet "j/, så att man t. ex. skulle skriva lösningen av andragradsekvationen.1 -f 2 där y' 2 = b, eller i st. f. x=y$-\-yj
Läs merTSBK 10 Teknik för avancerade datorspel Fö 9: Nätverk, Peter Johansson, ISY
TSBK 10 Teknik för avancerade datorspel Fö 9: Nätverk, Peter Johansson, ISY Fysik Datorgrafik Spelmekanismer AI Nätverk Nätverksaspekter i spel z Fleranvändarspel blir allt populärare z Roligare att spela
Läs merProgrammering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010
Föreläsning 6 Kapitel 5 5.1 switch-satsen Vi ser på ett par exempel ur boken: int a; srand(time(0)); a=rand()%6+1; if(a==1) printf("hej Du glade\n"); else if(a==2) printf("god dag\n"); else if(a==3) printf("är
Läs merTentamen omfattar 40 poäng fördelade på 7 uppgifter. 20 poäng krävs för betyget 3, 30 poäng för betyget 4 och 36 poäng för betyget 5.
% & ' ()* #$! "#$ +-,/.
Läs merANDREAS REJBRAND 2014-04-25 Matematik http://www.rejbrand.se. Numeriska serier. Andreas Rejbrand, april 2014 1/29
Numeriska serier Andreas Rejbrand, april 2014 1/29 1 Inledning Författarens erfarenhet säger att momentet med numeriska serier är ganska svårt för många studenter i inledande matematikkurser på högskolenivå.
Läs merDatalogi, grundkurs 1. Lösningsförslag till tentamen
Datalogi, grundkurs 1 Lösningsförslag till tentamen 6 maj 2000 1. För att proceduren sortera ska fungera som tänkt kan den se ut på följande sätt: const min = 1; max = 3; type tal = integer; index = min..max;
Läs merTAOP86/TEN 1 KOMBINATORISK OPTIMERING MED
Matematiska institutionen Optimeringslära TENTAMEN TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED MILJÖTILLÄMPNINGAR för IT Datum: 10 mars 01 Tid: 8.00-1.00 Hjälpmedel: Miniräknare Kaj Holmberg: Optimering.
Läs merTentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)
Grundläggande programmering med C# Provmoment: Ladokkod: Tentamen ges för: 7,5 högskolepoäng TEN1 NGC011 Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) (Ifylles av student) (Ifylles av student)
Läs merTATA42: Föreläsning 10 Serier ( generaliserade summor )
TATA42: Föreläsning 0 Serier ( generaliserade summor ) Johan Thim 5 maj 205 En funktion s: N R brukar kallas talföljd, och vi skriver ofta s n i stället för s(n). Detta innebär alltså att för varje heltal
Läs merFö 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 merDatastrukturer och algoritmer
Datastrukturer och algoritmer Föreläsning 16 2 Innehåll Snabbrepetition Exempeltentamen Kursutvärdering Mina målsättningar Kursens mål: 3 Rolig och viktig kurs Bli en bättre programmerare och inse att
Läs merTENTAMEN TDDB53. Programmering i Ada för MI (provkod TEN2) den 7 april 2010 kl Institutionen för datavetenskap, IDA Olle Willén mars 2010
Linköpings universitet Institutionen för datavetenskap, IDA Olle Willén mars 2010 Tentamen TDDB53 TENTAMEN TDDB53 (provkod TEN2) den 7 april 2010 kl 8 12 Jour: Emil Nielsen, tel 070 499 89 88 Hjälpmedel:
Läs merTAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER
Matematiska institutionen Optimeringslära TENTAMEN TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER Datum: 28 maj 2014 Tid: 14.00-19.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering Anteckningar
Läs merProblem att fundera över
Problem att fundera över Här får du öva dig på att formulera en förmodan och försökabevisaden. Jag förväntar mig inte att du klarar av att gå till botten med alla frågorna! Syftet är att ge dig smakprov
Läs merFöreläsning Datastrukturer (DAT036)
Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2012-11-13 Idag Mer om grafer: Topologisk sortering. Kortaste vägen. Bredden först-sökning. Dijkstras algoritm. Floyd-Warshall. Topologisk sortering
Läs mer8-4 Ekvationer. Namn:..
8-4 Ekvationer. Namn:.. Inledning Kalle är 1,3 gånger så gammal som Pelle, och tillsammans är de 27,6 år. Hur gamla är Kalle och Pelle? Klarar du att lösa den uppgiften direkt? Inte så enkelt! Ofta resulterar
Läs merTentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
Läs merBruksanvisning KABA MAS AUDITCON KABA MAS HAMILTON Modell 100, 200, 400, 50 och 52
Bruksanvisning KABA MAS AUDITCON KABA MAS HAMILTON Modell 100, 200, 400, 50 och 52 Snabbinstruktion Mas-Hamilton högsäkerhetslås Modell 100, 200, 400 1. Öppning/stängning av låset 2. Vrid ratten så att
Läs merFöreläsning 13 och 14: Binära träd
Föreläsning 13 och 14: Binära träd o Binärträd och allmänna träd o Rekursiva tankar för binärträd o Binära sökträd Binärträd och allmänna träd Stack och kö är två viktiga datastrukturer man kan bygga av
Läs merPermutationer med paritet
238 Permutationer med paritet Bernt Lindström KTH Stockholm Uppgift. Att studera permutationerna av talen 1 2... n och indelningen i udda och jämna permutationer ur olika aspekter. Permutationer är särskilt
Läs merSTÄNG AV FÖNSTER. Regler FLAGGSPECTRUM I FLAGGSPECTRUM II FLAGGSPECTRUM III FLAGGSPECTRUM STJÄRNSPEL
Sivu 1/5 STÄNG AV FÖNSTER Regler FLAGGSPECTRUM I FLAGGSPECTRUM II FLAGGSPECTRUM III FLAGGSPECTRUM STJÄRNSPEL Ett spännande sätt att lära sig känna igen länder och huvudstäder. Ett utomordentligt kännetecken
Läs merTentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)
Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tid: Onsdagen 15 december 2004, 8:30 till 13:30 Plats: M Ansvarig lärare: Katarina Blom, tel 772 10 60. Läraren besöker tentamen kl
Läs merGrunderna i stegkodsprogrammering
Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer
Läs merEkvationssystem - Övningar
Ekvationssystem - Övningar Uppgift nr 1 y = 5x x + y = 54 Uppgift nr 2 y = 2x x + y = 12 Uppgift nr 3 y = 3x + 7 4x + y = 35 Uppgift nr 4 y = 4x - 18 3x + y = 38 Uppgift nr 5 2x - 2y = -4 x - 3y = 4 Uppgift
Läs merAnvändbarhet i vardag och praktik. Reflektioner nedtecknade av Sten Sunnergren. Med tillstånd av fam Sunnergren
Användbarhet i vardag och praktik. Reflektioner nedtecknade av Sten Sunnergren. Med tillstånd av fam Sunnergren 1 Sten Sunnergren Har jobbat i industrin sedan 1979. Med alla hantverk inom systemutveckling
Läs merRealtidssystem. - Semaforer, trådsynkronisering - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 2
Realtidssystem - Semaforer, trådsynkronisering - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp Föreläsning 2 Kursens innehåll motsvarar tidigare omgångar under beteckning EDA698 Stora delar baserad
Läs merAlgoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm.
Algoritmanalys Analys av algoritmer används för att uppskatta effektivitet. Om vi t. ex. har n stycken tal lagrat i en array och vi vill linjärsöka i denna. Det betyder att vi måste leta i arrayen tills
Läs merDatastrukturer. föreläsning 3. Stacks 1
Datastrukturer föreläsning 3 Stacks 1 Abstrakta datatyper Stackar - stacks Köer - queues Dubbeländade köer - deques Vektorer vectors (array lists) All är listor men ger tillgång till olika operationer
Läs merVad ä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