Разное

Fifo и lifo – Определение методов ЛИФО и ФИФО. Как применяются?

14.04.2019

Википедия — свободная энциклопедия

Избранная статья

Первое сражение при реке Булл-Ран (англ. First Battle of Bull Run), также Первое сражение при Манассасе) — первое крупное сухопутное сражение Гражданской войны в США. Состоялось 21 июля 1861 года возле Манассаса (штат Виргиния). Федеральная армия под командованием генерала Ирвина Макдауэлла атаковала армию Конфедерации под командованием генералов Джонстона и Борегара, но была остановлена, а затем обращена в бегство. Федеральная армия ставила своей целью захват важного транспортного узла — Манассаса, а армия Борегара заняла оборону на рубеже небольшой реки Булл-Ран. 21 июля Макдауэлл отправил три дивизии в обход левого фланга противника; им удалось атаковать и отбросить несколько бригад конфедератов. Через несколько часов Макдауэлл отправил вперёд две артиллерийские батареи и несколько пехотных полков, но южане встретили их на холме Генри и отбили все атаки. Федеральная армия потеряла в этих боях 11 орудий, и, надеясь их отбить, командование посылало в бой полк за полком, пока не были израсходованы все резервы. Между тем на поле боя подошли свежие бригады армии Юга и заставили отступить последний резерв северян — бригаду Ховарда. Отступление Ховарда инициировало общий отход всей федеральной армии, который превратился в беспорядочное бегство. Южане смогли выделить для преследования всего несколько полков, поэтому им не удалось нанести противнику существенного урона.

Хорошая статья

«Хлеб» (укр. «Хліб») — одна из наиболее известных картин украинской советской художницы Татьяны Яблонской, созданная в 1949 году, за которую ей в 1950 году была присуждена Сталинская премия II степени. Картина также была награждена бронзовой медалью Всемирной выставки 1958 года в Брюсселе, она экспонировалась на многих крупных международных выставках.

В работе над полотном художница использовала наброски, сделанные летом 1948 года в одном из наиболее благополучных колхозов Советской Украины — колхозе имени В. И. Ленина Чемеровецкого района Каменец-Подольской области, в котором в то время было одиннадцать Героев Социалистического Труда. Яблонская была восхищена масштабами сельскохозяйственных работ и людьми, которые там трудились. Советские искусствоведы отмечали, что Яблонская изобразила на своей картине «новых людей», которые могут существовать только в социалистическом государстве. Это настоящие хозяева своей жизни, которые по-новому воспринимают свою жизнь и деятельность. Произведение было задумано и создано художницей как «обобщённый образ радостной, свободной творческой работы». По мнению французского искусствоведа Марка Дюпети, эта картина стала для своего времени программным произведением и образцом украинской реалистической живописи XX столетия.

Изображение дня

Рассвет в деревне Бёрнсте в окрестностях Дюльмена, Северный Рейн-Вестфалия

ru.wikipedia.green

FIFO - это... Что такое FIFO?

У этого термина существуют и другие значения, см. FIFO и LIFO. FIFO планировщик процессов

FIFO (акроним First In, First Out — «первым пришёл — первым ушёл») — способ организации и манипулирования данными относительно времени и приоритетов. Это выражение описывает принцип технической обработки очереди или обслуживания конфликтных требований путём упорядочения процесса по принципу: «первым пришёл — первым обслужен» (ПППО). Тот, кто приходит первым, тот и обслуживается первым, пришедший следующим ждёт, пока обслуживание первого не будет закончено, и так далее.

Этот принцип аналогичен поведению лиц, стоящих в очереди, когда люди получают обслуживание в том порядке, в котором они занимали очередь. То же самое происходит, например, на нерегулируемом перекрёстке, когда водители ожидают своей очереди на продолжение движения (в американских ПДД нет правила «помеха справа», приоритет определяется по принципу FIFO). ПППО также используется как сокращённое название для алгоритма FIFO планирования работы операционной системы, по которому процессорное время выделяется каждому процессу в порядке их поступления на обслуживание. В более широком смысле, абстракция LIFO или Last-In-First-Out («последним пришёл — первым ушёл») является противоположностью абстракции FIFO. Разница, возможно, станет яснее, если принять во внимание реже используемый синоним FILO, означающий First-In-Last-Out («первым пришёл — последним ушёл»). В сущности, обе абстракции являются конкретными случаями более общего понятия работы со списком. Разница не в списке (данных), а в правиле доступа к содержимому. В первом случае добавление делается к одному концу списка, а снятие с другого, во втором случае добавление и снятие делается на одном конце.

[1]

