美文网首页
一些预备知识

一些预备知识

作者: 铁拳阿牛 | 来源:发表于2017-09-12 00:54 被阅读100次

转载请注明原文出处,谢谢!

接下我将总结一下垃圾收集的东西,首先补充一下基础知识。

    可能之前大家已经接触过收集器了,这里将会对收集器的一些基础知识进行描述。

    GC算法我的上一篇已经有过描述了,这里将会讲解一些硬件上东西,处理器和线程,内存和cache的一些东西。

接下来我们,看一下下图是至强cpu的一张图,cache这个东西大多数时候都是被我们忽略了。

至强CPU的部分参数

处理器

Linux使用了Ring3级别运行用户态,Ring0作为内核态,没有使用Ring1和Ring2。Ring3状态不能访问Ring0的地址空间,包括代码和数据。

线程是单一顺序控制流(按照代码顺序执行),线程有三个状态,执行,就绪,准备。

引入线程的操作系统中,把线程作为调度和分派的基本单位,线程是独立运行的基本单位。

调度器是操作系统的组件,是为了确定,任意时刻哪些线程在哪些处理器上运行。

既然上面都贴图了,可以看到10核20线程,这个技术叫做超线程,指多个逻辑处理器公用一条指令流水线。调度器运行线程和处理器间有一定的亲和性。(当然空闲核心怎么窃取其他的核心上的线程这个我还不知道,希望知道的大牛给予回复)

分时操作系统是把CPU的时间划分成长短基本相同的时间区间,即"时间片",通过操作系统的管理,把这些时间片依次轮流地分配给各个用户使用.如果某个作业在时间片结束之前,整个任务还没有完成,那么该作业就被暂停下来,放弃CPU,等待下一轮循环再继续做.此时CPU又分配给另一个作业去使用。

内存

物理内存可能是跨越多个内存单元和处理器的,不过从垃圾收集器的角度来看,共享内存看起来就是一块由字或者字节组成的单个地址空间。

这里顺带提一下JVM的内存模型,JVM线程间通信有两种方式,一种是基于消息的,一种是共享内存。jvm是基于共享内存实现的。

高速缓存

相对于cpu的计算速度来说,内存的速度的确非常慢的,现在的处理器和内出间通常会架设一到多层高速缓存,每一层间的速度当然不一样,这玩意贵弄不了太大。现代处理器大多为多级处理器,至强这款,就为三级处理器。cache命中后能提高交互速度。   深入了解搓这里

相关文章

  • 一些预备知识

    转载请注明原文出处,谢谢! 接下我将总结一下垃圾收集的东西,首先补充一下基础知识。 可能之前大家已经接触过收集...

  • Android Systrace 基础知识(2) -- 分析 S

    本文是 Systrace 系列文章的第二篇,主要是讲解一些分析 Systrace 的预备知识, 有了这些预备知识,...

  • Android事件分发

    1.事件响应机制的预备知识 在深入了解Android事件响应机制前,一些预备知识我们应该有所了解。 1.1 onT...

  • Android事件分发机制

    1.事件响应机制的预备知识 在深入了解Android事件响应机制前,一些预备知识我们应该有所了解。 1.1 onT...

  • 【 数据结构 & 算法 】—— 二叉树、图

    思维导图 预备知识:二叉树定义(★) 预备知识_二叉树定义.cpp 预备知识:二叉树的深度遍历(★) 预备知识_二...

  • fasttext文本分类与原理

    预备知识 为了更好的理解fastText,我们先来了解一些预备知识。第一个是BoW模型,也叫做词袋模型。BoW模型...

  • 预备知识

    M3内核基本结构 Cortex-M3内核是32位的 M3F103内核采用Thumb-2指令集 支持16/32位指令...

  • 预备知识

    数据仓库定义 数据仓库的基本概念 面向主题的、集成的、非易失的、反应历史变化的,数据集合,用于支持管理决策。 数据...

  • 预备知识

    定义一个结构体,包括邻接结点和边权值,用来表示一条边 用vector表示结点 清空 添加 删除

  • 从教师的角度解读远方文学的课程体系——第80篇

    远方文学第一级课程是预备级。 预备级学习史地知识,最主要的是突出和文学相关的一些史实和地理知识。很多战争的发生都和...

网友评论

      本文标题:一些预备知识

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