操作系统,进程与JVM的关系

操作系统为了管理进程和资源,必须掌握每个进程和资源的当前状态.
主要维护4个表:内存,I/O,文件和进程

15854876-219f51db5e8af6f9.png
操作系统控制表通用结构.png

内存表

1.分配给进程的内存
2.分配给进程的外存
3.内存块或者虚存块的任何保护属性,如哪个进程可以访问某些共享内存区域
4.管理虚存所需要的任何信息


I/O表

管理计算机系统中的I/O设备和通道.


文件表

文件是否存在,文件在外存中的位置,当前状态和其它属性信息


进程表

进程中对内存,I/O和文件等资源的引用

虚存中的用户进程结构如下

15854876-f36b1b2c464bd935.png
虚存中的用户进程.png

进程的简单定义

进程是资源分配的最小单位,线程是程序执行的最小单位。


JVM

JVM本质上就是一个进程

15854876-d427786163b222ac.jpg
进程与JVM.jpg

然后着重看一下内核内存


15854876-ece7b36b9865f7e7.jpg
内核内存.jpg

nio buffer

(1)nio使用各种channel时所使用的ByteBuffer、
(2)Java程序主动使用 ByteBuffer.allocateDirector申请分配的Buffer

PageCache

对应java中的操作主要包括

(1)FileChannel.map方式打开文件占用mapped
(2)FileChannel.transferTo和 FileChannel.transferFrom所需要的Cache)

猜你喜欢

转载自blog.csdn.net/weixin_34148508/article/details/87165537