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

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

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


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

نویسنده موضوع: file descriptor چیه؟  (دفعات بازدید: 1871 بار)

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

آفلاین amin-asa

  • Full Member
  • *
  • ارسال: 161
  • جنسیت : پسر
file descriptor چیه؟
« : 21 امرداد 1392، 03:48 ق‌ظ »
سلام دوستان

fd یا file descriptor چیه هستن و چه زمانی از اونها استفاده میکنیم؟
* زندگی خالی نیست *
* مهربانی هست، سیب هست، ایمان هست *
* آری تا شقایق هست، زندگی باید کرد *

آفلاین fond

  • Full Member
  • *
  • ارسال: 144
پاسخ : file descriptor چیه؟
« پاسخ #1 : 21 امرداد 1392، 08:03 ق‌ظ »
به فایلهایی که توسط یک پروسه باز شده میگن fd. از دید برنامه نویسی این یه عدد صحیح (معمولا بین 0 تا 1024) هست که فرخوان سیستمی ()open یا روالهای مشابه مثل fopen بر میگردونند. پروسه با این عدد که به یک فایل اشاره می‌کنه، میتونه توی اون فایل بخونه یا بنویسه. سه تا fd اول رزرو شده هستند. 0 برای ورودی استاندارد، 1 خروجی استاندارد، 2 خطای استاندارد. کاربر غیر برنامه نویس فقط با همین ۳ تا سرور کار داره. همینطور با ulimit هم میشه حداکثر تعداد fd که یک پروسه میتونه همزمان داشته باشه رو مشخص کرد. در ضمن این فایل میتونه یک فایل معمولی، یک سوکت و یا pipe باشه که هر کدوم روشهای مخصوص به خودشون رو برای خوندن و نوشتن دارن. برای فایلهای معمولی ()read و ()write، برای سوکت ها ()send و ()recv و برای pipe ها هم مثلا یه روش این هست که اول پروسه پدر ()fork میشه و یعدش ورودی یا خروجی استانداردش رو می‌بنده، و پروسه فرزند هم یکی از ورودی/خروجی هاش رو می‌بنده و از طریق ورودی/خروجی دیگه با هم ارتباط برقرار می کنند. امیدوارم این چند خط برای پیدا کردن چیزی که دنبالش بودید مفید باشه.

آفلاین amin-asa

  • Full Member
  • *
  • ارسال: 161
  • جنسیت : پسر
پاسخ : file descriptor چیه؟
« پاسخ #2 : 21 امرداد 1392، 08:26 ق‌ظ »
بله برای من مفید بود. ممنونم.

من پایتون کار می کنم و دیدم این توابع ( read, write ) توی ماژول os هستن.

حالا فرق این توابعی که از fd برای خوندن یا نوشتن استفاده میکنن با متدهای write , read  فایل هندل پایتون توی چیه؟
* زندگی خالی نیست *
* مهربانی هست، سیب هست، ایمان هست *
* آری تا شقایق هست، زندگی باید کرد *

آفلاین fond

  • Full Member
  • *
  • ارسال: 144
پاسخ : file descriptor چیه؟
« پاسخ #3 : 21 امرداد 1392، 03:16 ب‌ظ »
من تجربه ای با پایتون ندارم و نمی تونم نظری بدم. منظور من از ()read و ()write روالهای موجود توی استاندارد posix بودند. هر چند که اکثر زبانهای برنامه نویسی هم از مفاهیم مشابهی استفاده می کنند. فکر می کنم بهتره در مورد پایتون من سکوت کنم تا دوستان حرفه ای راهنمایی کند.

آفلاین AmirrezaGhaderi

  • Jr. Member
  • *
  • ارسال: 90
  • جنسیت : پسر
    • حساب تویتر من
پاسخ : file descriptor چیه؟
« پاسخ #4 : 25 امرداد 1392، 01:32 ق‌ظ »
تمام این توابع در نهایت باید توسط یک FD‌به فایل ها دسترسی داشته باشن... کلا هر گونه عملیاتی که مربوط به I/O‌ باشه از طریق
FD‌ها کارش رو انجام میده. توصیه میکنم حتما این مقاله رو بخونید:
http://writeweb.ir/1392/01/everything-is-a-file-in-unix/

آفلاین amin-asa

  • Full Member
  • *
  • ارسال: 161
  • جنسیت : پسر
پاسخ : file descriptor چیه؟
« پاسخ #5 : 31 امرداد 1392، 11:27 ب‌ظ »
ممنونم اقای قادری

مقاله خوبی بود به دوستان هم توصیه می کنم این مقاله رو بخونن.
* زندگی خالی نیست *
* مهربانی هست، سیب هست، ایمان هست *
* آری تا شقایق هست، زندگی باید کرد *