电脑的灵魂,软件是怎么在电脑上运行的呢


“我们知道没有电的计算机是一堆废铁,那么什么是有电的电源呢?”答案是:“一群会用电的无用的人。”这是因为没有软件的操作,计算机的功能就不能发挥。就好像一个没有灵魂的身体只是一具行尸走肉。重点是软件(灵魂)。让我们来看看软件上有什么。

Computer Software

一般来说,当前的计算机系统将软件分为两类,一类是系统软件,另一类是应用程序。然而,我仍然认为我们应该理解什么是程序,尤其是机器语言程序。理解之后,我们将理解为什么计算机需要操作系统。

Application

Machine Language Programs and Compiled Programs

我们过去知道计算机只知道0和1,计算机最重要的计算和逻辑判断是在有指令集的中央处理器中。因此,当我们需要CPU的帮助时,我们必须参考指令集的内容,然后编写CPU能够理解并执行的脚本,以便CPU能够运行。像

CPU

这样的进程也有几个问题:

需要知道机器语言:机器只知道0和1,所以你必须学习直接写在机器上的语言,这是相当困难的。

你需要知道硬件的相关功能:因为你的程序是写在程序上的,你当然要参考机器本身的功能,然后为每个功能区写程序代码。例如,如果您想播放DVD电影,您必须参考DVD驱动器的硬件信息。

machine language

程序是不可移植的:每个中央处理器都有一个唯一的指令集,同样,每个硬件都有自己的功能。因此,你为计算机A编写的程序理论上不能在计算机B上运行,而且很难修改程序代码。因为它是机器代码,不是人类能够理解的程序语言。

program language

program有其特殊性:因为这类程序必须是针对硬件功能编写的,如果开发了浏览器程序,在开发文件管理部门程序时,仍然需要继续参考硬件的功能来编写。

你如何解决这个问题?为了解决这个问题,计算机科学家设计了一种人们能够理解的语言,然后创造了一种编译器,将这些人类编写的程序语言翻译成机器能够理解的机器代码,从而使我们修改和编写程序变得更加容易。目前,常用的编译器有C、java等。机器语言和高级程序语言的区别如下图所示:

java language

从图中我们可以看出高级程序语言易于查看。因此,程序的修改已经完成。问题是,在这样的环境下,我们仍然要考虑整个硬件系统来设计程序。

例如,当您想要运行的数据被写入内存时,您需要分配一个内存来填充您的数据,所以您仍然需要知道如何定位内存地址。眼泪还是不自觉地流了出来。写一个程序怎么会这么麻烦?

Memory

为了解决在硬件中重复写句柄的问题,有一个操作系统。什么是操作系统?我现在将谈论它。

-