Pagkakaiba sa pagitan ng tinidor () at vfork ()

May -Akda: Laura McKinney
Petsa Ng Paglikha: 2 Abril 2021
I -Update Ang Petsa: 10 Mayo 2024
Anonim
Pagkakaiba sa pagitan ng tinidor () at vfork () - Teknolohiya
Pagkakaiba sa pagitan ng tinidor () at vfork () - Teknolohiya

Nilalaman


Parehong tinidor () at vfork () ay ang tawag sa system na lumilikha ng isang bagong proseso na magkapareho sa proseso na humihikayat ng tinidor () o vfork (). Paggamit tinidor () pinapayagan ang pagpapatupad ng proseso ng magulang at anak nang sabay-sabay. Ang iba pang paraan, vfork () suspindihin ang pagpapatupad ng proseso ng magulang hanggang sa makumpleto ang proseso ng bata. Ang pangunahing pagkakaiba sa pagitan ng tinidor () at vfork () na tawag sa sistema ay ang proseso ng bata na nilikha gamit ang tinidor ay may hiwalay na puwang ng address bilang ng proseso ng magulang. Sa kabilang banda, ang proseso ng bata na nilikha gamit ang vfork ay kailangang ibahagi ang puwang ng address ng proseso ng magulang nito.

Hahanapin natin ang ilang mga pagkakaiba sa pagitan ng tinidor () at vfork () sa tulong ng tsart ng paghahambing na ipinakita sa ibaba.

  1. Tsart ng paghahambing
  2. Kahulugan
  3. Pangunahing Pagkakaiba
  4. Konklusyon

Tsart ng paghahambing

Batayan para sa Paghahambingtinidor ()vfork ()
PangunahingAng proseso ng bata at proseso ng magulang ay may magkahiwalay na mga puwang ng address.Ang proseso ng bata at proseso ng magulang ay nagbabahagi ng parehong puwang ng address.
PagpatayAng proseso ng magulang at bata ay nagpapatupad nang sabay-sabay.Ang proseso ng magulang ay nananatiling suspendido hanggang makumpleto ang proseso ng bata.
PagbabagoKung ang proseso ng bata ay nagbabago ng anumang pahina sa puwang ng address, hindi nakikita sa proseso ng magulang dahil hiwalay ang puwang ng address.Kung ang proseso ng bata ay nagbabago ng anumang pahina sa puwang ng address, makikita ito sa proseso ng magulang habang nagbabahagi sila ng parehong puwang ng address.
Copy-on-sumulattinidor () gumagamit ng kopya-on-sumulat bilang isang kahalili kung saan ang magulang at anak ay nagbabahagi ng parehong mga pahina hanggang sa sinuman sa kanila ang nagpabago sa ibinahaging pahina.Ang vfork () ay hindi gumagamit ng copy-on-write.


Kahulugan ng tinidor ()

Ang tinidor () ay isang sistema ng tawag sa system upang lumikha ng isang bagong proseso. Ang bagong proseso na nilikha ng tawag sa tinidor () ay ang proseso ng bata, ng proseso na humihimok sa tawag sa sistema ng tinidor (). Ang code ng proseso ng bata ay magkapareho sa code ng proseso ng magulang nito. Matapos ang paglikha ng proseso ng bata, ang parehong proseso sa proseso ng magulang at anak ay nagsisimula sa kanilang pagpapatupad mula sa susunod na pahayag pagkatapos ng tinidor () at kapwa ang mga proseso ay naisakatuparan sabay-sabay.

Ang proseso ng magulang at proseso ng anak ay mayroon hiwalay na puwang ng address. Samakatuwid, kapag ang anumang mga proseso ay nagbabago ng anumang pahayag o variable sa code. Hindi ito makikita sa ibang mga code ng proseso. Ipagpalagay na kung ang proseso ng bata ay nagbabago ng code ay hindi ito makakaapekto sa proseso ng magulang.


