多进程还是多线程?
在一些行业,系统由多个模块组成,为了确保某个模块死机后,不会导致整个系统的崩溃,就需要采用多进程进行设计
如,汽车行业,如下是看到的一段模块设计,最后一个进程,可以来监控系统的相关进程工作状态,用看门狗来保证监督,决定系统是否重启。
persist_service 是用来存储APP端配置的数据的
remote_vehicle_service 负责spi信号的转发等
avm3d_service负责摄像头渲染/车模,矫正等,我们看到车模+摄像头的输出由这个进程负责
apps.out vsdk的进程,负责摄像头数据处理,处理完之后通过msgqueue发给avm3d_service
display_mgr 是DVR功能的时候才用到的
avm3d_app 主要负责视图切换逻辑的处理
dvr_service 主要负责dvr的处理
update_service 主要负责升级处理
deamon_service 如果在它监控范围内的进程挂掉/没法正常启动,它会关掉看门狗,mcu 10s后会重启系统