浏览器知识点相关补充

image 计算机的三层架构,最下层是硬件机器,中间是操作系统,最上层是应用 image 当启动应用的时候,操作系统会为这个程序创建一个进程,兵为这个进程分配一片私有的内存空间,当关闭这个程序时,对应的进程也会消失,进程对应的内存也会被释放掉 image 不同进程之间通过IPC通信 谷歌浏览器是多进程架构 image image 采用多进程架构的原因 - 具有很好的容错性,如果所有tab跑在一个进程里,当一个tab挂掉就会连带其他tab一起挂掉,多进程架构使每个tab拥有独立的进程,互不影响 -具有更好的安全性,操作系统可以限制每个进程拥有的能力,例如渲染进程可能会处理来自用户的随机输入,所以浏览器限制了它对系统文件随机读写对能力 不过多进程架构也有它不好的地方,那就是进程的内存消耗。由于每个进程都有各自独立的内存空间,所以它们不能像存在于同一个进程的线程那样共用内存空间,这就造成了一些基础的架构(例如V8 JavaScript引擎)会在不同进程的内存空间同时存在的问题,这些重复的内容会消耗更多的内存。所以为了节省内存,Chrome会限制被启动的进程数目,当进程数达到一定的界限后,Chrome会将访问同一个网站的tab都放在一个进程里面跑 网站隔离 image 网站隔离会为网站内不同站点的iframe 分配一个独立的进程,当不同站点的iframe跑在同一个进程里的时候,他们会共享一片内存,这就有可能会破坏同源策略,会造成一些安全隐患,同源策略是浏览器最核心的安全模型,它可以禁止网站在未经同意的情况下去获取另一个站点的数据 一旦渲染进程“完成”(finished)渲染,它会通过IPC告知浏览器进程(注意这发生在页面上所有帧(frames)的onload事件都已经被触发了而且对应的处理函数已经执行完成了的时候),然后UI线程就会停止导航栏上旋转的圈圈

------------恢复内容结束------------

posted @   _太阳  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示