Învățarea Android. Kernel - ce este?

Mulți proprietari dispozitive Android Pe diferite forumuri și site-uri web, de multe ori se menționează ceva de neînțeles, care se numește kernel, sau în engleză kernel. Poate fi schimbat și este menționat în meniul de setări dispozitiv, în secțiunea „Despre tabletă (telefon)”.

Dacă sapi mai adânc, se dovedește că miezul este o parte sistem de operare, și este disponibil nu numai pentru Android, ci și pentru alte sisteme de operare: Windows, iOS, MacOS și altele. Dar ne va interesa kernel-ul Android și voi încerca să explic ce este acesta la nivelul utilizatorilor începători.

Probabil știți că orice sistem de operare, inclusiv Android, este în general, un set de programe care controlează funcționarea întregului dispozitiv și sunt responsabile de lansare aplicații personalizate, cum ar fi jocuri, manageri de fișiere, browsere web și altele.

Iar nucleul Android este practic cea mai importantă parte a sistemului de operare, care este responsabilă pentru interacțiunea dintre tot hardware-ul și parte software sisteme. Nucleul constă dintr-un set de drivere pentru toate echipamentele din dispozitiv și un subsistem pentru gestionarea memoriei, a rețelei, a securității și a altor funcții de bază ale sistemului de operare.
De exemplu, când atingeți ecranul pentru a lansa o aplicație, driverul touchpad ecranul determină locația în care a avut loc clicul și raportează coordonatele altor programe, care din nou, folosind nucleul, îl vor găsi în memoria dispozitivului aplicația potrivităși lansează-l. Acesta este, desigur, un model foarte simplificat, dar reflectă esența sistemului de operare.

Astfel, am aflat că atunci când există software are nevoie de hardware-ul tabletei sau telefonului pentru a face ceva, apelează la nucleul sistemului de operare pentru a face acest lucru.

Nucleul controlează absolut toate echipamentele: Wi-Fi, Bluetooth, GPS, memorie și alte dispozitive. „Inima” dispozitivului – procesorul său – nu face excepție. Nucleul își poate controla frecvența și alimentarea cu energie.
Miez de operare sisteme Android, împrumutat de dezvoltatorii săi, de Google, pentru sistemul de operare Linux.

Deoarece nucleul controlează tot hardware-ul, iar hardware-ul tuturor tabletelor și telefoanelor este diferit, nucleul de bază Android este modificat de către producător pentru fiecare dispozitiv separat.

La fel ca firmware-ul, nucleele pot fi stoc (de fabrică) și personalizate - alternative, create de dezvoltatori independenți.

De ce avem nevoie de nuclee personalizate? Nucleul stoc este optimizat maxim de către producător pentru dispozitiv specific, dar de obicei blochează astfel de funcții importante nuclee, cum ar fi controlul frecvenței CPU. Și dacă trebuie să overclockați procesorul tabletei, va trebui să schimbați nucleul cu unul personalizat, în care funcția de control al frecvenței procesorului este deblocată.

În plus, nucleele personalizate se bazează de obicei pe mai multe ultimele versiuni Kernel-urile Linux. Iată o listă aproximativă de caracteristici pe care ni le oferă nucleele personalizate:

  • Schimbați frecvența procesorului într-un interval larg;
  • Overclockare subsistem grafic(GPU);
  • Reducerea frecvenței și tensiunii procesorului, ceea ce permite o durată de viață mai lungă a bateriei;
  • Șoferii mai recenti și de înaltă calitate, de exemplu, accelerează GPS functioneaza sau adăugarea de noi caracteristici;
  • Gamă largă de opțiuni pentru personalizarea și configurarea sunetului și gamă de culori ecran;
  • Sprijin pentru alternativă sisteme de fișiere(XFS, ReiserFS și altele).

Deoarece nuclee alternative sunt create de dezvoltatori independenți, nu există nicio garanție că, după instalarea unui nucleu personalizat, tableta sau telefonul dvs. vor funcționa fără erori. Prin urmare, înainte de a flashiza un nou nucleu, este recomandabil să faceți un complet copie de rezervă sisteme.

Această postare va descrie actualizarea kernelului pentru Ubuntu, motivele și rezultatele acesteia. Vă voi spune și despre instalarea modulului Virtualbox pe el.

În calitate de proprietar „fericit” al unui laptop cu procesor, nu încetez să fiu surprins că Linux încă nu acceptă corect video integrat. Deși în În ultima vreme au fost, totuși, cu nucleul 3.1-rc10, pe care l-am încercat, nu a reușit să pornească.

Deci ce avem pe noi acest moment. Grafica integrată nu este acceptată pe kernel-urile 2.6.36 - 2.6.38; există nuclee corelate de la Adam cu care funcționează bine. 2.6.37-vaioz a funcționat stabil pentru mine (cu excepția sesiunii Gnome care s-a prăbușit după ce am intrat în Enter). Ubuntu 11.10 proaspăt cu kernel 3.0.4, nu a funcționat pentru mine. Și chiar așa am sperat. Nuezele 3.1.x sunt încă oarecum umede, deoarece... sunt în dezvoltare.

Pe hub în subiectul despre unul minunat a strecurat pe depozitul ppa cu nuclee în pachete deb. Asta a fost pentru mine Vești bune, deoarece Acum aș putea să parcurg toate nucleele și să-mi dau seama care ar funcționa cu hardware-ul meu. Am început cu . Sistemul a pornit, dar apoi a intrat în panică de kernel. Ok, atunci am încercat. Sistemul a pornit și funcționează normal de o jumătate de oră (pah-pah-pah). Am ghicit bine la a doua încercare, nu e rău. În continuare va fi un manual de instalare. Deși totul este simplu acolo în general.

Instalarea nucleului 3.0.8 + modulul kernelului pentru VirtualBox

1. Descărcați trei pachete din depozit:

Wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.0.8-oneiric/linux-headers-3.0.8-030008_3.0.8-030008.201110250135_all.deb wget http://kernel.ubuntu.com /~kernel-ppa/mainline/v3.0.8-oneiric/linux-headers-3.0.8-030008-generic_3.0.8-030008.201110250135_amd64.deb wget http://kernel.ubuntu.com/~kernel-ppa/mainline v3.0.8-oneiric/linux-image-3.0.8-030008-generic_3.0.8-030008.201110250135_amd64.deb

2. Instalăm pachetele.

Sudo dpkg -i ./linux-headers-3.0.8-030008_3.0.8-030008.201110250135_all.deb sudo dpkg -i ./linux-headers-3.0.8-030008-generic_3.001408-2011182-250110820 b sudo dpkg -i ./linux-image-3.0.8-030008-generic_3.0.8-030008.201110250135_amd64.deb

Scriu astfel încât, în primul rând, eu însumi să nu uit ordinea și, în al doilea rând, să existe un algoritm clar.

3. Reporniți sistemul, selectați un nucleu nou în grub. Încărcarea cu degetele încrucișate
4. Dacă ați descărcat, atunci instalați modulul pentru VirtualBox:

Configurare Sudo /etc/init.d/vboxdrv AVERTISMENT: Fișierul de configurare depreciat /etc/modprobe.conf, toate fișierele de configurare aparțin /etc/modprobe.d/. * Oprirea modulelor de kernel VirtualBox [ OK ] * Dezinstalarea modulelor vechi de kernel VirtualBox DKMS [ OK ] * Încercarea de a înregistra modulele de kernel VirtualBox folosind DKMS [ OK ] * Pornirea modulelor de kernel VirtualBox [ OK ]

Acum mașinile virtuale ar trebui să pornească normal. Sa verificam.

Problemele cu blocarea sesiunii în timpul autentificării au dispărut, singurul lucru care mă deranjează este că LED-ul plăcii video selectate nu se aprinde pe laptop.

Mulțumesc!

Dacă acest articol te-a ajutat, sau vrei să-mi susții cercetarea și blogul, iată Cel mai bun mod Fă-o:

Adesea este nevoie de a determina versiunea Distribuție Ubuntu, care este instalat pe computerul dvs. și Versiune curentă miezuri. De exemplu, acest lucru este necesar la instalarea oricăror programe compilate sub versiuni diferite Ubuntu. În această postare voi vorbi despre mai multe modalități de a determina versiunea Ubuntu.

Cum sunt numerotate versiunile Ubuntu?

Versiunile Ubuntu sunt numerotate în formatul Year.Month (AA.MM). Data indică când a fost făcută eliberarea. Pe lângă versiunea numerică, fiecărei versiuni i se atribuie un nume de cod. De exemplu, Jaunty Jackalope sau Lucid Lynx.

Determinarea versiunii Ubuntu din linia de comandă

comanda lsb_release

Comanda lsb_release este concepută pentru a afișa informații despre versiunea curentă a distribuției Ubuntu. Pentru a obține informațiile necesare, urmați Linie de comanda lsb_release -a comandă:

$ lsb_release -a ID distribuitor: Ubuntu Descriere: Ubuntu 9.10 Versiunea: 9.10 Nume de cod: karmic

După cum puteți vedea, am primit o versiune (Release) și un nume de cod (Codename).

Fișierul /etc/lsb-release

De asemenea, informațiile despre versiunea Ubuntu sunt stocate în fișierul /etc/lsb-release. Pentru a scoate fișierul, rulați pe linia de comandă comanda pisicii/etc/lsb-release:

$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=9.10 DISTRIB_CODENAME=karmic DISTRIB_DESCRIPTION="Ubuntu 9.10"

Fișierul /etc/issue

O altă modalitate ușoară de a determina versiunea este să te uiți la conținutul fișierului /etc/issue, deși fișierul în sine servește un scop ușor diferit. Pentru a face acest lucru, pe linia de comandă rulați:

$ cat /etc/issue Ubuntu 9.10 \n \l

Determinarea versiunii Ubuntu fără a utiliza linia de comandă

Sunt cateva moduri simple determinați versiunea fără a utiliza linia de comandă.

În Ubuntu System Monitor

Din panoul Gnome, accesați Sistem->Administrare-> Monitor de sistem. Se va deschide o fereastră System Monitor, a cărei filă principală va indica versiunea Ubuntu și versiunea curentă a kernelului.

În Ajutor Ubuntu

Din meniul panoului Gnome, accesați Sistem->Despre sistem Ubuntu. Se va descărca documentația Ubuntu. Pe pagina principala Ajutorul va indica ce versiune utilizați.

Determinați versiunea curentă a nucleului

Mai sus am scris cum puteți determina versiunea Kernel-urile Ubuntu folosind System Monitor. De asemenea, puteți utiliza comanda uname pentru a determina versiunea nucleului. Rulați pe linia de comandă:

$ uname -r 2.6.31-20-generic

Opțiunea -r este folosită pentru a afișa informații despre versiunea kernelului. De asemenea, puteți afișa toate informațiile furnizate de comanda uname rulând comanda cu parametrul -a:

$ uname -a Linux yuriy 2.6.31-20-generic #58-Ubuntu SMP Vin Mar 12 05:23:09 UTC 2010 i686 GNU/Linux