操作系统 例程和进程的区别

操作系统 例程和进程的区别

在本文中,您将了解到例程和进程之间的区别,但在讨论区别之前,您必须简要了解一下例程和进程。

操作系统中的例程是什么

在计算机编程中,例程是一系列代码的序列,用于在程序执行过程中重复调用和使用。它可以是子程序、协程或者函数。这使得程序在必要时更短、更易于编写和阅读。

它在程序的执行过程中被其他代码重复调用。每当程序需要执行特定任务时,程序的主要逻辑序列可以在必要时分支到一个共同的例程。完成后,该例程会回到下一个顺序指令,跟随到它分支的指令。一个例程也可以在多个程序中很有用,可以避免其他程序员编写可以共享的代码。

一个例程在高级语言中也被称为具有特定编程接口的函数。它可以用于在程序中多次执行特定任务,显然使用不同的数据值。

通常,需要一些变量输入的例程可以编码为一个带有特定接口的 宏定义 ,称为汇编语言中的 宏指令 。程序员可以使用宏指令,而不是包含和管理到例程的分支。宏定义和指令也常常在程序员之间共享,用于多个程序,尤其是软件开发项目。

许多常用的例程以具有特定编程接口的函数的形式打包,以便在高级计算机语言中使用。某些函数可以与其他代码一起进行内联编译。其他函数编译为在程序执行过程中进行系统服务调用的存根。函数有时被称为 库例程 。编译器和库例程通常作为相关软件开发包的一部分提供。

在Windows和其他个人计算机操作系统中,用于处理特定任务(如与特定I/O设备交互)的系统例程称为 动态链接库例程 。这些例程是动态的,因为它们的文件直到被调用时才实际加载到内存中。

例如 ,一个例程可以保存文件或显示时间。不需要每次需要执行这些常见任务时编写代码,可以创建并在需要执行这些任务时调用例程。

操作系统中的进程是什么

进程是正在执行的程序,代表CPU利用的基本单位。

操作系统帮助创建、调度和终止CPU使用的进程。当可执行文件被加载到主存储器中进行执行时,进程是一个活动实体。由主进程创建的进程称为子进程。

一个系统由许多进程组成,其中一些进程执行称为操作系统进程的系统代码。相反,执行用户代码的其余进程称为用户进程。 进程 为了高效工作,分为以下几个部分:

  • 文本部分 由编译后的程序代码组成,当程序启动时从非易失性存储器中读取。
  • 数据部分 由全局变量和静态变量组成,在执行主函数之前进行分配和初始化。
  • 用于动态内存分配,并通过调用new、delete、malloc、free等进行管理。
  • 用于局部变量。当声明局部变量时,栈上会保留空间用于存放局部变量。

有时候,我们会混淆“程序”和“进程”的概念,但它们是不同的实体。程序是一种被动实体,而进程是一种主动实体。进程具有由该进程的当前活动定义的多个状态。

进程控制块(PCB)被认为是进程的大脑,它包含与处理相关的所有重要信息,如进程ID、优先级、状态、CPU寄存器等。每个进程在操作系统中用进程控制块来表示。以下是PCB的重要组件,例如:

  • 进程ID: 每个进程都会被分配一个称为进程ID的ID,用于唯一地标识该进程与其他进程。
  • 进程状态: 每个进程在特定时间点上都有与之关联的一些状态。这由进程状态表示。它可以是就绪、等待、运行等。
  • 程序计数器: 程序计数器可以让你知道下一条指令的地址,它应该为该进程执行。
  • CPU寄存器: 该组件包括累加器、索引和通用寄存器以及条件代码信息。
  • CPU调度信息: 每个进程都使用一些进程调度算法,如FCSF、轮转法、短作业优先等进行执行。
  • 会计和商业信息: 其中包括CPU使用的实时时间和资源,作业或进程编号等。
  • 内存管理信息: 该信息包括基准寄存器和限制寄存器的值,页或段表。这取决于操作系统使用的存储器系统。
  • I/O信息: 每个进程都需要一些I/O设备进行执行。因此,分配设备信息和设备需求是关键的。

例如, 当您想在网络上搜索某些内容时,您启动一个浏览器。所以,这可以被视为一个进程。另一个进程的例子可以是启动音乐播放器来听一些您喜欢的酷音乐。

例程与进程的区别

操作系统中的进程和例程之间存在很大的区别。一个 进程 是实际正在执行的代码。而 例程 通常表示一段代码,比如子程序、协程或由其他代码调用的函数。这意味着一个例程可能是在两个(或更多)进程中执行的代码的一部分。

操作系统 例程和进程的区别

例程是一段代码的序列,而进程是实际执行的代码。例程用于执行特定的任务,可以是多个进程的一部分。以下是例程和进程之间的一些更多区别,如下:

术语 例程 进程
定义 这是一段旨在执行用户程序和输入/输出操作的代码序列。 这是一个正在执行的程序,是现代分时系统中的工作单位。
角色 例行程序的角色是执行任务,一个例行程序可以被其他程序或子程序多次调用。 它的角色是执行一段代码序列,它代表了系统中要实现的基本工作单位。
功能 它可以在程序中多次执行特定任务。 进程可以是两种类型:一种执行系统代码,另一种执行用户代码。
示例 可以重复调用的例行程序如乘法、加法等。 计算器是一个负责对操作数进行多种操作的进程。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程