叉(fork)和执行(exec)的区别

fork和exec之间的主要区别在于fork在保留父进程的同时创建新进程,而exec在不保留父进程的情况下创建新进程。...

fork和exec之间的主要区别在于fork在保留父进程的同时创建新进程,而exec在不保留父进程的情况下创建新进程。

计算机有两种工作模式:内核模式和用户模式。在内核模式下,程序可以直接访问内存或硬件资源。在用户模式下,程序不能直接访问内存或硬件资源。因此,内核模式是一种特权模式,而不是用户模式。当程序需要访问内存或资源时,它通过系统调用向内核发送请求。然后模式从用户模式变为内核模式。完成任务后,模式变回用户模式。UNIX系统有各种系统调用。其中两个是fork和exec。

覆盖的关键领域

1.什么是fork–定义,功能2.什么是exec–定义,功能3.fork和exec之间的区别–关键区别的比较

关键术语

exec,fork,内核模式,系统调用,UNIX

叉(fork)和执行(exec)的区别

什么是叉(fork)?

进程是一个正在执行的程序。fork()是帮助创建进程的系统调用。当进程进行fork()调用时,将创建该进程的副本。现有进程是父进程,而新进程是子进程。但是,此子进程类似于父进程。

叉(fork)和执行(exec)的区别

创建子进程时,父进程的状态(如变量、打开的文件和地址空间)将复制到子进程。换句话说,父进程和子进程位于不同的物理地址空间中。因此,父进程中所做的更改不会反映在子进程中,反之亦然。

什么是执行(exec)?

exec()系统调用也用于创建进程。调用exec()时,当前正在运行的进程将终止并替换为新创建的进程。换句话说,在执行exec()调用之后,只有新进程存在。父进程终止。此外,此系统调用将父进程的地址空间、文本段和数据段替换为子进程。

叉(fork)和执行(exec)的区别

定义

fork是UNIX操作系统中允许进程创建自身副本的操作。但是,exec是UNIX操作系统中的一种操作,它通过替换上一个进程来创建一个进程。因此,这就解释了fork和exec之间的主要区别。

父进程

调用fork()后,有父进程和子进程。另一方面,在调用exec()之后,只有一个子进程,没有父进程。因此,这是fork和exec之间的另一个区别。

结果

此外,fork创建了一个类似于父进程的子进程,而exec创建了一个子进程并用父进程替换它。

地址空间

此外,fork和exec之间的另一个区别在于它们的地址空间。在fork()中,父进程和子进程位于不同的地址空间中,而在exec()中,子地址空间替换父地址空间。

结论

简而言之,UNIX操作系统中有各种可用的系统调用,其中两种是fork和exec。fork和exec的主要区别在于fork创建新进程时保留父进程,exec创建新进程时不保留父进程。

引用

1.“系统调用简介”Studytonight,可在此处获得。2,“叉(系统调用)”,维基百科,维基媒体基金会,16月2019日,可在这里。 2、“叉(系统调用)”,维基百科,维基媒体基金会,16月2019日,

  • 发表于 2021-07-01 22:21
  • 阅读 ( 238 )
  • 分类:IT

你可能感兴趣的文章

复制气泡(replication bubble)和复制分叉(replication fork)的区别

关键区别–复制气泡与复制分叉   复制泡和复制叉是DNA复制过程中形成的两种结构,复制泡和复制叉的关键区别在于复制泡是复制开始时DNA链上的一个开口,而复制叉是复制泡中的结构表示实际的复制。 在分子生物学中,DNA...

  • 发布于 2020-10-19 04:11
  • 阅读 ( 509 )

硬叉(区块链)

...意的加密货币投资者来说,很难区分这些加密货币之间的区别,也很难将不同的分支映射到一个时间表上。为了帮助解决这个问题,我们编写了过去几年最重要的比特币硬叉的历史。 如下图所示,未升级的节点拒绝新规则...

  • 发布于 2021-06-08 06:17
  • 阅读 ( 135 )

系统调用(system call)和函数调用(function call)的区别

...于,系统调用是内核访问资源的请求,而函数调用是程序执行特定任务的请求。 尽管这两个术语可以互换使用,但系统调用和函数调用之间还是有区别的。当程序需要与内核通信时使用系统调用,而函数调用用于调用程序中的...

  • 发布于 2021-07-01 18:28
  • 阅读 ( 393 )

系统调用(system call)和图书馆电话(library call)的区别

...访问硬件资源的接口。内核是操作系统的核心。操作系统执行计算机系统的主要任务,如内存管理、进程管理、数据安全等。系统调用和库调用是与操作系统相关的两个术语。内核提供系统调用,而编程库提供库调用。 覆盖的...

  • 发布于 2021-07-01 18:54
  • 阅读 ( 200 )

沙拉叉(a salad fork)和餐叉(a dinner fork)的区别

...(salad fork) vs. 餐叉(dinner fork) 那么沙拉叉和晚餐叉有什么区别呢? 沙拉叉是用来做沙拉的,晚餐叉是用来做主菜的。它们都有四个齿,尽管有些沙拉叉的左边有时有一个较厚的外齿,用来切莴苣和蔬菜。见下图。 通常,沙拉叉...

  • 发布于 2021-07-03 01:47
  • 阅读 ( 384 )

沙拉叉(salad fork)和餐叉(dinner fork)的区别

沙拉叉和餐叉的关键区别在于,把尖嘴的**和它们放在桌子上的特定排列上。沙拉叉的齿面较平坦,稍宽,外齿较厚,桌上放置色拉叉取决于菜的顺序。如果主菜是在沙拉之前供应的,那么小色拉叉放在餐叉的右边,旁边放在盘...

  • 发布于 2021-07-08 15:46
  • 阅读 ( 793 )

什么是叉子?(a cooking fork?)

基本的烹饪叉通常由不锈钢制成,并配有两个较长的叉头,非常适合在笨重的食物中...

  • 发布于 2021-12-02 13:12
  • 阅读 ( 185 )

什么是鱼叉?(a fish fork?)

鱼叉是用来吃鱼的叉。在正式的餐桌上,鱼叉通常比肉叉小,并配有一把刀,以帮助...

  • 发布于 2021-12-02 13:36
  • 阅读 ( 141 )

什么是柠檬叉?(a lemon fork?)

柠檬叉是一种专门为餐桌上的柠檬块而设计的叉子。柠檬叉最常见于正式茶话会上,...

  • 发布于 2021-12-02 14:26
  • 阅读 ( 141 )

什么是冰淇淋叉?(an ice cream fork?)

...激凌叉和斯波克冰激凌叉在物理上是相同的,它们之间的区别通常在于质量和形式。这些叉子往往是由银等材料制成的,其手柄通常有华丽的图案。叉子的重量和外观意味着正式的用餐,而Spork则更随意,除了塑料和木材外,它...

  • 发布于 2021-12-03 09:05
  • 阅读 ( 153 )