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



Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin

GNU / Linux ile çalışmayı öğrenmek genellikle bir masaüstü ortamında ç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. Birçok kişi daha ileri giderek Bash veya tcsh kabukları ile Unix komut satırı yönetimini öğrenir. Bununla birlikte, Linux çekirdeğinin içindekiler hakkında bilgi sahibi olmak, farklı işlem kodu parçalarının birbirleriyle nasıl etkileşime girdiğini daha iyi anlamanıza yardımcı olabilir.



Bazı insanlar, birkaç adım daha ileri gitmenin ve ek olarak derleyicilerin bir mikroişlemci için C kodunu makine eğitmenlerine nasıl dönüştürdüğünü öğrenmenin en iyisi olacağını iddia edebilir. Montaj kodu savunucuları, x86 ve x86_64 platformlarında programlamayı gerçekten kavramak için ASM'yi öğrenmenin en iyisi olduğunu savunurlar. Bu konumlardan bağımsız olarak, temel Linux komutları, çekirdeğin bilgisayarınızı nasıl gördüğüne dair zengin bilgi sağlayabilir. Bakış yoluyla öğrenmek ama paradigmaya dokunmayın, çekirdeğin kendisine hakim olmanın harika bir yoludur. Bu sayfadaki örnekler için kök hesap kullanılmış olsa da, yalnızca bir kullanıcı hesabı aracılığıyla yalnızca çekirdek bağlantılı dizinleri görüntülemeniz şiddetle tavsiye edilir.



Yöntem 1: / proc Dizini

/ Proc dizini, herhangi bir Unix dosya yapısındaki en üst düzey kök dizinin birincil bölgelerinden birinde bulunur. Daha çok procfs olarak bilinen ve farklı kaynakların çekirdek belleğine erişme şekli hakkında bilgi içeren proc dosya sistemini içerir. Sistem başlatıldığında / proc ile eşlenir. Bu proxy dosya yapısı Linux çekirdeği içindeki dahili veri yapısı için bir arayüz görevi gördüğünden, bunu yalnızca bir kullanıcı hesabı aracılığıyla keşfetmek bir kez daha en iyisidir. Çoğu dosya, görünür sistem dosya yapısına göre yine de salt okunur olarak sınıflandırılır, ancak en iyisi güvenli tarafta olmaktır.



Bununla birlikte, bunların her biri bir metin dosyasıdır, böylece dilerseniz bunları görüntüleyebilirsiniz. / Proc dizinine girmek için cd komutunu kullanın ve ardından orada ne olduğuna bakmak için ls verin. Dosyalara bakmak için herhangi bir dosyada daha az veya daha fazla komutu kullanın. Cpuinfo dosyası, çekirdeğin mikroişlemcinizi nasıl gördüğünü gösterdiği için başlamak için iyi bir yerdir. Çalışan işlemlerin bir görünümü için istatistik dosyasına bakın.

2016-11-25_020006

Kedi cihazları yazmak, makinenize nelerin takılı olduğuna bakmanızı sağlayacaktır.



2016-11-25_020109

Bu arada, / proc dosya yapısının kernel ile nasıl bir ilişkisi olduğuna dair bir özet için her zaman man proc komutunu verebilirsiniz. Sunulan sayfa, Linux Programcı El Kitabı'ndan gelir.

2016-11-25_020156

Yöntem 2: / sys Dizini

Çekirdeğinizin turundaki bir sonraki durağınız, sahte bir dosya yapısına eşlenmiş başka bir dizin olan / sys'dir. Bu, / proc ile aynı genel Unix konseptini takip eder, ancak bunun yerine, ilişkili aygıt sürücüleri ve bir dizi çekirdek alt sistemleri hakkındaki bilgileri aktif olarak dışa aktarır. Daha önce BSD tabanlı bir sistemle çalıştıysanız, bu işlevleri sağlayan sysctl'ye daha aşina olabilirsiniz. PCI, USB ve S / 390 veri yolu aygıtlarının tümü / sys dizinine eşlenir.

Dizine gitmek için cd / sys kullanın ve ardından ls veya dir komutunu çalıştırın. Blok, sınıf, aygıtlar, fs, kernel ve belki diğerleri başlıklı dizinleriniz olabilir. Bunları, sistem hakkında bilgi içeren daha fazla düz dosyalar için inceleyebilirsiniz, ancak bunu bir kullanıcı hesabından yapın ve bir göz atın ama kendinizle ilgili zihniyetinize dokunmayın.

Yöntem 3: / dev Dizini

/ Dev dizinine gitmek için cd / dev komutunu kullanın; bu, halihazırda en aşina olduğunuz tek çekirdek sanal yapısı olabilir. Ad, aygıtlar anlamına gelir ve sisteminize bağlı aygıtların dosya temsilini içerir. Bu dizindeki bir ls komutu, en basit sunucu dağıtımında bile birçok dosyayı döndürecektir.

2016-11-25_020242

Bunlardan birkaçı çok özel. / Dev / null dosyası hiçbir şey yapmayan boş bir cihazdır. Cat / dev / null yazarsanız, bundan hiçbir şey elde edemezsiniz. Bit paketi olarak adlandırılır ve ekranı temiz tutmak için çıktı ona yeniden yönlendirilebilir. / Dev / zero adlı bir dosya, sıfır veriden başka bir şey içermez ve bu verileri sıfırlamak için diske yazılabilir. Rastgele ve rastgele dosyalar, güvenlik sağlamaları oluşturmak için rastgele önemsiz veriler içerir.

