Systemarkitektur. Planen for idag. Kontrol af ydre enheder. Synkronisering ved aktiv venten. Synkronisering mellem styreenhed og CPU



Relaterede dokumenter
Planen for idag. Kontrol af ydre enheder. Systemarkitektur. Synkronisering ved aktiv venten. Multiprogrammering[1]: Ydre enheder og multiprogrammer

Typisk PC arkitektur. Synkronisering ved aktiv venten

Kerner med afbrydelser. Planen for i dag. Kerne med afbrydelser. Tætkoblede drivprogrammer. Uheldig rækkefølge. Synkronisering med ydre enheder

Interconnect. Front end interface

System Arkitektur og Integration

Datamaters arkitektur og programmering

AVR MP Ingeniørhøjskolen i Århus Michael Kaalund

Lærebog. Datalogi 1F Forår Hvad sker hvornår? Kursusbøger. Planen for idag. Hvad er et operativsystem

Processer og tråde. dopsys 1

Planen for idag. Datalogi 1F Forår 2003 Multiprogrammering[3] Brugerprogrammerne. Processkift. Processer i akerne. Kerne med decentralt processkift

Oversigt. Operativsystemer [6]: Virtuelt lager. Virtuel lager. Virtuelt lager. Virkemåde. Virtuelt lager eksempel virtuelt lager

Operativsystemer of C Efterår 2013 Virtuel hukommelse (kap. 9)

Planen for idag. Opdatering af delt lager

Niveauer af abstrakte maskiner

Niveauer af abstrakte maskiner

Planen for idag. Datalogi 1F Forår Hvad er en proces? Livscyklus for en proces. Hvad består en proces af?

uprocessorens hardware

Computer Literacy. En stationær bordmodel. En Bærbar Notebook, Labtop, Slæbbar, Blærebar mm.

// Definition af porte og funktioner

Sider og segmenter. dopsys 1

Intro til AVR. Mads Pedersen, OZ6HR

Programmering i C Programmering af microcontroller i C (4 af 4) 12. april 2007

Niveauer af abstrakte maskiner

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi C Opgave: Brev til Sigurd Lære: John Austin Side 1 af 13 Dato:

Sider og segmenter. dopsys 1

Design Systemkald. User-mode Linux, The Linux kernel/

3. Computerens opbygning.

Principper for Samtidighed og Styresystemer

Internt interrupt - Arduino

Systemkald DM Obligatoriske opgave. Antal sider: 7 inkl. 2 bilag Afleveret: d. 18/ Afleveret af: Jacob Christiansen,

Projekt - RoboNet Del Journal.

Kernealphaerne Indhold af G1

Planen for idag. Indhold af G1. Kernealphaerne. Alpha erne. Datalogi 1F Forår 2003

Planen for i dag. Logiske og fysiske adresser. Systemarkitektur. Binding af programkode til lager. Hardware understøttelse af lageradministration

Lageradministration. dopsys

Lærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen

Input/Output: Disk & Clock. dopsys

Styresystemer og tjenester

Computerarkitektur. - en introduktion til computerarkitektur med LINDA

Algorithms & Architectures II

Lageradministration Paging og segmentering

Interrupt - Arduino. Programmering for begyndere Brug af Arduino. Kursusaften 6 EDR Hillerød Knud Krogsgaard Jensen / OZ1QK

Computerens Anatomi. Af Martin Arnetoft

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi Opgave: Brev til Sigurd Lære: John Austin Side 1 af 8 Dato:

Computerens anatomi. - En gennemgang af delene i en computer. Opgave skrevet af Maila, Patrick, Bjarke og Simon. Klasse 1.

Virtuel Hukommelse. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Planen for idag. Synkroniseringsmekanismer. Krav til løsning. Kritiske regioner. Bagerens algoritme. Kritisk region via delt lager.

Allan Nelsson - OZ5XN. Licenced since 1970

Søren Guldbrand Pedersen Diverse noter til PC & Net Side 2 af 8. TYPE - viser fil eller program på skærmen.

Lageret i maskinarkitekturen. Beregningsenhed, lagre (registre, RAM, disk), ydre enheder

Arduino Programmering

Styresystemer og tjenester

DATALOGI 1E. Skriftlig eksamen mandag den 23. juni 2003

