Я не уверен, происходит ли это на программном уровне, а не на аппаратном уровне, но, поскольку я изучаю эту технологию, чтобы превратить ее в аппаратное решение, я решил сначала задать этот вопрос здесь.

Итак, среднее Android-устройство имеет внутреннюю память. С этим хранилищем вы можете делать такие вещи, как сохранение фотографий, фильмов и документов. Тем не менее, он позволяет подключить USB-соединение для доступа к указанному хранилищу, следовательно, имея два R/W для одной шины хранения. Как это возможно?

1 ответ1

-1

Точно так же любая операционная система обрабатывает несколько запросов на чтение / запись из нескольких источников ... планировщик.

Основной операционной системой Android является Linux. Это действительно принадлежит суперпользователю.

https://forum.xda-developers.com/showthread.php?t=1631894

I/O SCHEDULERS

В. "Каким целям служит планировщик ввода-вывода?"A. Минимизируйте время ожидания поиска жесткого диска. Расставьте приоритеты запросов ввода-вывода от процессов. Выделите пропускную способность диска для запуска процессов. Гарантируйте, что определенные запросы будут обслужены раньше срока.

Итак, в самой простой и простой форме: ядро контролирует доступ к диску с помощью планировщика ввода-вывода.

Q. "Какие цели каждый планировщик ввода / вывода пытается сбалансировать?"A. Справедливость (пусть каждый процесс имеет свою долю доступа к диску) Производительность (сначала попытайтесь обслуживать запросы, близкие к текущей позиции на диске, потому что поиск выполняется быстрее). В режиме реального времени (гарантируйте, что запрос обрабатывается в заданном режиме). время)

Q. Описание, преимущества, недостатки каждого планировщика ввода / вывода?"А.

1) Нуп

Вставляет все входящие запросы ввода-вывода в очередь First In First Out и реализует объединение запросов. Лучше всего использовать с устройствами хранения, которые не зависят от механического перемещения для доступа к данным (да, как наши флешки). Преимущество заключается в том, что флэш-накопители не требуют переупорядочения нескольких запросов ввода-вывода в отличие от обычных жестких дисков.

Преимущества: обслуживает запросы ввода-вывода с наименьшим числом циклов процессора. (Батарея дружелюбна?) Лучше всего подходит для флешек, так как штраф за поиск отсутствует. Хорошая пропускная способность в системах БД. Недостатки: сокращение числа используемых циклов ЦП пропорционально падению производительности.

2) Срок исполнения

Цель состоит в том, чтобы минимизировать задержку ввода-вывода или голодание запроса. То же самое достигается с помощью политики циклического перебора, чтобы быть справедливым среди нескольких запросов ввода-вывода. Пять очередей активно используются для изменения порядка входящих запросов.

Преимущества: Планировщик почти в реальном времени. Превосходит в снижении задержки любого отдельного ввода / вывода. Лучший планировщик для доступа к базе данных и запросов. Требуемая пропускная способность процесса - какой процент процессорного времени ему требуется, легко вычисляется. Как noop, хороший планировщик для твердотельных / флеш-накопителей. Недостатки: когда система перегружена, набор процессов, которые могут пропустить крайний срок, в значительной степени непредсказуем.

3) CFQ

Планировщик полностью честной очереди поддерживает масштабируемую очередь ввода-вывода для каждого процесса и пытается равномерно распределить доступную пропускную способность ввода-вывода между всеми запросами ввода-вывода. Каждая очередь для процесса содержит синхронные запросы от процессов. Временной интервал, выделенный для каждой очереди, зависит от приоритета «родительского» процесса. В версии 2 CFQ есть некоторые исправления, которые решают проблемы с запуском ввода / вывода процесса, и некоторые небольшие отсталые поиски в надежде улучшить отзывчивость.

Преимущества: Считается, что обеспечивает сбалансированную производительность ввода-вывода. Легче настроить. Превосходен в многопроцессорных системах. Лучшая производительность системы баз данных после крайнего срока. Недостатки: некоторые пользователи сообщают, что сканирование мультимедиа занимает больше всего времени с использованием CFQ. Это может быть связано с тем свойством, что, поскольку полоса пропускания равномерно распределяется между всеми операциями ввода-вывода во время загрузки, сканированию мультимедиа не предоставляется какой-либо особый приоритет. Дрожание (наихудший случай задержки) иногда может быть высоким из-за количества задач, конкурирующих за диск.

4) BFQ

Вместо распределения временных интервалов по CFQ BFQ назначает бюджеты. Диск предоставляется активному процессу, пока не истечет его бюджет (количество секторов). BFQ назначает высокие бюджеты для нечитаемых задач. Бюджет, назначенный процессу, меняется со временем в зависимости от его поведения.

Преимущества: Считается, что это очень хорошо для скорости передачи данных USB. Считается лучшим планировщиком для записи HD-видео и потокового видео. (из-за меньшего джиттера по сравнению с CFQ и др.) Рассмотрен точный планировщик ввода / вывода. Достигается примерно на 30% больше пропускной способности, чем CFQ при большинстве рабочих нагрузок. Недостатки: не лучший планировщик для бенчмаркинга. Более высокий бюджет, назначенный процессу, может повлиять на интерактивность и увеличенную задержку.

5) СИО

Простой планировщик ввода / вывода стремится сохранить минимальные издержки для достижения низкой задержки при обслуживании запросов ввода / вывода. Нет приоритетных вопросов, концепции, а только базовое слияние. Sio - это сочетание noop и крайнего срока. Нет переупорядочения или сортировки запросов.

Преимущества: просто, так надежно. Минимизировано голодание запросов. Недостатки: низкая скорость произвольного чтения на флешках по сравнению с другими планировщиками. Скорости последовательного чтения на флешках тоже не очень хорошие.

6) V (R)

В отличие от других планировщиков, синхронные и асинхронные запросы не обрабатываются отдельно, вместо этого для честности устанавливается крайний срок. Следующий запрос, который будет обслужен, основан на расстоянии от последнего запроса.

Преимущества: может быть лучшим для бенчмаркинга, потому что на пике своей «формы» VR работает лучше всего. Недостатки: колебания производительности иногда приводят к снижению производительности. Наименее надежный / самый нестабильный.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .