Kqueue: تفاوت میان نسخه‌ها

از ویکی‌پدیا، دانشنامهٔ آزاد
محتوای حذف‌شده محتوای افزوده‌شده
صفحه‌ای جدید حاوی «{{lowercase}} {{فنی}} '''kqueue''' (کوتاه‌شده عبارت Kernel Queue) یک رابط آگاه‌سازی از رویدادها...» ایجاد کرد
 
MahdiBot (بحث | مشارکت‌ها)
خط ۱: خط ۱:
{{lowercase}}
{{lowercase}}
{{فنی}}
{{فنی}}
'''kqueue''' (کوتاه‌شده عبارت Kernel Queue) یک رابط آگاه‌سازی از رویدادهاست که اولین بار در نسخه ۴٫۱ [[سیستم‌عامل]] [[فری‌بی‌اس‌دی]] معرفی شد و در سیستم‌عامل‌های [[اوپن‌بی‌اس‌دی]]، [[نت‌بی‌اس‌دی]]، [[دراگون‌فلی بی‌اس‌دی]] و [[مک اواس ده]] هم پشتیبانی می‌شود. kqueue خطوط ارتباطی ورودی و خروجی کارایی را بین [[هسته سیستم‌عامل]] و برنامه‌های موجود در [[فضای کاربری]] فراهم می‌کند. بدین‌گون که تغییر دادن فیلترهای رویدادی و همچنین دریافت کردن رویدادهای معلق با استفاده از تنها یک بار فراخوانی kevent(){{چر}} در هر دور تکرار از [[حلقه رویداد]]، امکان‌پذیر است. این در تضاد با فراخوان‌های سیستمی مانند poll(){{چر}} و select(){{چر}} است که کارایی کمتری دارند، خصوصا در حین سرکشی کردن بر روی تعداد زیادی از [[توصیف‌گر پرونده|توصیف‌گرهای پرونده]].
'''kqueue''' (کوتاه‌شده عبارت Kernel Queue) یک رابط آگاه‌سازی از رویدادهاست که اولین بار در نسخه ۴٫۱ [[سیستم‌عامل]] [[فری‌بی‌اس‌دی]] معرفی شد و در سیستم‌عامل‌های [[اوپن‌بی‌اس‌دی]]، [[نت‌بی‌اس‌دی]]، [[دراگون‌فلی بی‌اس‌دی]] و [[مک اواس ده]] هم پشتیبانی می‌شود. kqueue خطوط ارتباطی ورودی و خروجی کارایی را بین [[هسته سیستم‌عامل]] و برنامه‌های موجود در [[فضای کاربری]] فراهم می‌کند. بدین‌گون که تغییر دادن فیلترهای رویدادی و همچنین دریافت کردن رویدادهای معلق با استفاده از تنها یک بار فراخوانی kevent(){{چر}} در هر دور تکرار از [[حلقه رویداد]]، امکان‌پذیر است. این در تضاد با فراخوان‌های سیستمی مانند poll(){{چر}} و select(){{چر}} است که کارایی کمتری دارند، خصوصاً در حین سرکشی کردن بر روی تعداد زیادی از [[توصیف‌گر پرونده|توصیف‌گرهای پرونده]].


kqueue نه تنها رویدادهای مربوط به [[توصیف‌گر پرونده|توصیف‌گرهای پرونده]] را اداره می‌کند، بلکه همچنین برای انواع مختلف آگاه‌سازی‌های دیگر از جمله نظاره کردن برای تغییر یافتن فایل‌ها، سیگنال‌ها، رویدادهای [[ورودی/خروجی]] ناهم‌گام، نظاره کردن تغییر وضعیت [[فرآیند فرزند]] و [[تایمر|تایمرها]] که از [[نانو ثانیه]] هم پشتیبانی می‌کند.
kqueue نه تنها رویدادهای مربوط به [[توصیف‌گر پرونده|توصیف‌گرهای پرونده]] را اداره می‌کند، بلکه همچنین برای انواع مختلف آگاه‌سازی‌های دیگر از جمله نظاره کردن برای تغییر یافتن فایل‌ها، سیگنال‌ها، رویدادهای [[ورودی/خروجی]] ناهم‌گام، نظاره کردن تغییر وضعیت [[فرایند فرزند]] و [[تایمر|تایمرها]] که از [[نانو ثانیه]] هم پشتیبانی می‌کند.


