PDA

View Full Version : forking



پنج شنبه 29 مرداد 1383, 01:58 صبح
می خواستم بدانم این در لینوکس چیست؟
با تشکر

whitehat
پنج شنبه 29 مرداد 1383, 02:38 صبح
منظور شما مفهوم آن است یا چگونگی دستور آن در لینوکس؟

پنج شنبه 29 مرداد 1383, 12:59 عصر
مفهمومش اگر زحمتی نیست :D
با تشکر

oxygenws
پنج شنبه 29 مرداد 1383, 13:26 عصر
تعریف احمقانه ای از عملیات fork:
برای تولید مثل یک پروسس استفاده می شه و با forking ای که روی یک پروسس اجرا می شه، یک پروسس دقیقا مشابه با پروسس پدر تولید می شه که می تونه کار هایی موازی (مشابه یا کلا متفاوت) با کارهای پدرش رو انجام بده.
کاربرد بسیار خوبی در سیستمهای چند پردازنده ای داره (parallel programming)

موفق باشید، امید

پنج شنبه 29 مرداد 1383, 19:13 عصر
آهان ایول گرفتم :D
حالا چرا احمقانه؟ :D
با تشکر

shaniaki
پنج شنبه 29 مرداد 1383, 23:41 عصر
با عرض ادب:
نه تنها در سیستم های چند پردازنده ای بلکه در یک برنامه ساده multithread هم راه اصلی ایجاد یک process جدید fork کردنه .البته در لینوکس به علت پیاده سازی بسیار کارآمد process ها بسیاری از کارهایی که در ویندوز با ایجاد thread یا ریسمان انجام می دهید در ویندوز با یک process جدید انجام می دهید و به همین خاطر مفهوم fork کردن در لینوکس یک مفهوم اساسی است.
در حقیقت در طول برنامه ای که نوشته اید اگر فرض کنید یک process در حال اجرای آن است پس از اجرای دستور fork از خط بعدی آن برنامه توسط دو process اجرا می شود.

یه عشق برنامه نویسی خفن

Inprise
شنبه 31 مرداد 1383, 02:38 صبح
تمثیل Fork به تولید مثل ایده خوبی بود . زیاد دیدم که برنامه نویسهای ویندوز که تازه وارد لینوکس شدن Fork رو با CreateProcess ویندوز مقایسه میکنن ، در حالیکه اینطور نیست . Fork یک کپی ِ برابر اصل از پردازه ایجاد میکنه ، حتی با محتویات Stack ! یعنی درست مثل تولید مثل جاندارانی که با دو تکه شدن ، توالد میکنند .