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


    首先作者就告诉了我们操作系统和硬件决定了程序的运行环境。

    CPU只能解释其自身固有的机器语言。不同的CPU能解释的机器语言的种类也是不同的。机器语言的程序称为本地代码。程序员用C语言等编写的程序,在编写阶段仅仅是文本文件。文本文件在任何环境下都能显示和编辑。我们称之为源代码。通过对源代码进行编译,就可以得到本地代码。

    Windows 克服了CPU以外的硬件差异,在Windows的应用软件中,键盘输入、显示器输出等并不是直接向硬件发送指令,而是通过向Windows发送指令来间接实现的。因此,程序员就不用注意内存和IO地址的不同构成了。

    CPU的类型不同,所对应的机器语言也不同,同样的道理,操作系统的类型不同,应用程序向操作系统传递指令的途径也是不同的。应用程序向操作系统传递指令的途径称为API,Windows 及Unix系列操作系统的API,提供了任何应用程序都可以利用的函数组合。因为不同操作系统的API是有差异的,因此,将同样的应用程序移植到其他操作系统时,就必须要重写应用中利用到API的部分。

    Java将Java语法记述的源代码编译后运行。不过,编译后生成的并不是特定CPU使用的本地代码,而是名为字节代码的程序。字节代码的运行环境就称为Java虚拟机。Java 虚拟机是一边把Java字节代码逐转换成本地代码一边运行的。因此运行速度较慢。

    程序的运行环境中,存在着名为BIOS 的系统。BIOS 存储在ROM中,是预先内置在计算机主机内部的程序。它可以启动“引导程序”的功能。引导程序是存储在启动驱动器起始区域的小程序。它可以启动操作系统。

  • 相关阅读:
    redis 3 通用指令
    查看表索引
    truncate的用法
    Java(0)_ 安装jdk
    Java(9)_ 集合(3)
    Java(10)_File&递归&字节流
    Java(8)_ 集合(2)
    Appium+python的单元测试框架unittest(3)——discover
    Appium+python的单元测试框架unittest(2)——fixtures
    爬楼梯
  • 原文地址:https://www.cnblogs.com/xl592338942/p/10633518.html
Copyright © 2020-2023  润新知