Upload
herne
View
50
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Tinkernet. Dan Turner, Mark Kegel, Erik Shimshock and Ryan Ausanka-Crues With Support and Encouragement by Titus Winters, Mike Erlinger, (also Jason Arold). Don’t pay attention to this comment!. Project Overview. What is Tinkernet? - PowerPoint PPT Presentation
Citation preview
TinkernetDan Turner, Mark Kegel, Erik Shimshock and
Ryan Ausanka-Crues
With Support and Encouragement byTitus Winters, Mike Erlinger,
(also Jason Arold)
Don’t pay attention to this comment!
Project Overview•What is Tinkernet?•System to allow students to write
the networking code of an OS•Why would you want it?•Provides a convenient and
controlled environment to write and test networking code
How it works...
SSHTinkerbell
Students Nodes
Hardware•Rack of nodes•Basic (old) computer•minimal components (RAM, CPU,
etc.)•Two network cards
•Couple of hubs, many ethernet cables•Server•Standard computer (lots of RAM)•Linux
Student Assignments
•Writing modules to handle the protocol stack•ethernet, IP, UDP, ARP•Scaled down version of TCP
Student Perspective
•(1) Student writes code•(2) Student compiles code into kernel•(3) Student uses tinkerboot to load
kernel•(4) Student tests kernel•(5) Kernel malfunctions, and student
goes back to step (1)
Behind the Scenes:
Compiling the Kernel•OSKit•provides a fully operable kernel •we strip out the networking
module•student code gets compiled in as
the new networking module•then you have your kernel...
Behind the Scenes:
Booting the Kernel•tinkercontroller•is a daemon that manages the
nodes•a free node is chosen, and the
kernel is sent to it•if all has gone well, you have a
running kernel
The Running Kernel
•Kernels are expected to respond to:•ARP requests•IP broadcast•Handle IP packets•UDP protocol•Also need to be able to generate
their own packets
Things left to do...
•Investigate/implement a less hacked initial node bootup
•Documentation...•Portability...•Packaging for distribution...
Questions?
Special Thanks to:•Costco•Backgammon•Air Conditioning