当前位置: 首页 > news >正文

雄安建设集团有限公司网站监控视频做直播网站

雄安建设集团有限公司网站,监控视频做直播网站,网站建设 图片,郑州短视频拍摄公司一,zygote通信为什么用socket,而不是binder? 1,binder通信依赖用户空间进程Servicemanager,socket通信不依赖用户空间进程。zygote与servicemanager, surfaceflinger等都是通过各自init.rc文件被init进程解析加载,时…

一,zygote通信为什么用socket,而不是binder?

1,binder通信依赖用户空间进程Servicemanager,socket通信不依赖用户空间进程。zygote与servicemanager, surfaceflinger等都是通过各自init.rc文件被init进程解析加载,时序上无法保证zygote启动时候servicemanager一定加载好了。

2,Linux不推荐fork一个多线程的进程的。因为在存在锁的情况下,fork容易导致锁异常。如果zygote使用binder,作为binder服务端至少有一个线程池,要考虑死锁问题。

3,如果zygote使用binder通讯机制的话,从Zygote中fork出的子进程也会有一块mmap的内存。这块内存无用。socket是使用时候copy_from_user 再copy_to_user,虽然两次拷贝,但是中间不会产生额外内存。

4,如果通信从socket改成binder, 则binder组件需要设计逻辑清理fork出来子进程的服务端实例。除了要修改封装的libbinder库,可能binder驱动要增加一套(ioctl)逻辑。而使用socket就简单了,直接在子进程中关闭server socket的句柄, 不影响父进程的server socket。

5,framework的确有很多模块,从以前的socket换成了binder, 比如lmkd模块。但是zygote逻辑已经稳定了,没必要再换。

二,为什么system_server需要在zygote中启动,而不是由init直接启动?

1,对于native层面,程序的 init.rc 文件里面只要不是one shot 或者disable标签,则默认可以在crash后重新启动。而system_server是JAVA代码,linux表示看不懂JAVA代码。

2,zygote是加载java虚拟机的native进程,加载了很多java需要用到的so,JAVA环境。如果直接init来启动system_server,那么system_server还需要先进行加载java虚拟机的过程。即必要的工作并不会减少,那何不在两个进程独立做自己的事情。

3,相对来说system_server容易出现watch dog, crash等异常。在它crash之后,可以由zygote重新拉起。

三,为什么要专门使用zygote进程来孵化应用进程,而不是让system_server来进行孵化呢?

1,Linux不推荐fork一个多线程的进程的。因为如果存在锁的情况下,fork会导致锁异常。system_server的线程池不是32就是64, 很容易出问题。

2,zygote比较小,孵化的子进程有java虚拟机最基本的资源加载。如果JAVA进程是system_server孵化,则孵化后的进程都跟system_server一样大,臃肿且浪费。

3,子进程需要考虑许多父子进程关系的代码逻辑。AMS, PMS等各种服务基本上只能让父system_server进程注册。子进程中这些fork出来的对象要想办法关闭自己并释放内存以免跟父进程各种模块冲突。而zygote fork出来的子进程只要记得关闭server socket即可,其他的组件可以根据自己的代码逻辑慢慢创建。

http://www.yayakq.cn/news/854983/

相关文章:

  • 毕设做购物网站网站建设 推神网络
  • 扁平化企业网源码win8风格精简化源码asp带后台企业网站天噜啦更换域名解析
  • 天水做网站电话做木工的网站
  • 网站开发平台及常用的开发工具网站建设的书
  • 西安app制作设计公司驻马店网站seo
  • 沈阳网站建设报价盐城网站开发招代理
  • 官方网站建设 就问磐石网络专业做网站 中介
  • 商丘网站开发公司网站的验证码怎么做
  • 为什么网站需要维护网页设计图片怎么居中
  • 网站主页面布局怎么做面试网站建设的问题6
  • 网站设计手机版为什么那么多背景最新传奇手游2022首发排行
  • 网站有源代码如何做seowordpress is single
  • 高安市帮助做公司网站怎么自己做网站推广
  • 35互联做网站怎么样女士新能源小型车
  • 佛山公司网站设计团队网站制作步骤是什么
  • 加强检察门户网站建设情况网站建设状态栏
  • 可以做书的网站网站开发网站有哪些
  • 宁波智能模板建站网站SEO的评价
  • 合同下载网站每月网站开发费用
  • 网站功能与建设特色专业教育网站建设
  • 大坪网站建设手工制作大全创意废物利用
  • 网站内容设计上的特色杭州做网站制作
  • 深圳培训手机网站建设Windows怎么建设网站
  • 河南省建设厅网站中州杯网站建设公司汕头的
  • 找人做网站需要什么条件上海公司名称注册查询网
  • 手机端h5网站模板下载中国最大的外贸平台
  • 淘宝客是以下哪个网站的会员简称做app需要学什么编程
  • 如何找有需求做网站的公司建e网室内设计网下载
  • 做电梯销售从哪些网站获取信息响应式网站开发教程pdf
  • 南浔区住房和城乡建设局网站wordpress 跨站