浏览器的工作原理(1)

看了极客时间李兵老师的浏览器工作原理写的关于自己的理解。需要详细了解的可以去购买课程

java转前端后已经工作了差不多两年,看了老师的课程我才知道前端到底要去学习什么,我这两年了一直在学习如何使用轮子,使用什么什么框架了,然后了解轮子的工作原理,自己会去搭建轮子,但是谁让轮子动起来的,动起来的机制是什么,我现在才慢慢学习到。

在课程中总结浏览器的三个大的进化路线,

应用程序web化,web应用移动化,还有web操作系统化。

但是我认为,以后只有有一个 就是web操作系统化,操作系统可放在各种类似手机 电脑 手表等类似硬件上,不知道我们国家什么时候出个牛逼点的浏览器,下面进入正题。

作为前端工程师,我们要学什么呢,需要了解,浏览器的网络流程,页面渲染过程,JavaScript执行流程,以及web安全理论,通过对浏览器的多进程架构学习,从而让我们以高纬度进行项目设计。

线程:

计算机的并行处理就是同一时刻处理多个任务

A=1+2

B=20/5

C=7*8

可以分为四个任务,三条计算任务加一个显示任务。若使用单线程执行需要执行四步,使用多线程只需要两步。

进程:一个进程就是一个程序的运行实例,启动一个程序的时候,操作系统会未该程序创建一块内存,用来存放代码,运行中的数据,和一个执行任务的主线程 

线程是依附于进程的,而进程中使用多线程并行处理能提升运算效率

进程中的任意线程出错,都会导致整个进程的崩溃

当一个进程关闭之后,操作系统会回收进程所占的内存。此进程中的各种问题也会随之消失。

进程之间的内容相互隔离,当一个进程出现问题时,不会影响到其他的进程

现在的浏览器是多进程时代

当Chrome浏览器启动一个页面,他会启动几个进程呢

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

渲染进程:核心任务是将Html css 和JavaScript 转换为用户可以与之交互的网页,排版引擎Bink和JAvaScript引擎V8

都是运行在该进程中,默认情况下,Chrome会为每个TAb标签创建一个渲染进程,出于安全考虑,渲染进程都是运行在沙箱模下

CPU进程:Chrome刚开始发布的时候是没有Gpu进程的,而GPU的使用初衷是为了实现3d css效果,只是随后网页。Chrome的UI界面都是采用GPU,GPU成为浏览器普遍的需求,最后,Chrome在其多进程架构上引入了GPU进程

网络进程:主要负责页面的网络资源加栽,之前是作为一个模块多礼运行在浏览器进程里面的,也是最近独立出来,成为一个单独的进程

插件进程:

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值