User Level vs. Kernel Level

Eddie Kohler kohler at icir.org
Sun Feb 9 15:30:55 EST 2003


Hi David, nonexhaustively:

Things that you can do at userlevel but not in the kernel:
* Use C++ standard library facilities
* Link with other libraries like Tcl or whatever
* Use normal OS interfaces like files and sockets
* Debug without soiling yourself
* Use elements like KernelTun, FromDump, FromIPSummaryDump, ToDump,
  ToIPSummaryDump, ProgressBar, KernelHandlerProxy, ControlSocket,
  ChatterSocket

Things that you can do in the kernel but not at userlevel:
* Link up to devices directly
* Use our polling device drivers
* Manipulate the kernel's innards directly
* Precise cycle counts for benchmarking
* Multithreaded Click
* Use elements like PollDevice, FastTCPFlows, FastUDPFlows, ToHost,
  ToHostSniffers, FromHost, CycleCountAccum, PerfCountAccum, PerfCountInfo,
  SetCycleCount, SetPerfCount, ScheduleLinux

Hope this helps
Eddie




More information about the click mailing list