Kendi Makinenizden Linux Çekirdeği Hakkında Daha Fazla Bilgi Edinme

GNU / Linux ile çalışmayı öğrenmek genellikle bir masaüstü ortamı ile çalışmayı öğrenmeyi gerektirir. Tema teknolojisi, bu masaüstü ortamlarının iOS, Microsoft Windows ve OS X cihazlarının arayüzlerini taklit etmesini sağlar. Bu, bunu olduğu gibi en aza indirmeye yardımcı olur. Pek çok insan daha ileri gitmekte ve Bash veya tcsh kabuklarıyla Unix komut satırı yönetimini öğrenmektedir. Bununla birlikte, Linux çekirdeğinin iç kısımları hakkında bilgi sahibi olmak, farklı opcode parçalarının birbirleriyle nasıl etkileşimde bulunduğunu daha iyi anlamanıza yardımcı olabilir.

Bazı insanlar, birkaç adım daha ileri gitmenin en iyi olacağının ve ek olarak, derleyicilerin C kodunu mikroişlemci için makine eğitmenlerine nasıl dönüştürdüklerini öğreneceklerdir. Daha sonra, derleme kodu savunucuları, ASM'yi x86 ve x86_64 platformlarında programlamayı gerçekten kavramak için öğrenmenin en iyi yol olduğunu tartışırlar. Bu konumlardan bağımsız olarak, temel Linux komutları, çekirdeğin bilgisayarınızı nasıl gördüğü hakkında çok sayıda bilgi sağlayabilir. Bir bakış yoluyla öğrenmek, ama dokunma paradigması, çekirdeğin kendisi için mükemmel bir yoldur. Kök hesabı bu sayfadaki örneklerde kullanıldığında, yalnızca bir kullanıcı hesabı aracılığıyla kernel bağlantılı dizinleri görüntülemeniz önerilir.

Yöntem 1: / proc dizini

/ Proc dizini, herhangi bir Unix dosya yapısındaki üst düzey kök dizininin birincil bölgelerinden birinde oturur. Farklı kaynak erişim çekirdek bellek yolu hakkında bilgi içeren procfs olarak bilinen proc dosya sistemi denilen içerir. Sistemin önyüklendiği sırada / proc ile eşlenir. Bu vekil dosya yapısı, Linux çekirdeği içindeki iç veri yapısına bir arabirim olarak hizmet ettiğinden, sadece bir kullanıcı hesabıyla bunu keşfetmek en iyisidir. Çoğu dosya görünür sistem dosya yapısı tarafından salt okunur olarak sınıflandırılır, ancak güvenli tarafta olmak en iyisidir.

Bunların söylenmesi, bunların her biri bir metin dosyasıdır, böylece isterseniz bunları görüntüleyebilirsiniz. / Proc dizinine girmek için cd komutunu kullanın ve orada bulunanlara bir göz atmak için ls düzenleyin. Bakmak için herhangi bir dosya ile kedi, daha az veya daha fazla komut kullanın. Çekirdek dosyası, çekirdeğin mikroişlemcinizi nasıl görüntülediğini gösterdiğinden, başlamak için iyi bir yerdir. Çalışan işlemlerin görünümü için stat dosyasına bakın.

Cat cihazlarını yazmak, makinenize nelerin eklendiğini size gösterir.

Bu arada, her zaman / proc dosya yapısının çekirdeğe nasıl bağlandığının bir açıklaması için komut adamını düzenleyebilirsiniz. Sunulan sayfa Linux Programlayıcının El Kitabından gelir.

Yöntem 2: / sys dizini

Çekirdeğinizin turunda bir sonraki durağınız, bir pretend dosya yapısına eşlenen başka bir dizin olan / sys'dir. Bu, / proc ile aynı genel Unix kavramını izler, bunun yerine ilgili aygıt sürücüleri ve bir dizi çekirdek alt sistemi hakkında aktif olarak bilgi aktarımı yapar. Daha önce BSD tabanlı bir sistemle çalışmışsanız, bu işlevleri sağlayan sysctl'e daha aşina olabilirsiniz. PCI, USB ve S / 390 veriyolu aygıtlarının tümü / sys dizinine eşlenir.

Dizine geçmek için cd / sys komutunu kullanın ve sonra ls veya dir komutunu verin. Blok, sınıf, cihazlar, fs, çekirdek ve diğerleri gibi başlıklara sahip olabilirsiniz. Bunları, sistem hakkında bilgi içeren daha ileri düz dosyalar için keşfedebilirsiniz, ancak bir kez daha bir kullanıcı hesabından yapın ve bir bakmaya devam edin, ancak kendinizle ilgili zihniyete dokunmayın.

Yöntem 3: / dev dizini

/ Dev dizinine gitmek için cd / dev komutunu kullanın; bu, halihazırda en tanıdık olduğunuz bir çekirdek sanal yapı olabilir. İsim, cihazlar anlamına gelir ve sisteminize bağlı cihazların dosya gösterimini içerir. Bu dizindeki bir ls komutu, en basit sunucu dağıtımında bile birçok dosyayı döndürecektir.

Bunlardan birkaçı çok özel. / Dev / null dosyası, hiçbir şey yapmadan boş bir cihazdır. Cat / dev / null yazarsanız, bundan hiçbir şey alamazsınız. Buna bit kepçe denir ve ekranı temiz tutmak için çıktıya yönlendirilebilir. / Dev / zero adlı bir dosya, sıfır diske sıfırdan başka bir şey içermez; bu, bir diske sıfırlamak için yazılabilir. Rastgele ve urandom dosyaları güvenlik karmalarını oluşturmak için rastgele önemsiz veri içerir.

PRO TIP: Sorun bilgisayarınız veya dizüstü bilgisayar / dizüstü bilgisayar ile yapılmışsa, depoları tarayabilen ve bozuk ve eksik dosyaları değiştirebilen Reimage Plus Yazılımı'nı kullanmayı denemeniz gerekir. Bu, çoğu durumda, sorunun sistem bozulmasından kaynaklandığı yerlerde çalışır. Reimage Plus'ı tıklayarak buraya tıklayarak indirebilirsiniz.

Eğer bir diski biçimlendirdiyseniz, muhtemelen Linux çekirdeğinin onları görmesiyle ilgili en azından bir deneyiminiz olur. Sisteme bağlı her disk, her disk için sda, sdb ve benzeri bir ad alır. Farklı disk türleri farklı isimler alır. / Dev dizininin, genellikle bu terimi kullandığımızdan ziyade, bir potansiyel resmi bilgisayar bilimi tanımı tanımını kullandığını unutmayın. Bu, sabit sürücü, SSD, SD Kart, microSDHC kart, USB üzerinden bağlanan bir akıllı telefon dosya sistemi, USB çubukları ve hatta monte edilmiş tabletlerin tüm çekirdeğin diskleri anlamına gelir.

Linux'taki her disk adı, bir bölüm numarasını belirttikten sonra bir sayı alır. İki birincil bölümlü bir SSD'niz varsa, geçerli birimler olarak / dev / sda1 ve / dev / sda2 olabilir. Linux'u MBR tarzı bölümleme ile bir masaüstü veya dizüstü bilgisayardan çalıştırıyorsanız, Linux üzerinde kurulu olan ext4 bölümüne / dev / sda1 değerine sahip olursunuz. Muhtemelen / dev / sda2'den fazlası, takas bölümü olarak / dev / sda5'i içeren genişletilmiş bir bölümdür. Bu şema yaygındır, ancak hiçbir şekilde gerekli değildir. Bu ortak örnekte yer alan takas bölümü, genişletilmiş bölümün içinde mantıksal bir disk olduğundan, 3 yerine 3 yerine 5 aldığını unutmayın.

Çekirdeğin bölümleri görüntüleme ve biçimleriyle ilgili daha fazla bilgi edinmek isterseniz, desteklenen bir bölüm listesini fdisk komutuyla gerçekten görüntüleyebilirsiniz. Fdisk, siz söyleyene kadar bölüm tabloları yazmazken, bunu kızartma hakkında umursamadığınız bir şeyle denemek en iyisidir. Sadece kolayca yeniden biçimlendirebileceğiniz boş bir USB çubuğu gibi bir noktaya işaret etmeniz önerilir.

