Trådar och Multiprocessorer. Föreläsning 6
|
|
- Erik Forsberg
- för 9 år sedan
- Visningar:
Transkript
1 Trådar och Multiprocessorer Föreläsning 6
2 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? Hur kan vi bygga snabbare/kraftfullare datorer? Hur kan vi lösa större beräkningsproblem? Trådar en programmeringsmodell Trådar i Pthreads, Solaris och Windows Multiprocessorer Behovet av synkronisering Kap: , Multiprocessorer och trådar 2
3 Trådar (threads)
4 Trådar - en programmeringsmodell Att tillåta flera processer att exekvera på en dator ger flera fördelar: Tillåter flera samtidiga användare/tasks Kan överlappa beräkning och I/O Återanvänd idén: - många applikationer kan modelleras enklare/bättre om man har processer i processen Multiprocessorer och trådar 4
5 Exempel på program som blir lättare att skriva med trådar Simuleringar Modellerar ofta flera parallella processer Ex: simulering av del av Internet med användardatorer, routrar etc. Serverapplikationer Ex: Webb-server, spelserver Men även många vanliga interaktiva applikationer Ordbehandlare, kalkylprogram... Program med flera fönster, t.ex. grafisk debugger Multiprocessorer och trådar 5
6 Processer och trådar Text (kod) Heap (data) Filer Text (kod) Heap (data) Filer Register Stack Register Stack Register Stack Register Stack tråd Enkeltrådad process (det vi sett hittills) Multitrådad process Trådarna delar kod, heap och filer Multiprocessorer och trådar 6
7 Vad är en tråd? En tråd kan ses som en virtuell CPU eller lättviktsprocess Programräknare Register Stack En process kan ses som en virtuell maskin Adressrymd (minne) En eller flera trådar Multiprocessorer och trådar 7
8 Trådar - fördelar Responstid hantering av blockerande systemanrop En multitrådad interaktiv/server applikation kan svara på input även om delar (någon/gra trådar) är blockerade eller utför någon tidskrävande operation Dela resurser Flera aktiviteter kan dela kod, data etc. i en process Ekonomi Trådar kräver inte lika mycket egna resurser och är enklare/billigare att skapa och att switcha mellan (ex: Solaris 2 process/tråd: tid för att skapa 30/1, context switch 5/1) Utnyttja datorer med flera processorer Trådar kan (enkelt) utnyttja datorarkitekturer med flera processorer för att exekvera snabbare Multiprocessorer och trådar 8
9 Var implementerar man trådar - i OS-kärnan eller i användarläge (user-space) I användarläge Trådoperationerna är biblioteksrutiner Schemaläggningen görs av run-time system Trådhantering, skapande/dödande omhändertagande av terminerade trådar etc. sköts via biblioteksrutiner och run-time system I kärnan Trådoperationerna är systemanrop Schemaläggningen görs av kärnan trådhantering, skapande/dödande omhändertagande av terminerade trådar etc. sköts via systemanrop och kärnan Multiprocessorer och trådar 9
10 Trådar i kernel-space resp. user-space Run-time system Run-time system Trådtabell User-space User-space OS-kärna Process tabell OS-kärna Process tabell Tråd tabell User threads (användartrådar) Kernel threads Multiprocessorer och trådar 10
11 Om trådar i användarläge Schemaläggning, trådbyte sköts utan systemanrop Färre context switchar ger bättre prestanda Kärnan vet ej om att det finns trådar Kan användas även med gamla operativsystem Schemaläggning i två nivåer Kärnan bestämmer vilken process som skall köra Trådbiblioteket bestämmer vilken tråd inom processen som kör Multiprocessorer och trådar 11
12 Mera om trådar i användarläge Nackdelar med trådar i användarläge Blockeras en tråd så blockeras hela processen dvs. alla trådar i processen Schemaläggning är oftast icke avbrytande (nonpreemptive) Ingen sann parallellitet på multiprocessorer Multiprocessorer och trådar 12
13 Trådar i kärnan Fördelar Kan ha preemptiv schemaläggning Om en tråd blockeras kan en annan tråd i samma process schemaläggas Kärnan kan utnyttja trådar för att själv bli effektivare Kan schemaläggas på olika processorer i en multiprocessor utnyttja sann parallellitet Nackdelar Trådoperationer är systemanrop - tar längre tid att utföra och kostar mer t.ex i context switch Multiprocessorer och trådar 13
14 Hybrider Hybridformer är vanligast i moderna operativsystem Kärnan tillhandahåller ett visst antal trådar En eller flera användartrådar mappas på en eller flera trådar i kärnan Multiprocessorer och trådar 14
15 Att mappa trådar - användartrådar på kärntrådar Flera användatrådar på en kärntråd ex: Solaris green threads En användartråd på en kärntråd ex: Windows 2000, NT Många användartrådar på en grupp av kärntrådar ex: Solaris, HP-UX, True64 UNIX Multiprocessorer och trådar 15
16 Några praktiska funderingar kring trådar och Systemanrop Trådpooler exec, fork Signaler, kancellering
17 Trådar och systemanrop Exempel: En webserver hämtar en begäran åt gången och utför den Om en begäran medför diskaccess kan servern inte ta emot en ny begäran förr än dess att diskaccessen är klar Slöseri av flera skäl Om man har flera diskar kan de arbeta parallelt Om efterföljande begäran inte behöver diskaccess är det onödigt att de skall vänta Låt servern starta en ny tråd för varje begäran Multiprocessorer och trådar 17
18 Trådar och systemanrop Otrådad server while ( True ) { recieve(&request); handle(request); } Trådad server while ( True ) { recieve(&request); create_thread(&handle,request); } Multiprocessorer och trådar 18
19 Hur många trådar kan man skapa? - trådpooler Oftast finns en övre begränsning Hur gör vi i exemplet med webb-servern? Ha en pool av trådar Den tråd som tar emot en begäran kan göra så här: 1 Om det finns ledig tråd i trådpoolen 2 Ta emot begäran 3 Väck en tråd ur trådpoolen som behandlar begäran 4 Börja om från 1 Den tråd som väcks behandlar sin begäran och lägger sig sedan att sova i trådpoolen Multiprocessorer och trådar 19
20 Trådar som exekverar exec eller fork En tråd exekverar fork Två val: 1. Den nya processen får en tråd 2. Den nya processen blir en exakt kopia av den gamla med lika många trådar En tråd exekverar exec Vanligast är att hela processen, dvs alla trådar, börjar exekvera det nya programmet Multiprocessorer och trådar 20
21 Att döda (kancellera) trådar Inte helt problemfritt... Vad gör man om: Tråden har resurser knutna till sig lämnas de till - processen? - tar OS:et tillbaka dem? Tråden håller på med något som andra trådar väntar på, eller kan komma att vänta på Multiprocessorer och trådar 21
22 Feltolerans Går det att bygga feltoleranta system genom att utnyttja flera trådar i en process? Frågan att fundera över: Överlever systemet/processen att en tråd får t.ex ett exekveringsfel som segmentation fault eller bus error? Har man behov av att systemet överlever hårda fel kan det vara bättre att bygga på processer som isoleras bättre från varandra Multiprocessorer och trådar 22
23 Att skicka signaler till trådar Om man skickar en signal till en tråd vad gör man då? Levererar signalen bara till den berörda tråden Levererar signalen till varje tråd i processen Levererar signalen till några utvalda trådar i processen Utser en speciell tråd att ta hand om alla signaler (Solaris) Multiprocessorer och trådar 23
24 Exempel på trådimplementationer Pthreads Solaris2 Windows 2000 Java
25 Pthreads POSIX standard som beskriver gränssnitt och beteende (inte hur det ska implementeras) Trådbibliotek och run-time system på användarnivå Allmänt använt på olika UNIX system Multiprocessorer och trådar 25
26 Pthread exempel HELT UTAN FELKONTROLLER... #include <pthread.h> #include <stdio.h> int sum = 0; // shared variable void runner(char *); void main(int argc, char *argv[]) { pthread_t tid; pthread_attr_t attr; void runner(char *arg1) { int upper = atoi(arg1); int i; if(upper <= 0) { printf( talet måste vara > 0\n ); pthread_exit(1); } } pthread_attr_init(&attr); pthread_create(&tid, &attr, runner, argv[1]); pthread_join(tid, NULL); printf( Summa: %d\n, sum); } sum = 0; for(i=1; i <= upper; i++) sum += i; pthread_exit(0); Multiprocessorer och trådar 26
27 Solaris2 Tre nivåer av trådar Tråd på användarnivå: trådid, register, stack och prioritet LWP light weight process Datastruktur i kärnan med - registeruppsättning för den användartråd som exekverar i LWPn, minne och accounting info Tråd i kärnan Liten datastruktur med liten stack Pekare till ansluten LWP Multiprocessorer och trådar 27
28 Solaris2 forts. Processer (tasks) Användartrådar LWP Kärnan Kärntrådar Processorer Multiprocessorer och trådar 28
29 Kan man tjäna något på att använda trådar? SUN designade om telnet-servern till att använda trådar för att hantera telnetförbindelser På en större server kunde man öka antalet samtidiga uppkopplingar från några hundra till några tusen Multiprocessorer och trådar 29
30 Windows 2000 Ett-till-ett mappning av användartrådar till kärntrådar Flera trådar i en process (tråd schemaläggningsenhet) Bibliotek för fibers möjlighet att köra flera trådar i en användartråd Datastrukturer Tråd ID Registeruppsättning Användarstack (för exekvering i user-mode) Kärnstack (för exekvering i kernel-mode) Privat dataarea Multiprocessorer och trådar 30
31 JAVA Implementerar trådar i den virtuella maskinen Svårt att klassificera som användar- eller kärntrådar Ett sätt att skapa trådar är genom att Ärva från Thread klassen Överlagra run metoden i Thread klassen Multiprocessorer och trådar 31
32 JAVA exempel HELT UTAN FELKONTROLLER... class Summation extends Thread { public Summation(int n) { } upper = n; public void run() { int sum = 0; } if(upper > 0) for(int i = 1; i <= upper; i++) sum += i; public class ThreadTester { } public static void main(string[] args) { } Summation thrd = new Summation( Integer.parseInt(args[0])); thrd.start(); } private int upper; Multiprocessorer och trådar 32
33 Multiprocessorer Hur bygger vi snabbare datorer?
34 Snabbare datorer Möjliga vägar: Öka klockfrekvensen Minska storleken pga fysiska begränsningar (ljushastigheten) när det gäller att kunna distribuera klockan Problem med värmeproduktion Öka antalet processorer Multiprocessordatorer (hårt kopplade) Datorer i nätverk Flera processorer på ett chip Multiprocessorer och trådar 34
35 Multiprocessorer CPU CPU CPU CPU CPU CPU CPU CPU Buss eller nät I/O Minne Minne Minne Minne I/O Multiprocessorer och trådar 35
36 Multiprocessorer - intressanta designval/parametrar Sammanbindningsnät Buss begränsar antalet processorer till ~20 Nät: crossbar, switch - antal procesorer upp mot 1000 Fördröjningstid i nätet vid minnessaccess - uniform/icke-uniform, kort/lång Delat minne eller privat Delat minne allt minne kan accessas direkt av alla processorer anses ofta enklare att programmera Privat minne kommunikation med meddelanden Multiprocessorer och trådar 36
37 Cachning i multiprocessorer CPU CPU CPU Cachear minskar lasten på sammanbindningsnätet/bussen cache cache cache I/O Minne Minne Men: - Hur håller man informationen konsistent? - False-sharing problematik Multiprocessorer och trådar 37
38 Schemaläggning på multiprocessorer Frågan är inte bara när utan också var en tråd eller process skall köras För lastbalansering och rättvisa är det bäst att köra en tråd varsomhelst (en ready-kö) För effektivt utnyttjande av processorernas cacheminne/sidhantering/tlb är det bäst att köra en tråd på samma processor som förra gången (en ready-kö för varje processor) Multiprocessorer och trådar 38
39 Varför trådar från samma jobb bör få exekvera samtidigt... Trådar från samma jobb synkroniserar ofta Om schemaläggaren tar ifrån en tråd dess CPU medan den håller ett lås och andra trådar i den processen vill ha låset och systemet använder lås med busy waiting så kommer övriga trådar att få vänta länge Multiprocessorer och trådar 39
40 Schemaläggning forts. Mål: Lastdelning ingen processor bör vara för lite/mycket lastad Rättvis processerna ska få sin rättmätiga del av CPU tiden Effektivt utnyttjande av resurser Kommunicerande processer bör få köra samtidigt! Varianter: En gemensam ready-kö blir lätt flaskhals men bra lastdelning Varje processor har egen ready-kö - lastdelning t.ex. genom att underutnyttjade CPU:er kan fråga andra om de har jobb som de vill bli av med Gängschemaläggning Multiprocessorer och trådar 40
41 Gängschemaläggning (gang scheduling) Alla trådar i en process kör samtidigt på olika CPU:er Alla CPU:er byter process samtidigt Om en tråd blir BLOCKED blir dess CPU idle (ingen annan tråd körs) Kan kombineras med space sharing där olika processer körs på olika grupper av CPUer Multiprocessorer och trådar 41
42 Löst kopplade multiprocessorer/datorer Sammankopplade med nät som har förhållandevis lång fördröjning Nu finns stort intresse för GRID-computing beräkningar på vanliga datorer i nät (Internet) Problemet är att inte få för dålig prestanda pga fördröjningar i nätet Olika applikationer är olika känsliga... Multiprocessorer och trådar 42
43 En första titt på - ömsesidig uteslutning och synkronisering
44 Behovet av ömsesidig uteslutning Antag en gemensam ready-kö i en multiprocessor Process struct A Array av ready köer med olika prioriteter Process struct B Kod för att hämta en process med prioritet i ready kö new = ready[i]; tmp = new -> next; ready[i] = tmp; Multiprocessorer och trådar 44
45 Ready-kön: Behovet av mutual exclusion Om två processorer samtidigt vill ta ut en ny process ur ready-kön kan följande hända: Den första processorn sätter den lokala variabeln new att peka på process struct A Den andra processorn sätter sin lokala variabel new att peka på samma struct A Bägge processorerna sätter ready[i] att peka på process struct B Bägge processorerna börjar köra samma process! Inte bra... Resultatet beror av i vilken ordning processorerna exekverar race-condition Multiprocessorer och trådar 45
46 Ömsesidig uteslutning - mutual exclusion Man använder lås Ett lås kan vara ledigt eller upptaget Man kan låsa och låsa upp lås Om man försöker låsa ett låst lås får man vänta till dess att den som låst det låser upp det Med ett lås för ready-kön gör man så här Lås låset Plocka ut en process Lås upp Multiprocessorer och trådar 46
47 Implementation av lås på multiprocessor lock: test_and_set tmp, (lock_ptr) branch_not_zero tmp, lock unlock: store (lock_ptr), 0 Multiprocessorer och trådar 47
48 Implementation av lås på multprocessor test_and_set tmp, (lock_ptr) är en maskininstruktion som skriver värdet 1 till minnet på adress lock_ptr läser in gamla värdet till registret tmp låser bussen så att ingen annan processor kommer emellan Denna instruktion kan användas till andra typer av lås också Multiprocessorer och trådar 48
49 Implementation av lås på multiprocessor Om låset är låst hoppar man tillbaka och försöker igen Denna typ av lås kallas spin-locks och gör busy waiting Lämpliga på multiprocessorer, men mycket olämpliga på en-processormaskiner Endast en annan process kan låsa upp låset Man spinner resten av time-slice Andra typer av lås gör processen BLOCKED om låset är upptaget Multiprocessorer och trådar 49
50 Synkronisering
51 Bakom kulisserna i en pipe En pipe implementeras som en buffer i kärnan Finns alltid i huvudminnet Har en viss storlek (några sidor) Om en process vill skriva till en pipe vars buffer är full måste den vänta Om en process vill läsa från en pipe vars buffer är tom måste den vänta Exempel på synkronisering (ofta inbyggt i systemanrop i Unix) Multiprocessorer och trådar 51
52 Bakom kulisserna i en pipe Man måste hålla reda på hur mycket data det finns i bufferten Liknande problem som vid exemplet med ready-kön Semaforer kan användas Multiprocessorer och trådar 52
53 Semaforer En semafor är en räknare som har operationerna upp: öka värdet med ett ner: minska värdet med ett om det ej är noll, vänta i så fall En semaforoperation är odelbar Ingen annan tråd eller process kan komma in emellan Väntande trådar kan läggas i kö Multiprocessorer och trådar 53
54 Bakom kulisserna i en pipe med semaforer Två semaforer används ledig_plats visar mängden ledigt utrymme färdigt_data visar mängden färdigt data Varje operation antas för enkelhets skull skriva eller läsa en byte Multiprocessorer och trådar 54
55 Bakom kulisserna i en pipe med semaforer skriv(data) { ner(ledig_plats) lägg data i buffer uppdatera skrivpekare upp(färdigt_data) } läs() { ner(färdigt_data) ta ut data ur buffer uppdatera läspekare upp(ledig_plats) returnera data } Multiprocessorer och trådar 55
56 Behov av synkronisering och ömsesidig uteslutning Synkronisering och ömsesidig uteslutning behövs också i vanliga en-processors system! Viktigt och klurigt problem att lösa Gör man fel får man ofta fel som är sporadiska och svåra att hitta... Multiprocessorer och trådar 56
57 Summering vad vi pratat om idag Trådar Multiprocessorer En första titt på synkronisering och ömsesidig uteslutning Multiprocessorer och trådar 57
58 Nästa föreläsning Interprocesskommunikation IPC Remote Procedure Call RPC Distribuerade system Distribuerade filsystem Multiprocessorer och trådar 58
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 merTentamen 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 merOperativsystem. 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 merOperativsystem 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 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 merObjektorienterad Programkonstruktion. Föreläsning 11 6 dec 2016
Objektorienterad Programkonstruktion Föreläsning 11 6 dec 2016 Föreläsningen 13/12 Halvtidsrepetition Maila frågor som ni vill att jag tar upp! ccs@kth.se Processer Vad vi i dagligt tal menar när vi pratar
Läs merOperativsystem 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 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 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 merOperativsystem 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 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 merTDDIU81. 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 merOperativsystem. 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 merIntroduktion 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 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 merOperativsystem 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 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 merSynkronisering. 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 merOperativsystem 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 merOperativsystem - Processkommunikation
Operativsystem - Processkommunikation Mats Björkman 2015-01-26 Innehåll Processer (föreläsning 2) Processmodell Processtillstånd Trådar Processkommunikation (föreläsning 3, den här) Semaforer Monitorer
Läs merOperativsystem 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 merDatorsystem 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 merProcesser och trådar. Rasmus Cronstrand Per Jonsson Ante Wall Fabian Åberg
Linköpings universitet Institutionen för datavetenskap TDDI81 Hemuppgift Processer och trådar av Rasmus Cronstrand Per Jonsson Ante Wall Fabian Åberg rascr534 / perjo927 / antwa730 / fabab714 2014-02-24
Läs merPosix Threads. En studie i förvirring eller Halleluja! Peter Eriksson, Signum Support AB 1
Posix Threads En studie i förvirring eller Halleluja! Peter Eriksson, Signum Support AB 1 Innehåll l Översikt l Programmering l Kompilering l Vanliga problem l Dokumentation l Övrigt Peter Eriksson, Signum
Läs merOperativsystem (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 merSynkronisering - Semaforen. Om att vänta men inte i onödan
Synkronisering - Semaforen Om att vänta men inte i onödan Dörrvakten Har order uppifrån pga brandregler: Släpp in max 40 personer Garanterar att det aldrig är fler insläppta än order angivit Kommer fler
Läs merRealtidssystem. - 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 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 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 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 merDesign 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 merTentamen 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 merFö 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 merConcurrency Saker händer samtidigt. Process En instans av ett program
Concurrency Saker händer samtidigt Hur gör vi flera saker samtidigt på en dator? - Dela på en CPU - Flera CPU Flera processer på en dator. Operativsystemet (OS) tilldelar dem körtid (time slices, prioritet)
Läs merFöreläsning 2 Datastrukturer (DAT037)
Föreläsning 2 Datastrukturer (DAT037) Fredrik Lindblad 1 2016-11-02 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt. Se http://www.cse.chalmers.se/edu/year/2015/course/dat037 Tidskomplexitet
Läs merSynkronisering. Ordning och reda
Synkronisering Ordning och reda Banköverföring struct account { int balance; char* owner; }; struct account account[ NUM_ACCOUNTS ]; bool transfer( int amount, unsigned from, unsigned to ); 2 Banköverföring
Läs merHögskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin
Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 Hjälpmedel: Inga hjälpmedel är tillåtna
Läs merOperativsystem 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 merLö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 merOperativsystem 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 merFÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl
Högskolan Dalarna sid 1 av 6 DI-institutionen Hans-Edy Mårtensson Sten Sundin FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 1. Grunderna i
Läs merSvar 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 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 merTrådar. Aktiva objekt
Föreläsning 11 Trådar 1 Aktiva objekt Det är välkänt från vardagslivet att saker händer samtidigt. Aktiva objekt gör saker på eget initiativ, medan passiva objekt endast gör saker när de blir ombedda.
Läs merIdag. Exempel, version 2. Exempel, version 3. Ett lite större exempel
Idag Ett exempel Undantag Substitutierbarhet, subtyper, subklasser När val av metod beror av typerna hos två objekt Lite om överlagring Exempel, version 2 Notera: för samtliga figurer gäller: arean av
Läs merMESI i Intel Core 2 Duo
MESI i Intel Core 2 Duo Sammanfattning Denna rapport beskriver en processor (Intel Core 2 Duo) vars cache coherence protokoll är MESI. Rapporten beskriver hur processorn är uppbyggd, hur många kärnor den
Läs merFöreläsning 2. Operativsystem och programmering
Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data
Läs merOperativsystem 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 merOperativsystem (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 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 merEn 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 merOlika 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 merOperativsystem 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 merLunds 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 merGenerell säkerhet. Loggning - Hur mycket ska man logga? Inloggningsrutinerna i Unix. Loggning fortsättning
Generell säkerhet Här finns det inga direkta rätt eller fel. Snarare saker man bör tänka på när man implementerar ett program. Kort sagt: Efter att du kommit på hur du tänkt göra, sov på saken och tänk
Läs merProgrammering B med Visual C++ 2008
Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,
Läs merTDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 5 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Arrayer Metoder Räckvidd och Livslängd Arrayer Vända om inlästa värdena Vända om
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 merLä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 merOperativsystem ID1200/06 (ID2200/06 6hp) Tentamen :00-18:00
Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen 2019-01-11 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 merRealtidsstöd i Minix. En laborationrapport. Oktober 2012
Realtidsstöd i Minix En laborationrapport Karl Zylinski Hampus Gustafsson Oktober 2012 1 Innehåll 1 Introduktion 3 1.1 Problem................................ 3 1.1.1 Skapa ett testprogram....................
Läs merObjektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11
Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Undantag Engelska: exceptions Skansholm: exceptionella händelser Fel som genereras om man försöker
Läs merDatorteknik ERIK LARSSON
Datorteknik ERIK LARSSON C - Inledning Ken Thompson och Dennis M. Ritchie utvecklade C Turingpriset( Nobelpris i datavetenskap ), 1983 Alan Turing (1912-1954) För deras utveckling av generellt OS teori
Läs merFöreläsning 3: Abstrakta datastrukturer, kö, stack, lista
Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista Abstrakt stack Abstrakt kö Länkade listor Abstrakta datatyper Det är ofta praktiskt att beskriva vilka operationer man vill kunna göra på sina
Läs merObjektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11
Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Undantag Engelska: exceptions Skansholm: exceptionella händelser Fel som genereras om man försöker
Läs merClasses och Interfaces, Objects och References, Initialization
Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class
Läs merProgrammering av inbyggda system. Kodningskonventioner. Viktor Kämpe
Kodningskonventioner Viktor Kämpe Varför kodningskonventioner? Förståelse för Skillnaden mellan lokala/globala variabler. Funktionsargument. Returvärde. Möjliggör Mix av assembler och C. Kodningskonventioner/VK
Läs merSummering av fält 1.1. Synkronisering - Semaforen. Summering av fält 1.3. Summering av fält 1.2. Summering av fält 2.3 (INTE GK)
Summering av fält 1.1 Synkronisering - Semaforen Om a6 vänta men inte i onödan Vi har en stor array: int array[2_000_000_000] Vi har variabler för a6 lagra summor och delsumor av arrayen. Dessa iniferas
Läs merFöreläsning 1 Datastrukturer (DAT037)
Föreläsning 1 Datastrukturer (DAT037) Fredrik Lindblad 1 30 oktober 2017 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt. Se http://www.cse.chalmers.se/edu/year/2015/course/dat037
Läs merÖ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 merSummering av fält. Synkronisering. Summering av fält. Bounded Buffer. Bounded Buffer (get) Bounded Buffer (put)
Summering av fält Synkronisering Ordning och reda function sum_low is begin for i in 0..999_999_999 sum += array[i] end sum_low function sum_high is begin for i in 1_000_000_000..1_999_999_999 sum += array[i]
Läs merDatakom 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 merVad 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 merDatorsystem 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 merStrategier för att utnytja parallella system. Peter Kjellström NSC Upplysning 2010-04-27
Strategier för att utnytja parallella system Peter Kjellström NSC Upplysning 2010-04-27 Problemet Människor tänker normalt i seriella banor 2-24 cores i en vanlig desktop/server Det finns massor med seriell
Läs merSystembeskrivning. 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 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 merDatorarkitekturer med operativsystem ERIK LARSSON
Datorarkitekturer med operativsystem ERIK LARSSON Parallellberäkning Konstant behov av högre prestanda Prestanda har uppnåtts genom: Utveckling inom halvledarteknik Tekniker som:» Cacheminne» Flera bussar»
Läs merGrundlä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 merTentamen Nätverksprogrammering Lösningsförslag
LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2018 03 14, 8.00 13.00 Del 1 1. Applikationslagret levererar data mellan applikationer och till
Läs merOperativsystem 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 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 merClasses och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016
Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Abstract class En abstract class är en class som inte kan skapa några objekt. Syfte:
Läs merOperativsystem 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 merSMD 134 Objektorienterad programmering
SMD 134 Objektorienterad programmering Lärare: pl@cdt.luth.se A 3113 Tomas Klockar klockar@sm.luth.se A 3019 Mats Folke folke@sm.luth.se A 3019 Labhandledare: Natasja Saburova Fredrik Jonsson Lars Persson
Läs merSchemalä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 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 merSchemaläggnings metoderna AMP & SMP i en Multiprocessor
EDT621 Datorarkitekturer med operativsystem 7,5 HP 2015-12-05 Schemaläggnings metoderna AMP & SMP i en Multiprocessor Författare: Simon Plato Sammanfattning Rapporten beskriver två schemaläggnings metoder.
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 merDI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin
DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:
Läs merTentamen Nätverksprogrammering Lösningsförslag
LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2016 05 31, 8.00 13.00 Del 1 1. a) Vid multicast skickas ett datagram från en sändande dator
Läs merSockets. Processkommunikation Sammanfattning. Sockets. Domän, typ och protokoll
Processkommunikation Sammanfattning Pipes Kan användas då processerna har en gemensam föräldraprocess. Tillgängligt överallt FIFO Som pipor fast processerna behöver inte ha någon gemensam förälder. XSI
Läs merLite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar
Läs merDefinition 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 merDIG 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 merTypkonvertering. Java versus C
Typer Objektorienterad programmering E Typkonvertering Typkonvertering Satser: while, for, if Objekt Föreläsning 2 Implicit konvertering Antag att vi i ett program deklarerat int n=3; double x = 5.2; Då
Läs merOperativsystem 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 merParallellism, återblick
Parallellism, återblick Josef Svenningsson December 11, 2012 Lab7 Det är problem med lab7. Gå med i den grupp som ni använt tidigare. DEMO Flera saker händer samtidigt Ofta hanterar program olika indata
Läs mer