انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: تفاوت fork با vfork  (دفعات بازدید: 1319 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین ommolbanin

  • Newbie
  • *
  • ارسال: 4
  • جنسیت : دختر
تفاوت fork با vfork
« : 07 آذر 1392، 12:46 ب‌ظ »
سلام
دوستان کسی تفاوت()forkرو با()vforkرو میدونه؟؟؟؟؟ :?:

آفلاین پیام

  • Sr. Member
  • *
  • ارسال: 348
پاسخ : تفاوت fork با vfork
« پاسخ #1 : 07 آذر 1392، 06:14 ب‌ظ »
سلام تابع فورک یا تابع ایجاد بچه برای سوکت پروگرامینگ استفاده می شه که تو یونیکس های بی اس دی استفاده میشدن و تو توابع سوکت پروگرامینگ و ارتباط با سوکت استفاده می شد
و vfork  برای استفاده توابع فورک تو ویرچوال ومجازی سازی استفاده میشه

تا همین قدر می دونم از بچه های برنامه نویس اگر کسی می دونه کامل تر کنه

موفق باشید

آنلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4872
  • جنسیت : پسر
  • masoft قدیم
پاسخ : تفاوت fork با vfork
« پاسخ #2 : 08 آذر 1392، 04:46 ق‌ظ »
نه fork و نه vfork ربطی به سوکت‌پروگرامینگ یا مجازی‌سازی ندارند.

vfork رو می‌تونید فراموش کنید، نباید ازش استفاده بشه. اگر با این وجود دوست دارید بیشتر بدونید: ‪لینک

آفلاین ommolbanin

  • Newbie
  • *
  • ارسال: 4
  • جنسیت : دختر
پاسخ : تفاوت fork با vfork
« پاسخ #3 : 08 آذر 1392، 10:54 ق‌ظ »
تفاوتشونو درست متوجه نشدم اگه میشه بیشتر توضیح بدین(انگلیسیشو درست متوجه نشدم)
مرسی

آفلاین پیام

  • Sr. Member
  • *
  • ارسال: 348
پاسخ : تفاوت fork با vfork
« پاسخ #4 : 08 آذر 1392، 06:25 ب‌ظ »
ببخشید
من قبلا که با فری بی اس دی کار می کردم برای کار با سوکت پروگرامینگ بایدتابع فورک یا بچه زا رو صدا می کردم نمی دونم درست بود یا نه ولی تو چند تا کتاب هم نوشته بود که برای ایجاد پروسس های بچه زا در سیستم عامل های سری بی اس دی از تابع فورک استفاده می کنن


اگر شما از لینوکس استفاده می کنید نباید از تابع vfork  استفاده کنید چون این موضوع در کرنل لینوکس اسیب پذیره ولی رو سیستم عاملهای سری بی اس دی میتونید استفاده کنید چون تابعش بهینه شده چیزی بود که از متن فهمیدم ...

موفق باشید

آفلاین ommolbanin

  • Newbie
  • *
  • ارسال: 4
  • جنسیت : دختر
پاسخ : تفاوت fork با vfork
« پاسخ #5 : 08 آذر 1392، 07:18 ب‌ظ »
 الان بر اساس چیزایی که از این دو تابع متوجه شدم,همfork و هم vfork پروسه فرزند رو تولید می کنند اما در تابع vforkوقتی پروسه فرزند تولید شد پروسه پدر بلاک می شه.اما سوالی که الان برام پیش اومده تابع وقتی  قراره پروسه پدر رو بلاک کنه پس کاربردش چیه؟میشه آسیب هاشو بگید؟ :?:
ممنون ‌

 

آفلاین پیام

  • Sr. Member
  • *
  • ارسال: 348
پاسخ : تفاوت fork با vfork
« پاسخ #6 : 09 آذر 1392، 01:26 ق‌ظ »
بهتره بگید برای چه چیزی یا کاری میخواید تا بیشتر راهنماییتون کنیم

در فورک میشه همزمان دو تا پروسسی که تولید میشه با هم کار کنن اما تابع وی فورک پروسس قبلی رو استاپ میکنه و خودش کار میکنه و وفتی هم که کارش تموم میشه باید یه جورایی حتما اگزیت بشه و مشکلشم همینه که بر نمیگرده سمت پروسسی که صداش کرده

حالا ممکنه شمایه پروسس سیستمی رو با وی فورک صدا کرده باشید که به مشکل بر میخورید البته تو لینوکس اینجوریه..

موفق باشید

آنلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4872
  • جنسیت : پسر
  • masoft قدیم
پاسخ : تفاوت fork با vfork
« پاسخ #7 : 09 آذر 1392، 03:51 ق‌ظ »
برای سوکت‌پروگرامینگ میشه از fork استفاده کرد، میشه از pthread استفاده کرد یا از روش‌های دیگه، ولی خوب این باعث نمی‌شه که بگیم fork یا pthread برای سوکت‌پروگرامینگ هستند. از هر دو روش در جاهای بسیار زیادی استفاده می‌شه که اصلا ربطی به سوکت‌پروگرامینگ نداره.

چه توی گنو-لینوکس و چه توی بی‌اس‌دی، به دلیل بهبودها و اصلاحاتی که انجام شده، دیگه کسی از vfork استفاده نمی‌کنه. دلیلی که قدیم از vfork استفاده می‌شده این بوده که vfork کل فضای حافظه رو کپی نمی‌کنه، در نتیجه مصرف حافظه کمتری داشته و می‌تونسته سریع‌تر باشه.