--- /dev/null
+select()
+- Implemented using a wait queue for every file descriptor
+- That requires waiting on sockets to be centeralised
+
+All wait tasks (reads on VTerm, Pipes, PTYs, network sockets) use the kernel
+version of select with an inifinite timeout.
+They then signal the VFS using their VFS node pointer as a reference
+
+The VFS function select()
+- Maintains a list of processes on each node (if select has been called on that node)
+- Each process maybe has a semaphore on it (to use the semaphore code to maintain the process list)
+ > Could maybe use a mutex instead