Daha önce bir diski biçimlendirdiyseniz, muhtemelen en azından Linux çekirdeğinin onları görüntüleme biçimiyle ilgili biraz deneyiminiz vardır. Sisteme bağlı her disk, her disk için sda, sdb vb. Gibi bir ad alır. Farklı disk türleri farklı adlar alır. / Dev dizininin, genellikle bu terimi kullandığımız yöntemden ziyade, diskin potansiyel bir resmi bilgisayar bilimi tanımını kullandığını unutmayın. Bu, bir sabit sürücü, bir SSD, bir SD Kart, bir microSDHC kart, USB aracılığıyla takılı bir akıllı telefon dosya sistemi, USB bellekler ve hatta takılı tabletlerin tümünün çekirdeğe diskler olduğu anlamına gelir.

Linux'taki her disk adı, bir bölüm numarasını gösteren bir sayı alır. İki birincil bölüme sahip bir SSD'niz varsa, geçerli birimler olarak / dev / sda1 ve / dev / sda2'ye sahip olabilirsiniz. Linux'u MBR tarzı bölümlemeye sahip bir masaüstü veya dizüstü bilgisayardan çalıştırıyorsanız, büyük olasılıkla / dev / sda1, üzerinde Linux kurulu olan ext4 bölümüne ayarlanmış demektir. Büyük olasılıkla / dev / sda2, 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 yaygın örnekteki takas bölümü, genişletilmiş bir bölümün içindeki mantıksal bir disk olduğundan, sayısal olarak 3 yerine 5 aldığını unutmayın.

Çekirdeğin bölümleri görüntüleme ve biçimlendirme şekli hakkında daha fazla bilgi edinmek isterseniz, fdisk komutuyla desteklenen bir bölüm listesini gerçekten görüntüleyebilirsiniz. Süre fdisk siz söyleyene kadar bölüm tabloları yazmaz, yine de bunu kızartmayı önemsemediğiniz bir şeyle denemek en iyisidir. Kolayca yeniden biçimlendirebileceğiniz boş bir USB çubuğu gibi bir şeye doğrultmanız önerilir.

Çubuğunuzun şu şekilde göründüğünü varsayalım: / dev / sdc o zaman kullanabilirsin sudo fdisk / dev / sdc yüklemek için. İçinde geçerli bir bölümünüz varsa, türü değiştirmek için t yazın ve bir onaltılık kod 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ı atamaları olduğunu unutmayın.

2016-11-25_020331

Çoğu zaman, Linux sürücüleri için 83 tipine ayarlanmış sürücüleriniz olur, Linux takas bölümleri için 82 veya FAT dosya türlerinden biri için. FAT, bir şekilde veya başka bir şekilde 1977'ye kadar uzanır ve birçok taşınabilir aygıtın yanı sıra birçok çıkarılabilir sürücü için hala tercih edilmektedir. 0x0c türü gibi bazı bölüm türlerinin LBA desteği adı verilen bir şey içerdiğini unutmayın.

Bir programcı, bir işletim sistemi için bir çekirdek tasarladığında, disklere bakmak için birkaç farklı yolu vardır. Birincisi, 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 hiçbir zaman gerçekten önemli olmamıştır ve bu şema maalesef yaklaşık 8 binary Gigabyte'tan sonra adresleri tükenmektedir. İkinci yol, Mantıksal C / H / S adreslemesini kullanmaktır, bu bunu yapar, ancak daha sonra disk denetleyicisinin istediği yerde silindir, başlık ve sektör numaralarını eşleştirmesine izin verir. Bu nedenle, bir işletim sistemi, fiziksel olarak imkansız olduğunda, teorik olarak bir SD kartta veya bir USB çubuğunda kafalar olduğunu iddia edebilir.

Üçüncü yöntem, LBA'nın anlamı olan Mantıksal Blok Adreslemedir. Bir ciltteki her fiziksel blok, bu şemada bir rakam alır. İşletim sistemi, disk denetleyicisine belirli bir numaralı bloğa yazmasını söyler, ancak bunun diskteki doğrudan blok olup olmadığını bilmez. Bu, günümüzde en çok kullanılan şema ve kesinlikle 1990'ların ortalarından beri sabit disklerin büyük çoğunluğunda kullanılıyor.

Linux, doğrudan girdi olmadan çok çeşitli bölüm türlerini monte etmek için çekirdek desteği sunar, ancak yine de bunları seçerken çok tuhaf olmamak en iyisidir. Dosya sistemi eşleme seçimine çok garip bir bölüm türü yaptıysanız verilerinizi tost edebilirsiniz.

Yöntem 4: Linux Programcısının El Kitabından Sistem Çağrıları

Linux dağıtımlarının çoğuna dahil olan yerleşik kılavuz sayfaları okuyucuları, aslında size çekirdek hakkında bilgi edinmenize büyük ölçüde yardımcı olabilecek sistem çağrıları üzerine bir hızlandırılmış kurs verebilir. Xman grafik adam sayfaları tarayıcısını ya varsa bir .desktop bağlantısından başlatın ya da alternatif olarak süper tuşunu ve R'yi aynı anda basılı tutup ardından xman yazıp enter tuşuna basarak başlatın. 'Manuel Sayfa' seçeneğini seçin ve ardından 'Bölümler' i ve son olarak açılır menüden '(2) Sistem Çağrıları' nı seçin.

2016-11-25_020430

' giriş ”Göründüğünde, bunu seçin. Linux Programcı Kılavuzu'nda size sistem çağrıları hakkında biraz bilgi verecek bir sayfa sizi karşılayacaktır.

2016-11-25_020518

6 dakika okundu