《程序是怎样跑起来的》第七章

在计算机中,程序的运行环境是由操作系统和硬件组成的。
这是因为CPU只能解释特定类型的机器语言,不同类型的CPU能解释的机器语言也不同。机器语言的程序被称为本机代码,程序员用编程语言编写的程序,最初只是普通的文本文件,在任何情况下文本文件(不考虑字符编码问题的情况下)都可以显示编辑,这样的文件被称为源代码。
而硬件之中不仅仅只有CPU之间有着差异,其他硬件也有,但最后Windows解决了这一问题解决方式就是,输入输出等操作不是通过访问硬件来实现,而是通过向Windows发出请求来间接实现。
而操作系统则是因为API,应用程序像操作系统发出请求的方式被称为API(应用程序编程接口)不同操作系统提供的API是不同的,当应用程序在不同的操作系统之间运行时就要编写不同的API。所以运行环境是有硬件与操作系统共同决定的。
上面提到的源代码在任何环境下都可以编译与显示,所以Linux提供了一种将源代码在本机上编译在使用的方法。
还有一种不将源代码编译成本机代码的而是一种中间代码的方法。JAVA使用的就是这种方法,Java编写的源代码经过编译后并不是针对特定CPU的本机代码,而是一种被称为字节码的代码。字节码的运行环境被称为JVM(Java虚拟机)。这样的好处就是一次编写,处处运行,只要电脑中有Java虚拟机就可以运行Java程序,但坏处就是虚拟机之间不能完全兼容,运行速度也比C语言程序要慢。
通过互联网使用硬件操作系统,应用程序的基数称为云计算,云计算分为SaaS(软件即服务),PaaS(平台即服务),LaaS(基础设施即服务)。SaaS提供的是应用程序,PaaS提供的是操作系统,LaaS提供的是硬件。

posted @   安知鱼~li  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示