diff --git a/course/04-PIO.md b/course/04-PIO.md
new file mode 100644
index 0000000000000000000000000000000000000000..7020ad7601c685a5425dc6dffe43785a70160f33
--- /dev/null
+++ b/course/04-PIO.md
@@ -0,0 +1,238 @@
+---
+author: Florent Gluck - Florent.Gluck@hesge.ch
+
+title: Programmed Input/Output (PIO)
+
+date: \vspace{.5cm} \footnotesize \today
+
+pandoc-latex-fontsize:
+  - classes: [tiny]
+    size: tiny
+  - classes: [verysmall]
+    size: scriptsize
+  - classes: [small]
+    size: footnotesize
+  - classes: [huge, important]
+    size: huge
+---
+
+[//]: # ----------------------------------------------------------------
+## Devices
+
+::: incremental
+
+- To be used, devices must be controlled/programmed
+- Devices are controlled by a special piece of code: a **device driver**
+- Each device is controlled differently: each requires specific controlling code!
+- How to program a device is described in its datasheet/manual
+- Each device is controlled through specific device **registers**
+- How to read/write to these specific device registers?
+
+:::
+
+## Device addressing
+
+- Devices are programmed using dedicated registers
+- Each device has a different set of registers
+  - usually command, data, status, etc.
+  - each register has a specific access type (read, write, both)
+
+- **\textcolor{myred}{Device registers can be accessed in two different ways: MMIO or PMIO}**
+
+- Whether a device is accessed in MMIO or PMIO depends on the system
+  - the **only** way to know is by reading the system's documentation!
+
+[//]: # ----------------------------------------------------------------
+## Memory-Mapped I/O devices (MMIO)
+
+\small
+
+- Device registers are **mapped** into the CPU **physical address space**
+- **RAM and devices registers share the same address space!**
+- Called **MMIO**: Memory-Mapped Input/Output
+- Read/write from/to these devices happen exactly like memory (RAM)
+- All CPU instructions dealing with memory operands can interact with these devices
+  - \footnotesize e.g. `mov` instruction (x86)
+    ```{.verysmall .assembler}
+    mov al,[42]  ; reads 32-bits at MMIO address 42
+                 ; and stores it into al register
+    ```
+    ```{.verysmall .assembler}
+    mov ebx,42        ; store 42 into ebx register
+    mov byte[ebx],17  ; writes 8-bits value 17
+                      ; to MMIO address 42
+    ```
+
+[//]: # ----------------------------------------------------------------
+## Port-Mapped I/O devices (PMIO)
+
+- Device registers are **mapped** into a **specific** memory space, **distinct** from the CPU physical address space
+- Require **specific** CPU instructions to access these devices
+  - e.g. `in` and `out` instructions (x86)
+    ```{.verysmall .assembler}
+    in al,42  ; reads 8-bits at PMIO address 42
+              ; and stores it into al register
+    ```
+    ```{.verysmall .assembler}
+    mov al,17  ; writes 8-bits value 17
+    out 42,al  ; to PMIO address 42
+    ```
+
+[//]: # ----------------------------------------------------------------
+## Device address spaces
+
+\centering
+![](images/mmio_vs_pmio.png){ width=100% }
+
+\vfill
+
+:::::: {.columns}
+::: {.column width="50%"}
+
+\footnotesize
+
+- MMIO address space, accessed using regular memory instructions (`mov`)
+
+:::
+::: {.column width="50%"}
+
+\footnotesize
+
+- Distinct memory space, **only** accessed using specific machine instructions (`in`, `out`)
+
+:::
+::::::
+
+[//]: # ----------------------------------------------------------------
+## Accessing devices
+
+- Devices using MMIO registers can be programmed in C using regular memory operations, e.g.:
+  \vspace{0.2cm}
+  ```{.c .verysmall}
+  uint32_t *vbe_fb = 0xFC000000;
+  // red (0xFF), green (0x40), blue (0x80)
+  *vbe_fb = 0x00FF4080;
+  ```
+- Devices using PMIO registers cannot be programmed in C directly, they require special assembly instructions
+- PMIO addresses are often called "ports"
+
+[//]: # ----------------------------------------------------------------
+## Assembly code to access PMIO devices
+
+- `outb` instruction writes 1 byte onto the specified port:
+  ```{.assembler .verysmall}
+  ; void outb(uint16_t port, uint8_t data)
+  outb:
+      mov  dx,word [esp+4]  ; port into dx (2 bytes)
+      mov  al,byte [esp+8]  ; data into al (1 byte)
+      out  dx,al            ; write data to port
+      ret
+  ```
+
+- `inb` instruction reads 1 byte from the specified port:
+  ```{.assembler .verysmall}
+  ; uint8_t inb(uint16_t port)
+  inb:
+      mov  dx,word [esp+4]  ; port into dx (2 bytes)
+      in   al,dx            ; read port into al (1 byte)
+      ret
+  ```
+
+[//]: # ----------------------------------------------------------------
+## Accessing PMIO devices in C
+
+- Writing to PMIO devices using the previously implemented `outb` and `inb` functions is easy, e.g.
+  \vspace{0.2cm}
+  ```{.c .verysmall}
+  void write_sector(int idx, void *buf) {
+      while((inb(0x1F7) & 0xC0) != 0x40);
+      outb(0x1F2, 1);
+      outb(0x1F3, idx & 0xFF);
+      outb(0x1F4, (idx >> 8) & 0xFF);
+      outb(0x1F5, (idx >> 16) & 0xFF);
+      outb(0x1F6, ((idx >> 24) & 0x0F) | 0xE0);
+      outb(0x1F7, 0x30);
+      while((inb(0x1F7) & 0xC0) != 0x40);
+      uint8_t *data = (uint8_t *)buf;
+      for (int i = 0; i < 512; i++) {
+          outb(0x1F0, *data);
+          data++;
+      }
+  }
+  ```
+
+<!--
+[//]: # ----------------------------------------------------------------
+## PMIO on x86
+
+- On x86, PMIO access is done using `IN` and `OUT` assembly instructions
+- `OUT` instruction to write at a given address
+- `IN` instruction to read from a given address
+- Address **always** specified in `DX` (16-bit adress space) !
+- Read/write always done through `EAX`, `AX` or `AL`:
+  - `EAX` $\rightarrow$ read or write 32 bits
+  - `AX` $\rightarrow$ read or write 16 bits
+  - `AL` $\rightarrow$ read or write 8 bits
+
+[//]: # ----------------------------------------------------------------
+## MMIO and PMIO examples
+
+**MMIO**
+
+:::::: {.columns}
+::: {.column width="50%"}
+
+- Read 8 bits, then 32 bits from address 0x100:
+  ```{.verysmall}
+  mov  ebx, 0x100
+  mov  al, [ebx]
+  mov  eax, [ebx]
+  ```
+
+:::
+::: {.column width="50%"}
+
+- Write 32 bits, then 8 bits to address 0xA000:
+  ```{.verysmall}
+  mov  ebx,0x0A000
+  mov  dword[ebx],123
+  mov  byte[ebx],123
+  ```
+
+:::
+::::::
+
+**PMIO**
+
+:::::: {.columns}
+::: {.column width="50%"}
+
+- Read 16 bits from address (port) 0x60:
+  ```{.verysmall}
+  mov  dx,0x60
+  in   ax,dx
+  ```
+
+:::
+::: {.column width="50%"}
+
+- Write 8 bits, then 32 bits to address (port) 0x80:
+  ```{.verysmall}
+  mov  dx,0x80
+  mov  eax,4
+  out  dx,al
+  out  dx,eax
+  ```
+
+:::
+::::::
+-->
+
+[//]: # ----------------------------------------------------------------
+## Resources
+
+- Programmed input/output\
+\small [\textcolor{myblue}{https://en.wikipedia.org/wiki/Programmed\_input/output}](https://en.wikipedia.org/wiki/Programmed_input/output)
+
+- Memory-mapped I/O\
+\small [\textcolor{myblue}{https://en.wikipedia.org/wiki/Memory-mapped\_I/O}](https://en.wikipedia.org/wiki/Memory-mapped_I/O)
diff --git a/course/04-PIO.pdf b/course/04-PIO.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..e20823d8412e281fa6534ed85ce9ee894afb85d5
Binary files /dev/null and b/course/04-PIO.pdf differ
diff --git a/course/05-Interrupts.md b/course/05-Interrupts.md
new file mode 100644
index 0000000000000000000000000000000000000000..612970dcf9563432a1b3fb53d1ae6f7101805b3e
--- /dev/null
+++ b/course/05-Interrupts.md
@@ -0,0 +1,462 @@
+---
+author: Florent Gluck - Florent.Gluck@hesge.ch
+
+title: Interrupts
+
+date: \vspace{.5cm} \footnotesize \today
+
+pandoc-latex-fontsize:
+  - classes: [tiny]
+    size: tiny
+  - classes: [verysmall]
+    size: scriptsize
+  - classes: [small]
+    size: footnotesize
+  - classes: [huge, important]
+    size: huge
+---
+
+[//]: # ----------------------------------------------------------------
+## Interruptions
+
+- We distinguish 3 kinds of **interrupts** :
+  - \textbf{\textcolor{myorange}{processor exceptions}}
+  - \textbf{\textcolor{myblue}{software interrupts}}
+  - \textbf{\textcolor{mygreen}{hardware interrupts}}
+
+\vspace{.3cm}
+
+- **To each interrupt is associated an Interrupt Service Routine (ISR)**
+  - this ISR is a function that is executed when the associated interrupt is triggered
+
+[//]: # ----------------------------------------------------------------
+## Interrupt Vector Table (IVT)
+
+:::::: {.columns}
+::: {.column width="55%"}
+
+\small
+
+- The IVT **associates an interrupt number to a function**
+- At index `i` of the IVT is stored the **address** of the routine associated to interrupt number `i`
+- When an interrupt is triggered, the corresponding ISR is executed
+- The IA-32 architecture supports an IVT of up to 256 entries
+- IVT entries 0 to 31 are **reserved for processor exceptions**
+
+:::
+::: {.column width="45%"}
+
+\centering
+![](images/interrupt_vector_table.png){ width=90% }
+
+:::
+::::::
+
+[//]: # ----------------------------------------------------------------
+## Processor exceptions (1/2)
+
+- \textbf{\textcolor{myorange}{Processor exceptions}} are triggered by the CPU itself
+- They are triggered when the **CPU is not able to handle an error** caused by the code being executed
+- Exception examples:
+  - accessing an invalid or unmapped address $\rightarrow$ *Page Fault*
+  - writing to a *read-only* page $\rightarrow$ *Page Fault*
+  - division by zero  $\rightarrow$ *Divide Error*
+  - executing a privileged instruction while in user mode (ring 3) $\rightarrow$ *General Protection Fault*
+  - etc.
+
+[//]: # ----------------------------------------------------------------
+## Processor exceptions (2/2)
+
+- \textbf{\textcolor{myorange}{Processor exceptions}} are always **synchronous** with respect to the program's execution
+- When the exception is triggered, the corresponding ISR is executed **synchronously**:
+  - once the execution of the ISR is over, the CPU executes the code following the instruction that triggered the exception
+- Processor exceptions are hardwired to specific vector numbers in the IVT (see next slide)
+  - for instance, "division by 0" executes ISR at index 0 in the IVT
+
+[//]: # ----------------------------------------------------------------
+## Processor exceptions for the IA-32 architecture
+
+\centering
+![](images/cpu_exceptions.png){ width=95% }
+
+[//]: # ----------------------------------------------------------------
+## Classification of processor exceptions
+
+\footnotesize
+
+**Faults**
+
+\vspace{-.3cm}
+- Can generally be corrected; once corrected, the program can be resumed with no loss of continuity
+- The return address for the fault handler points to the faulting instruction[^1]
+
+**Traps**
+
+\vspace{-.3cm}
+- The program can be resumed with no loss of continuity
+- The return address for the trap handler points to the instruction **after** the trapping instruction
+
+**Aborts**
+
+\vspace{-.3cm}
+- Does not always report the precise location of the instruction causing the exception; disallow a restart of
+the program
+- Report severe errors, e.g. hardware, illegal values in system tables
+
+[^1]: CPU restores the machine state to the state **prior** to the faulting instruction
+
+<!--
+Excerpt from Intel64_IA32_Manual-Vol3-System_Programming_Guide "Exception Classifications" section:
+
+Exceptions are classified as faults, traps, or aborts depending on the way they are
+reported and whether the instruction that caused the exception can be restarted
+without loss of program or task continuity.
+
+- **Faults**: exception that can generally be corrected and that, once
+corrected, allows the program to be restarted with no loss of continuity. When a
+fault is reported, the processor restores the machine state to the state prior to
+the beginning of execution of the faulting instruction. The return address (saved
+contents of the CS and EIP registers) for the fault handler points to the faulting
+instruction, rather than to the instruction following the faulting instruction.
+
+- **Traps**: exception that is reported immediately following the
+execution of the trapping instruction. Traps allow execution of a program or task
+to be continued without loss of program continuity. The return address for the
+trap handler points to the instruction to be executed after the trapping
+instruction.
+
+- **Aborts**: exception that does not always report the precise
+location of the instruction causing the exception and does not allow a restart of
+the program or task that caused the exception. Aborts are used to report severe
+errors, such as hardware errors and inconsistent or illegal values in system
+tables.
+-->
+
+[//]: # ----------------------------------------------------------------
+## Double fault exception and triple fault
+
+**Double Fault Exception** (index 8 in IVT)
+
+\vspace{-.2cm}
+- The CPU detected a second exception **while** calling an exception handler for a prior exception
+
+\vspace{.5cm}
+
+**\textcolor{myred}{Triple Fault}**
+
+\vspace{-.2cm}
+- If another exception occurs **while** attempting to call the double-fault handler, the **CPU enters shutdown mode and reboots**
+- Important to implement a double fault handler **to prevent** uncontrolled **reboots**
+
+[//]: # ----------------------------------------------------------------
+## Software interrupts
+
+- A \textbf{\textcolor{myblue}{software interrupt}} is triggered by using the `INT` assembler instruction
+- For instance, `INT 42` triggers software interrupt 42
+- When the CPU encounters the following instruction,
+  ```{.small}
+  INT 42
+  ```
+  it performs the following operations:
+  - extracts the address of the ISR stored at index 42 in the IVT
+  - executes the ISR
+
+[//]: # ----------------------------------------------------------------
+## Software interrupts' execution
+
+- Like \textbf{\textcolor{myorange}{processor exceptions}}, \textbf{\textcolor{myblue}{software interrupts}} are always **synchronous**
+- When the `INT` instruction is executed, the corresponding ISR is executed **synchronously**:
+  - once the execution of the ISR is over, the CPU executes the code following the `INT` instruction
+
+[//]: # ----------------------------------------------------------------
+## Hardware interrupts and interrupt requests
+
+- \textbf{\textcolor{mygreen}{Hardware interrupts}} are typically triggered by devices (disk controller, keyboard, sound card, network card, etc.)
+- When a device requires the attention of the CPU, it sends it an **interrupt request (IRQ)**
+- A device triggers an IRQ when data are ready or when a command is completed (e.g. writing to disk, key press, etc.)
+- To each IRQ corresponds a **hardware interrupt**:
+  - a specific device, the Programmable Interrupt Controller (PIC) **maps** an IRQ number to a hardware interrupt number
+  - the hardware interrupt number corresponds to the index (in the IVT) of the ISR to execute
+
+<!--
+- Two types of hardware interrupts :
+  - Non Maskable Interrupts (NMI)
+  - Interrupt Requests (IRQ)
+- An NMI implies a hardware problem (faulty memory, bus error, etc.). NMIs cannot be ignored or masked. Purpose: to prevent the machine from running, in order to avoid data loss.
+-->
+
+[//]: # ----------------------------------------------------------------
+## Hardware interrupts' execution
+
+- When a device triggers an IRQ, the corresponding hardware interrupt is triggered
+  - the CPU is interrupted **asynchronously** and executes the ISR corresponding to the hardware interrupt
+- By opposition to software interrupts, hardware interrupts are **asynchronous**, i.e. they are triggered at any time during the CPU execution flow
+- The `STI`/`CLI` assembly instructions are used to mask/unmask (enable/disable) hardware interrupts
+
+[//]: # ----------------------------------------------------------------
+## IRQs, hardware interrupts and ISRs
+
+\centering
+![](images/irq_global_view.png){ width=100% }
+
+
+[//]: # ----------------------------------------------------------------
+## IRQ to hardware interrupt mapping at boot
+
+\scriptsize
+
+**IRQ** **Interrupt** **Description**        
+------- ------------- -----------------------
+0       0x08          System timer (PIT)     
+1       0x09          Keyboard               
+2       0x0A          Redirected to slave PIC
+3       0x0B          Serial port (COM2/COM4)
+4       0x0C          Serial port (COM1/COM3)
+5       0x0D          Sound card             
+6       0x0E          Floppy disk controller 
+7       0x0F          Parallel port          
+8       0x70          Real time clock        
+9       0x71          Redirected to IRQ2     
+10      0x72          Reserved               
+11      0x73          Reserved               
+12      0x74          P/S mouse              
+13      0x75          Math coprocessor    
+14      0x76          Hard disk controller   
+15      0x77          Reserved               
+
+[//]: # ----------------------------------------------------------------
+## Hardware interrupt acknowledgement
+
+- Once the execution of a hardware interrupt's ISR is over, the CPU **must notify the PIC** that the IRQ was handled
+  - done by sending the PIC an end of interrupt (EOI) command
+  - usually done at the end of the ISR
+  - this process is called **interrupt acknowledgement**
+  - (the PIC can be programmed to automatically issue an EOI)
+
+\vspace{.5cm}
+- **\textcolor{myred}{If an interrupt is not acknowledged, it won't be triggered again!}**
+
+[//]: # ----------------------------------------------------------------
+## Interrupt Descriptor Table
+
+- On Intel processors, the Interrupt Vector Table (IVT) is called **Interrupt Descriptor Table (IDT)**
+- The IDT defines, for **all interrupt types**, software, hardware and exception, the ISR corresponding to each interrupt number
+- The IDT resides in RAM
+
+[//]: # ----------------------------------------------------------------
+## IDT content
+
+- The IDT contains **interrupt descriptors** (also called *gates*)
+- An **interrupt descriptor** is a 64-bit data structure that mainly defines:
+  - the interrupt descriptor **type**
+  - the **address of the ISR** (also called *offset*)
+  - the **privilege level** (= who can call this interrupt)
+- The IDT is simply an array of **interrupt descriptor** structures
+
+[//]: # ----------------------------------------------------------------
+## Structure of an IDT interrupt descriptor
+
+\small
+
+```{.c .verysmall}
+typedef struct {
+	u16 offset15_0;   // lower 16 bits of ISR's address
+	u16 selector;     // segment selector for code segment
+	u16 reserved : 8;
+	u16 type : 5;     // descriptor type: LDT, task, TSS,
+                      // call, trap, interrupt
+	u16 dpl : 2;      // privilege level (0-3)
+	u16 p : 1;        // segment present (should be 1)
+	u16 offset31_16;  // higher 16 bits of ISR's address
+} __attribute__((packed)) idt_entry_t;
+```
+
+- `offset`: specifies the ISR address (32 bits)
+- `selector`: segment selector in which the ISR resides
+- `type`: descriptor type: LDT, task, TSS, call, trap, interrupt
+- `DPL`: privilege level (kernel/ring 0 or user/ring 3) required to execute the ISR
+
+<!--
+\vspace{-.4cm}
+
+\centering
+![](images/interrupt_desc.png){ width=100% }
+-->
+
+[//]: # ----------------------------------------------------------------
+## Interrupt descriptors
+
+- Many types (6) of interrupt descriptors exist, but we only present two types:
+  - **Interrupt** Gates
+  - **Trap** Gates
+
+- The only difference is their behavior during the execution of the ISR:
+  - **Interrupt** Gate: hardware interrupts are **masked** (disabled)
+  - **Trap** Gate: hardware interrupts are **not masked** (enabled)
+<!--
+    (`IF` Flag of `EFLAGS` remains unchanged)
+-->
+
+[//]: # ----------------------------------------------------------------
+## How does the CPU find the IDT?
+
+- The CPU needs to know where the IDT is located in physical memory
+  - it uses a dedicated register, `IDTR`, that must point to the IDT
+- The `IDTR` register points to a **structure in RAM** defining where the IDT is located and how long it is
+- The `LIDT` instruction is used to load the `IDTR` register with the above structure's address
+
+[//]: # ----------------------------------------------------------------
+## Code example: loading the IDT
+
+\footnotesize
+IDT initialization code (C):
+```{.c .tiny}
+typedef struct {     // Struct defining where the IDT resides
+	uint16_t limit;  // Size of the IDT in bytes
+	uint32_t base;   // Address of the IDT
+} __attribute__((packed)) idt_ptr_t;
+
+static idt_entry_t idt[256];  // IDT
+static idt_ptr_t   idt_ptr;   // declares an idt_ptr_t struct
+
+void idt_init() {
+    memset(idt, 0, sizeof(idt));      // Clears the IDT
+	idt_ptr.limit = sizeof(idt)-1;    // Setup the idt_ptr_t structure
+	idt_ptr.base  = (uint32_t)&idt;   // to points to the IDT
+    idt_load(&idt_ptr);               // Loads the IDT (asm function)
+}
+```
+
+\footnotesize
+Loading the IDTR registers requires the `lidt` instruction (asm):
+```{.assembly .tiny}
+idt_load:
+    mov     eax,[esp+4] ; Address of the idt_ptr struct passed in arg.
+    lidt    [eax]       ; Loads the IDT
+    ret
+```
+
+
+[//]: # ----------------------------------------------------------------
+## Locating the IDT with the IDTR register
+
+\centering
+![](images/idt_and_idtr.png){ width=100% }
+
+<!--
+[//]: # ----------------------------------------------------------------
+## IDT and IDTR register (1/2)
+
+- Similarily to the GDT, the IDT is located by the CPU using the `IDTR` register
+- The 48-bit `IDTR` register contains:
+  - IDT base address (32 bits)
+  - IDT limit (16 bits); as with the GDT, this limit indicates the size of the IDT in bytes - 1.
+- The `lidt` assembly instruction is used to load the IDT into the `IDTR` register so that it can be taken into account by the CPU.
+  - Similar to the `lgdt` instruction and `LGDTR` register when programming the GDT
+
+[//]: # ----------------------------------------------------------------
+## IDT and IDTR register (2/2)
+
+- The `lidt` instruction takes a single argument, the address of a 48-bit structure specifying the base address of the IDT and its size
+- Example: loading the `IDTR` register:
+  ```{.verysmall}
+  lidt [eax]  ; where eax points to a 48 bits structure
+  ```
+-->
+
+[//]: # ----------------------------------------------------------------
+## Execution workflow of a software or hardware interrupt
+
+\footnotesize
+
+What happens when CPU executes `INT 60` or handles hardware interrupt 60?
+
+1. Using the IDTR register, CPU locates the  IDT in RAM
+1. CPU checks IDT limit (size) is < 64-bits * 256; if not $\rightarrow$ exception!
+1. CPU reads interrupt descriptor at index 60 in the IDT
+1. CPU checks ISR can be executed at current privilege level; if not $\rightarrow$ exception!
+1. CPU extracts address of ISR to execute from interrupt descriptor
+1. CPU saves return context on stack (`EFLAGS`, `CS`, and `EIP` registers) to resume execution where it left of before the interruption
+1. CPU executes ISR code (which must ends with an `IRET` instruction)
+1. `IRET` reads the return context from the stack to resume execution
+
+[//]: # ----------------------------------------------------------------
+## Execution workflow of an exception
+
+\footnotesize
+
+What happens when exception 13 occurs? (difference with previous slide in \textcolor{myblue}{blue}):
+
+1. Using the IDTR register, CPU locates the  IDT in RAM
+1. CPU checks IDT limit (size) is < 64-bits * 256; if not $\rightarrow$ exception!
+1. CPU reads interrupt descriptor at index 13 in the IDT
+1. CPU checks ISR can be executed at current privilege level; if not $\rightarrow$ exception!
+1. CPU extracts address of ISR to execute from interrupt descriptor
+1. \textcolor{myblue}{If a fault, loads `CS` and `EIP` with address of the instruction that caused the exception so it can be executed again}
+1. CPU saves return context on stack (`EFLAGS`, `CS`, and `EIP` registers) to resume execution where it left of before the interruption
+1. \textcolor{myblue}{If the exception carries an error code, saves it on the stack}
+1. CPU executes ISR code (which must ends with an `IRET` instruction)
+1. `IRET` reads the return context from the stack to resume execution
+
+[//]: # ----------------------------------------------------------------
+## Execution context
+
+\small
+
+- We don't want the ISR code to modify the state of registers, otherwise the code following the ISR call **will not behave properly!**
+
+- For this reason, the ISR must **perserve** the full CPU context at the beginning of the routine and **restore** it at the end
+
+\vfill
+
+\centering
+![](images/context.png){ width=70% }
+
+[//]: # ----------------------------------------------------------------
+## ISR: important remarks
+
+- Every ISR must be **as short as possible** since during its execution hardware interrupts are often masked
+  - if an ISR takes too long to complete, subsequent hardware interrupts might be missed!
+
+- Usually, the code of an ISR is divided into two parts:
+  - a low-level part, written in assembly, which:
+    - preserves and restores the CPU context
+    - calls the high-level part of the ISR
+  - a high-level part, written in C, which implements the actual behavior of the ISR
+
+<!--
+[//]: # ----------------------------------------------------------------
+## ISR (2/2)
+
+- All ISRs must save the CPU context and update the `DS` register in order to access the correct data (typically kernel data, so `DS` $\leftarrow$ kernel data selector).
+- In the case of `textbf{\textcolor{myorange}}{processor exceptions}}, an error code may or may not be **deposited on the stack, depending on the exception** (cf. table on slide 7).
+-->
+
+[//]: # ----------------------------------------------------------------
+## Lab code: exception handler workflow
+
+\centering
+![](images/exception_handlers.png){ width=100% }
+
+[//]: # ----------------------------------------------------------------
+## Lab code: hardware interrupt handler workflow
+
+\centering
+![](images/interrupt_handlers.png){ width=100% }
+
+
+[//]: # ----------------------------------------------------------------
+## Resources
+
+\small
+
+- Understanding the Linux Kernel (2nd Edition), Daniel P. Bovet, Marco Cesati, O'Reilly
+
+\small
+
+- Interrupts, Exceptions, ISR and IDT at wiki.osdev.org
+
+  - \footnotesize [\textcolor{myblue}{https://wiki.osdev.org/Interrupts}](https://wiki.osdev.org/Interrupts)
+  - \footnotesize [\textcolor{myblue}{https://wiki.osdev.org/Exceptions}](https://wiki.osdev.org/Exceptions)
+  - \footnotesize [\textcolor{myblue}{https://wiki.osdev.org/Interrupt\_Service\_Routines}](https://wiki.osdev.org/Interrupt_Service_Routines)
+  - \footnotesize [\textcolor{myblue}{https://wiki.osdev.org/Interrupt\_Descriptor\_Table}](https://wiki.osdev.org/Interrupt_Descriptor_Table)
diff --git a/course/05-Interrupts.pdf b/course/05-Interrupts.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..7d9b5a6f73971d813fcd092f47c4a06d5507dde4
Binary files /dev/null and b/course/05-Interrupts.pdf differ
diff --git a/course/images/GDT.odg b/course/images/GDT.odg
new file mode 100644
index 0000000000000000000000000000000000000000..f7cc4fa6e8f8777096990fde1a77e4aee0e0b78c
Binary files /dev/null and b/course/images/GDT.odg differ
diff --git a/course/images/PICs.odg b/course/images/PICs.odg
new file mode 100644
index 0000000000000000000000000000000000000000..8f95b87cdbcf7f020afaa3f7bd1bd4e56b8cdf53
Binary files /dev/null and b/course/images/PICs.odg differ
diff --git a/course/images/address_space.odg b/course/images/address_space.odg
new file mode 100644
index 0000000000000000000000000000000000000000..3df17ad7fa7fa412fe4d87d7ac99e2aeae8d35e7
Binary files /dev/null and b/course/images/address_space.odg differ
diff --git a/course/images/address_space_without_legends.odg b/course/images/address_space_without_legends.odg
new file mode 100644
index 0000000000000000000000000000000000000000..72df0b325be833c122839583fcf3d8335d2a7db3
Binary files /dev/null and b/course/images/address_space_without_legends.odg differ
diff --git a/course/images/address_translation_x86-64.odg b/course/images/address_translation_x86-64.odg
new file mode 100644
index 0000000000000000000000000000000000000000..1330f35bda18426008699cb46e0782797a442321
Binary files /dev/null and b/course/images/address_translation_x86-64.odg differ
diff --git a/course/images/basic_address_space.odg b/course/images/basic_address_space.odg
new file mode 100644
index 0000000000000000000000000000000000000000..479455be785d89f5311624f43e8025f5c1bfb086
Binary files /dev/null and b/course/images/basic_address_space.odg differ
diff --git a/course/images/cpu_exceptions.odg b/course/images/cpu_exceptions.odg
new file mode 100644
index 0000000000000000000000000000000000000000..81d1eb5a2fcbfe6c7dc2280a9970d69db6914bb0
Binary files /dev/null and b/course/images/cpu_exceptions.odg differ
diff --git a/course/images/exception_handlers.odg b/course/images/exception_handlers.odg
new file mode 100644
index 0000000000000000000000000000000000000000..22f3532e9c9bad94df3185359dd86e4c7b6ea133
Binary files /dev/null and b/course/images/exception_handlers.odg differ
diff --git a/course/images/exception_handlers.png b/course/images/exception_handlers.png
index e3076611ce7a2e7b87d5c87a42648fb41c5d0020..ebeb3a87dab971b0187174e1731d46b3d72132ea 100644
Binary files a/course/images/exception_handlers.png and b/course/images/exception_handlers.png differ
diff --git a/course/images/external_fragmentation.odg b/course/images/external_fragmentation.odg
new file mode 100644
index 0000000000000000000000000000000000000000..719013767ac5b475e8689f161c4f0954f9ba821e
Binary files /dev/null and b/course/images/external_fragmentation.odg differ
diff --git a/course/images/frame_management.odg b/course/images/frame_management.odg
new file mode 100644
index 0000000000000000000000000000000000000000..5d7218080dfd2f123d91a2fbaa9c267b71e16e52
Binary files /dev/null and b/course/images/frame_management.odg differ
diff --git a/course/images/frame_management_bitarray.odg b/course/images/frame_management_bitarray.odg
new file mode 100644
index 0000000000000000000000000000000000000000..94e4a7432f532522bc2ee450045f1897253af0b5
Binary files /dev/null and b/course/images/frame_management_bitarray.odg differ
diff --git a/course/images/framebuffer.odg b/course/images/framebuffer.odg
new file mode 100644
index 0000000000000000000000000000000000000000..99f7b03302bf5e2d35470ee1b443da5a63250460
Binary files /dev/null and b/course/images/framebuffer.odg differ
diff --git a/course/images/hw_int.odg b/course/images/hw_int.odg
new file mode 100644
index 0000000000000000000000000000000000000000..f9ad944e3beba04a15504c5a0c3397fb4d84deb6
Binary files /dev/null and b/course/images/hw_int.odg differ
diff --git a/course/images/ia32_mapping_example.odg b/course/images/ia32_mapping_example.odg
new file mode 100644
index 0000000000000000000000000000000000000000..2b20481e2bed999e11777d4860d302bf8473d6d2
Binary files /dev/null and b/course/images/ia32_mapping_example.odg differ
diff --git a/course/images/identity_mapping.odg b/course/images/identity_mapping.odg
new file mode 100644
index 0000000000000000000000000000000000000000..d399afca5e2c60a7f640fef8795de9c5abb8cbd5
Binary files /dev/null and b/course/images/identity_mapping.odg differ
diff --git a/course/images/idt_and_idtr.odg b/course/images/idt_and_idtr.odg
new file mode 100644
index 0000000000000000000000000000000000000000..89620fe1d19032dd6fc1cb68af64f648b694a2de
Binary files /dev/null and b/course/images/idt_and_idtr.odg differ
diff --git a/course/images/interrupt_desc.odg b/course/images/interrupt_desc.odg
new file mode 100644
index 0000000000000000000000000000000000000000..7aa3f994a9a511b304840b6f92ca3541da2f959f
Binary files /dev/null and b/course/images/interrupt_desc.odg differ
diff --git a/course/images/interrupt_handlers.odg b/course/images/interrupt_handlers.odg
new file mode 100644
index 0000000000000000000000000000000000000000..669a029c899932a9fb2219acde0c0e23550ba93b
Binary files /dev/null and b/course/images/interrupt_handlers.odg differ
diff --git a/course/images/interrupt_handlers.old.odg b/course/images/interrupt_handlers.old.odg
new file mode 100644
index 0000000000000000000000000000000000000000..df5c8d49d290be8ea1899c23fce711c18c52ee4c
Binary files /dev/null and b/course/images/interrupt_handlers.old.odg differ
diff --git a/course/images/interrupt_handlers.png b/course/images/interrupt_handlers.png
index 400e8e7ced1e089dedc7c31b8f13b91ba2163112..1d3957c4691d6f0a6edba61c17d517ae8576cdc7 100644
Binary files a/course/images/interrupt_handlers.png and b/course/images/interrupt_handlers.png differ
diff --git a/course/images/interrupt_vector_table.odg b/course/images/interrupt_vector_table.odg
new file mode 100644
index 0000000000000000000000000000000000000000..3e1f6f4c75a1c417c1bbe2fff5c6a236d2376837
Binary files /dev/null and b/course/images/interrupt_vector_table.odg differ
diff --git a/course/images/irq_global_view.odg b/course/images/irq_global_view.odg
new file mode 100644
index 0000000000000000000000000000000000000000..d83ff9c5c4dea61c3d2bed8d56536510ac3fe6f2
Binary files /dev/null and b/course/images/irq_global_view.odg differ
diff --git a/course/images/kernel_addr_space.odg b/course/images/kernel_addr_space.odg
new file mode 100644
index 0000000000000000000000000000000000000000..c2de319a65e2a8ac2a2e5cbea9d7656b716e557d
Binary files /dev/null and b/course/images/kernel_addr_space.odg differ
diff --git a/course/images/memory_fetching.odg b/course/images/memory_fetching.odg
new file mode 100644
index 0000000000000000000000000000000000000000..c9863db0a944dc4def80afa05d215f1c418f1804
Binary files /dev/null and b/course/images/memory_fetching.odg differ
diff --git a/course/images/mmio_vs_pmio.odg b/course/images/mmio_vs_pmio.odg
new file mode 100644
index 0000000000000000000000000000000000000000..d96576393134ea641a107de1c89fbaaa56028af0
Binary files /dev/null and b/course/images/mmio_vs_pmio.odg differ
diff --git a/course/images/mmio_vs_pmio.png b/course/images/mmio_vs_pmio.png
index 3baf19543dfc1129599d45561c21646795d5d8f8..68a3829895d18e9c3b18e9808de0da19b5bf0773 100644
Binary files a/course/images/mmio_vs_pmio.png and b/course/images/mmio_vs_pmio.png differ
diff --git a/course/images/mmu.odg b/course/images/mmu.odg
new file mode 100644
index 0000000000000000000000000000000000000000..7f792e92172ebc5e0df3c39135eb191cde2c9401
Binary files /dev/null and b/course/images/mmu.odg differ
diff --git a/course/images/multi_level_paging.odg b/course/images/multi_level_paging.odg
new file mode 100644
index 0000000000000000000000000000000000000000..bc38a43e5345a9e9c849002793a4ec1ff3d478e7
Binary files /dev/null and b/course/images/multi_level_paging.odg differ
diff --git a/course/images/multiple_processes.odg b/course/images/multiple_processes.odg
new file mode 100644
index 0000000000000000000000000000000000000000..785dd397b190b4e9b8a7c6a287aecba4fbd8425c
Binary files /dev/null and b/course/images/multiple_processes.odg differ
diff --git a/course/images/multiple_processes_address_spaces.odg b/course/images/multiple_processes_address_spaces.odg
new file mode 100644
index 0000000000000000000000000000000000000000..3f454c9d9795db545e902264675cb769a1e9cc0e
Binary files /dev/null and b/course/images/multiple_processes_address_spaces.odg differ
diff --git a/course/images/paging_2level_page_table.odg b/course/images/paging_2level_page_table.odg
new file mode 100644
index 0000000000000000000000000000000000000000..b99961bd4f85284bb26b6eaadade068af4de4787
Binary files /dev/null and b/course/images/paging_2level_page_table.odg differ
diff --git a/course/images/paging_2level_page_table_compact.odg b/course/images/paging_2level_page_table_compact.odg
new file mode 100644
index 0000000000000000000000000000000000000000..9968785c4285df8380722e245430feec23d42fa9
Binary files /dev/null and b/course/images/paging_2level_page_table_compact.odg differ
diff --git a/course/images/paging_linear_page_table.odg b/course/images/paging_linear_page_table.odg
new file mode 100644
index 0000000000000000000000000000000000000000..2777d33c4851ebbd3b81b6aea20cdaecfc7491a4
Binary files /dev/null and b/course/images/paging_linear_page_table.odg differ
diff --git a/course/images/paging_null_ptr.odg b/course/images/paging_null_ptr.odg
new file mode 100644
index 0000000000000000000000000000000000000000..5ffc13e55951da47655e797ff763350b32218cc8
Binary files /dev/null and b/course/images/paging_null_ptr.odg differ
diff --git a/course/images/paging_shared_pages.odg b/course/images/paging_shared_pages.odg
new file mode 100644
index 0000000000000000000000000000000000000000..a4bc54f441edf9577fb71ac68089666805ce2f22
Binary files /dev/null and b/course/images/paging_shared_pages.odg differ
diff --git a/course/images/paging_simple_ex.odg b/course/images/paging_simple_ex.odg
new file mode 100644
index 0000000000000000000000000000000000000000..9b4d4b13113a1712be22905201571b5d93d4c240
Binary files /dev/null and b/course/images/paging_simple_ex.odg differ
diff --git a/course/images/paging_stack_overflow.odg b/course/images/paging_stack_overflow.odg
new file mode 100644
index 0000000000000000000000000000000000000000..1694a17a0ffa3727371a85b839485a21c84cf6cf
Binary files /dev/null and b/course/images/paging_stack_overflow.odg differ
diff --git a/course/images/paging_virtual_address_ex_1.odg b/course/images/paging_virtual_address_ex_1.odg
new file mode 100644
index 0000000000000000000000000000000000000000..c7c897cc4466be5596b0478e8e5bf3c65522709e
Binary files /dev/null and b/course/images/paging_virtual_address_ex_1.odg differ
diff --git a/course/images/paging_virtual_address_ex_2.odg b/course/images/paging_virtual_address_ex_2.odg
new file mode 100644
index 0000000000000000000000000000000000000000..0028437fe35fad1400643bb8e1e8854239568ee0
Binary files /dev/null and b/course/images/paging_virtual_address_ex_2.odg differ
diff --git a/course/images/paging_virtual_address_ex_3.odg b/course/images/paging_virtual_address_ex_3.odg
new file mode 100644
index 0000000000000000000000000000000000000000..e1fbc3db59cefa130cbaae2c83e74a77b87f02bf
Binary files /dev/null and b/course/images/paging_virtual_address_ex_3.odg differ
diff --git a/course/images/paging_virtual_address_ex_4.odg b/course/images/paging_virtual_address_ex_4.odg
new file mode 100644
index 0000000000000000000000000000000000000000..6a8b70cb75d5499cf0e5ab0f7a78d3ee7675c71b
Binary files /dev/null and b/course/images/paging_virtual_address_ex_4.odg differ
diff --git a/course/images/part_table_gpt.odg b/course/images/part_table_gpt.odg
new file mode 100644
index 0000000000000000000000000000000000000000..410e4df621974dfbb869f03afe78fadfdf0f37f3
Binary files /dev/null and b/course/images/part_table_gpt.odg differ
diff --git a/course/images/pic_cascade.odg b/course/images/pic_cascade.odg
new file mode 100644
index 0000000000000000000000000000000000000000..b58896d48c7926437810f9581f8ba4817716690e
Binary files /dev/null and b/course/images/pic_cascade.odg differ
diff --git a/course/images/process_address_space.odg b/course/images/process_address_space.odg
new file mode 100644
index 0000000000000000000000000000000000000000..759a195f9d3d758152774930846bc14a84b087b8
Binary files /dev/null and b/course/images/process_address_space.odg differ
diff --git a/course/images/process_address_space_fetching.odg b/course/images/process_address_space_fetching.odg
new file mode 100644
index 0000000000000000000000000000000000000000..026bd868e85305051cd403eaf957b740699e57a1
Binary files /dev/null and b/course/images/process_address_space_fetching.odg differ
diff --git a/course/images/process_relocation.odg b/course/images/process_relocation.odg
new file mode 100644
index 0000000000000000000000000000000000000000..5b5c643b31f0031ac10cb1d53efd054bd8498ca5
Binary files /dev/null and b/course/images/process_relocation.odg differ
diff --git a/course/images/processes_and_phys_address_space.odg b/course/images/processes_and_phys_address_space.odg
new file mode 100644
index 0000000000000000000000000000000000000000..b8c61be702514846b3715e74974f12d7f9d452e7
Binary files /dev/null and b/course/images/processes_and_phys_address_space.odg differ
diff --git a/course/images/segmentation.odg b/course/images/segmentation.odg
new file mode 100644
index 0000000000000000000000000000000000000000..178e092062475e6c7838fc0a5bbea2f4667c6551
Binary files /dev/null and b/course/images/segmentation.odg differ
diff --git a/course/images/syscall_full_workflow.odg b/course/images/syscall_full_workflow.odg
new file mode 100644
index 0000000000000000000000000000000000000000..dfb09c005ef600869b10c9a04e113e5155dd6509
Binary files /dev/null and b/course/images/syscall_full_workflow.odg differ
diff --git a/course/images/syscalls.odg b/course/images/syscalls.odg
new file mode 100644
index 0000000000000000000000000000000000000000..4b2bf6af125b196cefde49ef65381e21703c6e2b
Binary files /dev/null and b/course/images/syscalls.odg differ
diff --git a/course/images/syscalls_dispatch_table.odg b/course/images/syscalls_dispatch_table.odg
new file mode 100644
index 0000000000000000000000000000000000000000..d234cab0aad41ba6c06d51208c2f4c8efff1379e
Binary files /dev/null and b/course/images/syscalls_dispatch_table.odg differ
diff --git a/course/images/task_create.drawio b/course/images/task_create.drawio
new file mode 100644
index 0000000000000000000000000000000000000000..d8b8641650bed542bc60c9d6f2f0994aabd7e484
--- /dev/null
+++ b/course/images/task_create.drawio
@@ -0,0 +1,2429 @@
+<mxfile host="Electron" modified="2024-04-23T09:38:18.305Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.2.5 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="4HuVxekiYdcvc4HrSL2U" version="24.2.5" type="device">
+  <diagram name="Page-1" id="xRqMWYEQTJzr8UWEzbjy">
+    <mxGraphModel dx="3418" dy="2288" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1100" pageHeight="850" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-238" value="&lt;b&gt;Kernel&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="220" y="-240" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-239" value="&lt;b&gt;Modules&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="220" y="-320" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-240" value="&lt;b&gt;Unused&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#000000;fillStyle=cross-hatch;" parent="1" vertex="1">
+          <mxGeometry x="220" y="-200" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-241" value="&lt;b&gt;RAM&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" parent="1" vertex="1">
+          <mxGeometry x="220" y="-520" width="200" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-242" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="240" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-243" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="220" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-244" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="280" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-245" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="320" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-246" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="300" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-247" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="340" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-248" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="400" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-249" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="380" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-250" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="240" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-251" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="220" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-252" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="280" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-253" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="260" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-254" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="320" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-255" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="360" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-256" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="340" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-257" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="400" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-258" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="380" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-259" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="220" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-260" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="280" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-261" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="260" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-262" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="320" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-263" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="300" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-266" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="220" y="-760" width="200" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-267" value="&lt;b style=&quot;font-size: 16px;&quot;&gt;Task space&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="220" y="-800" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-268" value="&lt;i&gt;4GB&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="420" y="-760" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-269" value="&lt;i&gt;0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="420" y="-200" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-270" value="&lt;i&gt;Ring 0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#CC0000;" parent="1" vertex="1">
+          <mxGeometry y="-360" width="360" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-271" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" parent="1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="200" y="-160" as="sourcePoint" />
+            <mxPoint x="200" y="-520" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-274" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
+          <mxGeometry x="220" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-275" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
+          <mxGeometry x="260" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-276" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
+          <mxGeometry x="240" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-277" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
+          <mxGeometry x="280" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-278" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
+          <mxGeometry x="320" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-279" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
+          <mxGeometry x="300" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-280" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
+          <mxGeometry x="340" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-281" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
+          <mxGeometry x="380" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="nOdfrsuBWWGeC7lUmk1g-282" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
+          <mxGeometry x="360" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-92" value="&lt;b&gt;Kernel&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="-140" y="-240" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-93" value="&lt;b&gt;Modules&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="-140" y="-320" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-94" value="&lt;b&gt;Unused&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#000000;fillStyle=cross-hatch;" parent="1" vertex="1">
+          <mxGeometry x="-140" y="-200" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-95" value="&lt;b&gt;RAM&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" parent="1" vertex="1">
+          <mxGeometry x="-140" y="-520" width="200" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-96" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="-120" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-97" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="-140" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-98" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="-80" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-99" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="-40" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-100" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="-60" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-101" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="-20" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-102" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="40" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-103" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="20" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-104" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="-120" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-105" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="-140" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-106" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="-80" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-107" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="-100" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-108" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="-40" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-109" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-110" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="-20" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-111" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="40" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-112" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="20" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-113" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="-140" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-114" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="-80" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-115" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="-100" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-116" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="-40" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-117" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="-60" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-118" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="-140" y="-640" width="200" height="120" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-119" value="&lt;b&gt;Framebuffer&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E6D0DE;strokeColor=#000000;fontColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="-140" y="-680" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-120" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="-140" y="-760" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-121" value="&lt;b style=&quot;font-size: 16px;&quot;&gt;Kernel space&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="-140" y="-800" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-122" value="&lt;i&gt;4GB&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="60" y="-760" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-123" value="&lt;i&gt;0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="60" y="-200" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-124" value="&lt;i&gt;Ring 0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#CC0000;" parent="1" vertex="1">
+          <mxGeometry x="-360" y="-360" width="360" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-125" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" parent="1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="-160" y="-160" as="sourcePoint" />
+            <mxPoint x="-160" y="-520" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-126" value="&lt;i&gt;Ring 0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#CC0000;" parent="1" vertex="1">
+          <mxGeometry x="-200" y="-680" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-127" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" parent="1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="-160" y="-640" as="sourcePoint" />
+            <mxPoint x="-160" y="-680" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-128" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
+          <mxGeometry x="-140" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-129" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
+          <mxGeometry x="-100" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-130" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
+          <mxGeometry x="-120" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-131" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
+          <mxGeometry x="-80" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-132" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
+          <mxGeometry x="-40" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-133" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
+          <mxGeometry x="-60" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-134" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
+          <mxGeometry x="-20" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-135" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
+          <mxGeometry x="20" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="Tw0GtSsca_V-gcj3qF0E-136" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
+          <mxGeometry y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1" value="&lt;b&gt;Kernel&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="1120" y="-240" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-2" value="&lt;b&gt;Modules&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="1120" y="-320" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-3" value="&lt;b&gt;Unused&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#000000;fillStyle=cross-hatch;" vertex="1" parent="1">
+          <mxGeometry x="1120" y="-200" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-4" value="&lt;b&gt;RAM&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="1">
+          <mxGeometry x="1120" y="-520" width="200" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-5" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1140" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-6" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1120" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-7" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1180" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-8" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1220" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-9" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1200" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-10" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1240" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-11" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1300" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-12" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1280" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-13" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1140" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-14" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1120" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-15" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1180" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-16" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1160" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-17" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1220" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-18" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1260" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-19" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1240" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-20" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1300" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-21" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1280" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-22" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1120" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-23" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1180" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-24" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1160" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-25" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1220" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-26" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1200" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-27" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="1120" y="-640" width="200" height="120" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-28" value="&lt;b&gt;Framebuffer&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E6D0DE;strokeColor=#000000;fontColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="1120" y="-680" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-29" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="1120" y="-760" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-30" value="&lt;b style=&quot;font-size: 16px;&quot;&gt;Task space&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="1120" y="-800" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-31" value="&lt;i&gt;4GB&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="1320" y="-760" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-32" value="&lt;i&gt;0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="1320" y="-200" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-33" value="&lt;i&gt;Ring 0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#CC0000;" vertex="1" parent="1">
+          <mxGeometry x="900" y="-360" width="360" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-34" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="1100" y="-160" as="sourcePoint" />
+            <mxPoint x="1100" y="-520" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-35" value="&lt;i&gt;Ring 3&lt;br&gt;&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#006600;" vertex="1" parent="1">
+          <mxGeometry x="1060" y="-680" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-36" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="1100" y="-640" as="sourcePoint" />
+            <mxPoint x="1100" y="-680" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-37" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1120" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-38" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1160" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-39" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1140" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-40" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1180" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-41" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1220" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-42" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1200" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-43" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1240" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-44" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1280" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-45" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1260" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-46" value="&lt;b&gt;Kernel&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="2010" y="-240" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-47" value="&lt;b&gt;Modules&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="2010" y="-320" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-48" value="&lt;b&gt;Unused&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#000000;fillStyle=cross-hatch;" vertex="1" parent="1">
+          <mxGeometry x="2010" y="-200" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-49" value="&lt;b&gt;RAM&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="1">
+          <mxGeometry x="2010" y="-520" width="200" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-72" value="&lt;b&gt;Framebuffer&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E6D0DE;strokeColor=#000000;fontColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="2010" y="-680" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-73" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="2010" y="-760" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-74" value="&lt;b style=&quot;font-size: 16px;&quot;&gt;Task space&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="2010" y="-800" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-75" value="&lt;i&gt;4GB&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="2210" y="-760" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-76" value="&lt;i&gt;0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="2210" y="-200" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-77" value="&lt;i&gt;Ring 0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#CC0000;" vertex="1" parent="1">
+          <mxGeometry x="1790" y="-360" width="360" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-78" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="1990" y="-160" as="sourcePoint" />
+            <mxPoint x="1990" y="-520" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-79" value="&lt;i&gt;Ring 3&lt;br&gt;&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#006600;" vertex="1" parent="1">
+          <mxGeometry x="1950" y="-680" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-80" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="1990" y="-640" as="sourcePoint" />
+            <mxPoint x="1990" y="-680" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-81" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2010" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-82" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2050" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-83" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2030" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-84" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2070" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-85" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2110" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-86" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2090" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-87" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2130" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-88" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2170" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-89" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2150" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-90" value="&lt;b&gt;Kernel&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="760" y="-240" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-91" value="&lt;b&gt;Modules&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="760" y="-320" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-92" value="&lt;b&gt;Unused&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#000000;fillStyle=cross-hatch;" vertex="1" parent="1">
+          <mxGeometry x="760" y="-200" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-93" value="&lt;b&gt;RAM&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="1">
+          <mxGeometry x="760" y="-520" width="200" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-94" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="780" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-95" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="760" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-96" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="820" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-97" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="860" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-98" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="840" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-99" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="880" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-100" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="940" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-101" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="920" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-102" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="780" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-103" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="760" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-104" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="820" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-105" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="800" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-106" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="860" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-107" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="900" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-108" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="880" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-109" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="940" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-110" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="920" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-111" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="760" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-112" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="820" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-113" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="800" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-114" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="860" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-115" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="840" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-116" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="760" y="-640" width="200" height="120" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-117" value="&lt;b&gt;Framebuffer&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E6D0DE;strokeColor=#000000;fontColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="760" y="-680" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-118" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="760" y="-760" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-119" value="&lt;b style=&quot;font-size: 16px;&quot;&gt;Kernel space&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="760" y="-800" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-120" value="&lt;i&gt;4GB&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="960" y="-760" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-121" value="&lt;i&gt;0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="960" y="-200" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-122" value="&lt;i&gt;Ring 0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#CC0000;" vertex="1" parent="1">
+          <mxGeometry x="540" y="-360" width="360" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-123" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="740" y="-160" as="sourcePoint" />
+            <mxPoint x="740" y="-520" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-124" value="&lt;i&gt;Ring 0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#CC0000;" vertex="1" parent="1">
+          <mxGeometry x="700" y="-680" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-125" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="740" y="-640" as="sourcePoint" />
+            <mxPoint x="740" y="-680" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-126" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="760" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-127" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="800" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-128" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="780" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-129" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="820" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-130" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="860" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-131" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="840" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-132" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="880" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-133" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="920" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-134" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="900" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-135" value="&lt;b&gt;Kernel&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="1650" y="-240" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-136" value="&lt;b&gt;Modules&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="1650" y="-320" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-137" value="&lt;b&gt;Unused&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#000000;fillStyle=cross-hatch;" vertex="1" parent="1">
+          <mxGeometry x="1650" y="-200" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-138" value="&lt;b&gt;RAM&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="1">
+          <mxGeometry x="1650" y="-520" width="200" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-161" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="1650" y="-640" width="200" height="120" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-162" value="&lt;b&gt;Framebuffer&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E6D0DE;strokeColor=#000000;fontColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="1650" y="-680" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-163" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="1650" y="-760" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-164" value="&lt;b style=&quot;font-size: 16px;&quot;&gt;Kernel space&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="1650" y="-800" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-165" value="&lt;i&gt;4GB&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="1850" y="-760" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-166" value="&lt;i&gt;0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="1850" y="-200" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-167" value="&lt;i&gt;Ring 0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#CC0000;" vertex="1" parent="1">
+          <mxGeometry x="1430" y="-360" width="360" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-168" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="1630" y="-160" as="sourcePoint" />
+            <mxPoint x="1630" y="-520" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-169" value="&lt;i&gt;Ring 0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#CC0000;" vertex="1" parent="1">
+          <mxGeometry x="1590" y="-680" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-170" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="1630" y="-640" as="sourcePoint" />
+            <mxPoint x="1630" y="-680" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-171" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1650" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-172" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1690" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-173" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1670" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-174" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1710" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-175" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1750" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-176" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1730" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-177" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1770" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-178" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1810" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-179" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1790" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-180" value="&lt;b&gt;Kernel&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="3660" y="-240" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-181" value="&lt;b&gt;Modules&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="3660" y="-320" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-182" value="&lt;b&gt;Unused&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#000000;fillStyle=cross-hatch;" vertex="1" parent="1">
+          <mxGeometry x="3660" y="-200" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-183" value="&lt;b&gt;RAM&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="1">
+          <mxGeometry x="3660" y="-520" width="200" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-184" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3680" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-185" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3660" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-186" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3720" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-187" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3760" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-188" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3740" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-189" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3780" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-190" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3840" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-191" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3820" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-192" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3680" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-193" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3660" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-194" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3720" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-195" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3700" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-196" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3760" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-197" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3800" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-198" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3780" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-199" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3840" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-200" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3820" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-201" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3660" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-202" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3720" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-203" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3700" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-204" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3760" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-205" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3740" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-206" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="3660" y="-640" width="200" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-207" value="&lt;b&gt;Framebuffer&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E6D0DE;strokeColor=#000000;fontColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="3660" y="-680" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-208" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="3660" y="-760" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-209" value="&lt;b style=&quot;font-size: 16px;&quot;&gt;Kernel space&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="3660" y="-800" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-210" value="&lt;i&gt;4GB&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="3860" y="-760" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-211" value="&lt;i&gt;0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="3860" y="-200" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-212" value="&lt;i&gt;Ring 0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#CC0000;" vertex="1" parent="1">
+          <mxGeometry x="3440" y="-360" width="360" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-213" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="3640" y="-160" as="sourcePoint" />
+            <mxPoint x="3640" y="-520" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-214" value="&lt;i&gt;Ring 3&lt;br&gt;&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#006600;" vertex="1" parent="1">
+          <mxGeometry x="3600" y="-680" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-215" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="3640" y="-640" as="sourcePoint" />
+            <mxPoint x="3640" y="-680" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-216" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3660" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-217" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3700" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-218" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3680" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-219" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3720" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-220" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3760" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-221" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3740" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-222" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3780" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-223" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3820" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-224" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3800" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-225" value="&lt;b&gt;Kernel&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="4830" y="-240" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-226" value="&lt;b&gt;Modules&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="4830" y="-320" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-227" value="&lt;b&gt;Unused&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#000000;fillStyle=cross-hatch;" vertex="1" parent="1">
+          <mxGeometry x="4830" y="-200" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-228" value="&lt;b&gt;RAM&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="1">
+          <mxGeometry x="4830" y="-520" width="200" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-251" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="4830" y="-640" width="200" height="120" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-252" value="&lt;b&gt;Framebuffer&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E6D0DE;strokeColor=#000000;fontColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="4830" y="-680" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-253" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="4830" y="-760" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-254" value="&lt;b style=&quot;font-size: 16px;&quot;&gt;Kernel space&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="4830" y="-800" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-255" value="&lt;i&gt;4GB&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="5030" y="-760" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-256" value="&lt;i&gt;0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="5030" y="-200" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-257" value="&lt;i&gt;Ring 0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#CC0000;" vertex="1" parent="1">
+          <mxGeometry x="4610" y="-360" width="360" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-258" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="4810" y="-160" as="sourcePoint" />
+            <mxPoint x="4810" y="-520" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-259" value="&lt;i&gt;Ring 0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#CC0000;" vertex="1" parent="1">
+          <mxGeometry x="4770" y="-680" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-260" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="4810" y="-640" as="sourcePoint" />
+            <mxPoint x="4810" y="-680" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-261" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4830" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-262" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4870" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-263" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4850" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-264" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4890" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-265" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4930" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-266" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4910" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-267" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4950" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-268" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4990" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-269" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4970" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-271" value="&lt;b&gt;Kernel&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="4020" y="-240" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-272" value="&lt;b&gt;Modules&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="4020" y="-320" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-273" value="&lt;b&gt;Unused&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#000000;fillStyle=cross-hatch;" vertex="1" parent="1">
+          <mxGeometry x="4020" y="-200" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-274" value="&lt;b&gt;Framebuffer&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E6D0DE;strokeColor=#000000;fontColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="4020" y="-680" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-275" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="4020" y="-760" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-276" value="&lt;b style=&quot;font-size: 16px;&quot;&gt;Task space&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="4020" y="-800" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-277" value="&lt;i&gt;4GB&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="4220" y="-760" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-278" value="&lt;i&gt;0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="4220" y="-200" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-279" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="4000" y="-160" as="sourcePoint" />
+            <mxPoint x="4000" y="-520" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-280" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="4000" y="-640" as="sourcePoint" />
+            <mxPoint x="4000" y="-680" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-281" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4020" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-282" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4060" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-283" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4040" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-284" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4080" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-285" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4120" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-286" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4100" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-287" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4140" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-288" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4180" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-289" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4160" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-290" value="&lt;br style=&quot;font-size: 16px;&quot;&gt;The kernel uses the task&#39;s mapping by loading the task&#39;s paging directory.&lt;br style=&quot;font-size: 16px;&quot;&gt;It does it to access the task&#39;s pages located at 1GB in the task&#39;s address space.The kernel then copies the task&#39;s code and data from the module&#39;s address to the task&#39;s address space at 1GB.&lt;br style=&quot;font-size: 16px;&quot;&gt;&lt;br style=&quot;font-size: 16px;&quot;&gt;" style="text;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;html=1;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="4291" y="-760" width="200" height="210" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-291" value="&lt;i&gt;Ring 0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#CC0000;" vertex="1" parent="1">
+          <mxGeometry x="3800" y="-360" width="360" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-292" value="&lt;i&gt;Ring 3&lt;br&gt;&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#006600;" vertex="1" parent="1">
+          <mxGeometry x="3960" y="-680" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-293" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="4000" y="-640" as="sourcePoint" />
+            <mxPoint x="4000" y="-680" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-294" value="&lt;div&gt;&lt;b&gt;Task&lt;/b&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b1ddf0;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="3660" y="-620" width="200" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-295" value="&lt;i&gt;1G&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="3860" y="-600" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-296" value="&lt;i&gt;Ring 3&lt;br&gt;&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#006600;" vertex="1" parent="1">
+          <mxGeometry x="3591.25" y="-611.25" width="57.5" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-297" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="3639.44" y="-560" as="sourcePoint" />
+            <mxPoint x="3639.44" y="-620" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-299" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3700" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-300" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3740" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-301" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3800" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-302" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3680" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-303" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3800" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-304" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3780" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-305" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3820" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-306" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3660" y="-400" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-307" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3840" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-308" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3660" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-309" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3700" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-310" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3680" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-311" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3720" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-312" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3760" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-313" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3740" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-314" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3780" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-315" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3820" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-316" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3800" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-317" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="3660" y="-560" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-318" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="4020" y="-640" width="200" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-322" value="&lt;i&gt;Ring 3&lt;br&gt;&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#006600;" vertex="1" parent="1">
+          <mxGeometry x="1941.25" y="-611.25" width="57.5" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-323" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="1989.44" y="-560" as="sourcePoint" />
+            <mxPoint x="1989.44" y="-620" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-324" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="2010" y="-640" width="200" height="120" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-325" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#b0e3e6;strokeColor=#0e8088;edgeStyle=orthogonalEdgeStyle;curved=1;" edge="1" parent="1" source="0AOVjni8bstOHRxbiD9X-308" target="0AOVjni8bstOHRxbiD9X-299">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="3730" y="-530" as="sourcePoint" />
+            <mxPoint x="3780" y="-580" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-326" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#b0e3e6;strokeColor=#0e8088;edgeStyle=orthogonalEdgeStyle;curved=1;" edge="1" parent="1" source="0AOVjni8bstOHRxbiD9X-310" target="0AOVjni8bstOHRxbiD9X-301">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="3680" y="-550" as="sourcePoint" />
+            <mxPoint x="3720" y="-330" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-327" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#b0e3e6;strokeColor=#0e8088;edgeStyle=orthogonalEdgeStyle;curved=1;" edge="1" parent="1" source="0AOVjni8bstOHRxbiD9X-315" target="0AOVjni8bstOHRxbiD9X-306">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="3690" y="-540" as="sourcePoint" />
+            <mxPoint x="3730" y="-320" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-329" value="&lt;b&gt;RAM&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="1">
+          <mxGeometry x="4020" y="-520" width="200" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-330" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4040" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-331" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4020" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-332" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4080" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-333" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4120" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-334" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4100" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-335" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4140" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-336" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4200" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-337" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4180" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-338" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4040" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-339" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4020" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-340" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4080" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-341" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4060" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-342" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4120" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-343" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4160" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-344" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4140" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-345" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4200" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-346" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4180" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-347" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4020" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-348" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4080" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-349" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4060" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-350" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4120" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-351" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4100" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-352" value="&lt;div&gt;&lt;b&gt;Task&lt;/b&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b1ddf0;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="4020" y="-620" width="200" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-353" value="&lt;i&gt;1G&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="4220" y="-600" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-354" value="&lt;i&gt;Ring 3&lt;br&gt;&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#006600;" vertex="1" parent="1">
+          <mxGeometry x="3951.25" y="-611.25" width="57.5" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-355" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="3999.4400000000005" y="-560" as="sourcePoint" />
+            <mxPoint x="3999.4400000000005" y="-620" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-356" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4060" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-357" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4100" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-358" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4160" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-359" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4040" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-360" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4160" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-361" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4140" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-362" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4180" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-363" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4020" y="-400" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-364" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4200" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-365" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4020" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-366" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4060" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-367" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4040" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-368" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4080" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-369" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4120" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-370" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4100" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-371" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4140" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-372" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4180" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-373" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4160" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-374" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="4020" y="-560" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-375" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#b0e3e6;strokeColor=#0e8088;edgeStyle=orthogonalEdgeStyle;curved=1;" edge="1" parent="1" source="0AOVjni8bstOHRxbiD9X-365" target="0AOVjni8bstOHRxbiD9X-356">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="4090" y="-530" as="sourcePoint" />
+            <mxPoint x="4140" y="-580" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-376" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#b0e3e6;strokeColor=#0e8088;edgeStyle=orthogonalEdgeStyle;curved=1;" edge="1" parent="1" source="0AOVjni8bstOHRxbiD9X-367" target="0AOVjni8bstOHRxbiD9X-358">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="4040" y="-550" as="sourcePoint" />
+            <mxPoint x="4080" y="-330" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-377" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#b0e3e6;strokeColor=#0e8088;edgeStyle=orthogonalEdgeStyle;curved=1;" edge="1" parent="1" source="0AOVjni8bstOHRxbiD9X-372" target="0AOVjni8bstOHRxbiD9X-363">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="4050" y="-540" as="sourcePoint" />
+            <mxPoint x="4090" y="-320" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-379" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#fad9d5;strokeColor=#ae4132;edgeStyle=orthogonalEdgeStyle;curved=1;" edge="1" parent="1" source="0AOVjni8bstOHRxbiD9X-216" target="0AOVjni8bstOHRxbiD9X-308">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="3680" y="-550" as="sourcePoint" />
+            <mxPoint x="3720" y="-330" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="3670" y="-310" />
+              <mxPoint x="3630" y="-310" />
+              <mxPoint x="3630" y="-570" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-380" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;fillColor=#fad9d5;strokeColor=#ae4132;edgeStyle=orthogonalEdgeStyle;curved=1;" edge="1" parent="1" source="0AOVjni8bstOHRxbiD9X-223" target="0AOVjni8bstOHRxbiD9X-315">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="3680" y="-250" as="sourcePoint" />
+            <mxPoint x="3670" y="-560" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="3830" y="-300" />
+              <mxPoint x="3870" y="-300" />
+              <mxPoint x="3870" y="-570" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-382" value="&lt;font color=&quot;#ae4132&quot;&gt;Copy&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;" vertex="1" parent="1">
+          <mxGeometry x="3580" y="-460" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-383" value="&lt;font color=&quot;#ae4132&quot;&gt;Copy&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;" vertex="1" parent="1">
+          <mxGeometry x="3850" y="-460" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-384" value="&lt;font&gt;paging (mmu)&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=0;fontColor=#435978;" vertex="1" parent="1">
+          <mxGeometry x="3750" y="-480" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-385" value="&lt;font&gt;paging (mmu)&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=0;fontColor=#435978;" vertex="1" parent="1">
+          <mxGeometry x="4120" y="-480" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-386" value="&lt;b&gt;Kernel&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="5190" y="-240" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-387" value="&lt;b&gt;Modules&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="5190" y="-320" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-388" value="&lt;b&gt;Unused&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#000000;fillStyle=cross-hatch;" vertex="1" parent="1">
+          <mxGeometry x="5190" y="-200" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-389" value="&lt;b&gt;Framebuffer&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E6D0DE;strokeColor=#000000;fontColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="5190" y="-680" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-390" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="5190" y="-760" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-391" value="&lt;b style=&quot;font-size: 16px;&quot;&gt;Task space&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="5190" y="-800" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-392" value="&lt;i&gt;4GB&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="5390" y="-760" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-393" value="&lt;i&gt;0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="5390" y="-200" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-394" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="5170" y="-160" as="sourcePoint" />
+            <mxPoint x="5170" y="-520" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-395" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="5170" y="-640" as="sourcePoint" />
+            <mxPoint x="5170" y="-680" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-396" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5190" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-397" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5230" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-398" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5210" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-399" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5250" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-400" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5290" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-401" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5270" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-402" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5310" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-403" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5350" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-404" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5330" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-405" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="5170" y="-640" as="sourcePoint" />
+            <mxPoint x="5170" y="-680" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-406" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="5190" y="-640" width="200" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-407" value="&lt;b&gt;RAM&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="1">
+          <mxGeometry x="5190" y="-520" width="200" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-408" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5210" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-409" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5190" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-410" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5250" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-411" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5290" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-412" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5270" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-413" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5310" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-414" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5370" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-415" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5350" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-416" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5210" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-417" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5190" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-418" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5250" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-419" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5230" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-420" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5290" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-421" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5330" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-422" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5310" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-423" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5370" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-424" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5350" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-425" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5190" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-426" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5250" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-427" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5230" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-428" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5290" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-429" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5270" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-430" value="&lt;div&gt;&lt;b&gt;Task&lt;/b&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b1ddf0;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="5190" y="-620" width="200" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-431" value="&lt;i&gt;1G&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="5390" y="-600" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-432" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="5169.4400000000005" y="-560" as="sourcePoint" />
+            <mxPoint x="5169.4400000000005" y="-620" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-433" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5230" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-434" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5270" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-435" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5330" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-436" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5210" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-437" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5330" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-438" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5310" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-439" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5350" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-440" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5190" y="-400" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-441" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5370" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-442" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5190" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-443" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5230" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-444" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5210" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-445" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5250" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-446" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5290" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-447" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5270" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-448" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5310" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-449" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5350" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-450" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5330" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-451" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="5190" y="-560" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-452" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#b0e3e6;strokeColor=#0e8088;edgeStyle=orthogonalEdgeStyle;curved=1;" edge="1" parent="1" source="0AOVjni8bstOHRxbiD9X-442" target="0AOVjni8bstOHRxbiD9X-433">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="5260" y="-530" as="sourcePoint" />
+            <mxPoint x="5310" y="-580" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-453" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#b0e3e6;strokeColor=#0e8088;edgeStyle=orthogonalEdgeStyle;curved=1;" edge="1" parent="1" source="0AOVjni8bstOHRxbiD9X-444" target="0AOVjni8bstOHRxbiD9X-435">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="5210" y="-550" as="sourcePoint" />
+            <mxPoint x="5250" y="-330" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-454" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#b0e3e6;strokeColor=#0e8088;edgeStyle=orthogonalEdgeStyle;curved=1;" edge="1" parent="1" source="0AOVjni8bstOHRxbiD9X-449" target="0AOVjni8bstOHRxbiD9X-440">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="5220" y="-540" as="sourcePoint" />
+            <mxPoint x="5260" y="-320" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-456" value="&lt;font&gt;paging (mmu)&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=0;fontColor=#435978;" vertex="1" parent="1">
+          <mxGeometry x="5290" y="-480" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-457" value="&lt;div style=&quot;font-size: 16px;&quot;&gt;&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;span class=&quot;--l --r sentence_highlight&quot; style=&quot;font-size: 16px;&quot;&gt;Finally, the kernel restores its initial address space.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="5460" y="-760" width="170" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-458" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="5170" y="-639" as="sourcePoint" />
+            <mxPoint x="5170" y="-679" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-459" value="&lt;i&gt;Ring 3&lt;br&gt;&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#006600;" vertex="1" parent="1">
+          <mxGeometry x="5130" y="-679" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-460" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="5170" y="-639" as="sourcePoint" />
+            <mxPoint x="5170" y="-679" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-461" value="&lt;i&gt;Ring 3&lt;br&gt;&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#006600;" vertex="1" parent="1">
+          <mxGeometry x="5121.25" y="-610.25" width="57.5" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-462" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="5169.4400000000005" y="-559" as="sourcePoint" />
+            <mxPoint x="5169.4400000000005" y="-619" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-463" value="&lt;i&gt;Ring 0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#CC0000;" vertex="1" parent="1">
+          <mxGeometry x="5130" y="-360" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-491" value="&lt;b style=&quot;font-size: 16px;&quot;&gt;Task space&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="-680" y="-800" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-505" value="&lt;b&gt;Kernel&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="-1040" y="-240" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-506" value="&lt;b&gt;Modules&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="-1040" y="-320" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-507" value="&lt;b&gt;Unused&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#000000;fillStyle=cross-hatch;" vertex="1" parent="1">
+          <mxGeometry x="-1040" y="-200" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-508" value="&lt;b&gt;RAM&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="1">
+          <mxGeometry x="-1040" y="-520" width="200" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-509" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-1020" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-510" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-1040" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-511" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-980" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-512" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-940" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-513" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-960" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-514" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-920" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-515" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-860" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-516" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-880" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-517" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-1020" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-518" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-1040" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-519" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-980" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-520" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-1000" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-521" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-940" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-522" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-900" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-523" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-920" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-524" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-860" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-525" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-880" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-526" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-1040" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-527" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-980" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-528" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-1000" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-529" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-940" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-530" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-960" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-531" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="-1040" y="-640" width="200" height="120" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-532" value="&lt;b&gt;Framebuffer&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E6D0DE;strokeColor=#000000;fontColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="-1040" y="-680" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-533" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="-1040" y="-760" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-534" value="&lt;b style=&quot;font-size: 16px;&quot;&gt;Kernel space&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="-1040" y="-800" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-535" value="&lt;i&gt;4GB&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-840" y="-760" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-536" value="&lt;i&gt;0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-840" y="-200" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-537" value="&lt;i&gt;Ring 0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#CC0000;" vertex="1" parent="1">
+          <mxGeometry x="-1260" y="-360" width="360" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-538" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="-1060" y="-160" as="sourcePoint" />
+            <mxPoint x="-1060" y="-520" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-539" value="&lt;i&gt;Ring 0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#CC0000;" vertex="1" parent="1">
+          <mxGeometry x="-1100" y="-680" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-540" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="-1060" y="-640" as="sourcePoint" />
+            <mxPoint x="-1060" y="-680" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-541" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="-1040" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-542" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="-1000" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-543" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="-1020" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-544" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="-980" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-545" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="-940" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-546" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="-960" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-547" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="-920" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-548" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="-880" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-549" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="-900" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-551" value="Initially, the task address space is empty" style="text;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;html=1;" vertex="1" parent="1">
+          <mxGeometry x="-410" y="-760" width="170" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-552" value="The kernel starts creating the task&#39;s address space by creating an identity mapping from address 0 to the end of the RAM.&lt;br&gt;This mapping&amp;nbsp;is privileged (kernel or ring 0)." style="text;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;html=1;" vertex="1" parent="1">
+          <mxGeometry x="490" y="-760" width="180" height="170" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-553" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="-680" y="-760" width="200" height="600" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-555" value="&lt;i&gt;4GB&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-480" y="-760" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-556" value="The kernel identity maps in the task&#39;s address space the framebuffer as a non-privileged mapping (user or ring 3).&lt;br&gt;" style="text;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;html=1;" vertex="1" parent="1">
+          <mxGeometry x="1390" y="-760" width="170" height="120" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-558" value="The kernel allocates new frames for the task&#39;s code, data and stack." style="text;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;html=1;fontFamily=Helvetica;" vertex="1" parent="1">
+          <mxGeometry x="2280" y="-760" width="170" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-711" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1670" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-712" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1650" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-713" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1710" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-714" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1750" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-715" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1730" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-716" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1770" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-717" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1830" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-718" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1810" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-719" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1670" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-720" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1650" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-721" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1710" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-722" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1690" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-723" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1750" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-724" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1790" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-725" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1770" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-726" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1830" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-727" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1810" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-728" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1650" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-729" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1710" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-730" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1690" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-731" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1750" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-732" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="1730" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-733" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1690" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-734" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1730" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-735" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1790" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-736" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1670" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-737" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1790" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-738" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1770" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-739" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1810" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-740" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1650" y="-400" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-741" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="1830" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-774" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2030" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-775" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2010" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-776" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2070" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-777" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2110" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-778" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2090" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-779" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2130" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-780" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2190" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-781" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2170" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-782" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2030" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-783" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2010" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-784" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2070" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-785" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2050" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-786" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2110" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-787" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2150" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-788" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2130" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-789" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2190" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-790" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2170" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-791" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2010" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-792" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2070" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-793" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2050" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-794" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2110" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-795" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2090" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-796" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2050" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-797" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2090" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-798" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2150" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-799" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2030" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-800" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2150" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-801" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2130" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-802" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2170" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-803" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2010" y="-400" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-804" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2190" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-805" value="&lt;p style=&quot;font-size: 16px;&quot;&gt;&lt;font face=&quot;CMU Sans Serif&quot;&gt;newly allocated&lt;br&gt;frames&lt;/font&gt;&lt;/p&gt;" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="2290" y="-430" width="110" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-807" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;" edge="1" parent="1" source="0AOVjni8bstOHRxbiD9X-805" target="0AOVjni8bstOHRxbiD9X-804">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="2060" y="-480" as="sourcePoint" />
+            <mxPoint x="2110" y="-530" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-808" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="0AOVjni8bstOHRxbiD9X-805" target="0AOVjni8bstOHRxbiD9X-781">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="2300" y="-390" as="sourcePoint" />
+            <mxPoint x="2220" y="-355" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-809" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="0AOVjni8bstOHRxbiD9X-805" target="0AOVjni8bstOHRxbiD9X-799">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="2300" y="-450" as="sourcePoint" />
+            <mxPoint x="2220" y="-415" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-925" value="&lt;b&gt;Kernel&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="2970" y="-240" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-926" value="&lt;b&gt;Modules&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="2970" y="-320" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-927" value="&lt;b&gt;Unused&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#000000;fillStyle=cross-hatch;" vertex="1" parent="1">
+          <mxGeometry x="2970" y="-200" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-928" value="&lt;b&gt;RAM&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="1">
+          <mxGeometry x="2970" y="-520" width="200" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-929" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2990" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-930" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2970" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-931" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3030" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-932" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3070" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-933" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3050" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-934" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3090" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-935" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3150" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-936" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3130" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-937" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2990" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-938" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2970" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-939" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3030" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-940" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3010" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-941" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3070" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-942" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3110" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-943" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3090" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-944" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3150" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-945" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3130" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-946" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2970" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-947" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3030" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-948" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3010" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-949" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3070" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-950" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="3050" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-951" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="2970" y="-640" width="200" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-952" value="&lt;b&gt;Framebuffer&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E6D0DE;strokeColor=#000000;fontColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="2970" y="-680" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-953" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="2970" y="-760" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-954" value="&lt;b style=&quot;font-size: 16px;&quot;&gt;Task space&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="2970" y="-800" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-955" value="&lt;i&gt;4GB&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="3170" y="-760" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-956" value="&lt;i&gt;0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="3170" y="-200" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-957" value="&lt;i&gt;Ring 0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#CC0000;" vertex="1" parent="1">
+          <mxGeometry x="2750" y="-360" width="360" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-958" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="2950" y="-160" as="sourcePoint" />
+            <mxPoint x="2950" y="-520" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-959" value="&lt;i&gt;Ring 3&lt;br&gt;&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#006600;" vertex="1" parent="1">
+          <mxGeometry x="2910" y="-680" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-960" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="2950" y="-640" as="sourcePoint" />
+            <mxPoint x="2950" y="-680" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-961" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2970" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-962" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3010" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-963" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2990" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-964" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3030" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-965" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3070" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-966" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3050" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-967" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3090" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-968" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3130" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-969" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3110" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-992" value="&lt;div&gt;&lt;b&gt;Task&lt;/b&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b1ddf0;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="2970" y="-620" width="200" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-993" value="&lt;i&gt;1G&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="3170" y="-600" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-994" value="&lt;i&gt;Ring 3&lt;br&gt;&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#006600;" vertex="1" parent="1">
+          <mxGeometry x="2901.25" y="-611.25" width="57.5" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-995" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="2949.44" y="-560" as="sourcePoint" />
+            <mxPoint x="2949.44" y="-620" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-996" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3010" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-997" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3050" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-998" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3110" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-999" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2990" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1000" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3110" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1001" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3090" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1002" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3130" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1003" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2970" y="-400" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1004" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3150" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1005" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2970" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1006" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3010" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1007" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2990" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1008" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3030" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1009" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3070" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1010" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3050" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1011" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3090" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1012" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3130" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1013" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="3110" y="-580" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1014" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="2970" y="-560" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1016" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#b0e3e6;strokeColor=#0e8088;edgeStyle=orthogonalEdgeStyle;curved=1;" edge="1" parent="1" source="0AOVjni8bstOHRxbiD9X-1005" target="0AOVjni8bstOHRxbiD9X-996">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="3040" y="-530" as="sourcePoint" />
+            <mxPoint x="3090" y="-580" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1017" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#b0e3e6;strokeColor=#0e8088;edgeStyle=orthogonalEdgeStyle;curved=1;" edge="1" parent="1" source="0AOVjni8bstOHRxbiD9X-1007" target="0AOVjni8bstOHRxbiD9X-998">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="2990" y="-550" as="sourcePoint" />
+            <mxPoint x="3030" y="-330" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1018" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#b0e3e6;strokeColor=#0e8088;edgeStyle=orthogonalEdgeStyle;curved=1;" edge="1" parent="1" source="0AOVjni8bstOHRxbiD9X-1012" target="0AOVjni8bstOHRxbiD9X-1003">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="3000" y="-540" as="sourcePoint" />
+            <mxPoint x="3040" y="-320" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1075" value="&lt;font&gt;paging (mmu)&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=0;fontColor=#435978;" vertex="1" parent="1">
+          <mxGeometry x="3060" y="-480" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1077" value="&lt;br&gt;The kernel maps the newly allocated frames contiguously at 1GB in the task&#39;s address space and add some extra space for the stack.This mapping&amp;nbsp;is non-privileged (user or ring 3).&lt;br&gt;" style="text;align=left;verticalAlign=middle;rounded=0;fontSize=16;html=1;whiteSpace=wrap;" vertex="1" parent="1">
+          <mxGeometry x="3240" y="-760" width="190" height="140" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1208" value="&lt;b&gt;Kernel&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="2610" y="-240" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1209" value="&lt;b&gt;Modules&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="2610" y="-320" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1210" value="&lt;b&gt;Unused&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#000000;fillStyle=cross-hatch;" vertex="1" parent="1">
+          <mxGeometry x="2610" y="-200" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1211" value="&lt;b&gt;RAM&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="1">
+          <mxGeometry x="2610" y="-520" width="200" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1212" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="2610" y="-640" width="200" height="120" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1213" value="&lt;b&gt;Framebuffer&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#E6D0DE;strokeColor=#000000;fontColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="2610" y="-680" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1214" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="2610" y="-760" width="200" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1215" value="&lt;b style=&quot;font-size: 16px;&quot;&gt;Kernel space&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="2610" y="-800" width="200" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1216" value="&lt;i&gt;4GB&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="2810" y="-760" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1217" value="&lt;i&gt;0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="2810" y="-200" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1218" value="&lt;i&gt;Ring 0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#CC0000;" vertex="1" parent="1">
+          <mxGeometry x="2390" y="-360" width="360" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1219" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="2590" y="-160" as="sourcePoint" />
+            <mxPoint x="2590" y="-520" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1220" value="&lt;i&gt;Ring 0&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=270;fontStyle=1;fontColor=#CC0000;" vertex="1" parent="1">
+          <mxGeometry x="2550" y="-680" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1221" value="" style="endArrow=blockThin;startArrow=blockThin;html=1;rounded=0;endFill=1;startFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="2590" y="-640" as="sourcePoint" />
+            <mxPoint x="2590" y="-680" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1222" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2610" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1223" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2650" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1224" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2630" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1225" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2670" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1226" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2710" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1227" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2690" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1228" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2730" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1229" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2770" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1230" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2750" y="-260" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1231" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2630" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1232" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2610" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1233" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2670" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1234" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2710" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1235" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2690" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1236" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2730" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1237" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2790" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1238" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2770" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1239" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2630" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1240" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2610" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1241" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2670" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1242" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2650" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1243" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2710" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1244" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2750" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1245" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2730" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1246" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2790" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1247" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2770" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1248" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2610" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1249" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2670" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1250" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2650" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1251" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2710" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1252" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="2690" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1253" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2650" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1254" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2690" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1255" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2750" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1256" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2630" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1257" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2750" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1258" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2730" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1259" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2770" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1260" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2610" y="-400" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1261" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="2790" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1263" value="&lt;i&gt;stack&lt;/i&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="3111" y="-612" width="40" height="19" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1266" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4850" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1267" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4830" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1268" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4890" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1269" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4930" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1270" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4910" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1271" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4950" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1272" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5010" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1273" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4990" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1274" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4850" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1275" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4830" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1276" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4890" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1277" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4870" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1278" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4930" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1279" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4970" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1280" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4950" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1281" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="5010" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1282" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4990" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1283" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4830" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1284" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4890" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1285" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4870" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1286" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4930" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1287" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="4910" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1288" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4870" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1289" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4910" y="-360" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1290" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4970" y="-340" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1291" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4850" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1292" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4970" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1293" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4950" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1294" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4990" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1295" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="4830" y="-400" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="0AOVjni8bstOHRxbiD9X-1296" value="&lt;i&gt;T1&lt;/i&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
+          <mxGeometry x="5010" y="-380" width="20" height="20" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>
diff --git a/course/images/tasks_and_kernel_addr_spaces_1.odg b/course/images/tasks_and_kernel_addr_spaces_1.odg
new file mode 100644
index 0000000000000000000000000000000000000000..f0fde77aa5d5c3e330613abb4f650f17b1c8f58b
Binary files /dev/null and b/course/images/tasks_and_kernel_addr_spaces_1.odg differ
diff --git a/course/images/tasks_and_kernel_addr_spaces_2.odg b/course/images/tasks_and_kernel_addr_spaces_2.odg
new file mode 100644
index 0000000000000000000000000000000000000000..aa0455f7cf4be9b08d2f6f632a084174a88c2a5d
Binary files /dev/null and b/course/images/tasks_and_kernel_addr_spaces_2.odg differ
diff --git a/course/images/tasks_overview.odg b/course/images/tasks_overview.odg
new file mode 100644
index 0000000000000000000000000000000000000000..b2f074d9abf2d59e5a43911f749825407e24a7aa
Binary files /dev/null and b/course/images/tasks_overview.odg differ
diff --git a/course/images/x86_bootloader.odg b/course/images/x86_bootloader.odg
new file mode 100644
index 0000000000000000000000000000000000000000..065e115324c6116b5290d132e092b4fffcccb07e
Binary files /dev/null and b/course/images/x86_bootloader.odg differ