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

深圳公司形象墙制作中山seo关键词

深圳公司形象墙制作,中山seo关键词,杭州哪家做外贸网站好,廊坊集团网站建设一,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.sczhlp.com/news/138069/

相关文章:

  • 零基础网站建设视频网站安全建设论文
  • 苏州电商网站建设wordpress兼职
  • 微平台网站开发wordpress 滑动解锁
  • html5 手机网站 模板推进网站集约化建设制度
  • 自己创建公司网站开个小公司做什么好
  • 网站为什么不收录免费电视剧在线观看
  • 天津做网站的宝安做棋牌网站建设哪家好
  • 临清网站开发泰州网站排名seo
  • 上海企业网站的建设做暧暧视频网站
  • 局域网的网站建设企业门户网站设计
  • 写作网站六大神书如何通过做网站挣钱
  • 免费人体做爰网站企业网站开发流程简述
  • 做维修家具广告在哪个网站好wordpress禁止搜索页面
  • 咋做黄页网站软件实施工程师工资一般多少
  • 做网站要什么技术汕头网页
  • 福州网站建设兼职建设中网站首页
  • 三三网是什么网站网站推广专家
  • 深圳网站设计服务找哪家软件制作工程师
  • 西安微信商城网站开发重庆新闻app
  • 全国设计网站公司网站官方网站如何建立
  • 建立免费公司网站网站运营外包公司
  • 标准卷积和空洞卷积--适应不同尺寸的输入--ASPP模块
  • 游戏在高负载场景下,整机功耗控制在多少
  • 打印机状态错误,怎么恢复正常打印?
  • 使用Ollama 0.12.2本地部署大模型,友好界面对话,开启飞行模式数据完全存在本地
  • 网站建站历史做教育类网站
  • 自助制作网站明天去广州需要隔离吗
  • dede网站怎么设置首页北京商场购物卡
  • 打鱼在线游戏网站建设网站掉权重是怎么回事
  • wordpress数据库设置密码seo咨询师招聘