Çubuğunuzun / dev / sdc olarak gösterildiğini varsayalım, daha sonra sudo fdisk / dev / sdc'yi kullanarak yükleyebilirsiniz . İçinde geçerli bir bölüm varsa, t türünü değiştirmek için t yazın ve bir hex kodu listesi yüklemek için L yazın. MBR ve GUID bölüm şemalarının çekirdekle farklı şekilde konuştuğunu ve bu nedenle farklı ödevleri olduğunu unutmayın.

Daha sık olmamak üzere, Linux sürücüleri için 82, Linux swap bölümleri için olan 82 veya FAT dosya türlerinden biri olan sürücülere sahip olacaksınız. FAT, bir şekilde veya başka bir şekilde 1977'ye uzanır ve birçok taşınabilir aygıtın yanı sıra birçok çıkarılabilir sürücü için hala tercih edilir. 0x0c türü gibi bazı bölüm türlerinin LBA desteği olarak adlandırılan bir özelliğe sahip olduğunu unutmayın.

Bir programcı bir işletim sistemi için bir çekirdek tasarladığında, disklere bakabilmeleri için birkaç farklı yolu vardır. Biri plakaları silindirlere, kafalara ve sektörlere ayırmaktır. Bu, en uzun süre sabit disklere başvurmanın klasik yoluydu. Orijinal disk geometrisi, Linux için gerçekten önemli olmamıştır ve bu şema maalesef yaklaşık 8 adet ikili Gigabayt'tan sonra adreslerin dışında kalmaktadır. İkinci yol, bunu yapan Mantıksal C / H / S adreslemesini kullanmaktır, ancak disk denetleyicisinin istediği yere silindir, kafa ve sektör numaralarını eşlemesine izin verir. Bu yüzden bir işletim sistemi, fiziksel olarak imkansız olduğu zaman bir SD kartta veya bir USB çubuğunda kafalar olduğunu iddia edebilirdi.

Üçüncü yöntem, LBA'nin ne anlama geldiği Mantıksal Blok Adresleme ile gerçekleştirilir. Bir birimdeki her fiziksel blok bu şemada bir sayı alır. İşletim sistemi disk denetleyicisine belirli bir numaralı bloğa yazmasını söyler, ancak aslında diskte doğrudan bloğun olup olmadığını bilmez. Bu, bugün en çok kullanılan şemadır ve 1990'ların ortasından bu yana sabit disklerin büyük çoğunluğunda kesinlikle kullanılmıştır.

Linux, doğrudan giriş olmaksızın çok çeşitli bölüm türlerini monte etmek için çekirdek desteği sunar, ancak bunları seçerken de çok açık olmamak en iyisidir. Sistem eşleme seçimine çok garip bir bölüm türü oluşturduysanız verilerinizi alabilirdiniz.

Yöntem 4: Linux Programlayıcı Elkitabından Sistem Çağrısı

Linux dağıtımlarının çoğuna dahil olan onboard man sayfaları okuyucular, çekirdek hakkında öğrenmeye yardımcı olabilecek sistem çağrıları için bir çarpışma rotası verebilir. Xman grafikli adam sayfalar tarayıcısını ya bir .desktop linkinden ya da alternatif olarak süper tuşu ve R tuşunu basılı tutarak xman'ı yazıp enter tuşuna basarak başlatın. Manuel Sayfa seçeneğini seçin ve ardından açılır menüden Bölümleri ve son olarak da (2) Sistem Çağrılarını seçin.

Bir seçenek okuma girişi belirdiğinde, bunu seçin. Linux Programlama Elkitabı'ndan sistem çağrıları hakkında size biraz bilgi verecek bir sayfa daha sonra sizi karşılayacaktır.

PRO TIP: Sorun bilgisayarınız veya dizüstü bilgisayar / dizüstü bilgisayar ile yapılmışsa, depoları tarayabilen ve bozuk ve eksik dosyaları değiştirebilen Reimage Plus Yazılımı'nı kullanmayı denemeniz gerekir. Bu, çoğu durumda, sorunun sistem bozulmasından kaynaklandığı yerlerde çalışır. Reimage Plus'ı tıklayarak buraya tıklayarak indirebilirsiniz.

Facebook Twitter Google Plus Pinterest