Der er derfor, for at alle kan sende, kun tilladt, at sende intermitterende. Altså korte pakker. ( Dette skal dog verificeres!!)

Lageradministration Intel Pentium og Unix/Linux

COMPUTER ANATOMI klasse 23. FEBRUAR 2015 HTX - ROSKILDE

2. De 7 signaler skal kodes til en 3-bit kode. Enkodningen skal prioriteres som beskrevet i afsnit?? på side??.

Filnavn: main.c

up/ansi Eksamensspørgsmål

Microcontroller, Arduino

Modbus data modellen er opbygget af fire primære data typer. I nedenstående skema er en kort oversigt over disse.

AgroSoft A/S AgroSync

Erklæring af variabler. Void indstil (Indstiller starttidspunkt og måleinterval).

BRUGERVEJLEDNING FLTA

DATALOGI 1F. Skriftlig eksamen tirsdag den 10. juni % 2 10 % 3 25 % 4 10 % 5 30 %

Operativsystemer - dopsys

Betjeningsvejledning. til. Vandudvejning. system

Koordinering. dopsys

8ä S& 4$ ;9<R! 4$ :" )$#" 4$ :<<R! 9$ c+ f =Nwx!Y üf ( S n«! Od ò - S ] n!u s S c + ó Ï' :$ c+ f =Nwx! Z<]n i

I 2 C BUSSEN KØRER MED ARDUINO IND I FORÅRET

\ \ Computerens Anatomi / /

Datalogi 1F. K1: Implementering af multiprogrammeringskerne med prioriteret skedulering. af Nikolaj Lundsgaard, Martin Schultz & Jesper Thøfner

Dette korte foredrag er opdelt i 3 dele: 1. ARDUINO i flere versioner, hvad er det? 2. DEMO-video 3. Din fremtidige Oscillator, SI5351A 4.

I3PRG3+I3DTM3+I3ISY1-3. semester

Motherboard. Chip-set (nord- og syd-bro)

Analyse og design af Indlejrede Systemer. v/ Jens Dalsgaard Nielsen Henrik Schiøler Mads Dore alle Afdeling for Proceskontrol

Indholdsfortegnelse. Installation

INGENIØRHØJSKOLEN I ÅRHUS Elektro- og IKT-afdelingen. I3PRG3 + I3DTM3 + I3ISY1-3. semester

Processoren: Fler-cyklus implementation

Seriel kommunikation RS232 / RS485

Introduktion til programmering. Af mikroprocessor Atmel ATmega328P i en Arduino Uno

Eksamens spørgsmål i Teknologi (Digital) 3. Semester (i)

Styresystemer og tjenester

TIA-portalen V13 Engineeringværktøjet, som gør det mere effektivt

Microcontroller, Arduino

Speciale. Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP)

Programmering i maskinkode på AMIGA

Skriftlig Eksamen Beregnelighed (DM517)

BAS 914S/929S Datablad

Kravspecifikation For. Gruppen

Egenskaber for ROM/RAM

Til dig som vil have et indblik i computeren

Datalogi 1F rapportopgave K2: Implementering af en datanet protokolstak

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004

LAB ØVELSE KONFIGURATION AF DHCP PÅ DANSK AF KIM DONNERBORG / RTS

Schedulering. dopsys 1

Schedulering. dopsys 1

Gateway MP til Modbus RTU. Alle BELIMO motorer med MP-Bus kan tilsluttes til MP-siden af UK24MOD. Interface MP / Modbus RTU

Transkript:

