当前位置: 首页 > Linux

流程介绍

时间:2023-04-06 20:10:07 Linux

流程介绍要了解流程,我们从程序开始:includeintmain(void){printf(“justaprogram\n”);返回0;}由于某些原因,头文件一直不完整,也很无奈。作为程序开发人员,你的责任是编写程序以完成相应的功能。程序写好后,必须进行编译,控制权交给编译器。链接形成可执行代码,于是控制权又转移给链接器:也就是说,从编译器的角度来看,所有的源程序只是输入数据,虽然你认为你的程序很大很强大,但他的程序只有一个几行代码,没有任何作用,但是编译器都一视同仁,按照编译规则形成二进制代码,而链接器就像一个中继,把编译后的结果作为输入数据,按照可执行文件的规则进行链接也一视同仁,输出的是一个可执行文件。可执行文件作为输入数据进入操作系统,输出运行结果。操作系统也同样对待所有的可执行文件。因此,我们也称操作系统为平台,即为程序的执行搭建了舞台。不管是编译器还是链接器,都是把演员送到舞台上。它们在交付过程中相当于流水线,使一个源程序最终可以在操作系统的舞台上执行。那么问题来了,如果舞台上有多个程序要表演,操作系统是如何协调的呢?作为一个程序开发者,在写程序的时候可以尽量把自己的想法表达出来。程序一旦运行起来,就如同一个人从出生就步入了人生的舞台。他的生活状态每时每刻都在变化。程序的生命此时,它必须改变身份,它不能再称为程序,你也不再能控制它,也就是完全委托给操作系统,所以给它一个新的名字叫“进程”,顾名思义,运行的程序。操作系统作为运行程序的平台,一般不会只运行一个程序(单用户单任务操作系统除外),而是同时运行多个程序以满足人们三心二意的习惯,比如写代码一边写,一边听音乐。这里的“同时”是一个粗粒度的说法。从CPU的角度来看,这个“同时”是有一定的时间间隔的。附:用通俗易懂的语言,展示了程序编译和链接的过程,以及过程的概念,对于初学者理解系统概念很有帮助。转自陈立军老师的文章