برخی از سیستم‌عامل‌های دیگر که تنها select(){{چر}} poll(){{چر}} را پشتیبانی می‌کنند هم در حال حاضر تعدادی راه حل جایگزین مشابه kqueue ارائه کرده‌اند که از جمله آنها می‌توان به [[epoll]] در [[لینوکس]] اشاره کرد. استفاده مستقیم از kquque می‌تواند باعث شود تا برنامه پورتابل بودن خود را از دست بدهد، چرا که بعضی از سیستم‌عامل‌ها از kqueue پشتیبانی نمی‌کنند. در عوض، می‌توان از رابط‌های آگاه‌سازی غیر وابسته به پلتفرم همانند [[libevent]] استفاده کرد، بدون اینکه تفاوت قابل ملاحظه‌ای در کارایی برنامه از دست برود.
برخی از سیستم‌عامل‌های دیگر که تنها select(){{چر}} poll(){{چر}} را پشتیبانی می‌کنند هم در حال حاضر تعدادی راه حل جایگزین مشابه kqueue ارائه کرده‌اند که از جمله آنها می‌توان به [[epoll]] در [[لینوکس]] اشاره کرد. استفاده مستقیم از kquque می‌تواند باعث شود تا برنامه پورتابل بودن خود را از دست بدهد، چرا که بعضی از سیستم‌عامل‌ها از kqueue پشتیبانی نمی‌کنند. در عوض، می‌توان از رابط‌های آگاه‌سازی غیر وابسته به پلتفرم همانند [[libevent]] استفاده کرد، بدون اینکه تفاوت قابل ملاحظه‌ای در کارایی برنامه از دست برود.
خط ۱۵: خط ۱۵:
|بازیابی =
|بازیابی =
}}
}}
[[رده:رویدادها (رایانش)]]
[[رده:فری‌بی‌اس‌دی]]

نسخهٔ ‏۱۶ مارس ۲۰۱۴، ساعت ۲۰:۲۰

kqueue (کوتاه‌شده عبارت Kernel Queue) یک رابط آگاه‌سازی از رویدادهاست که اولین بار در نسخه ۴٫۱ سیستم‌عامل فری‌بی‌اس‌دی معرفی شد و در سیستم‌عامل‌های اوپن‌بی‌اس‌دی، نت‌بی‌اس‌دی، دراگون‌فلی بی‌اس‌دی و مک اواس ده هم پشتیبانی می‌شود. kqueue خطوط ارتباطی ورودی و خروجی کارایی را بین هسته سیستم‌عامل و برنامه‌های موجود در فضای کاربری فراهم می‌کند. بدین‌گون که تغییر دادن فیلترهای رویدادی و همچنین دریافت کردن رویدادهای معلق با استفاده از تنها یک بار فراخوانی kevent()‎ در هر دور تکرار از حلقه رویداد، امکان‌پذیر است. این در تضاد با فراخوان‌های سیستمی مانند poll()‎ و select()‎ است که کارایی کمتری دارند، خصوصاً در حین سرکشی کردن بر روی تعداد زیادی از توصیف‌گرهای پرونده.

kqueue نه تنها رویدادهای مربوط به توصیف‌گرهای پرونده را اداره می‌کند، بلکه همچنین برای انواع مختلف آگاه‌سازی‌های دیگر از جمله نظاره کردن برای تغییر یافتن فایل‌ها، سیگنال‌ها، رویدادهای ورودی/خروجی ناهم‌گام، نظاره کردن تغییر وضعیت فرایند فرزند و تایمرها که از نانو ثانیه هم پشتیبانی می‌کند.

برخی از سیستم‌عامل‌های دیگر که تنها select()‎ poll()‎ را پشتیبانی می‌کنند هم در حال حاضر تعدادی راه حل جایگزین مشابه kqueue ارائه کرده‌اند که از جمله آنها می‌توان به epoll در لینوکس اشاره کرد. استفاده مستقیم از kquque می‌تواند باعث شود تا برنامه پورتابل بودن خود را از دست بدهد، چرا که بعضی از سیستم‌عامل‌ها از kqueue پشتیبانی نمی‌کنند. در عوض، می‌توان از رابط‌های آگاه‌سازی غیر وابسته به پلتفرم همانند libevent استفاده کرد، بدون اینکه تفاوت قابل ملاحظه‌ای در کارایی برنامه از دست برود.

منابع

مشارکت‌کنندگان ویکی‌پدیا. «kqueue». در دانشنامهٔ ویکی‌پدیای انگلیسی.