美文网首页
浏览器工作原理和实践

浏览器工作原理和实践

作者: 9吧和9说9话 | 来源:发表于2020-02-15 19:14 被阅读0次

浏览器架构

早期IE 等浏览器 采用单进程的架构
问题:
① 稳定性差
② 不流畅
③ 不安全

多进程架构

浏览器主进程+渲染进程+GPU进程+网络进程+插件进程
① 使用 多个渲染进程 解决稳定性问题(一个tab发生崩溃 不会影响其他的tab)
② 插件进程+沙盒机制 保证安全性
③ GPU 加速渲染 提升流畅

  1. 浏览器进程:主要负责界面显示、用户交互、子进程管理,同时提供存储等功能

  2. 渲染进程:核心任务是将 HTML、CSS 和 JavaScript 转换为用户可以与之交互的网页,排版引擎 Blink 和 JavaScript 引擎 V8 都是运行在该进程中,默认情况下,Chrome 会为每个 Tab 标签创建一个渲染进程。出于安全考虑,渲染进程都是运行在沙箱模式下。

  3. GPU 进程:其实,Chrome 刚开始发布的时候是没有 GPU 进程的。而 GPU 的使用初衷是为了实现 3D CSS 的效果,只是随后网页、Chrome 的 UI 界面都选择采用 GPU 来绘制,这使得 GPU 成为浏览器普遍的需求。最后,Chrome 在其多进程架构上也引入了 GPU 进程。

  4. 网络进程:主要负责页面的网络资源加载,之前是作为一个模块运行在浏览器进程里面的,直至最近才独立出来,成为一个单独的进程。

  5. 插件进程:主要是负责插件的运行,因插件易崩溃,所以需要通过插件进程来隔离,以保证插件进程崩溃不会对浏览器和页面造成影响。

图片来源 极客时间

问题:

  1. 复杂的架构
  2. 更高的资源内存占有

SOA 面向服务的架构


面向服务的架构 来源极客时间

微队列和宏队列

console.log('start')

setTimeout(function() {
    console.log('tiemout')
})
console.log('center')
new Promise(function (resolve, reject) {
    console.log('promise');
    resolve('aaa');
}).then(function (res) {
    console.log('then ', res);
})

console.log('end')

参考:
极客时间

相关文章

网友评论

      本文标题:浏览器工作原理和实践

      本文链接:https://www.haomeiwen.com/subject/hdxjfhtx.html