Juc10_CPU指令、缓存结构、运行安全等级、操作系统内存管理、上下文切换、虚拟机指令集架构(三)

简介: ⑤. 操作系统内存管理⑥. 上下文切换⑦. 虚拟机指令集架构

⑤. 操作系统内存管理


  • ①. 操作系统有用户空间与内核空间两个概念,目的也是为了做到程序运行安全隔离与稳定,以32位操作系统4G大小的内存空间为例


微信图片_20220107182134.png


②. 由空间划分我们再引深一下,CPU调度的基本单位线程,也划分为:内核线程模型(KLT)、用户线程模型(ULT)


Java是内核线程模型(KLT)


微信图片_20220107182150.png


⑥. 上下文切换


  • ①. 线程的上下文切换: 把上一个线程的中间状态保存,切换到另一个线程,这就是线程的上下文切换(这些中间状态保存在内存中(Task State Segment))


②. CPU在执行T1|T2两个线程的时候,实际上是分配时间周期的方式,在调度的时候,会给T1、T2分配时间,比如说T1是50ns、T2是100ns,在执行T1的时间片中,如果T1线程没有执行完毕,那么就会保存T1运行到此刻的中间状态保存(比如代码执行到哪里来了,就把到此刻的结果进行保存),然后再去执行T2)


微信图片_20220107182214.png


⑦. 虚拟机指令集架构


①. 栈指令集架构(Java采用的是这样架构)


比如说我们执行1+2,会先将1先放到操作数栈中,然后从操作数栈中取出,放到局部变量表,将2放入操作数栈中,然后从操作数栈中取出,放到局部变量表。在将局部变量表的1和2取出放到操作数栈中计算


②. 寄存器指令集架构(会非常快)


比如说我们执行1+2,那么直接将1和2从内存读到CPU中,然后进行相加得到结果,刷回内存中


相关文章
|
1月前
|
开发者 芯片 内存技术
|
3月前
|
存储 Ruby 内存技术
【机组期末速成】CPU的结构与功能|CPU结构|指令周期概述|指令流水线|中断系统
【机组期末速成】CPU的结构与功能|CPU结构|指令周期概述|指令流水线|中断系统
80 1
|
26天前
|
缓存 Java C#
【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍(一)
【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍
70 0
|
1月前
|
存储 Java 编译器
JVM虚拟机内存区域详情
JVM虚拟机内存区域详情
15 0
|
1月前
|
Ubuntu 安全 虚拟化
vmware虚拟机运行ubuntu等卡慢的解决办法
vmware虚拟机运行ubuntu等卡慢的解决办法
142 0
|
1月前
|
存储 Java 开发者
深入理解Java虚拟机(JVM)内存管理
【2月更文挑战第11天】 在本篇文章中,我们将深入探讨Java虚拟机(JVM)的内存管理机制,一项对于优化Java应用性能至关重要的技术领域。不同于常规的技术文章摘要,我们不仅概述了JVM内存管理的基本概念,还将引导读者通过实际案例理解其在现实世界应用中的重要性。从堆(Heap)和栈(Stack)的区别开始,到垃圾收集(Garbage Collection)机制的工作原理,本文旨在为Java开发者提供一个清晰、系统的JVM内存管理知识框架,帮助他们在开发过程中做出更加明智的决策。
|
2月前
|
存储 算法 Java
Java虚拟机内存管理机制
【2月更文挑战第7天】本文主要介绍了Java虚拟机内存管理机制的基本原理和实现方式。Java虚拟机的内存管理机制是Java程序运行的重要组成部分,对程序性能和稳定性有着直接的影响。文章首先从Java虚拟机内存模型入手,介绍了Java虚拟机中堆内存、方法区、栈、PC寄存器等内存区域的功能特点和使用方式;然后详细阐述了Java虚拟机内存管理机制的垃圾回收算法和回收器的分类、优化和实现过程;最后介绍了一些常见的内存问题和优化技巧,以及如何通过代码调优和合理使用内存配置参数来提高程序的性能和稳定性。
|
2月前
|
存储 缓存 Linux
CPU高速缓存架构
CPU高速缓存架构
|
4月前
|
存储 缓存 Java
JVM【带着问题去学习 02】数据结构栈+本地方法栈+虚拟机栈+JVM栈运行原理
JVM【带着问题去学习 02】数据结构栈+本地方法栈+虚拟机栈+JVM栈运行原理
34 0
|
4月前
|
缓存 Java 知识图谱
1.什么是CPU多级缓存模型?
1.什么是CPU多级缓存模型?
55 0
1.什么是CPU多级缓存模型?