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

کمک و پشتیبانی => برنامه‌سازی => نویسنده: ommolbanin در 07 آذر 1392، 12:46 ب‌ظ

عنوان: تفاوت fork با vfork
ارسال شده توسط: ommolbanin در 07 آذر 1392، 12:46 ب‌ظ
سلام
دوستان کسی تفاوت()forkرو با()vforkرو میدونه؟؟؟؟؟ :?:
عنوان: پاسخ : تفاوت fork با vfork
ارسال شده توسط: پیام در 07 آذر 1392، 06:14 ب‌ظ
سلام تابع فورک یا تابع ایجاد بچه برای سوکت پروگرامینگ استفاده می شه که تو یونیکس های بی اس دی استفاده میشدن و تو توابع سوکت پروگرامینگ و ارتباط با سوکت استفاده می شد
و vfork  برای استفاده توابع فورک تو ویرچوال ومجازی سازی استفاده میشه

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

موفق باشید
عنوان: پاسخ : تفاوت fork با vfork
ارسال شده توسط: nixoeen در 08 آذر 1392، 04:46 ق‌ظ
نه fork و نه vfork ربطی به سوکت‌پروگرامینگ یا مجازی‌سازی ندارند.

vfork رو می‌تونید فراموش کنید، نباید ازش استفاده بشه. اگر با این وجود دوست دارید بیشتر بدونید: ‪لینک (http://tldp.org/HOWTO/Secure-Programs-HOWTO/avoid-vfork.html)
عنوان: پاسخ : تفاوت fork با vfork
ارسال شده توسط: ommolbanin در 08 آذر 1392، 10:54 ق‌ظ
تفاوتشونو درست متوجه نشدم اگه میشه بیشتر توضیح بدین(انگلیسیشو درست متوجه نشدم)
مرسی
عنوان: پاسخ : تفاوت fork با vfork
ارسال شده توسط: پیام در 08 آذر 1392، 06:25 ب‌ظ
ببخشید
من قبلا که با فری بی اس دی کار می کردم برای کار با سوکت پروگرامینگ بایدتابع فورک یا بچه زا رو صدا می کردم نمی دونم درست بود یا نه ولی تو چند تا کتاب هم نوشته بود که برای ایجاد پروسس های بچه زا در سیستم عامل های سری بی اس دی از تابع فورک استفاده می کنن


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

موفق باشید
عنوان: پاسخ : تفاوت fork با vfork
ارسال شده توسط: ommolbanin در 08 آذر 1392، 07:18 ب‌ظ
 الان بر اساس چیزایی که از این دو تابع متوجه شدم,همfork و هم vfork پروسه فرزند رو تولید می کنند اما در تابع vforkوقتی پروسه فرزند تولید شد پروسه پدر بلاک می شه.اما سوالی که الان برام پیش اومده تابع وقتی  قراره پروسه پدر رو بلاک کنه پس کاربردش چیه؟میشه آسیب هاشو بگید؟ :?:
ممنون ‌

 
عنوان: پاسخ : تفاوت fork با vfork
ارسال شده توسط: پیام در 09 آذر 1392، 01:26 ق‌ظ
بهتره بگید برای چه چیزی یا کاری میخواید تا بیشتر راهنماییتون کنیم

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

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

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

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