کلمه جو
صفحه اصلی

خروج به ترتیب ورود

دانشنامه عمومی

خروج به ترتیب ورود (رایانه و الکترونیک). خروج به ترتیب ورود (به انگلیسی: FIFO یا First In, First Out) یکی از روش های سازماندهی کنترل داده با توجه به زمان و اولویت بندی است. این اصطلاح، اصل تکنیک پردازش صف یا برآوردن تقاضای عرضه شده به وسیله راهکار «اولین ورودی، اولین دریافت کننده خدمات» (FCFS) را توصیف می نماید: هر مهره ای که زودتر وارد شود، زود تر بررسی می گردد و هر مهره ای پس از آن وارد شود صبر می کند تا اعمال انجام گرفته روی مهره اول تمام شود.
http://en.wikipedia.org/wiki/FIFO
Cormen, Thomas H. ; Leiserson, Charles E. ; Rivest, Ronald L. ; Stein, Clifford Introductions to Algorithms (2003). MIT Press. ISBN 0-262-03293-7, pp. ۲۰۵–۲۱۳، ۵۰۱–۵۰۵
بنا بر این، این موضوع شبیه رفتار صف بندی انسان ها است، جاییکه افراد صف را به ترتیب ورودشان ترک می نمایند. یا زمانی که در پشت چراغ راهنمایی منتظر نوبت خود می شوند. FCFS نیز نام دیگری برای الگوریتم زمانبندی سیستم عامل FIFO است. روشی که به هر فرایندی زمانی از زمان پردازنده را مطابق با ترتیب ورودش اختصاص می دهد. در معنای وسیع تر، سرواژه LIFO یا «آخرین ورودی، اولین خروجی» متضاد FIFO است. با در نظر گرفتن واژه FILO به معنای «اولین ورودی، آخرین خروجی» تفاوت این دو واژه آشکارتر می شود. در واقع هر دو حالت خاصی از یک لیست عام هستند. تفاوت در داده ها وجود ندارد. بلکه در قواعد برای دستیابی به محتوا است.
در علم رایانه این واژه اشاره دارد به نحوه پردازش داده ذخیره شده در یک صف. هر عنصر در یک داده ساختار صف ذخیره می شود. اولین داده اضافه شده به صف، اولین داده ای خواهد بود که برداشته می شود. بنا بر این، پردازش از نظر زمانی به همین ترتیب پیش می رود. این رفتار معمول برای یک صف است. کد زیر نمونه ای از این داده ساختار است.
struct fifo_node{ struct fifo_node *next; value_type value;};class fifo{ fifo_node *front; fifo_node *back; fifo_node *dequeue(void) { fifo_node *tmp = front; front = front->next; return tmp; } queue(value) { fifo_node *tempNode = new fifo_node; tempNode->value = value; back->next = tempNode; back = tempNode; }};اول سر یا تهویرایشبرنامه نویسان و کاربران صف FIFO بایستی توجه زیادی به کاربرد واژگان head و tail برای اشاره به دو سر صف داشته باشند. برای بسیاری از افراد داده ها باید از tail وارد صف شوند و تا زمانیکه به head برسند در صف بمانند و صف را از آنجا ترک نمایند. این دیدگاه را می توان با صف افرادی که برای در یافت سرویس خاصی منتظر مانده اند قیاس نمود و به کاربرد دو واژه «جلو» و «عقب» در این مثال تشبیه نمود. اگر چه، افراد دیگر عقیده دارند که داده ها از head وارد صف می شوند و از tail آن را ترک می نمایند. همچون ترتیب عبور غذا در درون یک مار. صف هایی که به این طریق پیاده سازی شده اند، در جایگاه هایی مانند سیستم عامل GNU/Linux ظاهر می شوند.


کلمات دیگر: