Что такое губернаторы Android и как их настраивать (II)

В предыдущая статья Мы говорили о регуляторах и их невероятной полезности для достижения наилучшей производительности, а также максимальной экономии. Что ж, столь же важно, как это Планировщики въезда / выезда, с помощью которого мы можем решить, какие задачи будут выполняться раньше или позже, приоритизируя различные процессы и многое другое.

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

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

  • Noop: Это самый простой способ, так как он вставляет все запросы в очередь FIFO (первый ввод, первый вывод, то есть первый, кто входит, тот первый, кто уходит). Ваша проблема очевидна: если есть приоритетный процесс, ему придется ждать своей очереди в очереди.
  • Крайний срок: В этом случае он работает практически в реальном времени, и Android использует метод по-круговой для распределения ресурсов, пытаясь распределять запросы равномерно, чтобы не исчерпать возможности для приема запросов. Он использует несколько очередей обработки и может быть хорошим планировщиком для интенсивных задач.
  • CFQ: Аббревиатура от Completely Fair Queuing, что-то вроде полностью справедливой очереди. Он очень похож на предыдущий, хотя в этом случае использование доступного процессора распределяется более равномерно для каждого из процессов ввода / вывода. Это один из наиболее часто используемых, поскольку он очень хорошо контролирует как очереди, так и процессы.
  • SIO: Это комбинация первых двух планировщиков. Он сводит нагрузку к минимуму, чтобы достичь минимально возможной задержки и быстрее обслуживать запросы.

На самом деле существует гораздо больше планировщиков входа / выхода, но мы показали вам те, которые используются чаще всего (и из этих четырех первых трех «необходимо» знать). Единственное, что мы можем сказать вам о том, какой планировщик использовать на вашем Android-устройстве, - это то, что попробуй увидеть, какой из них лучше всего соответствует твоим потребностям. Однако Noop и Deadline идеально подходят для приложений, требующих интенсивной обработки, в то время как CFQ лучше подходит для процессов с меньшей нагрузкой.