首页 > 编程语言 >程序的运行环境

程序的运行环境

时间:2024-02-22 11:11:34浏览次数:27  
标签:操作系统 windows 程序 虚拟机 环境 源代码 CPU 运行

应用的运行环境:操作系统和计算机本身(硬件)的种类
Macintosh用的操作系统(MacOS)在AT兼容机上无法运行
Windows上的应用在MacOS上无法运行
在Macintosh上可以利用的windows环境模拟器称为Virtual PC for Mac
FreeBSD提供的Ports指通过源代码提供应用,并根据运行环境整合编译,从而在该环境运行的机制
Java虚拟机运行Java应用的字节代码。

运行环境不同,程序无法运行。
运行环境=操作系统+硬件 即操作系统和硬件决定了程序的运行环境

同一类型的硬件可以选择安装多种操作系统
例如·:同样的AT兼容机,既可以安装windows,也可以安装Linux等操作系统
从程序的运行环境这一角度考量硬件时,CPU的种类是特别重要的参数。
CPU只能解释自身固有的机器语言,不同的CPU解释的机器语言也是不同的

机器语言的程序称为本地代码。

程序员用C语言等编写的程序,在编写阶段称为文本文件,文本文件在任何环境下都能显示和编辑。这便叫做源代码通过对源代码进行编译就得到本地代码

Windows操作系统对克服这些硬件构成的差异做出了很大供献

在windows的应用软件中,键盘输入、显示器输出等不是直接相应件发出指令,而是通过向windows发送指令间接实现的
Windows应用基本上都是windows完成对硬件的控制

然而即便是windows,也无法吸收CPU类型的差异,因为windows应用软件都是用特定的CPU的本地代码完成的

不同操作系统的API不同
CPU不同,对应的机器语言也不同; 操作系统不同,应用程序向操作系统传递指令的途径也不同
应用程序向操作系统传递指令的途径称为API, windows1及Unix系列操作系统的API,提供了任何应用程序都可以利用的函数组合。 不同操作系统的API有差异,将同样的应用程序移植到其他操作系统,就要重写应用中利用到API的部分·
同外围设备进行输入输出操作的功能都通过API提供。

FreeBSD Port轻松使用源代码
CPU类型不同会导致同样的本地代码无法重复利用
FreeBSD中,存在Ports机制,该机制可以结合当前运行的硬件环境编译应用的源代码,进而得到可以运行的本地代码系统。目标应用的源代码不在硬件上的话,Ports就自动使用FTP连接到相关站点下载代码 porting(移植)

利用虚拟机也可以获得其他操作系统环境
Virtual PC for MAC该虚拟机可以再Macintosh的Mac操作系统运行windows应用

同其他编程语言一样,java也是将java语法记述的源代码编译后运行,但是编译后生成的不是特定的CPU本地代码,而是名为字节代码的程序 字节代码运行的环境就是java虚拟机。 Java虚拟机一边吧java字节代码逐一转化成本地代码一边运行。

结合各类操作系统和硬件作成java虚拟机,同样的字节代码的应用就可以在任何环境运行了。
Java虚拟机缺点:不同的java虚拟机不能进行完整互换。运行速度慢。

程序的运行环境,有BIOS的系统。BIOS存储在ROM中,BIOS有基本控制对于键盘、显卡、磁盘等。还有启动“引导程序”的功能
引导程序是存储在启动驱动器的小程序

标签:操作系统,windows,程序,虚拟机,环境,源代码,CPU,运行
From: https://www.cnblogs.com/zhhhhh/p/18026897

相关文章

  • 《程序是怎样跑起来的》第三章第一节读后感
    在《程序是怎样跑起来的》第三章第一节中,作者详细介绍了计算机硬件的基本组成和工作原理。通过阅读这一部分,我对计算机的底层原理有了更深入的理解,并对计算机硬件有了更全面的认识。首先,作者介绍了计算机的基本组成,包括运算器、控制器、存储器和输入输出设备。这些部件......
  • Qt 颜色对话框QColorDialog弹出时应用程序输出栏出现QWindowsWindow::setGeometry: Un
    引言在项目中点击按钮,弹出颜色选择对话框,但同时应用程序会在应用程序输出一栏中显示QWindowsWindow::setGeometry:Unabletosetgeometry180x30+345+311(frame:202x86+334+266)onQWidgetWindow/"QColorDialogClassWindow"on"\\.\DISPLAY1".Resultinggeometry:5......
  • PHP常用环境套件
    当你学习来了PHP之后,你就知道PHP套件的必要性,在学习php时,我们不能在php环境安装上花费很长时间,这是得不偿失的;也没必要花费几百购买php空间。这时我们需要在自己的电脑上安装php环境套件,那么php环境套件有哪些?1、php环境——XAMPP是一款比较强大的本地测试平台,它集成了必须......
  • 小程序已支持长按识别二维码
    查阅了很多文章,大多还停留在页面嵌入webview识别二维码的时代。下面我发表一下小程序支持长按识别二维码的方法只需要在image标签里添加如下属性-- show-menu-by-longpress小程序版本  show-menu-by-longpress="{{true}}"//show-menu-by-longpress="{{true}}"<image......
  • sql server配置主从同步环境下的日志收缩
    两种方法:通过图形界面逐步操作:(1)打开数据库属性窗口。(2)更改数据库恢复模式,将其从“完整”改成“简单”。(3)收缩数据库日志,选择“任务”->“收缩”。(4)收缩完成后,将数据库的恢复模式修改回“完整”.使用命令:(1)将数据库的恢复模式设置为“简单”:SQLALT......
  • idea的Java项目打成jar包并服务器部署运行
    idea的Java项目打成jar包并服务器部署运行文章目录一、idea对Java项目打jar包二、上传jar包到服务器运行一、idea对Java项目打jar包1.File—>ProjectStructure---->Artifacts2.点击+号选择JAR,再选择第二个3.出现这个框,第一个Module是你最后jar包的名字,第二个是Ma......
  • 对于程序设计的目的的思考(《程序是怎样跑起来的》第12章)
    通过阅读《程序是怎样跑起来的》第12章,我对于程序的目的有了一定的看法。程序作为指令的文章,作为工具应用于实践之中。书中所提到程序作为工具的两层含义:执行人类的思考过程和便捷使用的工具,其中执行人类的思考过程就像书中通过用“猜拳”的例子一步步的仿照人类的思维,将人对于思......
  • AIGC程序员效能提升之道
    得益于IT产业近几年的繁荣,老杨所在公司的业务也出奇的兴隆,每天干不完的工作背后,也意味着健康的消耗和体重的不断增加。曾记否,刚毕业的老杨体重刚刚堪堪破百,同事们经常调侃他说是一阵风就能吹走,经过了十年的拼搏,他的体重终于达到了130斤。而自从来到这家公司之后,短短两年时间,他的......
  • 根据星历文件实现卫星的动态运行模拟matlab仿真
    1.算法运行效果图预览 2.算法运行软件版本MATLAB2022a  3.算法理论概述      卫星的动态跟踪捕获是航天工程和卫星通信领域中的关键技术之一。它涉及到对卫星轨道的精确预测、接收设备的指向控制以及信号处理等多个方面。       随着航天技术的不断......
  • 《程序员的修炼之道》读后感
    本周阅读了《程序员的修炼之道》,这本书一共8章。针对编程的实效进行一系列的阐述,详细的介绍项目开发中程序员担当的角色,读完本书丰富了自己对一名程序员工作的认知,也让我认识到自己以前的认识知误区,本书从多角度来讲述编程之道,介绍从程序员甚至到项目管理者在一个项目开发的过程中......