Developing a Multi threaded Kernel From Scratch
Language: English | Size:17.16 GB
Genre:eLearning
Files Included :
1 - Introduction.mp4 (36.79 MB)
MP4
2 - What Is Memory.mp4 (23.25 MB)
MP4
3 - The Boot Process.mp4 (42.74 MB)
MP4
4 - Installing What We Need For Real Mode Development.mp4 (11.55 MB)
MP4
10 - Writing our bootloader to a USB stick.mp4 (12.17 MB)
MP4
11 - Booting the bootloader.mp4 (30.35 MB)
MP4
12 - The Interrupt Vector Table Explained.mp4 (11.14 MB)
MP4
13 - Implementing our own interrupts in real mode.mp4 (44.77 MB)
MP4
14 - Disk Access And How It Works.mp4 (10.26 MB)
MP4
15 - Reading from the hard disk.mp4 (128.47 MB)
MP4
5 - Hello World Bootloader.mp4 (51.11 MB)
MP4
6 - Understanding Real Mode.mp4 (19.18 MB)
MP4
7 - Segmentation Memory Model.mp4 (48.39 MB)
MP4
8 - Improving Our Bootloader.mp4 (21.66 MB)
MP4
9 - Preparing our bootloader to be booted on real hardware.mp4 (47.97 MB)
MP4
100 - Implementing system print in stdlib.mp4 (34.61 MB)
MP4
101 - Implementing system get key in stdlib.mp4 (15.14 MB)
MP4
102 - Implementing Malloc In Our stdlib.mp4 (135.86 MB)
MP4
103 - Implementing Free In Our stdlib.mp4 (67.77 MB)
MP4
104 - Changing the way we map virtual pages for the process.mp4 (12.96 MB)
MP4
105 - Implementing itoa function.mp4 (25.42 MB)
MP4
106 - Implementing the putchar function.mp4 (76.45 MB)
MP4
107 - Implementing the printf function.mp4 (85.48 MB)
MP4
108 - Implementing the ability to read lines.mp4 (54.8 MB)
MP4
109 - Creating a shell.mp4 (88.78 MB)
MP4
110 - Loading other programs from our shell.mp4 (410.99 MB)
MP4
111 - Creating some important stdlib functions.mp4 (70.42 MB)
MP4
112 - Memory Mapping malloc in stdlib.mp4 (54.34 MB)
MP4
113 - Memory Unmapping free In stdlib.mp4 (86.56 MB)
MP4
114 - Process arguments Part 1.mp4 (56.31 MB)
MP4
115 - Process Arguments Part 2.mp4 (310.54 MB)
MP4
116 - Process Arguments Part 3.mp4 (38.25 MB)
MP4
117 - Implementing A System Command.mp4 (141.71 MB)
MP4
118 - Implementing program termination.mp4 (118.22 MB)
MP4
119 - Handling program crashes.mp4 (116.13 MB)
MP4
120 - Creating an exit command.mp4 (34.97 MB)
MP4
121 - Handling caps lock upper case and lower case letters.mp4 (128.17 MB)
MP4
122 - Running multiple tasks at the same time multitasking.mp4 (54.99 MB)
MP4
16 - What is Protected Mode.mp4 (56.9 MB)
MP4
17 - Switching To Protected Mode.mp4 (144.68 MB)
MP4
18 - Restructuring Our Project.mp4 (9.53 MB)
MP4
19 - Enabling the A20 line.mp4 (35.54 MB)
MP4
20 - Creating a Cross Compiler So We Can Code In C.mp4 (214.64 MB)
MP4
21 - Loading our 32 bit kernel into memory and working with debugging symbols.mp4 (582.94 MB)
MP4
22 - Cleaning our object files.mp4 (6.25 MB)
MP4
23 - Dealing With Alignment Issues.mp4 (30.72 MB)
MP4
24 - C Code In Protected Mode.mp4 (35.58 MB)
MP4
25 - Text Mode Explained.mp4 (24.82 MB)
MP4
26 - Writing To The Screen Hello World Tutorial.mp4 (116.34 MB)
MP4
27 - Interrupt Descriptor Table Explained.mp4 (44 MB)
MP4
28 - Implementing The Interrupt Descriptor Table.mp4 (385.49 MB)
MP4
29 - Implementing In and Out Functions.mp4 (95.81 MB)
MP4
30 - Programmable Interrupt Controller Explained.mp4 (14.05 MB)
MP4
31 - Programmable Interrupt Controller Implementation.mp4 (77.21 MB)
MP4
32 - Understanding The Heap And Memory Allocation.mp4 (83.49 MB)
MP4
33 - Implementing Our Heap.mp4 (1002.43 MB)
MP4
34 - Creating the enable interrupts function.mp4 (12.88 MB)
MP4
35 - Understanding Paging.mp4 (55.6 MB)
MP4
36 - Implementing Paging.mp4 (418.07 MB)
MP4
37 - Modifying the page table.mp4 (326.04 MB)
MP4
38 - Preparing To Read From The Hard Disk.mp4 (11.2 MB)
MP4
39 - Reading from the disk in C with the ATA controller.mp4 (233.46 MB)
MP4
40 - Improving Our Disk Driver.mp4 (67.7 MB)
MP4
41 - What is a filesystem.mp4 (30.76 MB)
MP4
42 - Creating a path parser.mp4 (848.06 MB)
MP4
43 - Creating a disk stream.mp4 (228.77 MB)
MP4
44 - File Allocation Table Explained.mp4 (272.89 MB)
MP4
45 - Starting To Create our FAT File system.mp4 (192.29 MB)
MP4
46 - Understanding the VFSVirtual File System Layer.mp4 (19.77 MB)
MP4
47 - Implementing our virtual filesystem core functionality.mp4 (241.74 MB)
MP4
48 - implementing FAT16 filesystem driver core functionality.mp4 (148.36 MB)
MP4
49 - Implementing FAT16 Structures.mp4 (140.27 MB)
MP4
50 - Implementing The FAT16 Resolver Function.mp4 (572.14 MB)
MP4
51 - Implementing the VFS fopen function.mp4 (175.78 MB)
MP4
52 - Implementing FAT16 fopen function.mp4 (1.02 GB)
MP4
53 - Implementing the VFS fread function.mp4 (46.4 MB)
MP4
54 - Implementing FAT16 fread functionality.mp4 (143.94 MB)
MP4
55 - Implementing the VFS fseek functionality.mp4 (18.75 MB)
MP4
56 - Implementing the FAT16 fseek functionality.mp4 (45.99 MB)
MP4
57 - Implementing the fstat VFS functionality.mp4 (35.42 MB)
MP4
58 - Implementing the FAT16 fstat function.mp4 (48.8 MB)
MP4
59 - Implementing the VFS fclose functionality.mp4 (15.82 MB)
MP4
60 - Implementing the FAT16 fclose functionality.mp4 (114.79 MB)
MP4
61 - Implementing a kernel panic.mp4 (13.98 MB)
MP4
62 - Understanding User Land.mp4 (62.07 MB)
MP4
63 - Changing our kernel segment and data descriptors to be written in C.mp4 (132.57 MB)
MP4
64 - Implementing The TSSTask Switch Segment.mp4 (168.97 MB)
MP4
65 - Implementing Task Foundations.mp4 (391.91 MB)
MP4
66 - Implementing Process Foundations Part 1.mp4 (216.42 MB)
MP4
67 - Implementing Process Foundations Part 2.mp4 (278 MB)
MP4
68 - Packing the GDT.mp4 (7.05 MB)
MP4
69 - Implementing User Land Functionality.mp4 (115.38 MB)
MP4
70 - Creating our first user process application.mp4 (89.87 MB)
MP4
71 - Executing the process and dropping into user land privileges.mp4 (48.51 MB)
MP4
72 - Changing the paging functionality.mp4 (39.95 MB)
MP4
73 - Talking with the kernel from userland.mp4 (117.91 MB)
MP4
74 - Creating the interrupt 0x80 for user process to kernel communication.mp4 (309.47 MB)
MP4
75 - Creating the ability to create and execute kernel commands.mp4 (70.08 MB)
MP4
76 - Creating our first kernel command.mp4 (68.58 MB)
MP4
77 - Calling our kernel command.mp4 (28.82 MB)
MP4
78 - Copying strings from the tasks process.mp4 (106.4 MB)
MP4
79 - Reading the tasks stack.mp4 (141.35 MB)
MP4
80 - Creating the print command in the kernel.mp4 (91.79 MB)
MP4
81 - Understanding keyboard access in protected mode.mp4 (47.86 MB)
MP4
82 - Creating the virtual keyboard layer.mp4 (106.2 MB)
MP4
83 - Creating the PS2 port keyboard driver part 1.mp4 (366.26 MB)
MP4
84 - Improving our interrupt descriptor table design.mp4 (221.77 MB)
MP4
85 - Creating a cleaner way to create interrupt handlers in the interrupt descriptor.mp4 (125.55 MB)
MP4
86 - Changing The Current Process.mp4 (56.69 MB)
MP4
87 - Creating the PS2 port keyboard driver part 2.mp4 (187.65 MB)
MP4
88 - Getting a key from the keyboard buffer in user land.mp4 (67.17 MB)
MP4
89 - Creating a putchar command that writes one character to the terminal.mp4 (70.15 MB)
MP4
90 - Implementing backspace in the terminal.mp4 (22.49 MB)
MP4
91 - Revising our stream reader.mp4 (40.18 MB)
MP4
92 - Elf Files Explained.mp4 (197.47 MB)
MP4
93 - Implementing The Elf Loader Part 1.mp4 (257.92 MB)
MP4
94 - Implementing The Elf Loader Part 2.mp4 (135.91 MB)
MP4
95 - Implementing The Elf Loader Part 3.mp4 (24.37 MB)
MP4
96 - Implementing The Elf Loader Part 4.mp4 (189.31 MB)
MP4
97 - Implementing The Elf Loader Part 5.mp4 (374.72 MB)
MP4
98 - Implementing The Elf Loader Part 6.mp4 (228.88 MB)
MP4
99 - Writing User Programs In C.mp4 (150.06 MB)
MP4
124 - Changing our fat16newfatitemfordirectoryitem function.mp4 (6.84 MB)
MP4
125 - Changing our fat16open function.mp4 (25.09 MB)
MP4
126 - Changing our fat16getrootdirectory function.mp4 (28.78 MB)
MP4
127 - Changing our processloadbinary function.mp4 (17.89 MB)
MP4
128 - Improvements to our fat16toproperstring function.mp4 (53.93 MB)
MP4
129 - Changing our restoregeneralpurposeregisters function.mp4 (19.94 MB)
MP4
131 - What is assembly language.mp4 (19.14 MB)
MP4
132 - Installing the emulator.mp4 (7.19 MB)
MP4
133 - Hello World In Assembly.mp4 (181.55 MB)
MP4
134 - Transistors And Logic Gates Understanding The Processor.mp4 (147.76 MB)
MP4
135 - Registers in the 8086.mp4 (115.04 MB)
MP4
136 - Segmentation Memory Model Explained.mp4 (101.18 MB)
MP4
137 - The Stack Subroutines And Endiness Explained.mp4 (127.56 MB)
MP4
138 - Bonus Lecture.mp4 (119.14 MB)
MP4
Developing a Multi threaded Kernel From Scratch.z01
https://rapidgator.net/file/bb99deb01b18e8d3a8ca8d3a8bb88e3d/Developing_a_Multi_threaded_Kernel_From_Scratch.z01
Developing a Multi threaded Kernel From Scratch.z02
https://rapidgator.net/file/cbd7435fdff8d69d86200307ce932581/Developing_a_Multi_threaded_Kernel_From_Scratch.z02
Developing a Multi threaded Kernel From Scratch.z03
https://rapidgator.net/file/a5605d778aec81e50238ee958d8c2629/Developing_a_Multi_threaded_Kernel_From_Scratch.z03
Developing a Multi threaded Kernel From Scratch.z04
https://rapidgator.net/file/a43af4867d86cc08fcd672228c043e8f/Developing_a_Multi_threaded_Kernel_From_Scratch.z04
Developing a Multi threaded Kernel From Scratch.z05
https://rapidgator.net/file/414dd2a256b6dc98e30ba51c059889b0/Developing_a_Multi_threaded_Kernel_From_Scratch.z05
Developing a Multi threaded Kernel From Scratch.z06
https://rapidgator.net/file/3522b57c8a83a33810b02e6c290f74f5/Developing_a_Multi_threaded_Kernel_From_Scratch.z06
Developing a Multi threaded Kernel From Scratch.z07
https://rapidgator.net/file/68371e4ce4d0809b19ee575ba2fde0a4/Developing_a_Multi_threaded_Kernel_From_Scratch.z07
Developing a Multi threaded Kernel From Scratch.z08
https://rapidgator.net/file/b5bbbd11617de511336f8f7865f43ce2/Developing_a_Multi_threaded_Kernel_From_Scratch.z08
Developing a Multi threaded Kernel From Scratch.z09
https://rapidgator.net/file/8c240ece4deee013a6dad75d586a0c32/Developing_a_Multi_threaded_Kernel_From_Scratch.z09
Developing a Multi threaded Kernel From Scratch.z10
https://rapidgator.net/file/47a5aad52a5477281151d567864bb540/Developing_a_Multi_threaded_Kernel_From_Scratch.z10
Developing a Multi threaded Kernel From Scratch.z11
https://rapidgator.net/file/f7b6fe44e2404506def559a2e33837a0/Developing_a_Multi_threaded_Kernel_From_Scratch.z11
Developing a Multi threaded Kernel From Scratch.z12
https://rapidgator.net/file/0635660d6610eb22b9b2b1f963df8a97/Developing_a_Multi_threaded_Kernel_From_Scratch.z12
Developing a Multi threaded Kernel From Scratch.z13
https://rapidgator.net/file/b1774ed297caeaea5b1d904e45bee8a4/Developing_a_Multi_threaded_Kernel_From_Scratch.z13
Developing a Multi threaded Kernel From Scratch.z14
https://rapidgator.net/file/1117af6b8b6ddf375e3671b15f53f175/Developing_a_Multi_threaded_Kernel_From_Scratch.z14
Developing a Multi threaded Kernel From Scratch.z15
https://rapidgator.net/file/35b1e0908065f1614df10df679052a14/Developing_a_Multi_threaded_Kernel_From_Scratch.z15
Developing a Multi threaded Kernel From Scratch.z16
https://rapidgator.net/file/714632d44e453f346baa5c4aad6be4ab/Developing_a_Multi_threaded_Kernel_From_Scratch.z16
Developing a Multi threaded Kernel From Scratch.z17
https://rapidgator.net/file/4f96be06428f42234b33545bf32940bc/Developing_a_Multi_threaded_Kernel_From_Scratch.z17
Developing a Multi threaded Kernel From Scratch.z18
https://rapidgator.net/file/fc548e1468f3218e76a35bb261a02fd5/Developing_a_Multi_threaded_Kernel_From_Scratch.z18
Developing a Multi threaded Kernel From Scratch.z19
https://rapidgator.net/file/171989126fbbf05b8f1e163c325a2243/Developing_a_Multi_threaded_Kernel_From_Scratch.z19
Developing a Multi threaded Kernel From Scratch.z20
https://rapidgator.net/file/c9b47b1229f3239e3e816e649e791b7e/Developing_a_Multi_threaded_Kernel_From_Scratch.z20
Developing a Multi threaded Kernel From Scratch.z21
https://rapidgator.net/file/612906e38eb3ba92dad9c22a90c8947e/Developing_a_Multi_threaded_Kernel_From_Scratch.z21
Developing a Multi threaded Kernel From Scratch.z22
https://rapidgator.net/file/d2f79687c081d1d758e8fc976b453182/Developing_a_Multi_threaded_Kernel_From_Scratch.z22
Developing a Multi threaded Kernel From Scratch.z23
https://rapidgator.net/file/9087c4f1bbf6ad57bfa66d703d15de0b/Developing_a_Multi_threaded_Kernel_From_Scratch.z23
Developing a Multi threaded Kernel From Scratch.z24
https://rapidgator.net/file/2ac0657c76f4d419322eee3db639b9dd/Developing_a_Multi_threaded_Kernel_From_Scratch.z24
Developing a Multi threaded Kernel From Scratch.z25
https://rapidgator.net/file/acc53000f6c937fe83e727dd3d282142/Developing_a_Multi_threaded_Kernel_From_Scratch.z25
Developing a Multi threaded Kernel From Scratch.z26
https://rapidgator.net/file/696bade01816d1f33ebe05dbff4e8e47/Developing_a_Multi_threaded_Kernel_From_Scratch.z26
Developing a Multi threaded Kernel From Scratch.z27
https://rapidgator.net/file/40e068f8d720601ebaa0e1b6a66c4e5c/Developing_a_Multi_threaded_Kernel_From_Scratch.z27
Developing a Multi threaded Kernel From Scratch.z28
https://rapidgator.net/file/71ac3478e9002c80153e3dc9dc24cab6/Developing_a_Multi_threaded_Kernel_From_Scratch.z28
Developing a Multi threaded Kernel From Scratch.z29
https://rapidgator.net/file/3d58f30f6c18dbd6f5f85f6f01ce519d/Developing_a_Multi_threaded_Kernel_From_Scratch.z29
Developing a Multi threaded Kernel From Scratch.z30
https://rapidgator.net/file/77f5f188cccde2c18d23e7282ab5d4e4/Developing_a_Multi_threaded_Kernel_From_Scratch.z30
Developing a Multi threaded Kernel From Scratch.z31
https://rapidgator.net/file/af30b0e1438ee41f18f8a4a3115c9a51/Developing_a_Multi_threaded_Kernel_From_Scratch.z31
Developing a Multi threaded Kernel From Scratch.z32
https://rapidgator.net/file/f009d1ed7c4a2bec1410b96d5cf52be7/Developing_a_Multi_threaded_Kernel_From_Scratch.z32
Developing a Multi threaded Kernel From Scratch.z33
https://rapidgator.net/file/a89aa2965f3043758e9872401c1a7daf/Developing_a_Multi_threaded_Kernel_From_Scratch.z33
Developing a Multi threaded Kernel From Scratch.z34
https://rapidgator.net/file/9231e126e5d5a440b306a2b6356d9ca2/Developing_a_Multi_threaded_Kernel_From_Scratch.z34
Developing a Multi threaded Kernel From Scratch.z35
https://rapidgator.net/file/c46822952c3407b7d888cbf1097c213f/Developing_a_Multi_threaded_Kernel_From_Scratch.z35
Developing a Multi threaded Kernel From Scratch.zip
https://rapidgator.net/file/eb3fcf3cff99416bd99a745286c94b19/Developing_a_Multi_threaded_Kernel_From_Scratch.zip
Developing a Multi threaded Kernel From Scratch.z01
https://ddownload.com/w43ey0uyc8h0/Developing_a_Multi_threaded_Kernel_From_Scratch.z01
Developing a Multi threaded Kernel From Scratch.z02
https://ddownload.com/u5lfnbpp34ls/Developing_a_Multi_threaded_Kernel_From_Scratch.z02
Developing a Multi threaded Kernel From Scratch.z03
https://ddownload.com/md9grx4pia61/Developing_a_Multi_threaded_Kernel_From_Scratch.z03
Developing a Multi threaded Kernel From Scratch.z04
https://ddownload.com/0vqqo3t79k9e/Developing_a_Multi_threaded_Kernel_From_Scratch.z04
Developing a Multi threaded Kernel From Scratch.z05
https://ddownload.com/dckpzx6v0r5t/Developing_a_Multi_threaded_Kernel_From_Scratch.z05
Developing a Multi threaded Kernel From Scratch.z06
https://ddownload.com/egv50foddjcg/Developing_a_Multi_threaded_Kernel_From_Scratch.z06
Developing a Multi threaded Kernel From Scratch.z07
https://ddownload.com/02i6ffo4nqvi/Developing_a_Multi_threaded_Kernel_From_Scratch.z07
Developing a Multi threaded Kernel From Scratch.z08
https://ddownload.com/pmx3machknb3/Developing_a_Multi_threaded_Kernel_From_Scratch.z08
Developing a Multi threaded Kernel From Scratch.z09
https://ddownload.com/zypgj1fss05i/Developing_a_Multi_threaded_Kernel_From_Scratch.z09
Developing a Multi threaded Kernel From Scratch.z10
https://ddownload.com/acsxqzdh3kx8/Developing_a_Multi_threaded_Kernel_From_Scratch.z10
Developing a Multi threaded Kernel From Scratch.z11
https://ddownload.com/219rbgafbn67/Developing_a_Multi_threaded_Kernel_From_Scratch.z11
Developing a Multi threaded Kernel From Scratch.z12
https://ddownload.com/jc3gvmim9fum/Developing_a_Multi_threaded_Kernel_From_Scratch.z12
Developing a Multi threaded Kernel From Scratch.z13
https://ddownload.com/w691i3x0efxi/Developing_a_Multi_threaded_Kernel_From_Scratch.z13
Developing a Multi threaded Kernel From Scratch.z14
https://ddownload.com/cj631m3ndfys/Developing_a_Multi_threaded_Kernel_From_Scratch.z14
Developing a Multi threaded Kernel From Scratch.z15
https://ddownload.com/s8f50q34u5ur/Developing_a_Multi_threaded_Kernel_From_Scratch.z15
Developing a Multi threaded Kernel From Scratch.z16
https://ddownload.com/t08n8b08wqf4/Developing_a_Multi_threaded_Kernel_From_Scratch.z16
Developing a Multi threaded Kernel From Scratch.z17
https://ddownload.com/bzbxd2bsjl6a/Developing_a_Multi_threaded_Kernel_From_Scratch.z17
Developing a Multi threaded Kernel From Scratch.z18
https://ddownload.com/p7l7bgpdbsxb/Developing_a_Multi_threaded_Kernel_From_Scratch.z18
Developing a Multi threaded Kernel From Scratch.z19
https://ddownload.com/61qsm9mcbfmq/Developing_a_Multi_threaded_Kernel_From_Scratch.z19
Developing a Multi threaded Kernel From Scratch.z20
https://ddownload.com/5itj4jvfd1eh/Developing_a_Multi_threaded_Kernel_From_Scratch.z20
Developing a Multi threaded Kernel From Scratch.z21
https://ddownload.com/ewrwe4xqcum4/Developing_a_Multi_threaded_Kernel_From_Scratch.z21
Developing a Multi threaded Kernel From Scratch.z22
https://ddownload.com/8c6iqbubnh4l/Developing_a_Multi_threaded_Kernel_From_Scratch.z22
Developing a Multi threaded Kernel From Scratch.z23
https://ddownload.com/2xfmm93dp5ov/Developing_a_Multi_threaded_Kernel_From_Scratch.z23
Developing a Multi threaded Kernel From Scratch.z24
https://ddownload.com/aeeuqg26wwv6/Developing_a_Multi_threaded_Kernel_From_Scratch.z24
Developing a Multi threaded Kernel From Scratch.z25
https://ddownload.com/8hlrbp27xq6m/Developing_a_Multi_threaded_Kernel_From_Scratch.z25
Developing a Multi threaded Kernel From Scratch.z26
https://ddownload.com/suno4jmtu3n3/Developing_a_Multi_threaded_Kernel_From_Scratch.z26
Developing a Multi threaded Kernel From Scratch.z27
https://ddownload.com/3v492phzef95/Developing_a_Multi_threaded_Kernel_From_Scratch.z27
Developing a Multi threaded Kernel From Scratch.z28
https://ddownload.com/j8hz3mrnioch/Developing_a_Multi_threaded_Kernel_From_Scratch.z28
Developing a Multi threaded Kernel From Scratch.z29
https://ddownload.com/l1hoth2b1g6b/Developing_a_Multi_threaded_Kernel_From_Scratch.z29
Developing a Multi threaded Kernel From Scratch.z30
https://ddownload.com/0ylgyy6q32z2/Developing_a_Multi_threaded_Kernel_From_Scratch.z30
Developing a Multi threaded Kernel From Scratch.z31
https://ddownload.com/soo5qpxjiel3/Developing_a_Multi_threaded_Kernel_From_Scratch.z31
Developing a Multi threaded Kernel From Scratch.z32
https://ddownload.com/aqw8wy2awh87/Developing_a_Multi_threaded_Kernel_From_Scratch.z32
Developing a Multi threaded Kernel From Scratch.z33
https://ddownload.com/nw05y5v2jcsj/Developing_a_Multi_threaded_Kernel_From_Scratch.z33
Developing a Multi threaded Kernel From Scratch.z34
https://ddownload.com/mgafwgtl6j4v/Developing_a_Multi_threaded_Kernel_From_Scratch.z34
Developing a Multi threaded Kernel From Scratch.z35
https://ddownload.com/qvkngnxr0m4m/Developing_a_Multi_threaded_Kernel_From_Scratch.z35
Developing a Multi threaded Kernel From Scratch.zip
https://ddownload.com/gdynqtj5kh7f/Developing_a_Multi_threaded_Kernel_From_Scratch.zip