Planen for idag Opsamling Samspil mellem CPU og ydre enheder: Generelt Kontrolregistre Afbrydelser Specifikt for Alpha AXP (kernemaskinerne) Multiprogrammeringseksempel: Webserver CPU cache lager Systemarkitektur disk I/O bro hukommelsesbus netkort I/O bus skærm 1 2 Kontrol af ydre enheder De ydre enheder styres af styreenheder (eng.: controllers) Styreenhederne udfører et kontrolprogram specifikt for en type af ydre enheder CPU og styreenhed udveksler data som led i kontrol af de ydre enheder Kommunikationen mellem CPU og ydre enheder foregår via kontrolregistre placeret på styreenheden for den ydre enhed Synkronisering mellem styreenhed og CPU Hvordan opdager CPU ændringer i kontrolregistre: Aktiv venten (eng.: polling): En venteløkke, hvor CPU hele tiden læser indhold af kontrolregister Afbrydelser: Styreenhed signalerer til CPU at der er sket ændringer i kontrolregistre 3 4 Synkronisering ved aktiv venten Synkronisering sker via to bit: ready og start ready - ændres af styreenhed og læses af CPU 0 betyder at styreenheden ikke er klar til at modtage nye ordre 1 betyder at den er klar start - ændres af CPU og læses af styreenhed: signal fra CPU om at styreenhed kan påbegynde en operation Når start sættes, sættes ready til 0 (styreenhed kan ikke modtage en ny ordre) Udskrivning af tegn på seriel linie Styreenhed er en UART = Universal Asynchronous Receiver-Transmitter Kontrolregistre: THR (Transmit Holding data Register): Fungerer som start men samtidig som data register: Skrivning igangsætter transmission (latch register) LSR (Line Status control Register) Bit 5 svarer til ready fra før 5 6 1

