美文网首页
内存图与JS世界 ---笔记(一)

内存图与JS世界 ---笔记(一)

作者: shangjingfan | 来源:发表于2021-01-23 01:31 被阅读0次

一切运行在内存中

计算机开机过程

操作系统在C盘中,按下开机键,主板通电,开始读取固件,开机程序会将文件中的操作系统加载到内存中运行。
固件:就是固定在主板上的存储设备,里面有开机程序

操作系统(以Linux为例)
  1. 首先加载操作系统内核
  2. 然后启动初始化进程,编号为1,每个进程都有编号
  3. 启动系统服务:文件、安全、联网
  4. 等待用户登录:输入密码登录/ssh登录
  5. 登录后,运行shell,用户就可以和操作系统对话了
    注:1. bash和图形化界面都是shell;2. 真正能控制计算机硬件(cpu、内存、显示器等)的只有操作系统内核kernel,shell只是架设在用户和内核之间的桥梁;3. shell的本质就是让用户能够更加高效、安全、低成本的使用Linux内核
打开Chrome浏览器的过程
  • 双击chrome图标,运行chrome.exe文件
  • 开始chrome进程,作为主进程
  • 主进程会开启一些辅助进程,如网络服务、GPU加速等
  • 每新建一个网页都有可能开启一个子进程
浏览器的功能
  1. 发起请求,下载HTML,解析HTML,下载CSS,解析CSS,渲染界面,下载JS,解析JS,执行JS等
  2. 功能模块:用户界面、渲染引擎、JS引擎、存储等(引擎是代码)
  3. 上面的功能模块一般各处于不同的线程(如果进程是车间,那么线程就是车间里的流水线)
    注:1. 渲染就是将解析后的HTML和CSS合起来呈现到页面上;2. JS引擎不能直接渲染页面,它要通过跨线程通信联系渲染引擎进行渲染;3. 每开启一个页面,就会开启一个渲染引擎线程,一个JS引擎线程,JS引擎线程是单线程
Chrome浏览器用的是v8引擎

它的主要功能是:

  1. 编译:把JS代码翻译成机器能执行的字节码或者机器码
  2. 优化: 改写代码,使其更高效
  3. 执行JS代码: 执行上面的字节码或者机器码
  4. 垃圾回收:把JS用完的内存回收,下次继续用
    执行JS代码阶段,浏览器会提供好API,比如window、document、setTimeout等,提供的这些功能就是JS的运行环境,当把JS放进页面,就能执行了

相关文章

  • 内存图与JS世界 ---笔记(一)

    一切运行在内存中 计算机开机过程 操作系统在C盘中,按下开机键,主板通电,开始读取固件,开机程序会将文件中的操作系...

  • 内存图与JS世界 ---笔记(二)

    JS引擎中的区域: 代码区: 比如 var a = 1 存放变量 a的区域 数据区:Stack区、Heap区 还有...

  • 内存图与JS世界(待补充)

    stack区顺序存放,heap区随机存放非对象(数字,字符串,布尔)都存在Stark,对象(数组,函数)都存在He...

  • JS内存图

    画JS内存图可以有效的解决JS中的一些内存问题JS中内存分为2中:栈内存(Stack)跟堆内存(Heap)栈内存:...

  • 内存与JS世界

    打开chrome 开启一个主进程 主进程会开启一些辅助进程,比如GPU进程,网络服务进程 每打开一个tab页,就会...

  • JS内存图

  • js 内存图

    7.垃圾回收 参考教程饥人谷

  • JS内存图

    上篇文章说了js诞生,今天我们来说说js是存在哪里的,首先从浏览器的功能说起。 浏览器功能 浏览器功能主要有发起请...

  • JS内存图

    Get Started • 操作系统• 进程与线程• JS引擎• 瓜分内存• JS入门三座大山之原型 操作系统常识...

  • Vue-思维导图笔记

    Vue思维导图笔记 转载自vue.js思维导图笔记

网友评论

      本文标题:内存图与JS世界 ---笔记(一)

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