delphij's Chaos

选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……

23 Sep 2009

一部分应用层协议放进kernel?

先把想法记下来。

  • 提供一种描述语言,将应用层协议描述成DFA;
  • 一个generator将DFA转换为代码;
  • 用户态程序通过某种接口来向kernel请求已经协商好的该种协议的socket并由kernel直接填写一部分数据结构;
  • 应用程序对socket的第一个回应有时间限制—-如果一段时间之内不回应,则系统将该socket交给下一个监听进程。

解决的问题:

  • 减少上下文切换。内核直接完成协议初始的协商会话(包括TLS/SSL?)
  • 减少用户能看到的出错情形,i.e. 服务进程不在的时候(例如,在重启过程中)内核可以将服务交给其他服务进程而不是简单地回应RST。