操作系统
在操作系统没有出来之前,我们写的程序只能在一种或者一类电脑中运行.因为那个时候不同电脑之前的硬件是不一样的.
1. 克服硬件的差异
让我们能更好的驾驭我们的软件,
我们只需要关注与操作系统的通信
不用再分别对不同硬件进行处理.
2. 提供统一的应用程序接口
提供了一套标准化的东西, 也就是API.
软件最终是通过操作硬件来达到功能的.
通过操作系统提供的接口, 我们不在需要了解各种硬件参数和品牌
软件的运行环境
包括软件环境和硬件环境.
软件环境: 我们的操作系统
硬件环境: CPU/内存...等硬件的支持等.
跨平台
我们写的源代码经过编译之后会生成与我们系统相应的Native Code(本地代码)
同一份源代码在不同操作系统上编译出的Native Code不同
因为操作系统之前提供的接口之前存在差异,所以编译出来的该程序不能跨平台
但我们可以用编程技法实现跨平台,通过宏定义,实现不同操作系统调用各自的接口
这样我们一份代码,只需要在不同操作系统上编译,就可以运行
Java虚拟机的原理
Java虚拟机的原理就是在操作系统之上, 又包装一层.
说白了就相当于一个专门为Java语言运行的小操作系统.
号称跨平台, 其实是伪跨平台.
BIOS
存储在主板中
进行硬件的检测
对磁盘进行引导(运行操作系统)