美文网首页
(七)程序的运行环境

(七)程序的运行环境

作者: 墨白找 | 来源:发表于2016-05-21 11:25 被阅读529次

运行环境=操作系统(OS)+硬件(hardware)

操作系统和硬件决定了程序的运行环境。





操作系统:Windows、Unix、Linux等,程序一般不能跨OS运行。
硬件:CPU、内存、硬盘、存储设备和输入输出设备等。

本地代码

在程序的运行环境中,CPU是非常重要的参数。CPU只能解释自身固有的机器语言,不同的CPU能解释的机器语言是不同的。


源代码(source code):用编程语言编写的程序,只是文本文件:
本地代码(native code):是机器语言的程序,对源代码进行编译得到。
windows中,应用程序的本地代码,通常是DLL格式和EXE文件等。市面上出售的windows应用程序的CD-ROM中,收录的也是本地代码。

Windows克服了CPU以外的硬件差异

Windows出现之前,计算机机型很多,他们即使拥有同样的X86处理器,他们的内存机制和I/0地址构成都是不同的,因此,各个机型都需要专门的MS-DOS应用软件来帮助控制硬件。
Windows出现之后,windows上各应用的实现,不再是去控制硬件,而是windows操作系统发送指令,然后由windows操作系统控制硬件。这样,因为由windows来控制硬件,而不是程序员来控制硬件,因此程序员就不必再去在意内存和I/0地址的不同了。




API(Application Programming Interface)

API:应用程序向操作系统传递指令的途径,提供了适用于本操作系统中任何程序的函数(接口)的集合。
同类型操作系统的API,不会因为硬件的不同而不同,因此在任何硬件上都可以运行。
不同操作系统的API会有差异,因此在移植同样的应用程序是,需要重写部分API函数。

FreeBSD Port

“既然CPU的不同会导致同样的本地代码无法重复使用,为什么不直接把源代码发给程序呢?”
Unix操作系统FreeBSD中,存在一种Port机制。
Port,即porting移植,表示根据不同的运行环境而重新调整程序。
Port机制:结合当前的运行环境编译源代码,得到适合CPU要求的、可以运行的本地代码程序。如果本地磁盘上没有储存目标源代码,则自动使用FTP协议去相关站点下载源代码。
Port机制,在某种程度上,克服了CPU在内的所有硬件差异。

运用虚拟机在本机上获得其他操作系统环境

“如果运行其他OS上的应用,又不想使用移植呢?”

虚拟机软件

Mac OS系统:“Virtual PC for Mac”


Paste_Image.png

Windows系统:Virtual Box、VMWare。

Java虚拟机

“除了使用虚拟机,还有一种方法可以在本机上使用其他操作系统的应用,就是java。”
java有两层意思,一层是指编程语言java,另一种是程序运行环境java。
java虚拟机:编译运行java语法写的源代码,生成的并不是本地代码,而是字节代码程序。字节代码程序的运行环境就是java虚拟机(Java VM)。java虚拟机一边把字节代码逐一转换为本地代码一边运行。
通过字节代码的使用,就实现了在任何环境在使用同一应用了。



小结:

BIOS(Basic Input/Output System,标准输入输出)系统

BIOS引导程序:引导操作系统的启动。

相关文章

  • (七)程序的运行环境

    运行环境=操作系统(OS)+硬件(hardware) 操作系统和硬件决定了程序的运行环境。操作系统:Windows...

  • 基于Android Studio开发的笔记APP

    1 程序的运行环境、安装步骤 运行环境 JDK 1.8 compileSdkVersion 27 程序的组成部份 ...

  • RunTime

    Runtime也就是程序运行时的状态。Runtime类封装了程序的运行环境,可以让程序与运行环境相连接。 一般情况...

  • Springboot配置多环境参数

    Springboot配置多环境参数 运行程序的关键命令(假设运行生产环境):java -...

  • Flask + Gunicorn配置记录

    1.构建程序运行所需的虚拟环境 安装Miniconda 创建虚拟环境 添加程序运行依赖包 添加Gunicorn依赖...

  • 基础

    书 一个程序的运行环境包括:内存、运行库、系统调用 1、程序的内存布局 内存:是承载程序运行的介质,是程序进行各种...

  • 2016.12.15

    JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。...

  • 【大话存储】学习笔记(14章), 虚拟化

    操作系统对硬件的虚拟化 操作系统:就是为其他程序提供编写和运行环境的程序。 由程序来运行程序,而不是程序自己来运行...

  • 1.1Java基础知识

    JVM:JAVA虚拟机。是java程序的运行环境。 JDK:JAVA程序开发工具包。 JRE:是java程序的运行...

  • 使用 Docker 运行 Redis 服务

    环境准备 Docker:提供隔离容器环境,可运行应用程序。 Docker compose:运行多个容器服务的管理工...

网友评论

      本文标题:(七)程序的运行环境

      本文链接:https://www.haomeiwen.com/subject/sganrttx.html