WikiDer > Очередь ввода
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
В Информатика, очередь ввода представляет собой набор процессов в место хранения которые ждут, чтобы их привели в объем памяти запустить программу. Входные очереди в основном используются в планировании операционной системы, которое является методом распределения ресурсов между процессами. Очереди ввода, не только относятся к операционные системы (ОС), но также может применяться для планирования внутри сетевых устройств. Назначение расписания - обеспечить справедливое и эффективное распределение ресурсов; следовательно, это улучшает производительность системы.
По сути, очередь - это коллекция, в которую данные добавляются в задней позиции и удаляются из передней позиции. Есть много разных типов очередей, и способы их работы могут быть совершенно разными.
Операционные системы используют очереди в порядке очереди, очереди с первым обслуживанием, минимальное оставшееся время, упреждающее планирование с фиксированным приоритетом, циклическое планирование и многоуровневое планирование очередей.
Сетевые устройства используют очередь «первым пришел - первым обслужен», взвешенную справедливую очередь, очередь с приоритетом и настраиваемую очередь.
Операционная система
В операционных системах процессы загружаются в память и ждут своей очереди выполнения центральное процессорное устройство (ЦПУ). Планирование ЦП управляет состояниями процессов и решает, когда процесс будет выполняться следующим, с помощью входной очереди.
Первый пришел, первый вышел
Процессы «первым пришел - первым вышел» извлекаются из очереди в последовательном порядке, в котором они помещаются в очередь. С помощью этого метода все процессы обрабатываются одинаково. Если есть два процесса с разным приоритетом, и процесс с более низким приоритетом входит в очередь первым, он будет выполнен первым. Этот подход может быть не идеальным, если разные процессы имеют разные приоритеты, особенно если процессы выполняются долго.
Наименьшее оставшееся время
Метод наименьшего оставшегося времени пытается предсказать время обработки разработок и помещает их в очередь от наименьшего до наибольшего времени обработки. Этот метод оценивает и прогнозирует на основе предыдущих записей истории. В терминах его производительность нестабильна, но лучше сокращает время ожидания процесса, чем в порядке очереди.
Упреждающее планирование с фиксированным приоритетом
Метод упреждающего планирования с фиксированным приоритетом назначает разные приоритеты процессам в зависимости от времени их обработки и размещает их в очереди в порядке их приоритетов. Процессы сервера ЦП от более высокого до более низкого приоритета и процессы с таким же приоритетом обслуживаются в порядке очереди. ЦП временно прекратит обслуживание процесса с низким приоритетом, когда процесс с более высоким приоритетом поступит в очередь.
Планирование с циклическим перебором
Метод циклического планирования предоставляет одинаковое количество времени для каждого процесса и циклически проходит их. Этот метод во многом основан на том, что каждый процесс требует много времени. Слишком короткое время приведет к фрагментации процессов, а слишком большое количество времени увеличит время ожидания для выполнения каждого процесса. Основой этого метода является правильный выбор времени.
Планирование многоуровневой очереди
Многие очереди используются в методе многоуровневого планирования очереди, и каждая очередь имеет свой собственный алгоритм планирования. Планирование многоуровневой очереди сложнее по сравнению с другими методами, но оно обеспечивает гибкость ОС для обслуживания различных данных в сложной ситуации.
Сети
В сети пакеты являются ключевой основой планирования. Каждый день по ядру сети перемещается множество различных типов пакетов, и к ним относятся совершенно по-разному. Например, голосовые и видео пакеты имеют более высокий приоритет, чем обычные пакеты. Для эффективного управления и распределения пакетов сетевые устройства также используют входную очередь, чтобы определить, какой пакет будет передан первым.
Очередь в порядке очереди (FIFO)
В этом режиме пакеты извлекаются из очереди в том порядке, в котором они поступают из очереди. Каждый пакет обрабатывается с одинаковым приоритетом. Если большой пакет A приходит раньше маленького пакета B, B все равно должен ждать, пока A будет полностью обслужен. Если система обрабатывает все пакеты одинаково, пользователи могут испытывать задержку при передаче, например: голосовые пакеты.
Взвешенная справедливая очередь (WFQ)
Взвешенная честная очередь использует алгоритм min-max-fair-share для распределения пакетов. Минимальное справедливое распределение означает, что сетевая ОС будет распределять одинаково минимальный ресурс для каждого типа пакета. Максимальное справедливое распределение означает, что сетевая ОС будет предоставлять больше ресурсов для пакетов, которым в этот момент необходимо передать большой объем данных, но после передачи она вернет ресурс обратно. «Взвешенный» означает, что планировщик назначит вес для каждого типа пакета. Основываясь на весе, он определит, как поставить пакет в очередь и обслужить его. Обычно вес каждого пакета определяется на основе поля приоритета IP из заголовка IP каждого пакета.
- Справедливое распределение = (емкость ресурса - ресурс уже выделен) / количество пакетов
Приоритетная очередь (PQ)
Очередь с приоритетом разделена на 4 под-очереди с разными приоритетами. Данные в каждой очереди обслуживаются только тогда, когда очереди с более высоким приоритетом пусты. Если данные поступают в пустую очередь с более высоким приоритетом, в то время как сетевая ОС передает данные очереди с более низким приоритетом, сетевая ОС будет хранить данные очереди с более низким приоритетом и сначала обрабатывать данные в очереди с более высоким приоритетом. Сетевая ОС не заботится о том, как долго очереди с более низким приоритетом должны ждать своей очереди, потому что она всегда сначала заканчивает каждую очередь с наивысшего до самого низкого приоритета, прежде чем перейти к следующей очереди. Внутри каждой очереди пакеты пересылаются по принципу «первым пришел - первым обслужен».
Пользовательская очередь (CQ)
Пользовательская очередь разделена на 17 различных под-очередей. Первая очередь, очередь 0, зарезервирована для сетевой ОС для передачи системного пакета, остальные 16 очередей предназначены для пакетов, определяемых пользователем. Пользователь может определять различные важные пакеты и назначать их в каждую очередь. Каждая очередь имеет ограниченный размер, и при достижении этого ограничения она отбрасывает все приходящие пакеты. Каждая очередь обслуживается в зависимости от количества пакетов, обслуживаемых в каждой очереди. Если этот предел соблюден, сетевая ОС будет удерживать пакеты текущей очереди и обслуживать следующую очередь, пока эта очередь не станет пустой или не достигнет своего предела пакетов. Если одна очередь пуста, сетевая ОС пропустит эту очередь и обслужит следующую очередь.
Смотрите также
Рекомендации
- Столлингс, Уильям (2003). Практические занятия CCIE, Том II. Cisco Press. ISBN 1-58705-072-2.
- Планирование операционной системы
- Операционная система - планирование
- Планирование ОС и буферизация