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

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

操作系统控制表通用结构.png

内存表

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


I/O表

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


文件表

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


进程表

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

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

虚存中的用户进程.png

进程的简单定义

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


JVM

JVM本质上就是一个进程

进程与JVM.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)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容