Kontrolregistre på UART Transmit Holding Data Register ST-ordrer Centralenhed (CPU) Fælles registre LD-ordrer Line Status Control Register Data bus drivers and registers Handshaking logic UART en tæt på Serial communications interface Interrupt request Read Write Status register Control register Data in buffer register RESET: LSR<5:5> = 1 repeat repeat until <store til THR> LSR<5:5> = 0 udsend THR bit for bit LSR<5:5> = 1 forever Data in shift register Serial input Data out shift register Serial output Udlæses bit for bit Sættes når enheden er klar Address decoder Chip Select Data out buffer register Styreenhed (UART) 7 Address (from bus) Clock 8 Programstump for aktiv venten CPU siden main() { wrio(com1lcr, 0x87); // choose divisor latch wrio(com1dlm, 0x00); // set 9600 bps (MSB) wrio(com1dll, 0x0C); // set 9600 bps (LSB) wrio(com1lcr, 0x07); // set 8 bit, 2 stop bit wrio(com1mcr, 0x0F); // set DTR and RTS for(char* p = line; *p; p++) { // indtil \0 while ((rdio(com1lsr) & 0x20) == 0) // venteløkke /* tom */; // gennemløbes 107000 gange/tegn wrio(com1thr, *p); // skriv næste tegn til UART Adgang til kontrolregistre Kontrolregistre har en I/O adresse: COM1 starter ved I/O adresse 0x3F8 Tilgås enten via specielle I/O instruktioner: wrio r1, 0x3F8 # skriver tegn på seriel linie Eller via alm. instruktioner gennem specielt lagerområde (lagerafbildet I/O): stl r1, 0x8580007FA0 # Alpha AXP 9 10 Inden vi går videre Nu bliver det hele lidt mere kernemaskine specifikt vi skal have lidt AlphaPC164SX information (KB5 Kapitel 2): PAL I/O busser I/O lagerområder Afbrydelser Vigtigste ydre enheder Systemkald PAL PAL = Priviliged Architecture Library Erstatning for nye instruktioner kodet i mikrokode Bruges også til systemkald Eksempler: PAL_halt varmstart af maskinen PAL_wrent skriv indhopsværdi PAL_callsys systemkald PAL_rti retur fra afbrydelse 11 12 2

I/O busser i Alpha AXP ISA (Industry Standard Architecture): 8 MHz, 16 bit bus, 2 klokcykler per overførsel: max. 8,33 MB/s Udvidelse EISA: 32-bit bus Max. 33 MB/s PCI (Peripheral Component Interconnection): I dag den mest almindelige 33 MHz, 32-bit bredde = max. 132 MB/s Findes også i 66 MHz og 64 bit udgaver samt PCI-X (533 MHz og 64 bit) I/O lagerområder CPU adresserer: Fysisk lager (typisk op til 4 GB) Ydre enheder (typisk PCI, men også ISA) Interne registre: Konfigurering af Alpha ernes PAL-kode Adresserum: 32 bit på Intel PC: (kan udvides til 36-bit) 64 bit på Alpha = 40 bit = rigeligt med plads 13 14 Adgang til ISA registre PC Registrene ligger i de lavere fysiske adresser: kunne adresseres per byte Alpha164SX: Et register per 32 byte Start på adresse: 0x85.8000.0000 Makroer: wrio() og rdio() Eksempel: COM1 (0x3F8) får adressen: 0x85.8000.0000 + 0x3F8*0x20 = 0x85.8000.7FA0 15 Udsnit af lagerorganisering på Alphamaskinerne 0x0000.0000 0x0010.0000 0x0020.0000 0x0030.0000 0x80.0000.0000 0x85.8000.0000 0x85.FFFF.FFFF 1 MB 1 MB 1 MB 29 MB PAL-kode + opstartskode Symbolsk debugger Dataområde til debugger og kernestak Frit lager PCI sparse memory: Delt lager mellem CPU og ydre enheder PCI sparse I/O: kontrolregistre 16 CPU cache lager Systemarkitektur disk I/O bro hukommelsesbus netkort I/O bus skærm Afbrydelser på Alpha erne 33 afbrydelser i alt: 16 for ISA 17 for PCI Eksempler på ISA afbrydelser: 0 Timer 6 Diskette 1 Tastatur 7 Parallelport 3 COM2 12 Mus 4 COM1 14/15 Harddisk/CDROM 17 18 3

Hvornår afbrydes? En afbrydelse kan blive genereret af en ydre enhed på et vilkårligt tidspunkt MEN: Forskellige ydre enheder kan have forskellige tolerancetærskler med hensyn til hvor hurtigt en afbrydelse skal serviceres CPU en kan have opgaver, der ikke må afbrydes Niveauer for afbrydelser 0 normal tilstand 3 Ydre enheder, lav prioritet 4 Ydre enheder, høj prioritet 5 ur 6 strømafbrydelse 7 Maskincheck (bruges ikke) Styres af OS med PAL_swpipl men også automatisk ved afbrydelser 19 20 Tillad/bloker for afbrydelser Den enkelte ydre enhed kan sættes op til at afbryde eller ej Ydre enheder bliver ved med at afbryde indtil der kvitteres for afbrydelsen Når en afbrydelse modtages på niveau i sættes niveauet til i og sættes først ned når afbrydelsen er behandlet Afbrydelse tillades KUN hvis ydre enhed har højere niveau end det aktuelle CPU kan blokere for afbrydelser: PAL_swpipl(7) Installation af afbrydelsesroutine PAL kaldet PAL_wrent a0 er adressen for routinen a1 er typen: 0 ekstern afbrydelse 1 aritmetisk fejl 3 ugyldig ordre 5 systemkald Eksempel: lda a0, ADDR lda a1, 0 call_pal PAL_wrent 21 22 PAL håndtering af afbrydelse Stakramme for afbrydelser 1. Ved en afbrydelse hoppes til PAL koden på adresse 0x100 2. PAL koden undersøger om afbrydelsen har et tilstrækkeligt højt afbrydelsesniveau: 1. Hvis ikke, returneres uden videre 2. Ellers skiftes til kernetilstand (hvis nødvendigt), og de registre, som afbrydelseshåndteringen påvirker, gemmes på stakken register a2 register a1 register a0 global pointer gp programtæller pc statusregister ps 23 24 4

Start af afbrydelsen ps registeret indeholder kernetilstanden Bit 3 indikerer kernetilstand Bit 0-2 indikerer afbrydelsesniveau gp indeholder kernens global pointer a2 indeholder afbrydelsestypen 1 periodisk 3 ekstern afbrydelse Afslutning af afbrydelsen Kvitter for afbrydelsen i den ydre enhed: Skrivning til kontrolregister Gælder ikke for uret (sker automatisk) Udfør kaldet: call_pal PAL_rti 25 26 Tegnudskrivning via afbrydelser main() { forbid(); wrio(com1lcr, 0x87); wrio(com1ier, 0x02); // luk for afbrydelser // divisor latch // som forrige eksempel // set TX empty enable wrent(ent_int, o); // set interrupt entry point p = line, finished = 0; permit(); // åbn for afbrydelser char c=*p++; wrio(com1thr, c); // skriv 1. tegn while (!finished) ; // vent på at vi er færdige wrio(com1ier, 0x00); // luk for afbrydelser fra // UART 27 Fang en afbrydelse.ent ent_int.globl ent_int ent_int: SAVE_REGS(sp) br t0,1f 1: ldgp gp,(t0) lda pv,kinterrupthandler jsr ra,(pv) ldgp gp,(ra) REST_REGS(sp) call_pal PAL_rti.end ent_int 28 Afbrydelsesroutinen Vigtigste ydre enheder extern C void KInterruptHandler () { if ((rdio(com1iir) & 6) == 2) { // kvittering if(!finished) wrio(com1thr, *p++); // skriv // tegn if(!*p) finished = 1; PC16550 UART (har vi set) Olicom OC-2173 ISA 10 Mbit/s Ethernetkort Dallas Semiconductor 1287 TOY/RTC (Time Of Year/Real Time Clock) Holder styr på klokkeslættet Genererer automatiske afbrydelser 29 30 5

2 ; & & Systemkald PAL kaldet callsys Kan kun bruges fra brugertilstand, ikke kernetilstand (omvendt privilegeret) Opbygger en stak ramme magen til en afbrydelse 0XOWLSURJUDPPHULQJVHNVHPSHO Z VHUYHU 31 32.OLHQWVHUYH NRPPXQLNDWLRQ Klient Server! "# #$ forespørgsel 1HWY UNVVHUYHUVWUXNWXU LMNPOQ RTS U#Q MVW*XS X*Y Z*[ \ ]*^ _` abadc ]*^#c e ` f c#g*h#ijf k#g*l c f m n op qrs n ptt#u v*wq x y qz { T~# d ƒ* # j #ƒ ˆ Š *Œ * Ž #ƒ* # j #ƒ ˆ Š # dƒi *Œ Afkod forespørgsel * T %'& (*)+*, -./) 0 svar Behandl forespørgsel Beregn svar @#A B C#D*E F 132 45 4 64 7 2 < 8 5 9 6 9 =#=#7 :3; > 695 > 4? 132 45 4 64 7 8 5 96 GIHJ K 33 34 (QNHOWWU GHW VHUYHU š œž Ÿ! Š 3 3 Ÿ3œ œ «ª '±'²Š³ µ!±! 3 Š ¹µ3 3ª'µ3 ª º» ¼!½3¾¼ 'ÀÁÂÀà à ¾Ã Ä Å!ÆǾ 6HUYHð Pñóò IOHUñ SURFHVVHU ü3ýëþÿ #ÿ û 'ÿ û û #ú û û û Iùú û È3ÉËÊÌ#Í ÎÌÏ Ð#Ñ*Ò Ó éß*ê ì'ã äå Þ*æ#ã ç í Ý á ã#ß*ê#îjá ï#ß ãç ç è ß æåà å Ü'Ý Þ*ßIàTáTâã á äã#å#æ#ã á ÔÖÕ *Õ Ø Õ Ø ÙIÚÛ Ø ßIë*åá ôöõž!" # $ %!" # $ % )*' "+ #", ##" )*' "+ #", ##" #' #" #" (" #' #" #" (" øšùú û 35 36 6

G n n š Ó ë ë 6HUYH P IOHU SURFHVVHU!" #%$'& ( )+*-,/.01231451016 6 76 8 9:;7 < =?>@ A BDC@ BE>F GHJIKB3LM NOPQRSPTNORDUVUVRW SRXJYRZW []\\RTW SR ^J_`bacEdae fg3hid`jkgllg`m )OHUWU GHW VHUYHU ª «±'²³ ±D µ±v µ ¹ º»½¼V¾À -ÁõÄ-¾-ÅÀƾÀĵǵȾVÉµÇ ÄÊ Ë Ì Í-ÎÃϵÐ-ÑÀÐÒ Ò Ó-Ò Ô Õ³Ö Ó Ø Ù³Ú Û ÜÝßÞàܳá âvãµä ã³å Ûµæ-ç èµéêµë-ìé'ívéàîµï-ì ð ñtòó ôõ-ö ùøúßúßòó û ò ü ýþÿ ÿ ÿ Ãÿ ÿ o?pq r sdtq sepuvw xyz{ ~ T TyJƒ ˆDŠTˆ Œ Ž ˆ DŠT DŠ ˆ Ê ˆ ˆ DŠ! " #%$ & 3,45# +2. + - (%#*.!0/%"! 1%" + 2"! ' " (%"! "! #*),+! 7 )%+! œdžÿž J ž 3 %ž T ž / D 37 6! #%$ 38 + QGHOVHVVW\UHWVHUYHU 8 9;:<=?>@ AB CD?= EF H;I JKL M N M OO M L JOPQSRTKUVW XVUJK YZV?[JSUL\ JOP O?]SJ^ _ `abc d efg hsfisfsjkl m o5pqtrstsu u vu w x yzv { ~ Z ƒ Z ƒ? ˆ Š ŒZ? Ž š š š œ žsœÿš ª««S ç è é êìë ÕÖ% ² ³ Ó 0 ± ÎÐÏ5Ñ Á Ã%Ä*Å Æ0Ç%È Æ µ % Ò2Ó2Ô É%Ê Ë2Ì Ê Í ¹º»%¼ ½*¾% À øúù øüû ýzþÿù ÜÝ Þ ß*à á â%ã%ß2ä á ß,åÐÝ â,æ íîìï ð ñóò ôõ ö ØÙ,Ú Û 39 Eksempel: Flash webserveren Asymmetrisk flerproces hændelsesstyret Brug hjælperprocesser/tråde ved blokerende operationer Har brug for interproceskommunikation (IPC).0/21435 LCM? DFE =?AG >IH;!> :<;=;> ;> / 36 789 NIO P KBG B J ; BK ;>?A@CB > c!d e dga X!Y Z [(\ c!d e dgf ^ [ e ] [ \ Z ^<_ `4a b h i h j k Q?"R T O P?AG B = K"?UVB?CW O =; S @CB > l m n o n(p # $ % & %(' )+*-, )+*-,! "! " 40 0Š- 4Œ Ž( rtssu v w4x"yiv z{ ~ A ƒ ~ ˆ q )ODV PPDS Ÿž I C A A! gª!«! ª ( ( (š 4œ A± ² ³ )ODV )LOµ,2 ¹ Fº¼»+½ ¾¼½+!ÀÂÁ0½-üÄ0½Å Æ ÇÈÇÈ ÊÉ Ë Ì0ÍFÌ ÎÐÏ Ñ ÌÊÒ Ô-ÕÂÖØ Ù+ÚÊÛ Ù+ÛÝÜFÞÚ+ßáàÝâ ãfä0ûgåê!æfå¼àçåèü0ãåãêâ è¼úêû é+ú+ß+êúfæ àýâ "ßÚÊÛ2è¼ÚÊÛ ÙFÛÂÜFÞÚ+ß ìíúêû2è¼úêû Ù+ÛÝÜFÞÚ+ßîê!å-ïðæ0ÚÊÛ2è¼Ú0æñàÝâ ãfäåæfå¼àçåóò+æ0úêïîåà éf ÜÊê!ÚÊÛçÚ ìíúêû2è¼úêû Ù+ÛÐôÊè¼ÚÊÛgå¼àtêÜ-ïàÝÛÂÜÊ Ú0ÛÝÚ õ ò+êü0öåöñúê ß¼Ú¼ß! çü0ûøéfûøò¼ã üý þû ÿ ÿ Dobbelt buffering/caching undgås ùú û 41 42 7

Flash resultater Afprøvning: kunstig genereret arbejdsbelastning forespørgselsmønstre opsamlet fra den virkelige verden Resultater: 30% - 50% procent højere ydelse end kommercielle web servere (men kan til dels skyldes mindre funktionalitet). Mere om Flash Flash: An Efficient and Portable Web Server: Vivek S. Pai, Peter Druschel, Willy Zwaenepoel, i Proceedings of the USENIX 1999 Annual Technical Conference http://www.cs.princeton.edu/~vivek/flash/ 43 44 Opsummering Kilder Ydre enheder: Synkronisering aktiv venten Afbrydelser Hvordan sker det hele på Alpha erne? Multiprogrammering: processer, tråde og tilstandsmaskiner Disse slides er delvist baseret på indholdet af Datalogi 1F kursusbøgerne samt Operating System Concepts 6. udgave 45 46 8