From b041913340782aa9d5c78d710fd0d636417eaee6 Mon Sep 17 00:00:00 2001
From: Moritz Knaut <moritz.knaut@fau.de>
Date: Sat, 16 Apr 2016 15:19:04 +0200
Subject: [PATCH] * Added protocol for 14.05.2016

---
 protocols/PROTOCOL_14_05_2016 | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 protocols/PROTOCOL_14_05_2016

diff --git a/protocols/PROTOCOL_14_05_2016 b/protocols/PROTOCOL_14_05_2016
new file mode 100644
index 0000000..eae630e
--- /dev/null
+++ b/protocols/PROTOCOL_14_05_2016
@@ -0,0 +1,25 @@
+TODOs for next week:
+- Search the kernel data structures which contain the objects we want to supply as virtual 'devices'
+- Search the specific abstraction layer for each group of devices
+- Think about the connection to the application program emulating the hardware.
+[- Keep in mind the other direction: real devices connected to virtual operating system(FAUMachine).]
+
+Device groups to implement:
+- USB: 
+	- Abstraction layer could be the layer of usb controllers
+	- Define driver for 'virtual' usb controller and append it to the usb controller list
+
+- Harddrive ATA:
+	- Block I/O?
+
+- Network interface: 
+	- Abstraction layer could be the lowest layer in OSI/IP stack (Between IP and MAC) 
+	- Register as network card driver.
+
+- Character devices:
+	- Abstraction layer could be just read/write/...
+	- Register as character device driver.
+
+[ - Other devices: ]
+[	- Just replace the normal driver, abstraction layer is ioctl,read,write,open,close,... 	] 
+[ 	- Is there in some drivers a abstraction layer between driver code and in/out/mem? 	]
-- 
GitLab