Solaris上的epoll实现
来源:互联网 发布:网络高级工程师上课图 编辑:程序博客网 时间:2024/05/01 12:09
基本上现代的操作系统都有自己的类似与Linux中的epoll实现,在Solaris 10中除了传统的poll(2),我们可以选择使用/dev/poll或者Event Completion Framework。
Sun的工程师Dave Pacheco就这些Solaris上的Poll方式做过一些Benchmark的值,大家可以访问他的Blog (http://blogs.sun.com/dap/entry/event_ports_and_performance)。
/dev/poll 或者叫做poll(7d)是一个特别的Driver,可以让你高效的poll大量File Descriptor。因为/dev/poll将整个poll动作在内核中完成,具体使用可以查看Solaris Man Page,里面有一些实际的代码可供参考。
-bash-3.00$ man -s 7d poll
-bash-3.00$ man -s 7d poll
或者访问docs.sun.com: http://docs.sun.com/app/docs/doc/816-5177/6mbbc4g9q?l=zh&a=view
这里有一篇比较老的文章,大家也可以参考一下,里面有一些Benchmark数据:
http://developers.sun.com/solaris/articles/polling_efficient.html
不过这个机制,现在不推荐大家使用了,因为Solaris 10推出了更为出色的解决方案Event Completion Framework,也叫做Event Port,而且/dev/poll/很可能在将来的Solaris版本中删除掉。这个Framework提供更方便的Event-Driven 实现机制,更加优秀的API,抽象化操作各种Event,包括File descriptors, Sockets, Timers, Pipes, Message Queues, Asynchronous I/O, 自定义Events。具体可以参考这份文章,里面还有针对其它操作系统各自epoll实现的比较:
http://developers.sun.com/solaris/articles/event_completion.html
Solaris Man Page:
-bash-3.00$ man port_create
docs.sun.com: http://docs.sun.com/app/docs/doc/816-5168/6mbb3hris?l=zh&a=view
Sun的工程师Dave Pacheco就这些Solaris上的Poll方式做过一些Benchmark的值,大家可以访问他的Blog (http://blogs.sun.com/dap/entry/event_ports_and_performance)。
各个操作平台上都虽有Solaris的epoll实现,很可惜这些都未标准化。不过一些开源的软件已经就此做了一些努力,尝试对这些系统之间差异的函数做了封装,比如Apache的APR (http://apr.apache.org/),它为UNIX/Linux程序抽象了底层平台各自的实现,包括Solaris的Event Completion Framework,BSD的Kqueue,Linux的epoll和poll。或者也可以参考类似的libevent(http://www.monkey.org/~provos/libevent/),使用BSD License。
- Solaris上的epoll实现
- Solaris上HA+的实现
- Solaris上的Dmalloc
- SOLARIS上syslog的使用
- Solaris上的性能监控
- Epoll的实现
- epoll的实现原理
- epoll的实现原理
- epoll的内核实现
- epoll 的实现原理
- epoll的内核实现
- epoll的实现原理
- EPOLL的内核实现
- epoll的实现原理
- man epoll上的几个问题
- 在solaris上使用rsync(1):实现两个server之间的文件传输
- solaris上的两种线程模型
- Solaris上数据保护的一些考虑
- 学习JSP中
- 升级win2003sp2造成Global.asa session失效
- test
- Tapestry 5组件事件
- OSGI是很好的SOA思想
- Solaris上的epoll实现
- 建站技术- IIS服务器组建攻略
- 用Delphi编写OpenGL导学
- 请问:jsp中如何判断单选按钮、复选框、下列表 被选中。
- 关于C指针
- The Tao of Programming
- 什么是工厂模式
- 4.2
- 什么是设计模式