Ядра андроид для чего они

Что такое количество ядер процессора в телефоне, за что оно отвечает, какую функцию выполняет? На что влияет количество ядер в смартфоне? Какое самое большое количество ядер в смартфоне?

Короткое повествование на простом языке о ядрах мобильных процессоров, их функциях и необходимом количестве.

Для любого человека, который решается обзавестись новеньким смартфоном, основным критерием выбора является не только цена, но и мощность гаджета. Если перейти на сайт какого-нибудь интернет магазина и открыть технические характеристики смартфонов, то среди них можно увидеть такое определение, как «процессор».

Многим, даже технически неграмотным пользователям, данная деталь знакома и они имеют представление о том, какую функцию он выполняет. Однако стоящие рядом с ним слова «двухъядерный» или «четырехъядерный» вызывают у многих недоумение.

В нашей статье мы поговорим о том, что такое ядро процессора в смартфоне, за что оно отвечает и правдиво ли мнение, что чем больше ядер в процессоре, тем мощнее телефон.

Изображение 1. Что такое ядро центрального процессора в телефоне, за что оно отвечает и какую функцию выполняет?

Что такое процессор в телефоне?

  • Прежде чем переходить к ядрам, для начала нужно понять, что такое процессор. Процессор – это миниатюрное устройство, которое отвечает за математические, логические и управленческие операции, внесённые человеком в машинный код.
  • Как правило, процессор выполнен в виде одной интегральной схемы, основу которой составляет кремниевый чип и огромное количество, расположенных на нем, транзисторов. В некоторых случаях процессор может состоять из двух и более специализированных микросхем.

Изображение 2. Что такое ядро центрального процессора в телефоне, за что оно отвечает и какую функцию выполняет?

  • Скорость или же мощность процессора напрямую зависит от общего числа транзисторов, нанесенных на кремниевый чип. Мощность процессора измеряется в тактовой частоте (Ггц) и чем больше на кремниевом чипе нанесено транзисторов, тем выше будет тактовая частота процессора (мощность).
  • Однако, идущий по транзисторам ток, имеет свойство нагревать кремниевый чип, который под воздействием высоких температур выходит из строя. И чем больше транзисторов располагается на чипе, тем быстрее он нагревается и достигает своего теплового предела. Как раз для того, чтобы избежать перегрева, были придуманы процессоры с двумя и более ядрами.

Что такое ядра процессора в смартфоне и за что они отвечают?

  • Ядро – это основной модуль процессора, где обрабатывается вся информация и производятся расчеты. Если провести аналогию с человеческим организмом, то процессор является мозгом, а ядра – его полушариями. У человеческого мозга их два, а вот количество ядер процессора смартфона может достигать восьми штук.

Изображение 3. Что такое ядро центрального процессора в телефоне, за что оно отвечает и какую функцию выполняет?

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

На что влияет количество ядер в смартфоне?

  • Как мы уже выяснили, ядра помогают разгрузить процессор, снизить теплоотдачу и увеличить его скорость. Таким образом, чем больше в установленном на ваш телефон процессоре ядер, тем больше действий Вы сможете выполнять одновременно.

Изображение 4. Что такое ядро центрального процессора в телефоне, за что оно отвечает и какую функцию выполняет?

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

Какое самое большое количество ядер в смартфоне?

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

Сколько ядер в телефоне, смартфоне лучше?

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

Изображение 5. Что такое ядро центрального процессора в телефоне, за что оно отвечает и какую функцию выполняет?

  • Многоядерные процессоры нужны только в том случае, если Вы играете в тяжелые игры, которые дают высокую нагрузку на процессор и способны использовать одновременно четыре ядра и более. Таких игр на сегодняшний день единицы, так как разработчики игровой индустрии стараются оптимизировать свою продукцию даже под слабые устройства с целью увеличения продаж.
  • Дать четкого ответа на вопрос в заголовке нельзя. Всё зависит от ваших потребностей и технических характеристик устройства в целом. Если Вам нужен хороший смартфон для игр, то стоит обращать внимание не только на количество ядер процессора, но и на его тактовую частоту, а также объем оперативной памяти.

Изображение 6. Что такое ядро центрального процессора в телефоне, за что оно отвечает и какую функцию выполняет?

  • Например, смартфон с 4 ГБ оперативной памяти, четырёхъядерным процессором и тактовой частотой 1.7 Ггц будет гораздо быстрее, чем аналогичный смартфон с восьмиядерным процессором и тактовой частотой 1 Ггц.
  • Также немаловажную роль играет и устройство процессора. У каждого производителя структура процессора выполнена по-разному. Например, процессоры от производителей Atom и Snapdragon с одинаковым количеством ядер и тактовой частотой будут отличаться между собой производительностью.

ВИДЕО: Почему больше ядер в мобильном процессоре не значит лучше?

Источник

Изучаем Android. Ядро (Kernel) — что это такое.

Многие владельцы Android устройств на различных форумах и сайтах часто встречают упоминание о чем-то непонятном, что называют ядром, или по-английски kernel. Его можно поменять и упоминание о нем встречается в меню настроек устройства, в разделе «О планшете (телефоне)».

