嵌入式软件是I/O密集型还是CPU密集型?
我认为,大部分嵌入式软件是I/O密集型的,少部分是CPU密集型的。
https://blog.csdn.net/zoomdy/article/details/90060267
mingdu.zheng at gmail dot com
对于典型的嵌入式系统而言,大部分时间在处理 I/O ,少部分时间在做运算,只有那些具备本地语音识别、图形识别等 AI 功能的系统可能是 CPU 密集型的,如果只是录音或录像上传到云端识别的,仍然算是 I/O 密集型的系统。
既然是 I/O 密集型的软件,大部分时间在处理 I/O,那么 I/O 模型就很重要了。I/O 模型包括:
- 同步阻塞
- 同步非阻塞
- 异步阻塞
- 异步非阻塞
关于四种 I/O 模型的介绍,可以参考 《I/O 模型》
选择怎样的 I/O 模型决定了 I/O 密集型软件的复杂度和性能。并没有完美解决方案,每种 I/O 模型都有它的优缺点,根据应用需求选择吧。