Вариантом очереди является очередь с приоритетом, для которой нельзя использовать название FIFO, потому что в этом случае обработка структуры данных происходит по другому принципу. Теория массового обслуживания охватывает более общее понятие очереди, а также взаимодействие между очередями, обслуживание в которых осуществляется по принципу «строго-FIFO». Для обозначения этого принципа также используется аббревиатура FCFS (first come, first served — «первым пришёл, первым обслужен»).

Информатика

Структуры данных

В информатике этот термин относится к способу запоминания данных, обрабатываемых в очереди. Каждый элемент очереди хранится в структуре данных очереди (без исключений). Первые данные, добавленные в очередь, будут первыми из неё удалены, то есть обработка производится последовательно в том же порядке, что и поступление. Это типичное поведение для очереди, хотя и не единственно возможное (см. также алгоритмы LIFO и стек).

Типичная структура данных выглядит следующим образом (пример на языке C++):

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;
  }
};

(Для информации об абстрактных структурах данных см. очереди. Подробнее о реализации см. кольцевой буфер.)

Популярные Unix-системы включают в языки программирования C/C++ файл заголовка sys/queue.h, который содержит макросы, используемые в приложениях по созданию FIFO очередей.

Споры о голове и хвосте очереди

Споры по поводу терминов «голова» и «хвост» существует в связи с очередями FIFO. Для большинства людей добавление нового элемента в очередь делается в её хвост, потом этот элемент остаётся в очереди до достижения её головы и, соответственно, оттуда покидает очередь. Эта точка зрения оправдана по аналогии с очередями людей, которые ждут каких-то услуг, при этом в приведенном выше примере можно найти параллели с использованием терминов «фронт» и «тыл». Однако, некоторые люди считают, что новые объекты входят в голову очереди и покидает её через хвост, подобно пище, проходящей через змея. Очереди, описанные таким образом, появляются в тех случаях, когда они могут рассматриваться как официальные, например, в описании операционной системы GNU/Linux.

Конвейеры

В вычислительных средах, которые поддерживают модели конвейеров и фильтров для межпроцессного взаимодействия, FIFO является альтернативным названием для именованного канала.

Планирование работы диска

Контроллеры дисков могут использовать метод FIFO в качестве алгоритма планирования работы диска по обслуживанию запросов ввода-вывода данных.

Коммуникация и сети

Коммуникационные мосты, коммутаторы и маршрутизаторы, используемые в компьютерных сетях, используют буферы FIFO для хранения пакетов данных при их передаче к следующему месту назначения. Обычно используется по крайней мере одна структура FIFO при каждом соединении сети. Некоторые устройства обладают несколькими буферами FIFO для одновременных и независимых очередей различных типов информации.

Электроника

Принцип FIFO обычно используется в электронных схемах для буферизации и управления потоком, передаваемом от аппаратного обеспечения к программному. В аппаратной форме FIFO в основном состоит из множества указателей чтения и записи, памяти и логики управления. Устройство памяти может быть SRAM, триггер, защёлка или любого другого подходящего типа. Для FIFO больших размеров используется, как правило, двойной порт SRAM, в котором один порт используется для записи, а другой для чтения.

Синхронным является такой FIFO, в котором одни и те же часы используются как для чтения, так и для записи. Асинхронные FIFO используют для чтения и записи различные часы. При использовании асинхронных FIFO возникает проблема метастабильности. Чаще всего при реализации асинхронных указателей FIFO используется код Грея (или любой другой код, в котором два соседних значения шкалы сигнала отличаются только в одном разряде) для обеспечения надежной генерации флага. Заметим ещё, что для генерации флагов в асинхронных реализациях FIFO нужно обязательно использовать арифметические указатели. И наоборот, для генерации флагов в синхронных реализациях FIFO можно использовать либо алгоритм «дырявое ведро», либо тот же арифметический указатель.

Примерами флага статуса FIFO являются: полон, пуст, почти полон, почти пуст, и т. д.

Первая известная реализация FIFO в электронике была сделана Питером Алфке в 1969 году в компании Fairchild Semiconductors. Сейчас Питер Алфке является директором Xilinx.

Очередь FIFO полна/пуста

В аппаратуратных устройствах принцип FIFO используется для синхронизации. Он часто реализуется в виде кольцевой очереди и имеет два указателя:

  1. Указатель чтения/Регистр адреса чтения
  2. Указатель записи/Регистр адреса записи

Первоначально адреса чтения и записи оба равны первой позиции памяти, при этом очередь FIFO пуста.

