Logo tr.androidermagazine.com
Logo tr.androidermagazine.com

Çekirdek nedir?

Anonim

Çekirdek nedir? Android forumlarını, blogları, nasıl yapılır yayınlarını veya çevrimiçi tartışmaları okumak için zaman harcıyorsanız, yakında insanların çekirdek hakkında konuştuğunu duyacaksınız. Çekirdek Android için benzersiz bir şey değil - iOS ve MacOS'un bir tane var, Windows bir tane, BlackBerry'nin QNX bir tane var, aslında tüm üst düzey işletim sistemlerinde bir tane var. İlgilendiğimiz Linux, Android kullandığı gibi. Ne olduğunu ve ne yaptığını parçalamaya çalışalım.

Android cihazlar Linux çekirdeğini kullanır, bahis her telefon kendi versiyonunu kullanır. Linux çekirdeği koruyucular her şeyi düzenli ve erişilebilir tutarlar, katkıda bulunanlar (Google gibi) ihtiyaçlarını daha iyi karşılayacak şeyler ekler veya değiştirir ve donanımı katkıda bulunanlar da katkıda bulunur; çünkü kullandıkları parçalar için donanım sürücüleri geliştirmeleri gerekir Kullandıkları çekirdek sürümü. Bu nedenle, bağımsız Android geliştiricileri ve bilgisayar korsanlarının yeni sürümleri eski cihazlara aktarması ve her şeyi çalıştırması biraz zaman alıyor. Bir telefon için çekirdeğin bir sürümüyle çalışmak üzere yazılan sürücüler aynı telefondaki farklı bir yazılım sürümüyle çalışmayabilir. Ve bu önemlidir, çünkü çekirdeğin temel işlevlerinden biri donanımı kontrol etmektir. Bu, bir çok kaynak koddur. İnşa ederken hayal edebileceğinizden daha fazla seçenek vardır, fakat sonuçta donanım ve yazılım arasında sadece aracıdır.

Yazılım bir şey yapmak için donanıma ihtiyaç duyduğunda, çekirdeğe bir istek gönderir. Ve bir şey söylediğimizde, bir şey ifade ediyoruz. Ekranın parlaklığından, ses seviyesine, radyo üzerinden bir çağrı başlatmaya, ekranda çizilenler bile nihayetinde çekirdek tarafından kontrol edilir. Örneğin - telefonunuzdaki arama düğmesine dokunduğunuzda, yazılıma arama uygulamasını açmasını söylersiniz. Olan şey, sayısallaştırıcı üzerinde belirli bir noktaya dokunduğunuzda, yazılımın bu koordinatlarda ekrana dokunduğunuzu söyler. Yazılım, belirli bir noktaya dokunulduğunda, arama iletişim kutusunun açılması gerektiğini biliyor. Çekirdek, sayısallaştırıcıya dokunuşlar için arama yapmasını (veya dinlemesini, olayları "dinlemesini" söyler), dokunduğunuz yeri bulmaya yardımcı olur ve ona dokunduğunuzu söyler. Sırasıyla, sistem çekirdekten belirli bir noktada (sürücü aracılığıyla) bir dokunma olayı aldığında, ekranda ne çizileceğini bilir. Hem donanım hem de yazılım, çekirdekle her iki şekilde de iletişim kurar ve telefonunuzun ne zaman bir şey yapması gerektiğini bu şekilde bilir. Bir taraftan giriş, siz Angry Birds'ü oynuyorsanız veya aracınızın Bluetooth'una bağlasanız da diğerine çıkış olarak gönderilir.

Kulağa karmaşık geliyor ve öyle. Ama aynı zamanda oldukça standart bir bilgisayar mantığı - her olay için üretilmiş bir eylem türü var ve bu işleme bağlı olarak çalışan yazılımın başına gelenler var. Bilgi alma ve gönderme çekirdeği olmadan, geliştiricilerin cihazınızdaki her bir donanım parçası için her olay için kod yazması gerekir. Çekirdek ile tek yapmaları gereken, Android sistem API'leri aracılığıyla onunla iletişim kurmak ve donanım geliştiricilerin yalnızca aygıt donanımının çekirdekle iletişim kurmasını sağlamak. İşin iyi yanı, çekirdeğin ne yaptığını tam olarak nasıl veya niçin yaptığını bilmek zorunda olmamanız, sadece yazılımdan donanıma geçtiğinizin, cam altında neler olup bittiğini çok iyi kavradığını göstermesidir.

Bir nevi, bütün gece telefonunuzda çekirdeklerin üzerinde çalışmak için ayakta kalan arkadaşlara yepyeni bir görünüm kazandırıyor, değil mi?