Ang ilang mga proseso ng bata pagkatapos ng kanilang paglikha ay agad na tumawag exec (). Ang tawag sa sistema ng exec () pinapalitan ang proseso kasama ang programa na tinukoy sa parameter nito. Kung gayon ang hiwalay na puwang ng address ng proseso ng bata ay walang gamit. Ang isang alternatibo dito ay ang copy-on-write.

Ang kopya-on-sumulat hayaan ang proseso ng magulang at anak na magbahagi ng parehong puwang ng address. Kung ang alinman sa mga proseso ay nagsusulat sa mga pahina sa puwang ng address ang kopya ng puwang ng address ay nilikha upang hayaang magtrabaho nang nakapag-iisa ang proseso.

Kahulugan ng vfork ()

Ang binagong bersyon ng tinidor () ay vfork (). Ang vfork () ginagamit din ang system call upang lumikha ng isang bagong proseso. Katulad sa tinidor (), narito rin ang bagong proseso na nilikha ay ang proseso ng bata, ng proseso na humihimok sa vfork (). Ang code ng proseso ng bata ay magkapareho sa code ng proseso ng magulang. Dito, ang proseso ng bata suspindihin ang pagpapatupad ng proseso ng magulang hanggang sa makumpleto nito ang pagpapatupad dahil pareho ang proseso ay nagbabahagi ng parehong puwang ng address na gagamitin.

Habang ang proseso ng anak at magulang ay nagbabahagi ng parehong puwang ng address. Kung ang anumang mga proseso ay nagbabago ng code, makikita ito sa iba pang proseso na nagbabahagi ng parehong mga pahina. Ipagpalagay natin kung binabago ng proseso ng magulang ang code; makikita ito sa code ng proseso ng bata.

Tulad ng paggamit ng vfork () ay hindi lumikha ng magkahiwalay na mga puwang ng address para sa mga proseso ng bata at magulang. Kaya, dapat ipinatupad kung saan tumatawag ang proseso ng bata exec () kaagad pagkatapos ng paglikha nito. Kaya, walang pag-aksaya ng puwang ng address, at ito ang mabisa paraan upang lumikha ng isang proseso. hindi ginagamit ang vfork kopya-on-sumulat.

  1. Ang pangunahing pagkakaiba sa pagitan ng tinidor at vfork ay ang proseso ng bata na nilikha ng tinidor mayroong hiwalay na puwang ng memorya mula sa proseso ng magulang. Gayunpaman, ang proseso ng bata na nilikha ng vfork pagbabahagi ng system ang parehong puwang ng address proseso ng magulang nito.
  2. Ang proseso ng bata ay nilikha gamit ang tinidor magsagawa nang sabay-sabay kasama ang proseso ng magulang. Sa kabilang banda, ang proseso ng bata ay nilikha gamit ang vfork suspindihin ang pagpapatupad ng proseso ng magulang hanggang sa pagpapatupad nito.
  3. Dahil ang memorya ng proseso ng magulang at anak ay magkahiwalay na pagbabago na ginagawa ng alinman sa mga proseso ay hindi nakakaapekto sa ibang mga pahina. Gayunpaman, habang ang proseso ng magulang at anak ay nagbabahagi ng parehong pagbabago sa memorya ng memorya na ginawa ng anumang proseso ay sumasalamin sa puwang ng address.
  4. Ang sistema ng tawag sa tinidor () ay gumagamit kopya-on-sumulat bilang isang kahalili, na nagpapahintulot sa proseso ng bata at magulang na magbahagi ng parehong puwang ng address hanggang sa sinumang isa sa kanila ay nagbabago ng mga pahina. Sa kabilang banda, ang vfork ay hindi gumagamit ng copy-on-write.

Konklusyon:

Ang vfork () sistema ng tawag ay dapat ipatupad kapag ang proseso ng pagtawag sa bata exec () kaagad pagkatapos ng paglikha nito gamit ang tinidor (). Bilang hiwalay na puwang ng address para sa proseso ng anak at magulang ay walang magagamit dito.