Если копнуть поглубже, то окажется, что ядро – это часть операционной системы, и оно есть не только у Android, но и у других операционных систем: Windows, iOS, MacOS и прочих. Но нас будет интересовать ядро Android, и что это такое я попытаюсь объяснить на уровне начинающих пользователей.

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

А ядро Android является, практически, самой главной частью операционной системы, которая отвечает за взаимодействие между всем «железом» и программной частью системы. Ядро состоит из набора драйверов всего имеющегося в устройстве оборудования и подсистемы управления памятью, сетью, безопасностью, и прочих основных функций операционной системы.
Например, когда вы касаетесь экрана, чтобы запустить какое-либо приложение, драйвер сенсорной панели экрана определяет место, в котором произошло нажатие и сообщает координаты другим программам, которые опять же с помощью ядра найдут в памяти устройства нужное приложение и запустят его. Это конечно, очень упрощенная модель, но суть работы операционной системы она отражает.

Читайте также:  Обои для google android

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

Ядро управляет абсолютно всем оборудованием: Wi-Fi, Bluetooth, GPS, памятью и прочими устройствами. Не является исключением и «сердце» устройства – его процессор. Ядро может управлять его частотой и энергоснабжением.
Ядро операционной системы Android, позаимствовано ее разработчиками, компанией Google, у операционной системы Linux.

Так как ядро управляет всем оборудованием, а оборудование у всех планшетов и телефонов разное, базовое ядро Android дорабатывается производителем для каждого устройства отдельно.

Как и прошивки, ядра бывают стоковыми (заводскими) и кастомными – альтернативными, созданные независимыми разработчиками.

Зачем нужны кастомные ядра? Стоковое ядро максимально оптимизируется производителем для конкретного устройства, но в нем обычно заблокированы такие важные функции ядра, как, например, управление частотой процессора. И если вам понадобится разогнать процессор своего планшета, вам нужно будет сменить ядро на кастомное, в котором функция управления частотой процессора разблокирована.

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

  • Изменение частоты процессора в широких пределах;
  • Разгон графической подсистемы (GPU);
  • Снижение частоты и напряжения питания процессора, что позволяет достичь более длительного времени работы от батареи;
  • Более свежие и качественные драйверы, например, ускоряющие работу GPS или добавляющие новые функции;
  • Широкие возможности по настройки и конфигурации звука и цветовой гаммы экрана;
  • Поддержка альтернативных файловых систем (XFS, ReiserFS и прочих).

Так как альтернативные ядра создаются независимыми разработчиками, нет никакой гарантии, что после установки кастомного ядра ваш планшет или телефон будут работать без сбоев. Поэтому перед прошивкой нового ядра желательно сделать полную резервную копию системы.

Источник

Основы безопасности операционной системы Android. Уровень ядра

Вступление

Самой распространенной операционной системой для смартфонов на сегодняшний день является Android. Но не только этот факт подогревает интерес к ней. Открытость, возможность что-то настроить, подкрутить, и, естественно, сломать тоже в немалой степени способствуют увеличению популярности этой платформы. Я попробую поделиться опытом, как устроена эта операционная система, а так же рассмотреть систему безопасности. Всем, кому интересно, добро пожаловать! В этой статье я рассмотрю безопасность на уровне ядра.

Disclaimer

Термины я буду стараться писать на английком языке, так как боюсь ошибиться в их переводе. Если кто-то знает, как их красиво перевести на русский язык, напишите мне, и я дам перевод этих терминов. Желательно, чтобы у вас под рукой находились исходный код Android (хотя я и буду стараться давать ссылки на файлы в Интернете), потому что я иногда буду давать ссылки на файлы, где находится та или иная функциональность. Как загрузить исходный код, можно почитать здесь или вот в этой статье на Хабре.

Список статей

Стек Android

Ну никуда не деться от этой картинки. Я нашел её на просторах Интернета и нужна она для того, чтобы понять из чего состоит Android. Итак, в стеке Android выделяют четыре уровня (снизу-вверх):

  1. Linux kernel (Ядро Linux)
  2. Native Libraries
  3. Application Framework
  4. Applications (Приложения)

Linux kernel. Как неудивительно это звучит, но изначально, Android Inc. — это стартап. Как и во всех стартапах, в этой компании стояла задача максимально использовать уже существующие решения. Поэтому в качестве ядра этой платформы был выбран Linux из-за его открытости и наличия необходимой функциональности. В Android ядро Linux управляет памятью, процессами, а так же используется в качестве hardware abstraction layer (HAL). Насколько мне известно, в Linux драйвера либо встроены в ядро, либо разработаны в виде загружаемых модулей ядра. Так как в Android загрузка модулей ядра по умолчанию отключена, а если встраивать все драйвера, то ядро очень сильно разрастется, то было принято решение создать промежуточный слой (proxy) между ядром и драйверами, который и назвали HAL. Таким образом, HAL — это просто набор интерфейсов, имплементация которых реализована в драйверах. С другой стороны в ядро были добавлены некоторые системы, которые характерны только для Android систем. На данный момент, они пока не включены в основную ветку ядра Linux, поэтому просто скачать ядро Linux и заменить им ядро Android не получится. Среди них следует выделить, Binder (обеспечивает межпроцессное взаимодействие IPC/RPC), Asynchronous SHared MEMory — Ashmem (драйвер разделяемой памяти), Wakelocks (механизм, который позволяет предотвращать затемнение экрана и/или отключение процессора), Low Memory Killer, Alarm, Logger и т.д.

Читайте также:  Opera mini для android что это

Native Libraries. К этому слою относятся различные нативные библиотеки, которые необходимы для работы Android. Они так же позаимствованы у open-source сообщества. Среди них мы можем найти SQLite, WebKit и т.д.

Android Framework. К этому слою относится то, с чем мы обычно взаимодействуем, когда пишем наши приложения для Android (PowerManager, ActivityManager, NotificationManager и т.д.).

Applications. Приложения бывают двух типов: те, что поставляются вместе с образом системы (системные) и приложения, которые мы загружаем из маркета или других источников. В первом случае, в устройстве приложения находятся в «/system/app» директории, во втором случае в «/data/app».

Безопасность на уровне ядра

Давайте рассмотрим процесс установки приложения на Android устройство. Существует несколько способов установить приложение на устройство (в общем случае):

  1. Используя приложение PackageInstaller
  2. Используя приложение Android Market
  3. Используя комманду adb install

На рисунке, например, приложение ex1.apk устанавливается с помощью PackageInstaller (используется в случае, если вам, например, по почте прислали приложение и вы хотите его установить с устройства), ex2.apk устанавливается с помощью Android Market (Google Play), и приложение ex3.apk устанавливается с помощью комманды adb install ex3.apk (обычно эта комманда используется разработчиками приложений для установки приложения с компьютера).

Во время установки, Android каждому приложению по умолчанию присваивает уникальные user ID (UID) и group ID (GID), таким образом каждому приложению в этой операционной системе соответсвует свой пользователь. Имя пользователя обычно имеет формат app_x, а идентификаторы пользователя вычисляется по формуле (Process.FIRST_APPLICATION_UID + x), Process.FIRST_APPLICATION_UID равен 10000. Эти идентификаторы приложения не изменяются. Список установленных приложений хранится в файле «/data/system/packages.list» и если у вас рутованый телефон, или вы работаете с эмулятором, то вы можете просмотреть этот файл, используя следующую комманду:

У каждого приложения есть своя домашняя директория, например /data/data/

— имя Android пакета, например com.ex.ex1 Имя Android пакета задается в свойстве package в файле AndroidManifest.xml Эта папка — Internal storage (внутреннее хранилище), директория, где приложение хранит все свои приватные данные, и к которому разработчики приложений получают доступ используя функции Context.getFilesDir() или Context.getDir() У этой папки права доступа определены как drwxr-x—x, т.е. только владелец и пользователи входящие в группу владельцев имеют полный доступ к этой папке. А так как каждое приложение определено как уникальный пользователь, то это означает, что приложения, по умолчанию, не имеют доступа к информации друг друга. Хотя при создании файла во внутреннем хранилище можно явно задать, что этот файл будет MODE_WORLD_READABLE и/или MODE_WORLD_WRITABLE

Кроме того, на уровне ядра уникальные UID и GID каждого приложения используются для разделения доступа к ресурсам системы (память и процессорное время). Таким образом, на уровне ядра для каждого приложения создается своя собственная песочница (Application Sandbox).

С другой стороны, разработчик приложения может указать, что некоторые ЕГО приложения должны иметь один и тот же UID. В AndroidManifest.xml файле для этого есть специальное свойство sharedUserId В этом случае, эти приложения будут иметь доступ к ресурсам друг-друга, но только если они подписаны одним и тем же ключом разработчика.

Некоторые permission (разрешения) так же работают на уровне ядра. Давайте, например, рассмотрим наиболее используемое разрешение android.permission.INTERNET Если приложение запрашивает это разрешение, то Android во время установки дополнительно включает это приложение в специальную группу «inet». Так же работают и некоторые другие разрешения. Список соответствия между этими разрешениями и соответствующими группами можно найти в файле frameworks/base/data/etc/platform.xml:

Список соответствия между именами этих групп и значениями (GID) задан в явном виде в файле system/core/include/private/android_filesystem_config.h в массиве структур android_ids[]:

Таким образом, если приложение пытается подключиться к Интернету, ядро проверяет, находится ли это приложение в группе с идентификатором AID_INET. Если нет, то приложению запрещается доступ. Код этой проверки очень тривиальный:

Заключение

Это моя первая статья на Хабре, так что не судите строго. Если сообществу интересно, то я продолжу в следующих статьях описывать внутренности Android. Я понимаю, что много не знаю, да и времени всегда не хватает, но я постараюсь поделиться тем, что уже пропустил через себя. Надеюсь, что узнаю что-то новое из комментариев! Если кому-то интересна какая-то определенная тема, то пишите в комментариях, постараюсь в будущих статьях учесть ваши пожелания.

Источник

Оцените статью