同一个程序能在不同的计算机上运行吗
我们知道,无论多么复杂的应用程序都可以被简单看成是指令和数据的集合。理论上说,应用程序里的指令可以分成两类。第一类指令是要求计算机硬件(主要是CPU)完成特定的运算和操作(例如数据传输、加减乘除、移位、跳转等),这一类指令常常被称为CPU的指令集。不同的CPU有不同的指令集,比如“0000 0001 0011 0010”就是一条指令,计算机里的指令和数据都是用二进制表示的。假设在英特尔的X86 CPU的指令集中某指令代表加法,在IBM的Power CPU的指令集中它很可能代表其他操作。非常明显,试图在Power CPU上运行由一系列X86 CPU的指令组成的程序是“鸡同鸭讲”,是不可能得到正确执行的。
应用程序里的第二类指令用于向操作系统请求特定的服务。操作系统(广义上说还应该包含建立在操作系统上的运行时函数库)提供了应用程序接口API来服务于应用程序。一个操作系统可以提供成千上万的API,典型的应用程序接口包括分配和释放内存、创建/打开/关闭/读写文件、在网络上接收/发送数据、创建/绘制窗口等。不同的操作系统提供的服务也不尽相同,应用程序的开发者必须事先知道针对的操作系统,然后才能使用正确的操作系统API来实现软件的功能,因此应用程序总是针对某个特定的操作系统的。
![]() |
![]() |
| 运行着DOS操作系统的计算机 |
PC机是基于X86 CPU和Windows操作系统的。2006年以前,苹果公司的Mac机是基于Power处理器和Mac OS操作系统的。无论是CPU的指令集还是操作系统的API,PC机上的应用程序都不能和Mac机兼容,自然就不能在Mac机上运行了。
- 上一篇
通信设备的连接线路和传输线路允许无限长吗
通信设备的连接线路和传输线路理论上可以无限长,但前提条件是需要有专业设备和足够的电力供给。如果单单是一条电话线连接的两个电话机,其通话距离是有限的。随着通信距离的增加,电话线中传递声音信息的能量就会下降,直到最后完全消失在电话线中。那么,如何才能让通信设备
- 下一篇
同一个文件在硬盘空间上一定是连续存放的吗!
当你打开计算机看电子文档或者听音乐的时候,有没有想过,这些文件在硬盘里是怎么存放的?内存条安装在计算机主板上的内存插槽里计算机里储存的普通文件,都是由一组数据块组成的,这些数据块的大小都是统一的。在最理想的情况下,计算机将这些文件的数据块放进硬盘时,每一个
相关文章
- 为什么同样的计算机,软件配置不同,“本领”就不一样
- 两台电脑共享一个软件 两台电脑之间怎样共享文件?有什么好些的办法么?多谢
- 怎样才能让电脑系统不更新 如何让一个电脑装两个系统,WIN7和XP,并可相互切换使用
- 清华同方u盘重装系统步骤 如何在清华同方的电脑中用u盘装系统
- 工行u盾电脑怎么使用 工行U盾可以在两个以上的电脑上使用吗,如何操作
- 平板可以安装电脑版的软件吗 pc上的软件放在平板电脑上能用不
- 写程序用什么电脑比较好 Java程序写好了怎样在别人电脑上运行
- 两个带系统的硬盘可同时使用 一台电脑,两个硬盘,可以装两个系统使用么?
- 如何让程序多次运行 怎样让全屏运行的程序(比如游戏)改成窗口运行?
- 一个u盘启动盘能放几个系统 u盘里放一个作业系统是不是就可以用u盘安装了
爱学记



微信收款码
支付宝收款码