Очередь FIFO пуста
Когда регистр адреса чтения догоняет регистр адреса записи, триггер FIFO выдаёт сигнал «Пуст».
Очередь FIFO полна
Когда регистр адреса записи догоняет регистр адреса чтения, триггер FIFO выдаёт сигнал «Полон».

См. также

Примечания

  1. Роберт Круз. Структуры данных и проектирование программ. — Бином. Лаборатория знаний, 2008. — С. 768.

Ссылки

dic.academic.ru

FIFO, LIFO, FEFO, LEFO,FPFO,BBD

1. FIFO (first­in, first­out) - «первым входит - первым выходит», отгружаются товары из партии, поступившей на склад раньше других.

2. LIFO (last­in, first­out) - «последним входит - первым выходит», большим приоритетом при отгрузке обладает товар из партии, поступившей на склад позже других.

3. FEFO (first­ended, first­out) - «первым заканчивается - первым выходит». Как правило, в качестве критерия, определяющего приоритет отгрузки, используется срок годности: товары с меньшим остаточным сроком годности отгружаются в первую очередь.

4. LEFO (last­ended, first­out) - «последним заканчивается - первым выходит». Товары с наибольшим остаточным сроком годности отгружаются в первую очередь.

5. FPFO (First Product First Out) - «первый произведен - первый выходит».                                    При использовании данного метода при ротации грузов на складе учитывается дата выпуска продукции. Более старая продукция отгружается в первую очередь. Использование данного метода характерно для производственных складов.

6. BBD (Best Before Day)  - «первым истекает рекомендуемый срок - первым выходит».     При использовании данного метода при ротации грузов на складе учитывается рекомендуемый срок (не путать со сроком годности товара UBD англ. Use By Date). Товары с минимальным остаточным рекомендуемым сроком отгружаются в первую очередь. Использование данного метода характерно для складов, содержащих продовольственную продукцию (например, на винной этикетке, как правило, указана рекомендуемая даты использования). Использование продуктов после BBD не влечёт опасности для здоровья, указывает на дату и время, за которой свойства (вкус, запах и пр.) и питательные качества (снижение содержания витаминов, окисления липидов и т. д.) могут измениться (например, выпадения винного камня).

SKU (stock keeping unit) - единица складской наличности. Фактически - это ассортиментная позиция (единица одной товарной группы, марки, сорта в одном типе упаковки одной размерности, емкости, цвета и т.д.). Это отличие, которое выделяет товар.

Артикул (лат. articulus - раздел, статья) - тип или род изделия, товара, а также его цифровое или буквенное обозначение для кодирования, параграф, раздел параграфа, статья, глава. В настоящее время больше употребляется как обозначение марки, разновидности товара или его кода, используемого для организации учёта товаров.

FIFO (First In - First Out) - это система грузооборота по принципу «первый прибыл - первый убыл», означающая, что груз, первым пришедший на склад, первым и отгружается с него. Обычно система FIFO используется при хранении продукции, имеющей сильно ограниченный срок годности, в основном - пищевых продуктов. Подобный метод отгрузки имеет сложности при размещении груза на стеллажах. Рассмотрим виды стеллажного оборудования, подходящие к этой системе.

  • Гравитационные - это, пожалуй, единственная система, наиболее оптимально подходящая к принципу FIFO. Установка стеллажей производится по принципу разделения зон загрузки и выгрузки и не требует никаких лишних действий при работе погрузчика.
  • Набивные - менее подходят, однако тоже применимы, если будут установлены по «проходной» системе (то есть, не примыкая к стене склада). Однако погрузка-выгрузка достаточно осложнена тем, что система не динамична и требуются дополнительные манипуляции с паллетами.
  • Push Back - эти стеллажи не рекомендуются, но могут быть использованы, хотя требуют достаточно трудоемких действий при загрузке-выгрузке.

LIFO (Last In - First Out) - «первый прибыл - последний убыл». Используется при хранении груза со значительным сроком годности или вообще не имеющего его. Система менее проблематична, чем FIFO и предполагает больший выбор стеллажей.

  • Набивные - устанавливаются по «глубинной» схеме (примыкая к стене склада). Являются самыми дешевыми, хотя и наиболее повреждаемыми из всех видов.
  • «Шаттл» - являются классическим LIFO-решением и применяются только в этой системе.
  • Push Back - также классическое LIFO-решение, хотя возможно применение и в FIFO-схеме.
  • Гравитационные - устанавливаются с совмещенной загрузкой-выгрузкой (примыкая к стене), однако они чуть менее удобны, чем предыдущие стеллажи, из-за необходимости «проталкивать» паллеты вверх по роликам стеллажного коридора.

metbiz.ru

Отправить ответ

avatar
  Подписаться  
Уведомление о