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