关于计算机的两个基本问题

来源:百度知道 编辑:UC知道 时间:2024/06/22 01:22:41
1“同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。经过努力,1954年,第一个完全脱离机器硬件的高级语言问世了”以上是关于高级语言的一段描述。我想问一下,高级语言编写的程序最终也要转化为二进制代码,那它是怎样在不同的计算机上实现通用的呢,是它最终转化的二进制代码相同,而很多计算机的基本指令也相同,从而实现通用?还是根据不同的机器而转化成了不同的二进制代码,最终又实现了同样的操作? 2编译程序是不是操作系统的一部分

操作系统不编译程序,你现在执行的程序都是编译过的。高级语言源代码经过编译变成低级语言,然后在最终转化为二进制。不同高级语言编写的程序转换成二进制需要好多步,虽然二进制代码不同,但可以执行相同功能。
通用的意识是:高级语言编译成a,而为硬件设计支持a的驱动。
操作系统为应用程序提供支持,像一插座一样。应用程序不管是什么功能,设计的插头符合插座就行。硬件厂商设计驱动,支持操作系统,和操作系统与应用程序关系相似。

编译程序是系统程序的一部分

计算机语言多种多样,但是总体来说,都是由低级语言慢慢演化出来高级语言,无论你是用什么样的高级语言写的程序,在生成可执行程序的时候都要编译成低级语言(中间代码),最终生成二进制代码。而操作系统只认识二进制代码,因此无论什么操作系统就间接的识别了各种高级语言。生成可执行程序的过程就是在编译,因此编译程序不是操作系统的一部分。