对java代码与cpu及内核之间的联系的总结

一:代码执行的流程简述:如print("a"),编译成class文件,在jvm上运行。jvm读取到字节码文件,在cpu上运行。cpu通过读取到的指令,调用内核来处理该函数。本函数是把字符字符串输出到屏幕(io设备)上,使用到了io,实际是调用了内核的write函数,而内核通过该函数来把对应的字符串输出到硬件也就是屏幕上

二:内核:内核是操作系统的核心,可以控制计算机的硬件设备,也可以管理内存,文件,创建和销毁进程

三:linux系统调用:linux内核把内存分为两个空间,一个是内核空间,一个是用户程序空间。程序通过内核控制系统硬件,实际上不是直接调用内核的函数的。如print("a"),最后是调用内核的write函数,但是却是通过cpu的callback函数调用的。print("a")会被编译成write(write和a会被放进cpu的寄存器),int 0x80(这里的int是中断的意思,不是java数据类型的整型),int 0x80为cpu的中断值,当cpu执行该指令的时候,会调用callback函数,把字符串write以及参数a作为参数传进该函数,最后才调用内核的write函数值。所以linux比较安全。(相当于javaBean的get方法,外部对象只能通过该方法得到javaBean的属性,即最多只能知道get方法的地址而不能知道该属性的地址)

四:cpu中断:cpu通过一个晶振器中断进程,从而去调用另一个进程,通过快速反复切换,提升执行效率,视觉上相当于cpu同时执行几个程序一样

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值