例程与进程的区别
例程指的是一组用于执行系统程序的指令集的计算机程序。根据例程或函数给出的指令,它们会在执行完成后分配或释放使用的内存。进程是指当前处于执行状态的程序,并利用 CPU 资源。每个进程在其生命周期中经历不同的状态,如活动、新建、就绪、阻塞和等待、挂起。多编程环境是为需要它的进程完成的,其中每个进程被分类为抢占式和非抢占式方法。
例程
例程称为程序用来执行分配给它的任何特定任务的函数。在执行任务期间,序列或例程应根据需要分支到通用函数。任务完成后,调用程序恢复执行例程中指定的下一条指令。提供给程序的例程用于内存管理单元的高效读写操作。其他即将到来的程序可以使用相同的例程和不同的输入数据,而无需创建新代码。
例程在高级语言中用作执行需要多次重复的任务的功能接口。宏指令以解码形式作为输入变量提供给汇编语言中的例程。程序员使用这些指令,这可以节省时间,而不是在设计的例程中创建和控制分支指令。可以将高级语言所需的接口与特定功能打包到大多数必需的例程中,其他一些功能称为存根,用于系统调用的动态执行。
进程
当程序开始执行使用主内存的过程(加载到主内存后)时,进程进入激活状态。系统中存在多个进程,其中一些执行操作系统代码,其余执行用户进程。进程执行其工作需要各个部分,它们是数据段、文本段、堆(动态分配)和栈(局部变量的存储区域)。
每个进程由进程控制块管理,该块保存进程状态、CPU 寄存器、进程 ID、程序计数器、内存管理、调度信息和其他输入/输出详细信息。
对进程执行的各种操作包括创建、设计、执行、删除、同步、阻塞、上下文切换、进程间通信等。
下表定义了例程和进程之间的主要区别
差异依据 |
例程 |
进程 |
---|---|---|
职责 |
它在其他函数或子例程多次调用的例程的帮助下执行特定任务。 |
它负责执行一组代码或程序,这被称为操作系统的首要工作。 |
目的 |
程序将其用作接口来执行多次重复的任务。 |
它基于执行系统代码或用户代码的进程进行工作。 |
术语 |
这些包含一组代码来执行用户程序并提供输入/输出操作。 |
这包含处于执行状态的程序,这些程序使用了 CPU 的资源。 |
应用程序支持 |
常用的例程被打包成函数,为高级编程语言提供接口。为不需要内存位置的应用程序创建动态库例程,直到它加载为止。 |
每个应用程序进程都根据进程控制块中的信息工作,该块被认为是存储和管理程序或应用程序以执行的主要单元。 |
操作 |
程序使用它,这些程序应遵循通用例程并移动到分支到例程数据的下一个顺序操作。 |
根据用户的请求,进程能够在适当的内存管理、调度、寄存器位置等情况下进入活动状态。 |
示例 |
保存用户文件、显示系统时间以及根据已存储的例程添加两个输入数据以执行此类常见任务。 |
使用音乐播放器查看和收听歌曲、执行多个操作数的计算器工具、浏览器界面同时运行多个进程以用于用户界面和其他选项卡,以便以后使用。 |
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.
结论
例程是一组特定的通用指令,程序会重复使用这些指令,并且可以利用相同的例程和不同的输入数据集,这可以节省开发人员无需处理新例程集的时间。当程序处于执行阶段时,它被称为进程,可以根据对内存的请求管理系统代码以及用户代码。每个进程在其生命周期中经历多个状态,这些状态基于进程控制块、进程 ID、CPU 利用率和调度算法、寄存器集以及基于实时共享系统。