FIFO (англ. first in, first out) — перший прийшов перший вийшов — є загальний принцип накопичення та обробки завдань (об'єктів). Принцип пов'язаний з поняттям черги: хто перший прийшов — той перший отримав обслуговування. Чергу можна представити у вигляді труби — з однієї сторони щось входить (стає в чергу) з іншої сторони виходить (оброблюється або обслуговується).
Протилежним принципом є LIFO (last in first out) — останній прийшов перший вийшов. Цей принцип пов'язаний із поняттям стек. Стек можна представити також трубою, але тільки з однією відкритою стороною. Можна або щось добавити в стек, або дістати і обробити (обслужити), але це буде той об'єкт, який потратив у стек останнім (наприклад, патрони в ріжку автомата — перший вистрілює той, який був заправлений останнім).
Обидва принципи є інтуїтивно зрозумілими і широко застосовуються у техніці, програмуванні, логістиці, бухгалтерії, математиці (обхід графу) і т. д.
Принцип FIFO використовується при пошуку на графі у ширину. Принцип LIFO — при пошуку у глибину.
Нижче наведений один з прикладів. Інші приклади можна знайти за посиланнями: черга, стек, LIFO.
Приклад використання стратегії заміщення FIFO
Нехай процес містить 8 віртуальних сторінок на диску, а йому виділено чотири фіксованих кадри основної пам'яті. Далі виконуються звернення до наступних сторінок: 1 0 2 2 1 7 6 7 0 1 Вкажемо послідовність розміщення сторінок в кадрах при використанні алгоритму заміщення сторінок FIFO. 8 віртуальних сторінок — це цифри, які ми розміщатимемо у таблиці. 4 фіксованих кадри основної пам'яті зазначають розмір рядків у таблиці. Отже сформуємо пусту таблицю.
1 | 0 | 2 | 2 | 1 | 7 | 6 | 7 | 0 | 1 |
---|---|---|---|---|---|---|---|---|---|
• | • | • | • | • | • | • | • | • | • |
• | • | • | • | • | • | • | • | • | • |
• | • | • | • | • | • | • | • | • | • |
• | • | • | • | • | • | • | • | • | • |
Заповнення таблиці відбувається вертикально. Зараз у нас є 4 вільних фіксованих кадрів. Отже, після заповнення у них знаходитимуться цифри: 1 0 2 7. Наша таблиця набуде вигляду:
1 | 0 | 2 | 2 | 1 | 7 | 6 | 7 | 0 | 1 |
---|---|---|---|---|---|---|---|---|---|
1 | 1 | 1 | 1 | 1 | 1 | • | • | • | • |
• | 0 | 0 | 0 | 0 | 0 | • | • | • | • |
• | • | 2 | 2 | 2 | 2 | • | • | • | • |
• | • | • | • | • | 7 | • | • | • | • |
Як бачимо, нам потрібно задіяти сторінку 6, а місця на неї — не залишилось. Згідно з правил принципу нам потрібно помістити цифру на місце тієї, яка використовувалась найпершою, а це цифра 1. Ось що получиться:
1 | 0 | 2 | 2 | 1 | 7 | 6 | 7 | 0 | 1 |
---|---|---|---|---|---|---|---|---|---|
1 | 1 | 1 | 1 | 1 | 1 | 6 | 6 | 6 | • |
• | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | • |
• | • | 2 | 2 | 2 | 2 | 2 | 2 | 2 | • |
• | • | • | • | • | 7 | 7 | 7 | 7 | • |
Тепер нам знову потрібно звернутись до сторінки 1, якої уже нема у фіксованих кадрах. Згідно таблиці, першою була задіяна цифра 0, на її місце помістимо цифру 1. Заповнена таблиця матиме вигляд:
1 | 0 | 2 | 2 | 1 | 7 | 6 | 7 | 0 | 1 |
---|---|---|---|---|---|---|---|---|---|
1 | 1 | 1 | 1 | 1 | 1 | 6 | 6 | 6 | 6 |
• | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
• | • | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
• | • | • | • | • | 7 | 7 | 7 | 7 | 7 |
Розмір таблиці може змінюватись від кількості сторінок, фіксованих кадрів та послідовності і кількості звертань.
Джерела
Загородній А. Г., Партин Г. О. Бухгалтерський облік: Основи теорії та практики: Підручник. — 2-е вид., перероб. і доп. Затверджено МОН. Знання, 2009. 422 с.
Ця стаття потребує додаткових для поліпшення її . (вересень 2019) |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
FIFO angl first in first out pershij prijshov pershij vijshov ye zagalnij princip nakopichennya ta obrobki zavdan ob yektiv Princip pov yazanij z ponyattyam chergi hto pershij prijshov toj pershij otrimav obslugovuvannya Chergu mozhna predstaviti u viglyadi trubi z odniyeyi storoni shos vhodit staye v chergu z inshoyi storoni vihodit obroblyuyetsya abo obslugovuyetsya Pershij zajshov pershij vijshov Protilezhnim principom ye LIFO last in first out ostannij prijshov pershij vijshov Cej princip pov yazanij iz ponyattyam stek Stek mozhna predstaviti takozh truboyu ale tilki z odniyeyu vidkritoyu storonoyu Mozhna abo shos dobaviti v stek abo distati i obrobiti obsluzhiti ale ce bude toj ob yekt yakij potrativ u stek ostannim napriklad patroni v rizhku avtomata pershij vistrilyuye toj yakij buv zapravlenij ostannim Obidva principi ye intuyitivno zrozumilimi i shiroko zastosovuyutsya u tehnici programuvanni logistici buhgalteriyi matematici obhid grafu i t d Princip FIFO vikoristovuyetsya pri poshuku na grafi u shirinu Princip LIFO pri poshuku u glibinu Nizhche navedenij odin z prikladiv Inshi prikladi mozhna znajti za posilannyami cherga stek LIFO Priklad vikoristannya strategiyi zamishennya FIFONehaj proces mistit 8 virtualnih storinok na disku a jomu vidileno chotiri fiksovanih kadri osnovnoyi pam yati Dali vikonuyutsya zvernennya do nastupnih storinok 1 0 2 2 1 7 6 7 0 1 Vkazhemo poslidovnist rozmishennya storinok v kadrah pri vikoristanni algoritmu zamishennya storinok FIFO 8 virtualnih storinok ce cifri yaki mi rozmishatimemo u tablici 4 fiksovanih kadri osnovnoyi pam yati zaznachayut rozmir ryadkiv u tablici Otzhe sformuyemo pustu tablicyu 1 0 2 2 1 7 6 7 0 1 Zapovnennya tablici vidbuvayetsya vertikalno Zaraz u nas ye 4 vilnih fiksovanih kadriv Otzhe pislya zapovnennya u nih znahoditimutsya cifri 1 0 2 7 Nasha tablicya nabude viglyadu 1 0 2 2 1 7 6 7 0 1 1 1 1 1 1 1 0 0 0 0 0 2 2 2 2 7 Yak bachimo nam potribno zadiyati storinku 6 a miscya na neyi ne zalishilos Zgidno z pravil principu nam potribno pomistiti cifru na misce tiyeyi yaka vikoristovuvalas najpershoyu a ce cifra 1 Os sho poluchitsya 1 0 2 2 1 7 6 7 0 1 1 1 1 1 1 1 6 6 6 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 7 7 7 7 Teper nam znovu potribno zvernutis do storinki 1 yakoyi uzhe nema u fiksovanih kadrah Zgidno tablici pershoyu bula zadiyana cifra 0 na yiyi misce pomistimo cifru 1 Zapovnena tablicya matime viglyad 1 0 2 2 1 7 6 7 0 1 1 1 1 1 1 1 6 6 6 6 0 0 0 0 0 0 0 0 1 2 2 2 2 2 2 2 2 7 7 7 7 7 Rozmir tablici mozhe zminyuvatis vid kilkosti storinok fiksovanih kadriv ta poslidovnosti i kilkosti zvertan DzherelaZagorodnij A G Partin G O Buhgalterskij oblik Osnovi teoriyi ta praktiki Pidruchnik 2 e vid pererob i dop Zatverdzheno MON Znannya 2009 422 s Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno veresen 2019