项目实训(4):Linux系统的IO机制及小车移动机制的项目学习参考

本文介绍了在项目实训中对Linux系统的IO机制,包括同步、异步、阻塞和非阻塞的概念,并探讨了IO多路复用(select、poll、epoll)的效率。项目涉及从零开始的AM3354板子上的嵌入式Linux遥控小车开发和基于树莓派与Python的智能小车项目,后者具有较高的可行性但硬件需求较大。最终决定重点研究QT开发,而小车移动机制的实现暂不作为重点。
摘要由CSDN通过智能技术生成

序言:

首先,明确机制前要区分好基础概念:同步?异步?阻塞?非阻塞?用户?内核?等操作系统的基础概念。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hBC93fOZ-1649335704395)(https://upload-images.jianshu.io/upload_images/2062729-49ac9eb7d4d2d019.png?imageMogr2/auto-orient/strip|imageView2/2/w/786/format/webp)]

  • 阻塞模型:最简单的,有性能代价;
  • 同步非阻塞:轮询,整体响应有延迟;
  • IO多路复用:'select、poll、epoll ’ ,等函数,相较于轮询更加高效
  • 以上这些都可以归结为同步模型;
  • 根据我们的设计思路,肯定是要考虑同步IO的,所以就不再介绍异步模型了。

考虑到设计的性能和复杂程度,我们优先考虑采用的模型是IO多路复用。考虑到:

所以,如果处理的连接数不是很高的话,使用select/epoll的web server不一定比使用multi-threading + blocking IO的web server性能更好,可能延迟还更大。(select/epoll的优势并不是对于单个连接能处理得更快,而是在于能处理更多的连接。)

还是应该统摄设计多种方案,比较后采用较为高效的。

参考项目一:

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值